{"version":3,"sources":["..\\..\\webpack/bootstrap","..\\..\\./ClientApp/app/App.jsx","..\\..\\./ClientApp/app/localization/index.js","..\\..\\./ClientApp/app/store/AuthStore.js","..\\..\\./ClientApp/app/store/ModalStore.js","..\\..\\./ClientApp/app/store/PageSettingStore.js","..\\..\\./ClientApp/app/store/PatientStore.js","..\\..\\./ClientApp/app/store/PreviewStore.js","..\\..\\./ClientApp/app/store/ProgramStore.js","..\\..\\./ClientApp/app/store/PublicStore.js","..\\..\\./ClientApp/app/store/StudentCodeStore.js","..\\..\\./ClientApp/app/store/TeacherStore.js","..\\..\\./ClientApp/app/store/UserStore.js","..\\..\\./ClientApp/app/store/actions.js","..\\..\\./ClientApp/app/store/index.js","webpack:///./ClientApp/app/style/styles.less?495a","..\\..\\./ClientApp/app/style/theme.js","..\\..\\./ClientApp/app/urls.js","..\\..\\./ClientApp/common/components/AddForm.jsx","..\\..\\./ClientApp/common/components/BottomActionBar.jsx","..\\..\\./ClientApp/common/components/ContentBox.jsx","..\\..\\./ClientApp/common/components/ContentCommenting.jsx","..\\..\\./ClientApp/common/components/InfoBox.jsx","..\\..\\./ClientApp/common/components/InfoMessage.jsx","..\\..\\./ClientApp/common/components/InternalLinkLoader.jsx","..\\..\\./ClientApp/common/components/LoadProfileData.jsx","..\\..\\./ClientApp/common/components/MultiTextInput.jsx","..\\..\\./ClientApp/common/components/NoContentClickToAdd.jsx","..\\..\\./ClientApp/common/components/RedirectIfNoLicense.jsx","..\\..\\./ClientApp/common/components/ResizableList.jsx","..\\..\\./ClientApp/common/components/Selector.jsx","..\\..\\./ClientApp/common/components/SkillLink.jsx","..\\..\\./ClientApp/common/components/SortableTableCell.jsx","..\\..\\./ClientApp/common/components/TaskLink.jsx","..\\..\\./ClientApp/common/components/TaskName.jsx","..\\..\\./ClientApp/common/components/TaskScript.jsx","..\\..\\./ClientApp/common/components/TopActionBar.jsx","..\\..\\./ClientApp/common/components/VimoInput.jsx","..\\..\\./ClientApp/common/components/VimoLink.jsx","..\\..\\./ClientApp/common/components/VimoMenu.jsx","..\\..\\./ClientApp/common/components/VimoModal.jsx","..\\..\\./ClientApp/common/components/VimoTaskContent.jsx","..\\..\\./ClientApp/common/components/index.js","..\\..\\./ClientApp/common/constants.js","..\\..\\./ClientApp/common/icons/index.js","..\\..\\./ClientApp/common/image/Arrow.png","..\\..\\./ClientApp/common/image/Face.svg","..\\..\\./ClientApp/common/image/Photo.jpg","..\\..\\./ClientApp/common/image/facebook48.png","..\\..\\./ClientApp/common/image/icon_contents.png","..\\..\\./ClientApp/common/image/icon_elever.png","..\\..\\./ClientApp/common/image/icon_flag.png","..\\..\\./ClientApp/common/image/icon_kite.png","..\\..\\./ClientApp/common/image/linkedin48.png","..\\..\\./ClientApp/common/image/logo negativ stor.svg","..\\..\\./ClientApp/common/image/twitter48.png","..\\..\\./ClientApp/common/taskUtils.js","..\\..\\./ClientApp/common/utils/programUtils.js","..\\..\\./ClientApp/common/withSchools.jsx","..\\..\\./ClientApp/features/home/Dashboard.jsx","..\\..\\./ClientApp/features/home/Index.jsx","..\\..\\./ClientApp/features/home/NewForm.jsx","..\\..\\./ClientApp/features/home/Page.jsx","..\\..\\./ClientApp/features/home/Profile.jsx","..\\..\\./ClientApp/features/home/components/ProgramInformation.jsx","..\\..\\./ClientApp/features/home/components/StudentLine.jsx","..\\..\\./ClientApp/features/home/components/VimoIntroTour.jsx","..\\..\\./ClientApp/features/inside/Index.jsx","..\\..\\./ClientApp/features/inside/Layout.jsx","..\\..\\./ClientApp/features/inside/components/ErrorDescription.jsx","..\\..\\./ClientApp/features/inside/components/Header.jsx","..\\..\\./ClientApp/features/inside/components/LoadProgramDetails.jsx","..\\..\\./ClientApp/features/inside/components/LoadStudents.jsx","..\\..\\./ClientApp/features/inside/components/RegisterSchool.jsx","..\\..\\./ClientApp/features/inside/components/SelectSchool.jsx","..\\..\\./ClientApp/features/outside/Home.jsx","..\\..\\./ClientApp/features/outside/Index.jsx","..\\..\\./ClientApp/features/outside/Page.jsx","..\\..\\./ClientApp/features/outside/components/Faq.jsx","..\\..\\./ClientApp/features/outside/components/Footer.jsx","..\\..\\./ClientApp/features/outside/components/ForgotPassword.jsx","..\\..\\./ClientApp/features/outside/components/Header.jsx","..\\..\\./ClientApp/features/outside/components/HomeContent.jsx","..\\..\\./ClientApp/features/outside/components/Layout.jsx","..\\..\\./ClientApp/features/outside/components/Login.jsx","..\\..\\./ClientApp/features/outside/components/Logout.jsx","..\\..\\./ClientApp/features/outside/components/PriceMatrix.jsx","..\\..\\./ClientApp/features/outside/components/PublicTaskContent.jsx","..\\..\\./ClientApp/features/outside/components/RegisterUser.jsx","..\\..\\./ClientApp/features/outside/components/ResetPassword.jsx","..\\..\\./ClientApp/features/outside/components/SelectRole.jsx","..\\..\\./ClientApp/features/outside/components/StudentLogin.jsx","..\\..\\./ClientApp/features/outside/components/VideoListing.jsx","..\\..\\./ClientApp/features/preview/Index.jsx","..\\..\\./ClientApp/features/preview/PreviewTask.jsx","..\\..\\./ClientApp/features/preview/components/AddCommentOverlay.jsx","..\\..\\./ClientApp/features/preview/components/LoadPreviewTask.jsx","..\\..\\./ClientApp/features/preview/components/PageLayout.jsx","..\\..\\./ClientApp/features/preview/components/PreviewTaskContent.jsx","..\\..\\./ClientApp/features/program/Index.jsx","..\\..\\./ClientApp/features/program/Program.jsx","..\\..\\./ClientApp/features/program/Skill.jsx","..\\..\\./ClientApp/features/program/Task.jsx","..\\..\\./ClientApp/features/program/components/AboutTheExercises.jsx","..\\..\\./ClientApp/features/public/Home.jsx","..\\..\\./ClientApp/features/public/Index.jsx","..\\..\\./ClientApp/features/public/Module.jsx","..\\..\\./ClientApp/features/public/Program.jsx","..\\..\\./ClientApp/features/public/Task.jsx","..\\..\\./ClientApp/features/public/components/Footer.jsx","..\\..\\./ClientApp/features/public/components/LoadProgram.jsx","..\\..\\./ClientApp/features/public/components/PublicTaskContent.jsx","..\\..\\./ClientApp/features/public/components/sharedStyles.js","..\\..\\./ClientApp/features/resource/Index.jsx","..\\..\\./ClientApp/features/resource/Module.jsx","..\\..\\./ClientApp/features/resource/Task.jsx","..\\..\\./ClientApp/features/resource/components/ResourceTaskContent.jsx","..\\..\\./ClientApp/features/student/EditStudent.jsx","..\\..\\./ClientApp/features/student/Home.jsx","..\\..\\./ClientApp/features/student/Index.jsx","..\\..\\./ClientApp/features/student/Plan.jsx","..\\..\\./ClientApp/features/student/Progress.jsx","..\\..\\./ClientApp/features/student/Skills.jsx","..\\..\\./ClientApp/features/student/Task.jsx","..\\..\\./ClientApp/features/student/Today.jsx","..\\..\\./ClientApp/features/student/components/ContactPersonList.jsx","..\\..\\./ClientApp/features/student/components/ContactPersons.jsx","..\\..\\./ClientApp/features/student/components/DragableSkill.jsx","..\\..\\./ClientApp/features/student/components/DragableTask.jsx","..\\..\\./ClientApp/features/student/components/EditContactPerson.jsx","..\\..\\./ClientApp/features/student/components/EditDetails.jsx","..\\..\\./ClientApp/features/student/components/EditStudentAccessCode.jsx","..\\..\\./ClientApp/features/student/components/EditTeachers.jsx","..\\..\\./ClientApp/features/student/components/FormList.jsx","..\\..\\./ClientApp/features/student/components/LoadPatientProgram.jsx","..\\..\\./ClientApp/features/student/components/LoadStudent.jsx","..\\..\\./ClientApp/features/student/components/ResourceStudentList.jsx","..\\..\\./ClientApp/features/student/components/SelectedSkill.jsx","..\\..\\./ClientApp/features/student/components/SkillInfo.jsx","..\\..\\./ClientApp/features/student/components/SkillNavigation.jsx","..\\..\\./ClientApp/features/student/components/StudentTeacherList.jsx","..\\..\\./ClientApp/features/student/components/TaskAvatar.jsx","..\\..\\./ClientApp/features/student/components/TaskInfo.jsx","..\\..\\./ClientApp/features/student/components/TimePeriod.jsx","..\\..\\./ClientApp/features/student/components/TrainingPlan.jsx","..\\..\\./ClientApp/features/student/components/WeekOverview.jsx","..\\..\\./ClientApp/features/student/components/WeekPlan.jsx","..\\..\\./ClientApp/features/student/components/WeekdaySelect.jsx","..\\..\\./ClientApp/features/student/components/utils.js","..\\..\\./ClientApp/features/studentPortal/Home.jsx","..\\..\\./ClientApp/features/studentPortal/Index.jsx","..\\..\\./ClientApp/features/studentPortal/Skill.jsx","..\\..\\./ClientApp/features/studentPortal/Task.jsx","..\\..\\./ClientApp/features/studentPortal/components/LoadStudentProgram.jsx","..\\..\\./ClientApp/features/users/Index.jsx","..\\..\\./ClientApp/features/users/NewUser.jsx","..\\..\\./ClientApp/features/users/User.jsx","..\\..\\./ClientApp/features/users/UserList.jsx","..\\..\\./ClientApp/features/users/components/LoadUsers.jsx","..\\..\\./ClientApp/features/users/components/UserDetails.jsx","..\\..\\./ClientApp/features/users/components/UserListFilter.jsx","..\\..\\./ClientApp/features/users/components/UserMenu.jsx","..\\..\\./ClientApp/features/users/components/validation.js","..\\..\\./ClientApp/index-client.jsx","..\\..\\./ClientApp/youwell-common/AppUtil.js","..\\..\\./ClientApp/youwell-common/Auth.js","..\\..\\./ClientApp/youwell-common/Cookie.js","..\\..\\./ClientApp/youwell-common/ReduxStoreHelper.js","..\\..\\./ClientApp/youwell-common/apiUrls.js","..\\..\\./ClientApp/youwell-common/arrayUtils.js","..\\..\\./ClientApp/youwell-common/browserUtils.js","..\\..\\./ClientApp/youwell-common/components/DelayedFetch.jsx","..\\..\\./ClientApp/youwell-common/components/DevelopmentBanner.jsx","..\\..\\./ClientApp/youwell-common/components/DialogButton.jsx","..\\..\\./ClientApp/youwell-common/components/ErrorMessage.jsx","..\\..\\./ClientApp/youwell-common/components/FormLink.jsx","..\\..\\./ClientApp/youwell-common/components/HtmlContent.jsx","..\\..\\./ClientApp/youwell-common/components/IdleTimer.jsx","..\\..\\./ClientApp/youwell-common/components/Image.jsx","..\\..\\./ClientApp/youwell-common/components/LanguageToggle.jsx","..\\..\\./ClientApp/youwell-common/components/Loading.jsx","..\\..\\./ClientApp/youwell-common/components/PageNotFound.jsx","..\\..\\./ClientApp/youwell-common/components/PollData.jsx","..\\..\\./ClientApp/youwell-common/components/PrivateRoute.jsx","..\\..\\./ClientApp/youwell-common/components/ScrollToTop.jsx","..\\..\\./ClientApp/youwell-common/components/accessibility/ArrowNavigation.jsx","..\\..\\./ClientApp/youwell-common/components/index.js","..\\..\\./ClientApp/youwell-common/components/taskElements/FormQuestion.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/FormValidation.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/TaskContent.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/TaskElement.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/TaskElementLink.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/TaskForm.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/customTypes/BubbleChoiceQuestions.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/customTypes/BullsEyeQuestions.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/customTypes/QuestionnaireTable.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/customTypes/QuizResponse.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/customTypes/RouteSelection.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/formResponseTypes/ActionButton.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/formResponseTypes/FreetextResponse.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/formResponseTypes/MultipleChoice.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/formResponseTypes/ScaleResponse.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/formResponseTypes/SingleChoice.jsx","..\\..\\./ClientApp/youwell-common/components/taskElements/formResponseTypes/TableResponse.jsx","..\\..\\./ClientApp/youwell-common/constants.js","..\\..\\./ClientApp/youwell-common/contentUtils.js","..\\..\\./ClientApp/youwell-common/dateUtils.js","..\\..\\./ClientApp/youwell-common/elementStateUtils.js","..\\..\\./ClientApp/youwell-common/fetchUtils.js","..\\..\\./ClientApp/youwell-common/flags.js","..\\..\\./ClientApp/youwell-common/htmlUtils.js","..\\..\\./ClientApp/youwell-common/icons.js","..\\..\\./ClientApp/youwell-common/objectUtils.js","..\\..\\./ClientApp/youwell-common/reduxUtils.js","..\\..\\./ClientApp/youwell-common/responseUtils.js","..\\..\\./ClientApp/youwell-common/stringUtils.js","..\\..\\./ClientApp/youwell-common/tableUtils.js","..\\..\\./ClientApp/youwell-common/taskContentUtils.js","..\\..\\./ClientApp/youwell-common/useForm.js","..\\..\\./ClientApp/youwell-common/validationUtils.js"],"names":["App","appConfig","props","urls","preview","home","contentProgramId","Outside","register","logout","login","page","Preview","studentCode","StudentPortal","Public","inside","Inside","PageNotFound","React","propTypes","PropTypes","object","isRequired","mapStateToProps","state","clientConfig","auth","pageSettings","hot","module","withRouter","connect","translations","globalTranslations","commonTranslations","languageFromBrowser","window","navigator","language","toLowerCase","translateInitialization","defaultLanguage","languages","name","code","translation","options","renderToStaticMarkup","onMissingTranslation","obj","translationId","ACTION_PREFIX","storeHelper","ReduxStoreHelper","SUCCESS_LOGIN","SUCCESS_GETPROFILE","SUCCESS_SAVEPROFILE","RESET_PASSWORD","FORGOT_PASSWORD","SUCCESS_REGISTER","ORGANIZATIONS_RECEIVED","SUCCESS_DELETE_TRUSTED_DEVICES","SUCCESS_GET_TRUSTED_DEVICES","CANCEL_TWOFACTOR","UPDATE_USERCONFIG","TOKEN_EXPIRED","actionCreators","clearError","dispatch","type","CLEAR_ERROR","loginWithCode","provider","fetch","url","apiUrls","portal","body","method","completeAction","onData","data","Auth","setLoginInfo","loginLevel","email","password","loginWithPin","pin","id","remember","cancelTwoFactor","logoutRole","LOGOUT","logoutReason","logoutReasons","changeRole","deauthenticateUser","selectRole","roleId","redirectTo","getLoginLevel","redirect","loginLevels","level4","redirectExternal","baseUrl","route","oauth","onError","push","location","getUserProfile","onUnauthorized","saveUserProfile","elementToSave","registerUser","userData","registration","registerContactUser","registerOrganization","orgData","getAllPublicOrganizations","selectOrganization","orgId","forgotPassword","requestId","resetPassword","removeAllTrustedDevices","user","getAllTrustedDevicesForUser","setConfig","createInsertActionCreator","initialState","defaultInitialState","profileData","twoFactorId","trustedDevices","reducer","action","profile","stateFromDefaultActions","defaultReducer","tokenExpired","errors","createdOrg","organizations","sortByString","userSettings","inputData","key","value","SHOW_MESSAGE","CLOSE_MESSAGE","showModal","modalProps","closeModal","open","header","message","link","linkText","SET_PATH","SET_VERSION","SET_CONFIG","SHOW_INTROTOUR","SET_USER_PAGE","SET_USER_ROWS_PER_PAGE","SET_USER_SORT","SET_USER_FILTER","setAppConfig","setPath","path","pathWithSlash","setVersion","version","setAppVersion","showIntroTour","show","payload","setUserPage","setUserRowsPerPage","rowCount","setUserSorting","sorting","setUserFilter","filter","pathname","newAvailableVersion","versionExpired","userPage","userRowsPerPage","defaultRowsPrPage","userSorting","defaultUserSort","userFilter","defaultUserFilter","LOCATION_CHANGE","VERSION_EXPIRED","previous","PATIENTPROGRAM_INSERTED","PATIENTPROGRAM_UPDATED","PATIENTPROGRAM_DELETED","PATIENT_CONNECTION_INSERTED","PATIENT_CONNECTION_DELETED","PATIENT_NOTE_INSERTED","PATIENT_NOTE_DELETED","PROBLEM_AREA_INSERTED","PROBLEM_AREA_DELETED","OBSERVATION_INSERTED","OBSERVATIONS_LIST","THERAPIST_TASK_RESPOND_ADDED","THERAPIST_TASKS_RECEIVED","THERAPIST_TASKS_DELETED","CONTACTPERSON_UPDATED","CONTACTPERSON_INSERTED","CONTACTPERSON_DELETED","PATIENTACCESSCODE_UPDATED","PATIENTACCESSCODE_DELETED","THERAPIST_TASK_RESPONSE_INSERTED","PATIENTPROGRAM_RECIEVED","PATIENT_PROGRAM_DETAILS_RECIEVED","defaultActionCreators","patient","getPatientProgram","createGetElementActionCreator","getStudentList","createGetListActionCreator","LIST_RECIEVED","insertProblemArea","deleteProblemArea","createDeleteActionCreator","getObservations","insertObservation","insertProgramForPatient","updateProgramForPatient","createUpdateActionCreator","deleteProgramForPatient","insertPatientTherapist","insertPatientNote","deletePatientNote","deletePatientTherapist","respondNewProgramElement","insertTherapistTaskResponse","getTherapistTasks","deleteTherapistTask","insertContact","updateContact","deleteContact","generateNewAccessCode","patientProgramId","removeAccessCode","DETAILS_RECIEVED","details","getCurrentProgramData","patientVm","reducerParams","patientId","programs","UPDATED","list","map","e","d","item","p","therapists","therapistId","notes","sensors","sensorId","observations","extPatientVm","therapistTasks","responseForm","elementCompletedDate","assignedForm","therapistProgramElementId","responseForms","assignedTherapists","a","completedDate","newPatient","newElement","newPatientProgram","task","extList","contactPersons","contactId","programData","accessCode","elementId","PREVIEW_RESPONSE_INSERTED","PREVIEW_START_COMMENT","PREVIEW_TOGGLE_COMMENTS","SAVE_COMMENT","PREVIEW_CLEAR_COMMENT_ELEMENT","GET_COMMENTS","app","updateResponse","toggleComments","startComment","getTaskComments","saveTaskComment","clearCommentElement","commentElementId","showComments","responses","comments","taskId","taskSubtotals","parseInsertedResponse","currentComments","created","PROGRAM_RECIEVED","CONTENT_RECIEVED","getProgramDetails","getPageContent","programDetails","skillDetails","taskDetails","content","toLookup","modules","reduce","prev","curr","tasks","RESPONSE_INSERTED","SESSION_RECEIVED","SET_CURRENT_PROGRAM","END_SESSION","COMPLETE_TASK","RESPONSE_SAVED","TASKVISITED","endSessionReasons","timeout","manualEnd","completed","setCurrentProgram","programId","sendFirstResponse","responseData","patientResult","saveResponse","getSession","createActionCreator","endSession","endReason","completeTask","visitTask","taskInfo","program","background","currentProgramId","patientProgramElementId","completedTasks","latestCompletedStep","Math","max","stepNr","buildResponseLookup","taskResult","parseResponseSaveResult","moduleId","find","m","PROGRAMDETAILS_RECEIVED","getProgramFromCode","users","USERINFO_RECEIVED","getUserInfo","userInfoLookup","PREVIEW_ACTION_PREFIX","PREVIEW_TASK_RECEIVED","PUBLIC_ACTION_PREFIX","PUBLIC_PROGRAM_RECEIVED","reducers","localize","localizeReducer","AuthStore","PatientStore","ProgramStore","teacher","TeacherStore","PageSettingStore","modal","ModalStore","previewStore","PreviewStore","UserStore","studentCodeStore","StudentCodeStore","publicStore","PublicStore","grey1","grey2","grey3","blue0","blue1","blue2","blue3","blue4","green1","green2","green3","green4","red1","red2","yellow1","orange1","white","theme","createTheme","palette","primary","main","contrastText","secondary","error","colors","borders","normal","blue","green","red","dashed","boxShadow1","sizes","headerHeight","footerHeight","reducedH5FontSize","largeIcon","mediumIcon","largeAvatar","overrides","MuiFormLabel","root","color","MuiTypography","h3","h4","h5","h6","body1","body2","caption","subtitle1","subtitle2","loginParts","role","student","parts","skill","programLink","dashboard","form","resource","school","about","skills","plan","week","today","edit","progress","methods","research","useStyles","makeStyles","topContent","marginBottom","spacing","display","existingElement","flex","justifyContent","alignItems","formDate","studentInput","inputLabel","marginRight","input","fontSize","typography","width","print","file","icon","marginLeft","underline","borderBottom","actions","marginTop","padding","divider","menuIcon","cancelEdit","deleteButton","AddForm","studentId","formId","onClose","patientProgramElement","useDispatch","classes","translate","useSelector","getTranslate","vimoProgramId","studentList","hasLicense","license","isTeacher","appRoles","isTherapist","selectedRole","hasStudents","length","taskContentRef","newStudentName","setNewStudentName","selectedStudent","setSelectedStudent","validationError","setValidationError","menuAnchor","setMenuAnchor","addNewStudent","setAddNewStudent","setResponses","editing","setEditing","latestForm","setLatestForm","lastResponse","questionId","response","readOnly","updatedResponses","prevResponses","onSaveChanges","taskVersionId","patientData","getProgram","therapistElementId","Object","keys","redirectToNew","respData","callback","save","current","validateAndSave","cancelEditing","handleNameChange","event","target","openSelectStudent","currentTarget","handleInputClick","selectStudent","onDelete","answeredByUserName","fullDateTime","submitted","datestamp","className","dropMenu","Boolean","hasValue","string","func","defaultProps","styles","mainTitle","button","borderColor","backgroundColor","BottomActionBar","title","onSave","cancelLink","saveMessage","saveEnabled","actionLink","Link","to","text","variant","bool","withStyles","heading","border","borderNormal","borderDashed","ContentBox","children","classnames","node","oneOf","common","borderLeft","dim","description","commentInputFields","margin","grey","flexDirection","commentElement","commentInput","sendButton","alignSelf","comment","commentHead","lineWrapper","position","top","left","height","pointerEvents","calculate","from","fromEl","document","getElementById","toEl","fromPosRect","getBoundingClientRect","toPosRect","fromPos","x","y","offsetHeight","toPos","right","Line","lineEl","useRef","update","useCallback","setAttribute","useEffect","addEventListener","removeEventListener","ContentCommenting","send","values","setValues","useForm","validateRequired","formValues","handleChange","handleSubmit","elementTitles","contentElements","getElementTitle","contentElemenIdPrefix","c","timestamp","array","number","ownProps","mapDispatchToProps","bindActionCreators","minHeight","textTransform","mainText","childContent","mainIcon","hideIconOnSmall","breakpoints","only","mainAvatar","primaryReduced","footer","editIcon","infoIcon","MODAL_TYPES","EDIT","ADD","INFO","InfoBox","setState","EditContent","InfoContent","EditContentProps","InfoContentProps","AddContent","AddContentProps","EditContentHeader","InfoContentHeader","AddContentHeader","Icon","simpleIcon","bigText","disabled","image","ModalProps","textColor","slice","opacity","undefined","renderModalHeading","renderModal","oneOfType","InfoMessage","InternalLinkLoader","getLinkUrl","linkUrlFunction","isBrowser","__clickInternalLink","clickInternalLink","LoadProfileData","isUserAuthenticated","Component","textField","down","MultiTextInput","onChange","fieldDefs","label","shrink","arrayOf","active","centerContainer","NoContentClickToAdd","linkTo","RedirectIfNoLicense","listItem","flexWrap","addButton","addIcon","removeButton","infoTooltip","boxShadow","shadows","ResizableList","index","el","i","concat","addFunction","_newId","removeValue","addValue","inner","inputSelect","black","inputInput","inputIconDisabled","focused","chip","Selector","selection","selected","items","renderAs","itemLookup","count","join","chips","val","multiple","addEmptyItemInList","fullWidth","selectedValues","toBoolLookup","selectedValuesArray","itemsWithEmpty","selectMenu","handleChangeMultiple","renderValues","shape","SkillLink","SortableTableCell","columnName","dataType","onSort","direction","toggleSortDirection","sortDirection","asc","onSortClick","avatar","TaskLink","skillName","getTaskColor","TaskName","stepHeader","step","stepContent","textContent","imageContent","padRight","paddingRight","TaskScript","script","steps","media","imageFileId","backLink","lineHeight","borderBottomColor","backIcon","TopActionBar","navigateBack","history","back","linkAction","linkActionText","studentData","extendedProperties","clickBack","combineClasses","classes1","classes2","inputCommon","thickSecondary","transparent","visibility","inputText","inputForm","endAdornment","selectInput","VimoInput","hideIfNoValue","selects","InputProps","autoFocus","onClear","defaultText","multiline","onEnter","inputSuffix","labelNoTranslate","handleKeyPress","formLabel","v","formControl","forwardIcon","cursor","VimoLink","backward","forward","menu","maxWidth","modalActions","dangerItem","dangerButton","YouwellMenu","menuAnchorEl","selectedItemIndex","filteredItems","menuItems","hidden","clickAction","onBeforeClose","showUnsavedMessage","handleMenuClick","handleMenuClose","vertical","horizontal","openModal","danger","menuItemText","Element","setupOnBeforeClose","ElementProps","onClickAction","actionText","modalContainer","transform","minWidth","maxHeight","isIe","wide","modalHeader","modalHeaderText","modalContent","overflowY","VimoModal","AUTOSAVE_TIMEOUT_INTERVAL","noContent","htmlContent","elementRoot","elementContent","elementHeader","handleScripts","element","getContentTranslations","hide","close","openFile","openLinkInNewWindow","saveResponses","answerAllRequiredQuestions","freetextPlaceholder","unsavedChangesPrompt","allChangesSaved","freetextChoice","youGotxOfXScore","maxLengthXofY","freetextChoiceLabel","VimoTaskContent","hidePreviousResponses","forwardedRef","onUpdateResponse","allContent","parseInternalLink","taskOrModuleId","hash","getProgramItem","noAction","customElementHandler","WithRef","ref","gridLayout","xs","sm","md","lg","xl","contactEmail","vimoElementGroups","systemElementGroups","surveyForm","userSortColumns","updated","phone","sortDataType","search","vimoCreateRoles","organizationAdmin","therapist","vimoRoles","contactPerson","getProgramContentLink","getItemPositionInPatientProgram","elementGroup","elementIndex","taskIndex","getPublicProgramContentLink","getItemPositionInProgram","moduleIndex","getTrainingModules","elements","getCurrentSkill","activeModules","startTime","getLocalDate","Date","endTime","moduleSchedule","getCurrentSkills","getTodaysTasks","currentSkills","taskLookups","taskList","isToday","date","skillId","getTaskColorByName","taskName","n","indexOf","getSkillDescriptionTask","descriptionTask","imageTasks","images","findImageUrl","imageUrl","todaysTasks","schools","getSchools","withSchools","WithSchools","programContent","studentsImage","students","noStudentsDescription","topLine","noLicense","textAlign","Dashboard","canEdit","userAccess","editPatients","Index","Page","NewForm","Profile","up","hasLoaded","itemId","match","params","Task","printFileId","imageContainer","imageField","textFields","row","field","flexGrow","actionContainer","infoMessage","mediumSecondary","buttonIcon","section","sectionHeader","roleText","roleOrganization","defaultState","newPassword","newPasswordConfirm","validators","validateEmail","validatePassword","validatePasswordConfirm","stateFromData","hasUnsavedChanges","validationErrors","userProfile","validateField","prevState","validateAllFields","hasErrors","saveData","isLoggedInLevel4","cancel","iconButton","saveChanges","startEdit","device","handleRemoveTrustedDevicesOK","paddingBottom","infoBox","flexBasis","links","linksImage","bottom","linksImageTop","ProgramInformation","methodModule","teachingModule","formsModule","resourceProgram","flagImage","contentImage","kiteImage","methodModuleId","teachingModuleId","resourcesProgramId","formsModuleId","overflow","hideOnSmall","firstBox","firstContentBox","StudentLine","faceImage","navigation","navigationProgress","navigationDot","navSpacer","taskElementRoot","taskElementContent","VimoIntroTour","showIntroTourFromState","introModule","introTourModuleId","showIntro","setShowIntro","setPage","preloadImagesInModule","navigate","dot","USER_IDLE_TIMEOUT_IN_MINUTES","idleTimeout","logoutOnIdle","Home","Users","Resource","SelectSchool","RegisterSchool","Student","Program","printFooter","Layout","loading","errorMessage","ErrorDescription","flexShrink","titleLogo","logo","menuContainer","iconLabelDiv","menuItem","studentName","activeStudent","Header","studentMenuAnchorEl","closeMenu","hasMoreStudents","openMenu","editUsers","showIntroPopup","u_AnonymousOnly","roles","LoadProgramDetails","LoadPatients","actionButtons","infoContainer","address","registerData","contactInfo","registerSchool","parent","goBack","select","schoolId","selectSchool","onSelect","onSelectNew","contentWidth","contentLeftMargin","blueWhite","center","firstContent","frontImage","introBox","introText","flexOnLarge","leftMargin","bigButton","buttonSubText","tryNow","tryButtonImage","zIndex","bookMeeting","bookMeetingButton","priceMatrix","twoColumn","paddingLeft","topHtmlContent","doubleLineHeight","loggedInBox","loggedInName","priceContent","faq","isLoggedIn","getStylesFromSettings","settings","frontpageModuleId","Pages","RegisterUser","Logout","SelectRole","Login","ResetPassword","ForgotPassword","StudentLogin","FaqContent","unmountOnExit","firstItem","titleText","share","justifySelf","shareLink","Footer","privacyPolicyTaskId","fbIcon","twitterIcon","linkedinIcon","subActions","completedMessageContainer","homeLink","useState","handleForgotPassword","preventDefault","sentForgotPasswordEmail","hideHeaderLinks","headerPageTitle","createStyles","blueBox","tanBox","fontWeight","fontWeightMedium","flexContent","HomeContent","choosenHtmlContent","styleId","fullPage","headerProps","loginDescription","textFieldPin","pinLogin","patientLogin","borderTop","paddingTop","studentLoginButton","getErrorMessage","is2FALogin","addToTrustedDevices","patientCode","checked","loginPatientCode","decodeURIComponent","showTwoFactorPinLogin","serverLogin","showStudentLogin","onKeyPress","handleKeyPressPin","handleAddToTrustedDevicesChange","handleKeyPressUserPwd","cancelTwoFactorLogin","handleKeyPressPatientCode","reason","matrix","borderRadius","itemTopLine","price","priceStart","priceEnd","subline","licenseLink","PriceItem","privateUser","months","PriceMatrix","taskTitle","PublicTaskContent","showTitle","tabs","registerDescription","schoolName","consentForm","requiredCheckbox","linkToForgotPassword","consent","schoolRole","registrationSent","selectedValidators","organizationId","registerOptions","handleCheckedChange","handleResetPassword","token","loginHeader","organizationName","codeInput","elementHeading","borderBottomWidth","elementHeadingTitle","videos","video","noVideos","getTaskVideosFromHtmlContent","getVideos","getTaskVideosFromLink","linkType","linkTypes","youtube","vimeo","getTaskVideos","html","getDescriptionContent","VideoListing","descriptionContent","cI","__html","none","LoadPreviewTask","PreviewTask","commentFab","printFab","showPrint","requests","AddCommentOverlay","enableComments","onClick","getElement","requestParams","ver","prevProps","sideMenuWidth","scrollerWidth","withSideMenu","sideMenu","sideMenuButton","transition","backdrop","showSideMenu","hideSideMenuButton","breadcrumb","innerBreadcrumb","outline","PageLayout","sideContent","labelClasses","taskLabels","hasSideMenu","titleRef","defaultStyles","showHiddenElementsBtn","PreviewTaskContent","noHiddenStateValue","setNohiddenStateValue","allTaskResponses","allTasksDetails","responsesForCurrentTask","taskVersion","toggleHiddenStates","noHiddenStates","HoveredElement","selectedElementId","getSpecificTaskResponses","Skill","skillsHeader","programDescription","tasksHeader","stepHeading","skillDescription","aboutTasks","aboutTasksHeader","useParams","skillData","skillContentModule","skillContentModuleId","stepWidth","entries","isNullOrUndefined","taskData","aboutColumn","aboutColumnHeader","aboutTaskBox","Box","AboutTheExercises","overviewModule","teachingShortModuleId","currentProgram","programImageUrl","frontImageId","LoadProgram","Module","elementInfoClasses","tableListClasses","iconClasses","isSingleModule","moduleImage","moduleImageId","elementInfoRoot","elementInfoImageContainer","elementInfoImage","elementInfoDescriptionContainer","elementInfoTitle","elementInfoDescription","tableListRoot","tableListTitleContainer","tableListTitle","tableListRows","tableListRow","tableListCompleted","tableListRowIndex","tableListRowElement","tableListRowElementTitle","programImage","singleactions","navIconLeft","navIconRight","nextDirection","currentStep","Number","nextTaskNr","isLastTask","go","saveWithoutValidation","ppeId","taskIndexNr","isFirstTask","moreElementsInGroup","appSetup","visitTaskDelay","clickNext","isPage","hasSessionData","saveTimer","changeId","setChangeId","showSavingId","setShowSavingId","now","taskResponses","showIsSaving","getUpdatedResponsesForTask","prevId","clearTimeout","setTimeout","getItemFromProgram","elementInfoProgress","elementInfoProgressText","borderWidth","tableListCurrent","tableListUnavailable","iconGreen","iconRed","iconGray","divideBorder","ct","moduleName","ResourceTaskContent","topContentBox","textFieldSmall","textFieldDescription","resourceStudents","contentDescription","createResourceStudent","defaultExtendedProps","assignedHours","specialExtendedProps","availableWeekdays","extProps","split","JSON","parse","EditStudent","stringify","stripEmptyProperties","trimIfString","userLevel","patientUserLevels","contact","isContactEmpty","updateElement","redirectWithElementId","insertElement","isNew","getError","required","contacts","column","mergedOnSmall","infoBoxMergedOnSmall","mobileStepper","linearProgress","actionButton","weekplan","deleteElement","hasOrgLicense","orgLicence","Trial","resourceStudentList","weeksList","getNumberOfWeeks","currentWeeks","getWeekNumber","SkillIcon","SkillInfo","total","Array","EditContactPerson","EditTeachers","EditStudentAccessCode","EditDetails","detailName","behaviour","hypothesis","socialSkill","environmentAdjustments","mappingFormTaskId","motivation","deleteStudent","RedirectToHome","rest","LoadStudent","Progress","Skills","Plan","Today","ALL_TASKS_DROP_ID","currentSkill","skillIcon","timePeriod","mainContent","calendar","allSkillsContent","noSkillsDescription","noSkillsButtons","selectedSkills","skillIndex","getStateFromData","skillNr","isNaN","activeModule","findIndex","completeDetailsLoaded","limitedDetails","result","source","destination","draggableId","currentTasks","droppableId","toISOString","tasksByDate","newTask","reordered","splice","reorderedSource","removed","reorderedDestination","handleElementValuesChange","patientProgram","forEach","startMonday","getMondayInWeek","onlyTasksWithinDates","sche","onDragEnd","provided","snapshot","innerRef","isDraggingOver","droppableProps","placeholder","noSkills","areas","problemArea","boxes","itemBox","inputs","inputCount","newAreaInput","createChartData","observationCopy","sort","b","localeCompare","obs","events","ProblemArea","sensor","chartData","getTextfieldDateString","setDate","setCount","add","deleteArea","getData","newSensorName","setNewSensorName","addArea","SELECTED_SKILLS_DROP_ID","ALL_SKILLS_DROP_ID","taskWidth","skillsSelection","selectedSkillsContent","allSkills","expansionPanelExpanded","allSkillsContentModules","skillsTask","selectedSkillPlaceholder","selectedModules","deafultState","visibleCategory","category","expanded","showModuleInfo","moduleList","removeSkill","addSkill","startDate","existingElements","otherElements","selectedModulesLookup","existingModulesLookup","newElements","selectedLookup","moduleCategories","hideModuleInfo","toggleCategory","personIcon","ContactOverview","contactData","setShowModal","canLogin","ContactOverviewWithStyles","ContactPersonList","persons","person","createContact","ContactPersons","userId","tooltip","moduleIcon","wordBreak","getItemStyle","draggableStyle","isDragging","userSelect","DragableSkill","showInfo","onAdd","draggableProps","dragHandleProps","style","taskIcon","DragableTask","fields","inputField","userAccessField","disclaimer","getValidators","defaultData","toggleCheckedChange","getValueByDotNotation","rev","changes","patchElement","currentCode","generateNewCode","removeCode","teacherList","fetchTeacherList","minimumRole","studentTeachers","therapistName","remove","getList","itemText","FormList","formElements","selectedElement","setSelectedElement","latestResponse","LoadPatientProgram","patientIdFromUrl","patientProgramIdFromUrl","pId","ppId","hasLoadedPatient","isLoading","patientProgramData","getStudentData","contactIcon","popperContent","ResourceStudentList","removeIcon","SelectedSkill","onRemove","skillLink","hideLink","buttons","editButton","SkillNavigation","info","currentSkillNr","hideInfo","StudentTeacherList","TaskAvatar","TaskInfo","inputWeeks","inputDate","weekNumber","TimePeriod","start","skillStartHour","weeks","updateData","min","pad2","end","getTime","msInOneWeek","getSkillWeeks","fromWeek","toWeek","numberOfWeeks","onStartTimeChange","onNumberOfWeeksChange","inputProps","weekTitle","TrainingPlan","availableDays","weekArray","getLocalDateOnlyString","taskNameLookup","availableDaysLookup","weekNr","weekStart","itemHeight","day","dayHeader","borderRight","firstDayHeader","dayTasks","firstDay","availableDay","dayLetter","noTasksThisWeek","WeekOverview","showDayHeadings","useTheme","isMobile","useMediaQuery","taskNames","getWeekStartDate","hasTasksThisWeek","getDate","setHours","getHours","getDay","toString","taskDay","draggingOver","WeekPlan","msInOneDay","dateString","dragProvided","weekDays","WeekdaySelect","days","trim","renderWeekdays","some","modulus","nr","mod","monday","w","endButton","LoadStudentProgram","taskContentContainer","UserList","NewUser","User","roleDescriptions","roleDescription","showRoleDescriptions","table","headerRow","headerCell","hiddenOnSmall","mainNameText","spacingCell","paginationSelect","caseInsensitiveContains","userList","rowsPerPage","filteredUsers","sortByColumn","filterUsers","onfilterUpdate","handleChangePage","handleChangeRowsPerPage","displayedRows","LoadUsers","fnr","sendWelcomeEmail","rolesUpdated","mappedRoles","roleForNewUser","UserDetails","updatedRoles","handleRolesChange","extra","handleExtendePropsChange","generatedPassword","addedExistingUser","addLinkIcon","UserListFilter","onUpdate","UserMenu","errorCallback","generateNewPassword","startEditDetails","u_FnrLogin","deleteUser","defaultValidators","newUser","validateFnr","validateRoleArray","validateRole","serverParams","getAttribute","apiUrl","appVersion","Error","setApiRoot","initialReduxState","createBrowserHistory","basename","store","configureStore","PageSettingsActions","jssStyles","parentNode","removeChild","localizationInitialization","MainApp","DateFnsUtils","noLocale","renderApp","ReactDOM","accept","updateStore","APPMessages","LoggedInLevel","CurrentLanguage","PostAppMessage","ywAppMessage","postMessage","LOGINLEVEL_KEY","storageProviders","Session","Local","storageProvider","localStorage","storage","getItem","setItem","sessionStorage","level","inMemoryCookies","CookieNames","csrf","Cookie","cname","decodedCookie","cookie","ca","charAt","substring","REQUEST_START","REQUEST_FAILED","REQUEST_COMPLETE","INSERTED","DELETED","PATCHED","handleOptions","handleCatch","storePrefix","dispatchError","handleData","mapToQueryString","appendUrlData","urlData","setRequests","clearErrors","STORE_PREFIX","headers","jsonHeader","then","handleErrors","json","formData","FormData","append","blob","urlPart","COMPLETE_ACTION","requestParameters","elementToDelete","fetchFile","fileName","fetchBlob","downloadBlobAsFile","filename","contentType","blobData","replaceHistory","replace","createPatchActionCreator","console","newData","mergePatchChangesInStore","__changes","__hasChanges","urlvalues","admin","log","organization","stats","taskEngine","sleep","fihr","observation","patientSensor","patientExport","patientFitbit","patientGarmin","patientMessage","patientEvent","programExport","analytics","analyticsExport","socket","videoChat","currentRoot","protocol","host","keyName","toLookupMultiple","initialValue","GUID_LENGTH","toGuidLookup","trimKey","startsWith","toCommaList","findMax","startValue","findMaxDate","reorderElements","fromIndex","toIndex","insertAtIndex","elementToInsert","sortByDate","propName","sortByDateAscending","sortComp","sortCompDate","sortByMany","sortProps","sortByManyAdvanced","desc","distinct","distinctBy","set","mergeWithFilter","bDict","elem","reverse","clone","documentMode","isEdge","userAgent","isTouchDevice","MaxTouchPoints","msMaxTouchPoints","useWindowSize","hight","windowSize","setWindowSize","handleResize","innerWidth","innerHeight","useElementSize","elementSize","setElementSize","elementRef","DelayedFetch","timer","dataCall","delaySeconds","setup","devbannerHeight","banner","warning","loginBox","DEV_LOGIN_KEY","DevelopmentBanner","pw","passwordDate","showBanner","isOpen","hasValidLogin","DialogButton","isDialogOpen","dialogOkAction","buttonText","dialogTitle","dialogCancelText","buttonProps","openDialog","closeDialog","ok","ErrorMessage","scrollEl","errorElement","scrollY","scrollIntoView","behavior","muteErrors","scrollMarginTop","filteredMessages","Set","includes","msg","FormLink","htmlContentClassName","HtmlContent","addNoContextForImages","isEmptyHtml","replaceEmbedContent","IS_BROWSER","DEFAULT_ELEMENT","DEFAULT_EVENTS","IdleTimer","idle","oldDate","lastActive","pageX","pageY","onActive","onIdle","elapsed","getElapsedTime","tId","toggleIdleState","timeoutInMinutes","timeLeft","handleEvent","capture","passive","reset","Image","fileNotFound","loaded","onerror","src","alt","hideOnNotFound","onImageNotFound","onImageLoaded","flagIcon","LanguageToggle","activeLanguage","setActiveLanguage","lang","flags","withLocalize","rootInline","Loading","loadingMessage","inline","PollData","pollCondition","pollState","pollingIntervalInMinutes","callImediately","initialdataCall","PrivateRoute","component","loginUrl","roleLoginUrl","encodeURIComponent","ScrollToTop","hardScroll","locationKeys","setLocationKeys","useHistory","listen","loc","scroll","scrollTo","_","with1dArrowNavigation","minX","Infinity","maxX","refs","setRef","currentId","setCurrentId","handleArrowLeft","handleArrowUp","handleArrowRight","handleArrowDown","handleKeyDown","ctrlKey","shiftKey","altKey","metaKey","keyCode","handleMouseDown","focus","with2dArrowNavigation","minY","maxY","questionText","switchResponse","hasValueForQuestionType","questionType","formAnswerTypes","isEmpty","freetext","freetextResponse","singleChoice","multipleChoice","choiceResponse","scale","scaleResponse","tableResponses","FormQuestion","handleResponseUpdate","showScores","question","showRequired","contentState","ScaleResponseProps","elementSettings","handleValueChange","handleClickResponse","freetextConfig","choiceConfig","scaleConfig","tableConfig","validationText","FormValidation","missingRequiredQuestions","getElementConditionState","elementConditionStates","questions","validationErrorRef","showValidations","TaskContent","showValidationErrors","validationRef","validate","TaskFormProps","LinkElementProps","onResponse","TaskElementProps","taskElements","updateAllOthersAreHiddenProperties","elementPreContent","clear","systemContentElementTypes","box","highlightBackground","dimBackground","card","hoveredElement","linkContent","taskForm","collapsed","accepted","rejected","TaskElement","scrolled","linkedElementTaskId","refTask","refElement","linkedElementElementId","refTaskResponses","checkScroll","customHandled","linkedElementReference","getLinkedElementReference","elementType","audio","fileLink","internalLink","externalLink","missingContent","getVideoFrameUrl","origin","TaskElementLink","aspectRatio","handlePostMessage","internal","TaskForm","responseName","FormQuestionProps","QuestionnaireTableProps","small","bullseye","questionnaire","bubbleChoice","q","quizResponse","routeSelection","buttonStyle","longText","BubbleChoiceQuestions","onBubbleClick","answer","isChecked","checkedResponses","answers","bullsEyeContainer","bullsEye","questionLabel","scoreCircle","line","scorePoint","calculateScore","xPos","yPos","numberOfCircles","circleSize","diagonalFromSenter","sqrt","radius","circleScoreWidth","questionSeparatorLineTopPositions","questionSeparatorLineLeftPositions","questionSeparatorLineTransform","createLines","createCircles","circles","labelPositionOffset","labelPositionOffsetSmall","getQuestionLabelPositionStyle","offset","getQuadrantPosition","mouseClickX","mouseClickY","circleDiameter","fromPosX","fromPosY","BullsEyeQuestions","pointPositions","setPointPositions","useSmallLayout","onSetPoint","currentTargetRect","clientHeight","parseFloat","pageXOffset","pageYOffset","quadrantPosition","score","getPointPosition","questionResponse","circleRadius","pointRadius","questionIndex","angleInDegrees","sin","PI","cos","lines","questionResponses","circle","cellWidth","cellWidthSmall","maxContentWidth","tableLayout","stickyHeaderCell","verticalAlign","answerTextCell","answerCell","scoreCell","invalidRow","answerOption","writingMode","rotate","answerButton","cellMarker","QuestionnaireTable","showScoreMarks","verticalText","flipLabels","documentElement","clientWidth","firstColWidth","ieFix","answerCellMinWidth","ri","ci","selectAnswer","tabIndex","onKeyDown","onMouseDown","onFocus","getInputType","inputType","handleFreetextChange","inputResponse","disableUnderline","maxLength","scoreHeading","QuizResponse","quizTaskId","quizTask","quizElement","questionsWithAnswers","scoring","pResp","cResp","pAnswer","cAnswer","bottomContainer","arrowImage","triangle","triangleText","RouteSelection","leftValue","setLeftValue","rightValue","setRightValue","bottomValue","setBottomValue","updateAsyncTimer","answerLeft","answerRight","answerBottom","Arrow","stripHtml","actionButtonContainer","actionButtonHtml","ActionButton","disabledReadonlyInput","freetextInputTypes","dateAndTime","time","singleLineText","FreetextResponse","freetextStateValue","setFreetextStateValue","showValidation","setShowValidation","freetextType","validation","valid","errorTextKey","handleDateTimeChange","isDateObject","valueString","getMinutes","getFullYear","getMonth","onBlur","sharedPickerProps","autoOk","clearable","disableToolbar","ampm","minutesStep","clearLabel","cancelLabel","okLabel","invalidDateMessage","formControlRoot","formControlLabel","freetextLabel","freetextLabelText","choiceFreetextInput","correct","inCorrect","checkBox","MultipleChoice","selectedChoices","isDisabled","handleMultiSelectFreetextChange","freetextId","ix","updatedValue","handleMultiSelectChange","freetextChoiceId","flexFlow","dividerSmall","noLine","smallButtons","scaleLabels","lastLabel","slider","showThumb","hideThumb","ScaleResponse","sliderValue","updateTimeout","updateSliderValue","minLabel","maxLabel","range","abs","rangeStep","ceil","marks","renderLabels","thumb","handleSliderChange","choiceButtonContainer","choiceButton","radio","SingleChoice","selectedChoice","handleSingleSelectChange","handleSelectFreetextChange","getScoreClass","showAsButtons","group","desktopTable","overflowX","fixedWidth","fixedHeight","mobileTable","mobileRow","mobileRowHeader","light","mobileCell","tableRow","tableHeaderRow","tableHeaderCell","overflowWrap","rowHeaderCell","tableCell","multiQuestionCell","multiInput","addRowContainer","addRowButton","padRow","fill","TableResponse","multiTableValues","setMultiTableValues","updateIndex","setUpdateIndex","responseState","setResponseState","fixedNumberOfRows","rowHeaders","emptyRows","columnHeaders","addRow","currResponse","addedResponse","handleTableCellChange","rowIndex","cellIndex","prevResponse","cell","handleTableMultiCellChange","getCellValue","renderCells","mobile","cellQuestions","qi","autoComplete","mobileCellHeader","elementTypes","reference","portalAdmin","patientAdmin","programAdmin","userAdmin","therapistAndCreator","contentCreator","r","isEditor","isLimitedPatientAccess","appRoleLevels","elementSizes","medium","large","twoFactor","anonymous","scheduled","appointment","scheduleRepeatPeriod","month","accessRoles","read","write","owner","isOwnPatient","hasWriteAccess","fileTypes","visible","patientFlagTypes","criticalScore","inactivePatient","messageFollowup","responseFollowup","sensorTypes","unknown","fitbit","garmin","IdProviders","youwell","idPorten","loginTypes","selfStart","patientDialogChannels","chat","sms","patientPatchOperations","addGroupMembership","removeGroupMembership","contentPatchOperations","changeOwner","systemTaskLabels","subtask","thresholdTypes","lessThan","moreThan","equals","workflowStatuses","review","ready","config","kv","None","Limited","Unlimited","systemProgramProfiles","Default","Empty","All","elementSettingKeys","taskSettingKeys","exportLabel","findModule","findTask","pt","firstQuestionText","textpart","firstHeaderOrText","doc","DOMParser","parseFromString","t","minutesInOneDay","inputIsUtc","warn","timeZonestring","isoDateWithoutTimezone","isoDate","hour","minute","second","tomorrow","yesterday","isSameDate","datetime1","datetime2","d1","d2","toLocaleDateString","isYesterday","isFuture","includeToday","addDays","initialDate","addMonths","setMonth","timeOnly","dateOrString","getTimePartForInput","datetime","hasTime","longDate","alwaysIncludeYear","year","shortDate","mondayZeroIndex","getTimeStringFromDayOfWeek","dayOffset","dateWithOptionalTime","toLocaleString","dateWithTimeIfToday","getTextfieldDateTimeString","setNoon","getDateTimeSaveString","getWeekNumberFromDate","dateIn","UTC","week1","round","floor","getNumberOfWeeksCeiled","getNumberOfDays","weekYear","simple","dow","ISOweekStart","getNumberOfSeconds","getNumberOfMinutes","getDatePart","compareDates","daysToAddForCompare","date1","getDateFormatted","translateFunc","getMinsToMidnight","getMillisecondsInADay","hourCount","minutes","longLabels","hours","hourLabel","dontUseConditionsFromHiddenElements","ANY_ANSWER_CONDITION","getQuestionInCondition","condition","currentTask","currentElementId","parentElementId","taskInCondition","elementInCondition","conditionForElementInCondition","meetsConditionForQuestion","questionInCondition","expectedAnswers","scoreMin","scoreMax","calculateResponseScore","meetsCondition","responsesForTaskInCondition","responseForQuestion","subtotalId","responseForSubtotal","ifAllOthersAreHidden","allOthersAreHidden","checkConditions","elementState","conditions","elementStates","isMet","elementsWithAllOthersAreHiddenCondition","s","allOtherElements","every","HTTP_STATUS_CODES","Unauthorized","Forbidden","NotFound","TooManyRequests","YOUWELL_ERROR_CODES","ElementNotFound","PAGE_NOTFOUND","appSettings","FetchError","status","errorCode","Promise","reject","get","resolve","disposition","filenameValues","Accept","getErrorMessageOrKey","err","errorMessageKey","newBlob","Blob","msSaveOrOpenBlob","URL","createObjectURL","createElement","href","download","click","revokeObjectURL","refreshPromise","withRefreshToken","refreshUrl","fetchWithDefaults","getValue","credentials","fetchWithRefresh","has","refresh","us","no","en","oembedRegex","urlRegex","figureRegex","imgRegex","srcRegex","internalLinkRegex","elementIdRegex","tableFigureRegex","tableRegex","firstStyleWidthRegex","styleRegex","videoProviders","getUrlMatches","pattern","rawUrl","detectPattern","patterns","replaceVideo","replaced","urlMatch","isArray","patternMatch","addNoContextMenu","withNoContext","fixTableWidthLayout","figureStyleMatch","tableMatch","existingTableStyle","tableReplaced","replaceInternalLinks","idMatch","withAction","findImageUrls","videoContent","SORT_OPERATOR_PREFIX","constructor","mergePatchChanges","arrayKeyMarker","sortKeyEnd","arrayName","prevArray","orderLookup","arrayKeySeparator","arrayKeyEnd","arrayKey","arrayKeyValue","objectDotIndex","subKey","buildRootReducer","allReducers","combineReducers","router","connectRouter","replaceReducer","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","thunk","routerMiddleware","calculateSubtotals","scoresByQuestionId","isSubtotal","taskSubtotalId","questionIds","subTotalSum","sum","getResponseHash","f","reduceResponsesForTask","newResponses","currentResponseList","existingResponsesForElement","existingResponsesForTask","changeKey","subtotals","currentResponses","responseList","newTaskSubtotalResponses","taskVisitResult","savedResponses","existingResponseList","formProps","formVm","rPrev","rCurr","updatedResponsesForTask","prevQuestions","currQuestionId","currentTaskResponse","prevPpe","currPpeId","prevTask","currTaskId","newLineStringsFromList","commaStringsFromList","listFromNewLineStrings","listFromCommaStrings","defaultValue","String","firstLetterUp","toUpperCase","inputString","searchString","generateRandomString","random","trimDown","str","defaultSortValue","sortCompNumber","sortCompString","hashIndex","groups","groupedElements","elementGroupIndex","getItemFromPatientProgram","getImages","img","validatorFunction","fieldName","validatorFunctions","currentFunction","currentValidation","checkHasErrors","onSubmit","validations","defaultValues","setErrors","setHasErrors","shouldValidate","setShouldValidate","setHasUnsavedChanges","prevValues","prevErrors","resetForm","validateChars","maxChars","rfcEmail","test","validateDate","passwordConfirm","allFields","birthNumber","factors","l","parseInt","checksum1","checksum2","validatedState","addValidator","newValidators"],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,GAAG;;QAEH;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,MAAM;QACN;QACA;QACA,MAAM;QACN;QACA;QACA,MAAM;QACN;QACA;QACA;QACA,OAAO;QACP;QACA;QACA;QACA;QACA;QACA;QACA,IAAI;QACJ;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,MAAM;QACN;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,MAAM;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;;QAEL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA,6BAA6B;QAC7B,6BAA6B;QAC7B;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA,qBAAqB,gBAAgB;QACrC;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,qBAAqB,gBAAgB;QACrC;QACA;QACA,KAAK;QACL;QACA;QACA,KAAK;QACL;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;;QAEL;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;QACL;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,KAAK;;QAEL;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA,kBAAkB,8BAA8B;QAChD;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAI;QACJ;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,IAAI;QACJ;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,MAAM;QACN;QACA;QACA;QACA,OAAO;QACP;QACA;QACA;QACA;QACA,IAAI;QACJ;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,oBAAoB,2BAA2B;QAC/C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,OAAO;QACP;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA,mBAAmB,cAAc;QACjC;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,gBAAgB,KAAK;QACrB;QACA;QACA;QACA,MAAM;QACN;QACA;QACA;QACA;QACA;QACA,gBAAgB,YAAY;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA,cAAc,4BAA4B;QAC1C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,MAAM;QACN;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA,IAAI;;QAEJ;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;QACA,eAAe,4BAA4B;QAC3C;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA,eAAe,4BAA4B;QAC3C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,iBAAiB,uCAAuC;QACxD;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,iBAAiB,uCAAuC;QACxD;QACA;QACA;QACA;QACA;QACA;QACA;QACA,iBAAiB,sBAAsB;QACvC;QACA;QACA;QACA,QAAQ;QACR;QACA;QACA;QACA;QACA;QACA;QACA,UAAU;QACV;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA,cAAc,wCAAwC;QACtD;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,OAAO;QACP;QACA;QACA;QACA;QACA;QACA;QACA,SAAS;QACT;QACA;QACA;QACA;QACA;QACA;QACA,MAAM;QACN;QACA;QACA;QACA;QACA;QACA,QAAQ;QACR;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA,MAAM;QACN;QACA,KAAK;QACL;;QAEA;QACA;QACA;QACA,IAAI;QACJ;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,eAAe;QACf;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD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","file":"main-client.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n \tfunction hotDisposeChunk(chunkId) {\n \t\tdelete installedChunks[chunkId];\n \t}\n \tvar parentHotUpdateCallback = window[\"webpackHotUpdate\"];\n \twindow[\"webpackHotUpdate\"] = // eslint-disable-next-line no-unused-vars\n \tfunction webpackHotUpdateCallback(chunkId, moreModules) {\n \t\thotAddUpdateChunk(chunkId, moreModules);\n \t\tif (parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);\n \t} ;\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotDownloadUpdateChunk(chunkId) {\n \t\tvar script = document.createElement(\"script\");\n \t\tscript.charset = \"utf-8\";\n \t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".\" + hotCurrentHash + \".hot-update.js\";\n \t\tif (null) script.crossOrigin = null;\n \t\tdocument.head.appendChild(script);\n \t}\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotDownloadManifest(requestTimeout) {\n \t\trequestTimeout = requestTimeout || 10000;\n \t\treturn new Promise(function(resolve, reject) {\n \t\t\tif (typeof XMLHttpRequest === \"undefined\") {\n \t\t\t\treturn reject(new Error(\"No browser support\"));\n \t\t\t}\n \t\t\ttry {\n \t\t\t\tvar request = new XMLHttpRequest();\n \t\t\t\tvar requestPath = __webpack_require__.p + \"\" + hotCurrentHash + \".hot-update.json\";\n \t\t\t\trequest.open(\"GET\", requestPath, true);\n \t\t\t\trequest.timeout = requestTimeout;\n \t\t\t\trequest.send(null);\n \t\t\t} catch (err) {\n \t\t\t\treturn reject(err);\n \t\t\t}\n \t\t\trequest.onreadystatechange = function() {\n \t\t\t\tif (request.readyState !== 4) return;\n \t\t\t\tif (request.status === 0) {\n \t\t\t\t\t// timeout\n \t\t\t\t\treject(\n \t\t\t\t\t\tnew Error(\"Manifest request to \" + requestPath + \" timed out.\")\n \t\t\t\t\t);\n \t\t\t\t} else if (request.status === 404) {\n \t\t\t\t\t// no update available\n \t\t\t\t\tresolve();\n \t\t\t\t} else if (request.status !== 200 && request.status !== 304) {\n \t\t\t\t\t// other failure\n \t\t\t\t\treject(new Error(\"Manifest request to \" + requestPath + \" failed.\"));\n \t\t\t\t} else {\n \t\t\t\t\t// success\n \t\t\t\t\ttry {\n \t\t\t\t\t\tvar update = JSON.parse(request.responseText);\n \t\t\t\t\t} catch (e) {\n \t\t\t\t\t\treject(e);\n \t\t\t\t\t\treturn;\n \t\t\t\t\t}\n \t\t\t\t\tresolve(update);\n \t\t\t\t}\n \t\t\t};\n \t\t});\n \t}\n\n \tvar hotApplyOnUpdate = true;\n \t// eslint-disable-next-line no-unused-vars\n \tvar hotCurrentHash = \"92871e36b5996033c9a7\";\n \tvar hotRequestTimeout = 10000;\n \tvar hotCurrentModuleData = {};\n \tvar hotCurrentChildModule;\n \t// eslint-disable-next-line no-unused-vars\n \tvar hotCurrentParents = [];\n \t// eslint-disable-next-line no-unused-vars\n \tvar hotCurrentParentsTemp = [];\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotCreateRequire(moduleId) {\n \t\tvar me = installedModules[moduleId];\n \t\tif (!me) return __webpack_require__;\n \t\tvar fn = function(request) {\n \t\t\tif (me.hot.active) {\n \t\t\t\tif (installedModules[request]) {\n \t\t\t\t\tif (installedModules[request].parents.indexOf(moduleId) === -1) {\n \t\t\t\t\t\tinstalledModules[request].parents.push(moduleId);\n \t\t\t\t\t}\n \t\t\t\t} else {\n \t\t\t\t\thotCurrentParents = [moduleId];\n \t\t\t\t\thotCurrentChildModule = request;\n \t\t\t\t}\n \t\t\t\tif (me.children.indexOf(request) === -1) {\n \t\t\t\t\tme.children.push(request);\n \t\t\t\t}\n \t\t\t} else {\n \t\t\t\tconsole.warn(\n \t\t\t\t\t\"[HMR] unexpected require(\" +\n \t\t\t\t\t\trequest +\n \t\t\t\t\t\t\") from disposed module \" +\n \t\t\t\t\t\tmoduleId\n \t\t\t\t);\n \t\t\t\thotCurrentParents = [];\n \t\t\t}\n \t\t\treturn __webpack_require__(request);\n \t\t};\n \t\tvar ObjectFactory = function ObjectFactory(name) {\n \t\t\treturn {\n \t\t\t\tconfigurable: true,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: function() {\n \t\t\t\t\treturn __webpack_require__[name];\n \t\t\t\t},\n \t\t\t\tset: function(value) {\n \t\t\t\t\t__webpack_require__[name] = value;\n \t\t\t\t}\n \t\t\t};\n \t\t};\n \t\tfor (var name in __webpack_require__) {\n \t\t\tif (\n \t\t\t\tObject.prototype.hasOwnProperty.call(__webpack_require__, name) &&\n \t\t\t\tname !== \"e\" &&\n \t\t\t\tname !== \"t\"\n \t\t\t) {\n \t\t\t\tObject.defineProperty(fn, name, ObjectFactory(name));\n \t\t\t}\n \t\t}\n \t\tfn.e = function(chunkId) {\n \t\t\tif (hotStatus === \"ready\") hotSetStatus(\"prepare\");\n \t\t\thotChunksLoading++;\n \t\t\treturn __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) {\n \t\t\t\tfinishChunkLoading();\n \t\t\t\tthrow err;\n \t\t\t});\n\n \t\t\tfunction finishChunkLoading() {\n \t\t\t\thotChunksLoading--;\n \t\t\t\tif (hotStatus === \"prepare\") {\n \t\t\t\t\tif (!hotWaitingFilesMap[chunkId]) {\n \t\t\t\t\t\thotEnsureUpdateChunk(chunkId);\n \t\t\t\t\t}\n \t\t\t\t\tif (hotChunksLoading === 0 && hotWaitingFiles === 0) {\n \t\t\t\t\t\thotUpdateDownloaded();\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t};\n \t\tfn.t = function(value, mode) {\n \t\t\tif (mode & 1) value = fn(value);\n \t\t\treturn __webpack_require__.t(value, mode & ~1);\n \t\t};\n \t\treturn fn;\n \t}\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotCreateModule(moduleId) {\n \t\tvar hot = {\n \t\t\t// private stuff\n \t\t\t_acceptedDependencies: {},\n \t\t\t_declinedDependencies: {},\n \t\t\t_selfAccepted: false,\n \t\t\t_selfDeclined: false,\n \t\t\t_selfInvalidated: false,\n \t\t\t_disposeHandlers: [],\n \t\t\t_main: hotCurrentChildModule !== moduleId,\n\n \t\t\t// Module API\n \t\t\tactive: true,\n \t\t\taccept: function(dep, callback) {\n \t\t\t\tif (dep === undefined) hot._selfAccepted = true;\n \t\t\t\telse if (typeof dep === \"function\") hot._selfAccepted = dep;\n \t\t\t\telse if (typeof dep === \"object\")\n \t\t\t\t\tfor (var i = 0; i < dep.length; i++)\n \t\t\t\t\t\thot._acceptedDependencies[dep[i]] = callback || function() {};\n \t\t\t\telse hot._acceptedDependencies[dep] = callback || function() {};\n \t\t\t},\n \t\t\tdecline: function(dep) {\n \t\t\t\tif (dep === undefined) hot._selfDeclined = true;\n \t\t\t\telse if (typeof dep === \"object\")\n \t\t\t\t\tfor (var i = 0; i < dep.length; i++)\n \t\t\t\t\t\thot._declinedDependencies[dep[i]] = true;\n \t\t\t\telse hot._declinedDependencies[dep] = true;\n \t\t\t},\n \t\t\tdispose: function(callback) {\n \t\t\t\thot._disposeHandlers.push(callback);\n \t\t\t},\n \t\t\taddDisposeHandler: function(callback) {\n \t\t\t\thot._disposeHandlers.push(callback);\n \t\t\t},\n \t\t\tremoveDisposeHandler: function(callback) {\n \t\t\t\tvar idx = hot._disposeHandlers.indexOf(callback);\n \t\t\t\tif (idx >= 0) hot._disposeHandlers.splice(idx, 1);\n \t\t\t},\n \t\t\tinvalidate: function() {\n \t\t\t\tthis._selfInvalidated = true;\n \t\t\t\tswitch (hotStatus) {\n \t\t\t\t\tcase \"idle\":\n \t\t\t\t\t\thotUpdate = {};\n \t\t\t\t\t\thotUpdate[moduleId] = modules[moduleId];\n \t\t\t\t\t\thotSetStatus(\"ready\");\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"ready\":\n \t\t\t\t\t\thotApplyInvalidatedModule(moduleId);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"prepare\":\n \t\t\t\t\tcase \"check\":\n \t\t\t\t\tcase \"dispose\":\n \t\t\t\t\tcase \"apply\":\n \t\t\t\t\t\t(hotQueuedInvalidatedModules =\n \t\t\t\t\t\t\thotQueuedInvalidatedModules || []).push(moduleId);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tdefault:\n \t\t\t\t\t\t// ignore requests in error states\n \t\t\t\t\t\tbreak;\n \t\t\t\t}\n \t\t\t},\n\n \t\t\t// Management API\n \t\t\tcheck: hotCheck,\n \t\t\tapply: hotApply,\n \t\t\tstatus: function(l) {\n \t\t\t\tif (!l) return hotStatus;\n \t\t\t\thotStatusHandlers.push(l);\n \t\t\t},\n \t\t\taddStatusHandler: function(l) {\n \t\t\t\thotStatusHandlers.push(l);\n \t\t\t},\n \t\t\tremoveStatusHandler: function(l) {\n \t\t\t\tvar idx = hotStatusHandlers.indexOf(l);\n \t\t\t\tif (idx >= 0) hotStatusHandlers.splice(idx, 1);\n \t\t\t},\n\n \t\t\t//inherit from previous dispose call\n \t\t\tdata: hotCurrentModuleData[moduleId]\n \t\t};\n \t\thotCurrentChildModule = undefined;\n \t\treturn hot;\n \t}\n\n \tvar hotStatusHandlers = [];\n \tvar hotStatus = \"idle\";\n\n \tfunction hotSetStatus(newStatus) {\n \t\thotStatus = newStatus;\n \t\tfor (var i = 0; i < hotStatusHandlers.length; i++)\n \t\t\thotStatusHandlers[i].call(null, newStatus);\n \t}\n\n \t// while downloading\n \tvar hotWaitingFiles = 0;\n \tvar hotChunksLoading = 0;\n \tvar hotWaitingFilesMap = {};\n \tvar hotRequestedFilesMap = {};\n \tvar hotAvailableFilesMap = {};\n \tvar hotDeferred;\n\n \t// The update info\n \tvar hotUpdate, hotUpdateNewHash, hotQueuedInvalidatedModules;\n\n \tfunction toModuleId(id) {\n \t\tvar isNumber = +id + \"\" === id;\n \t\treturn isNumber ? +id : id;\n \t}\n\n \tfunction hotCheck(apply) {\n \t\tif (hotStatus !== \"idle\") {\n \t\t\tthrow new Error(\"check() is only allowed in idle status\");\n \t\t}\n \t\thotApplyOnUpdate = apply;\n \t\thotSetStatus(\"check\");\n \t\treturn hotDownloadManifest(hotRequestTimeout).then(function(update) {\n \t\t\tif (!update) {\n \t\t\t\thotSetStatus(hotApplyInvalidatedModules() ? \"ready\" : \"idle\");\n \t\t\t\treturn null;\n \t\t\t}\n \t\t\thotRequestedFilesMap = {};\n \t\t\thotWaitingFilesMap = {};\n \t\t\thotAvailableFilesMap = update.c;\n \t\t\thotUpdateNewHash = update.h;\n\n \t\t\thotSetStatus(\"prepare\");\n \t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\thotDeferred = {\n \t\t\t\t\tresolve: resolve,\n \t\t\t\t\treject: reject\n \t\t\t\t};\n \t\t\t});\n \t\t\thotUpdate = {};\n \t\t\tfor(var chunkId in installedChunks)\n \t\t\t// eslint-disable-next-line no-lone-blocks\n \t\t\t{\n \t\t\t\thotEnsureUpdateChunk(chunkId);\n \t\t\t}\n \t\t\tif (\n \t\t\t\thotStatus === \"prepare\" &&\n \t\t\t\thotChunksLoading === 0 &&\n \t\t\t\thotWaitingFiles === 0\n \t\t\t) {\n \t\t\t\thotUpdateDownloaded();\n \t\t\t}\n \t\t\treturn promise;\n \t\t});\n \t}\n\n \t// eslint-disable-next-line no-unused-vars\n \tfunction hotAddUpdateChunk(chunkId, moreModules) {\n \t\tif (!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])\n \t\t\treturn;\n \t\thotRequestedFilesMap[chunkId] = false;\n \t\tfor (var moduleId in moreModules) {\n \t\t\tif (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\thotUpdate[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif (--hotWaitingFiles === 0 && hotChunksLoading === 0) {\n \t\t\thotUpdateDownloaded();\n \t\t}\n \t}\n\n \tfunction hotEnsureUpdateChunk(chunkId) {\n \t\tif (!hotAvailableFilesMap[chunkId]) {\n \t\t\thotWaitingFilesMap[chunkId] = true;\n \t\t} else {\n \t\t\thotRequestedFilesMap[chunkId] = true;\n \t\t\thotWaitingFiles++;\n \t\t\thotDownloadUpdateChunk(chunkId);\n \t\t}\n \t}\n\n \tfunction hotUpdateDownloaded() {\n \t\thotSetStatus(\"ready\");\n \t\tvar deferred = hotDeferred;\n \t\thotDeferred = null;\n \t\tif (!deferred) return;\n \t\tif (hotApplyOnUpdate) {\n \t\t\t// Wrap deferred object in Promise to mark it as a well-handled Promise to\n \t\t\t// avoid triggering uncaught exception warning in Chrome.\n \t\t\t// See https://bugs.chromium.org/p/chromium/issues/detail?id=465666\n \t\t\tPromise.resolve()\n \t\t\t\t.then(function() {\n \t\t\t\t\treturn hotApply(hotApplyOnUpdate);\n \t\t\t\t})\n \t\t\t\t.then(\n \t\t\t\t\tfunction(result) {\n \t\t\t\t\t\tdeferred.resolve(result);\n \t\t\t\t\t},\n \t\t\t\t\tfunction(err) {\n \t\t\t\t\t\tdeferred.reject(err);\n \t\t\t\t\t}\n \t\t\t\t);\n \t\t} else {\n \t\t\tvar outdatedModules = [];\n \t\t\tfor (var id in hotUpdate) {\n \t\t\t\tif (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\n \t\t\t\t\toutdatedModules.push(toModuleId(id));\n \t\t\t\t}\n \t\t\t}\n \t\t\tdeferred.resolve(outdatedModules);\n \t\t}\n \t}\n\n \tfunction hotApply(options) {\n \t\tif (hotStatus !== \"ready\")\n \t\t\tthrow new Error(\"apply() is only allowed in ready status\");\n \t\toptions = options || {};\n \t\treturn hotApplyInternal(options);\n \t}\n\n \tfunction hotApplyInternal(options) {\n \t\thotApplyInvalidatedModules();\n\n \t\tvar cb;\n \t\tvar i;\n \t\tvar j;\n \t\tvar module;\n \t\tvar moduleId;\n\n \t\tfunction getAffectedStuff(updateModuleId) {\n \t\t\tvar outdatedModules = [updateModuleId];\n \t\t\tvar outdatedDependencies = {};\n\n \t\t\tvar queue = outdatedModules.map(function(id) {\n \t\t\t\treturn {\n \t\t\t\t\tchain: [id],\n \t\t\t\t\tid: id\n \t\t\t\t};\n \t\t\t});\n \t\t\twhile (queue.length > 0) {\n \t\t\t\tvar queueItem = queue.pop();\n \t\t\t\tvar moduleId = queueItem.id;\n \t\t\t\tvar chain = queueItem.chain;\n \t\t\t\tmodule = installedModules[moduleId];\n \t\t\t\tif (\n \t\t\t\t\t!module ||\n \t\t\t\t\t(module.hot._selfAccepted && !module.hot._selfInvalidated)\n \t\t\t\t)\n \t\t\t\t\tcontinue;\n \t\t\t\tif (module.hot._selfDeclined) {\n \t\t\t\t\treturn {\n \t\t\t\t\t\ttype: \"self-declined\",\n \t\t\t\t\t\tchain: chain,\n \t\t\t\t\t\tmoduleId: moduleId\n \t\t\t\t\t};\n \t\t\t\t}\n \t\t\t\tif (module.hot._main) {\n \t\t\t\t\treturn {\n \t\t\t\t\t\ttype: \"unaccepted\",\n \t\t\t\t\t\tchain: chain,\n \t\t\t\t\t\tmoduleId: moduleId\n \t\t\t\t\t};\n \t\t\t\t}\n \t\t\t\tfor (var i = 0; i < module.parents.length; i++) {\n \t\t\t\t\tvar parentId = module.parents[i];\n \t\t\t\t\tvar parent = installedModules[parentId];\n \t\t\t\t\tif (!parent) continue;\n \t\t\t\t\tif (parent.hot._declinedDependencies[moduleId]) {\n \t\t\t\t\t\treturn {\n \t\t\t\t\t\t\ttype: \"declined\",\n \t\t\t\t\t\t\tchain: chain.concat([parentId]),\n \t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\tparentId: parentId\n \t\t\t\t\t\t};\n \t\t\t\t\t}\n \t\t\t\t\tif (outdatedModules.indexOf(parentId) !== -1) continue;\n \t\t\t\t\tif (parent.hot._acceptedDependencies[moduleId]) {\n \t\t\t\t\t\tif (!outdatedDependencies[parentId])\n \t\t\t\t\t\t\toutdatedDependencies[parentId] = [];\n \t\t\t\t\t\taddAllToSet(outdatedDependencies[parentId], [moduleId]);\n \t\t\t\t\t\tcontinue;\n \t\t\t\t\t}\n \t\t\t\t\tdelete outdatedDependencies[parentId];\n \t\t\t\t\toutdatedModules.push(parentId);\n \t\t\t\t\tqueue.push({\n \t\t\t\t\t\tchain: chain.concat([parentId]),\n \t\t\t\t\t\tid: parentId\n \t\t\t\t\t});\n \t\t\t\t}\n \t\t\t}\n\n \t\t\treturn {\n \t\t\t\ttype: \"accepted\",\n \t\t\t\tmoduleId: updateModuleId,\n \t\t\t\toutdatedModules: outdatedModules,\n \t\t\t\toutdatedDependencies: outdatedDependencies\n \t\t\t};\n \t\t}\n\n \t\tfunction addAllToSet(a, b) {\n \t\t\tfor (var i = 0; i < b.length; i++) {\n \t\t\t\tvar item = b[i];\n \t\t\t\tif (a.indexOf(item) === -1) a.push(item);\n \t\t\t}\n \t\t}\n\n \t\t// at begin all updates modules are outdated\n \t\t// the \"outdated\" status can propagate to parents if they don't accept the children\n \t\tvar outdatedDependencies = {};\n \t\tvar outdatedModules = [];\n \t\tvar appliedUpdate = {};\n\n \t\tvar warnUnexpectedRequire = function warnUnexpectedRequire() {\n \t\t\tconsole.warn(\n \t\t\t\t\"[HMR] unexpected require(\" + result.moduleId + \") to disposed module\"\n \t\t\t);\n \t\t};\n\n \t\tfor (var id in hotUpdate) {\n \t\t\tif (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\n \t\t\t\tmoduleId = toModuleId(id);\n \t\t\t\t/** @type {TODO} */\n \t\t\t\tvar result;\n \t\t\t\tif (hotUpdate[id]) {\n \t\t\t\t\tresult = getAffectedStuff(moduleId);\n \t\t\t\t} else {\n \t\t\t\t\tresult = {\n \t\t\t\t\t\ttype: \"disposed\",\n \t\t\t\t\t\tmoduleId: id\n \t\t\t\t\t};\n \t\t\t\t}\n \t\t\t\t/** @type {Error|false} */\n \t\t\t\tvar abortError = false;\n \t\t\t\tvar doApply = false;\n \t\t\t\tvar doDispose = false;\n \t\t\t\tvar chainInfo = \"\";\n \t\t\t\tif (result.chain) {\n \t\t\t\t\tchainInfo = \"\\nUpdate propagation: \" + result.chain.join(\" -> \");\n \t\t\t\t}\n \t\t\t\tswitch (result.type) {\n \t\t\t\t\tcase \"self-declined\":\n \t\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n \t\t\t\t\t\tif (!options.ignoreDeclined)\n \t\t\t\t\t\t\tabortError = new Error(\n \t\t\t\t\t\t\t\t\"Aborted because of self decline: \" +\n \t\t\t\t\t\t\t\t\tresult.moduleId +\n \t\t\t\t\t\t\t\t\tchainInfo\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"declined\":\n \t\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n \t\t\t\t\t\tif (!options.ignoreDeclined)\n \t\t\t\t\t\t\tabortError = new Error(\n \t\t\t\t\t\t\t\t\"Aborted because of declined dependency: \" +\n \t\t\t\t\t\t\t\t\tresult.moduleId +\n \t\t\t\t\t\t\t\t\t\" in \" +\n \t\t\t\t\t\t\t\t\tresult.parentId +\n \t\t\t\t\t\t\t\t\tchainInfo\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"unaccepted\":\n \t\t\t\t\t\tif (options.onUnaccepted) options.onUnaccepted(result);\n \t\t\t\t\t\tif (!options.ignoreUnaccepted)\n \t\t\t\t\t\t\tabortError = new Error(\n \t\t\t\t\t\t\t\t\"Aborted because \" + moduleId + \" is not accepted\" + chainInfo\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"accepted\":\n \t\t\t\t\t\tif (options.onAccepted) options.onAccepted(result);\n \t\t\t\t\t\tdoApply = true;\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tcase \"disposed\":\n \t\t\t\t\t\tif (options.onDisposed) options.onDisposed(result);\n \t\t\t\t\t\tdoDispose = true;\n \t\t\t\t\t\tbreak;\n \t\t\t\t\tdefault:\n \t\t\t\t\t\tthrow new Error(\"Unexception type \" + result.type);\n \t\t\t\t}\n \t\t\t\tif (abortError) {\n \t\t\t\t\thotSetStatus(\"abort\");\n \t\t\t\t\treturn Promise.reject(abortError);\n \t\t\t\t}\n \t\t\t\tif (doApply) {\n \t\t\t\t\tappliedUpdate[moduleId] = hotUpdate[moduleId];\n \t\t\t\t\taddAllToSet(outdatedModules, result.outdatedModules);\n \t\t\t\t\tfor (moduleId in result.outdatedDependencies) {\n \t\t\t\t\t\tif (\n \t\t\t\t\t\t\tObject.prototype.hasOwnProperty.call(\n \t\t\t\t\t\t\t\tresult.outdatedDependencies,\n \t\t\t\t\t\t\t\tmoduleId\n \t\t\t\t\t\t\t)\n \t\t\t\t\t\t) {\n \t\t\t\t\t\t\tif (!outdatedDependencies[moduleId])\n \t\t\t\t\t\t\t\toutdatedDependencies[moduleId] = [];\n \t\t\t\t\t\t\taddAllToSet(\n \t\t\t\t\t\t\t\toutdatedDependencies[moduleId],\n \t\t\t\t\t\t\t\tresult.outdatedDependencies[moduleId]\n \t\t\t\t\t\t\t);\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t\tif (doDispose) {\n \t\t\t\t\taddAllToSet(outdatedModules, [result.moduleId]);\n \t\t\t\t\tappliedUpdate[moduleId] = warnUnexpectedRequire;\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// Store self accepted outdated modules to require them later by the module system\n \t\tvar outdatedSelfAcceptedModules = [];\n \t\tfor (i = 0; i < outdatedModules.length; i++) {\n \t\t\tmoduleId = outdatedModules[i];\n \t\t\tif (\n \t\t\t\tinstalledModules[moduleId] &&\n \t\t\t\tinstalledModules[moduleId].hot._selfAccepted &&\n \t\t\t\t// removed self-accepted modules should not be required\n \t\t\t\tappliedUpdate[moduleId] !== warnUnexpectedRequire &&\n \t\t\t\t// when called invalidate self-accepting is not possible\n \t\t\t\t!installedModules[moduleId].hot._selfInvalidated\n \t\t\t) {\n \t\t\t\toutdatedSelfAcceptedModules.push({\n \t\t\t\t\tmodule: moduleId,\n \t\t\t\t\tparents: installedModules[moduleId].parents.slice(),\n \t\t\t\t\terrorHandler: installedModules[moduleId].hot._selfAccepted\n \t\t\t\t});\n \t\t\t}\n \t\t}\n\n \t\t// Now in \"dispose\" phase\n \t\thotSetStatus(\"dispose\");\n \t\tObject.keys(hotAvailableFilesMap).forEach(function(chunkId) {\n \t\t\tif (hotAvailableFilesMap[chunkId] === false) {\n \t\t\t\thotDisposeChunk(chunkId);\n \t\t\t}\n \t\t});\n\n \t\tvar idx;\n \t\tvar queue = outdatedModules.slice();\n \t\twhile (queue.length > 0) {\n \t\t\tmoduleId = queue.pop();\n \t\t\tmodule = installedModules[moduleId];\n \t\t\tif (!module) continue;\n\n \t\t\tvar data = {};\n\n \t\t\t// Call dispose handlers\n \t\t\tvar disposeHandlers = module.hot._disposeHandlers;\n \t\t\tfor (j = 0; j < disposeHandlers.length; j++) {\n \t\t\t\tcb = disposeHandlers[j];\n \t\t\t\tcb(data);\n \t\t\t}\n \t\t\thotCurrentModuleData[moduleId] = data;\n\n \t\t\t// disable module (this disables requires from this module)\n \t\t\tmodule.hot.active = false;\n\n \t\t\t// remove module from cache\n \t\t\tdelete installedModules[moduleId];\n\n \t\t\t// when disposing there is no need to call dispose handler\n \t\t\tdelete outdatedDependencies[moduleId];\n\n \t\t\t// remove \"parents\" references from all children\n \t\t\tfor (j = 0; j < module.children.length; j++) {\n \t\t\t\tvar child = installedModules[module.children[j]];\n \t\t\t\tif (!child) continue;\n \t\t\t\tidx = child.parents.indexOf(moduleId);\n \t\t\t\tif (idx >= 0) {\n \t\t\t\t\tchild.parents.splice(idx, 1);\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// remove outdated dependency from module children\n \t\tvar dependency;\n \t\tvar moduleOutdatedDependencies;\n \t\tfor (moduleId in outdatedDependencies) {\n \t\t\tif (\n \t\t\t\tObject.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)\n \t\t\t) {\n \t\t\t\tmodule = installedModules[moduleId];\n \t\t\t\tif (module) {\n \t\t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\n \t\t\t\t\tfor (j = 0; j < moduleOutdatedDependencies.length; j++) {\n \t\t\t\t\t\tdependency = moduleOutdatedDependencies[j];\n \t\t\t\t\t\tidx = module.children.indexOf(dependency);\n \t\t\t\t\t\tif (idx >= 0) module.children.splice(idx, 1);\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// Now in \"apply\" phase\n \t\thotSetStatus(\"apply\");\n\n \t\tif (hotUpdateNewHash !== undefined) {\n \t\t\thotCurrentHash = hotUpdateNewHash;\n \t\t\thotUpdateNewHash = undefined;\n \t\t}\n \t\thotUpdate = undefined;\n\n \t\t// insert new code\n \t\tfor (moduleId in appliedUpdate) {\n \t\t\tif (Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {\n \t\t\t\tmodules[moduleId] = appliedUpdate[moduleId];\n \t\t\t}\n \t\t}\n\n \t\t// call accept handlers\n \t\tvar error = null;\n \t\tfor (moduleId in outdatedDependencies) {\n \t\t\tif (\n \t\t\t\tObject.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)\n \t\t\t) {\n \t\t\t\tmodule = installedModules[moduleId];\n \t\t\t\tif (module) {\n \t\t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\n \t\t\t\t\tvar callbacks = [];\n \t\t\t\t\tfor (i = 0; i < moduleOutdatedDependencies.length; i++) {\n \t\t\t\t\t\tdependency = moduleOutdatedDependencies[i];\n \t\t\t\t\t\tcb = module.hot._acceptedDependencies[dependency];\n \t\t\t\t\t\tif (cb) {\n \t\t\t\t\t\t\tif (callbacks.indexOf(cb) !== -1) continue;\n \t\t\t\t\t\t\tcallbacks.push(cb);\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n \t\t\t\t\tfor (i = 0; i < callbacks.length; i++) {\n \t\t\t\t\t\tcb = callbacks[i];\n \t\t\t\t\t\ttry {\n \t\t\t\t\t\t\tcb(moduleOutdatedDependencies);\n \t\t\t\t\t\t} catch (err) {\n \t\t\t\t\t\t\tif (options.onErrored) {\n \t\t\t\t\t\t\t\toptions.onErrored({\n \t\t\t\t\t\t\t\t\ttype: \"accept-errored\",\n \t\t\t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\t\t\tdependencyId: moduleOutdatedDependencies[i],\n \t\t\t\t\t\t\t\t\terror: err\n \t\t\t\t\t\t\t\t});\n \t\t\t\t\t\t\t}\n \t\t\t\t\t\t\tif (!options.ignoreErrored) {\n \t\t\t\t\t\t\t\tif (!error) error = err;\n \t\t\t\t\t\t\t}\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// Load self accepted modules\n \t\tfor (i = 0; i < outdatedSelfAcceptedModules.length; i++) {\n \t\t\tvar item = outdatedSelfAcceptedModules[i];\n \t\t\tmoduleId = item.module;\n \t\t\thotCurrentParents = item.parents;\n \t\t\thotCurrentChildModule = moduleId;\n \t\t\ttry {\n \t\t\t\t__webpack_require__(moduleId);\n \t\t\t} catch (err) {\n \t\t\t\tif (typeof item.errorHandler === \"function\") {\n \t\t\t\t\ttry {\n \t\t\t\t\t\titem.errorHandler(err);\n \t\t\t\t\t} catch (err2) {\n \t\t\t\t\t\tif (options.onErrored) {\n \t\t\t\t\t\t\toptions.onErrored({\n \t\t\t\t\t\t\t\ttype: \"self-accept-error-handler-errored\",\n \t\t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\t\terror: err2,\n \t\t\t\t\t\t\t\toriginalError: err\n \t\t\t\t\t\t\t});\n \t\t\t\t\t\t}\n \t\t\t\t\t\tif (!options.ignoreErrored) {\n \t\t\t\t\t\t\tif (!error) error = err2;\n \t\t\t\t\t\t}\n \t\t\t\t\t\tif (!error) error = err;\n \t\t\t\t\t}\n \t\t\t\t} else {\n \t\t\t\t\tif (options.onErrored) {\n \t\t\t\t\t\toptions.onErrored({\n \t\t\t\t\t\t\ttype: \"self-accept-errored\",\n \t\t\t\t\t\t\tmoduleId: moduleId,\n \t\t\t\t\t\t\terror: err\n \t\t\t\t\t\t});\n \t\t\t\t\t}\n \t\t\t\t\tif (!options.ignoreErrored) {\n \t\t\t\t\t\tif (!error) error = err;\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t}\n \t\t}\n\n \t\t// handle errors in accept handlers and self accepted module load\n \t\tif (error) {\n \t\t\thotSetStatus(\"fail\");\n \t\t\treturn Promise.reject(error);\n \t\t}\n\n \t\tif (hotQueuedInvalidatedModules) {\n \t\t\treturn hotApplyInternal(options).then(function(list) {\n \t\t\t\toutdatedModules.forEach(function(moduleId) {\n \t\t\t\t\tif (list.indexOf(moduleId) < 0) list.push(moduleId);\n \t\t\t\t});\n \t\t\t\treturn list;\n \t\t\t});\n \t\t}\n\n \t\thotSetStatus(\"idle\");\n \t\treturn new Promise(function(resolve) {\n \t\t\tresolve(outdatedModules);\n \t\t});\n \t}\n\n \tfunction hotApplyInvalidatedModules() {\n \t\tif (hotQueuedInvalidatedModules) {\n \t\t\tif (!hotUpdate) hotUpdate = {};\n \t\t\thotQueuedInvalidatedModules.forEach(hotApplyInvalidatedModule);\n \t\t\thotQueuedInvalidatedModules = undefined;\n \t\t\treturn true;\n \t\t}\n \t}\n\n \tfunction hotApplyInvalidatedModule(moduleId) {\n \t\tif (!Object.prototype.hasOwnProperty.call(hotUpdate, moduleId))\n \t\t\thotUpdate[moduleId] = modules[moduleId];\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"main-client\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {},\n \t\t\thot: hotCreateModule(moduleId),\n \t\t\tparents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),\n \t\t\tchildren: []\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"dist/\";\n\n \t// __webpack_hash__\n \t__webpack_require__.h = function() { return hotCurrentHash; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vendors-chunk\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Route, withRouter, Switch } from 'react-router-dom';\r\nimport { CssBaseline } from '@material-ui/core';\r\nimport { hot } from 'react-hot-loader';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { ScrollToTop, PrivateRoute, PageNotFound } from '../youwell-common/components';\r\nimport urls from './urls';\r\n\r\nimport Outside from '../features/outside/Index';\r\nimport Inside from '../features/inside/Index';\r\nimport LoadProgramDetails from '../features/inside/components/LoadProgramDetails';\r\nimport Preview from '../features/preview/Index';\r\nimport StudentPortal from '../features/studentPortal/Index';\r\nimport Public from '../features/public/Index';\r\n\r\nclass App extends React.Component {\r\n render() {\r\n const {\r\n appConfig,\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nApp.propTypes = {\r\n appConfig: PropTypes.object.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n clientConfig: state.auth.clientConfig,\r\n appConfig: state.pageSettings.appConfig,\r\n});\r\n\r\nexport default hot(module)(withRouter(connect(mapStateToProps)(App)));\r\n","import { renderToStaticMarkup } from 'react-dom/server';\r\nimport globalTranslations from './texts.json';\r\nimport commonTranslations from '../../youwell-common/translations.json';\r\n\r\nexport const translations = { ...globalTranslations, ...commonTranslations };\r\n\r\nconst languageFromBrowser = () => {\r\n switch (window.navigator?.language?.toLowerCase()) {\r\n case 'nb-no':\r\n case 'nn-no':\r\n case 'no':\r\n return 'no';\r\n default:\r\n return 'en';\r\n }\r\n};\r\n\r\nexport const translateInitialization = defaultLanguage => ({\r\n languages: [\r\n { name: 'Norsk', code: 'no' },\r\n { name: 'English', code: 'en' },\r\n ],\r\n translation: translations,\r\n options: {\r\n renderToStaticMarkup,\r\n defaultLanguage: defaultLanguage || languageFromBrowser(),\r\n onMissingTranslation: obj => `missing translation for ${obj.translationId}`,\r\n },\r\n});\r\n","import { push } from 'connected-react-router';\r\n\r\nimport urls from '../urls';\r\nimport apiUrls from '../../youwell-common/apiUrls';\r\nimport Auth from '../../youwell-common/Auth';\r\nimport ReduxStoreHelper, { LOGOUT, CLEAR_ERROR } from '../../youwell-common/ReduxStoreHelper';\r\nimport { loginLevels, logoutReasons } from '../../youwell-common/constants';\r\nimport { sortByString } from '../../youwell-common/arrayUtils';\r\n\r\nconst ACTION_PREFIX = 'AUTH';\r\n\r\nconst storeHelper = new ReduxStoreHelper(ACTION_PREFIX);\r\n\r\nconst SUCCESS_LOGIN = 'SUCCESS_LOGIN';\r\nconst SUCCESS_GETPROFILE = 'SUCCESS_GETPROFILE';\r\nconst SUCCESS_SAVEPROFILE = 'SUCCESS_SAVEPROFILE';\r\nconst RESET_PASSWORD = 'RESET_PASSWORD';\r\nconst FORGOT_PASSWORD = 'FORGOT_PASSWORD';\r\nconst SUCCESS_REGISTER = 'SUCCESS_REGISTER';\r\nconst ORGANIZATIONS_RECEIVED = 'ORGANIZATIONS_RECEIVED';\r\nconst SUCCESS_DELETE_TRUSTED_DEVICES = 'SUCCESS_DELETE_TRUSTED_DEVICES';\r\nconst SUCCESS_GET_TRUSTED_DEVICES = 'SUCCESS_GET_TRUSTED_DEVICES';\r\nconst CANCEL_TWOFACTOR = 'CANCEL_TWOFACTOR';\r\nconst UPDATE_USERCONFIG = 'UPDATE_USERCONFIG';\r\nconst TOKEN_EXPIRED = 'TOKEN_EXPIRED';\r\n\r\nexport const actionCreators = {\r\n clearError: () => (dispatch) => {\r\n dispatch({\r\n type: CLEAR_ERROR,\r\n });\r\n },\r\n loginWithCode: (code, provider, state, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/codelogin`,\r\n body: { code, state, provider },\r\n method: 'POST',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_LOGIN}`,\r\n onData: (data) => {\r\n Auth.setLoginInfo(data.loginLevel);\r\n },\r\n options,\r\n });\r\n },\r\n login: (email, password, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/login`,\r\n body: { email, password },\r\n method: 'POST',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_LOGIN}`,\r\n onData: (data) => {\r\n Auth.setLoginInfo(data.loginLevel);\r\n },\r\n options,\r\n });\r\n },\r\n loginWithPin: (pin, id, remember, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/login2fa`,\r\n body: {\r\n pin, id, remember,\r\n },\r\n method: 'POST',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_LOGIN}`,\r\n onData: (data) => {\r\n Auth.setLoginInfo(data.loginLevel);\r\n },\r\n options,\r\n });\r\n },\r\n cancelTwoFactor: () => (dispatch) => {\r\n dispatch({ type: `${ACTION_PREFIX}/${CANCEL_TWOFACTOR}` });\r\n },\r\n logoutRole: options => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/logoutrole`,\r\n method: 'POST',\r\n onData: (data) => {\r\n dispatch({ type: LOGOUT, data, logoutReason: logoutReasons.changeRole }); // Send Logout to empty all other state\r\n if (data && data.loginLevel) {\r\n Auth.setLoginInfo(data.loginLevel);\r\n } else {\r\n Auth.deauthenticateUser();\r\n }\r\n },\r\n options,\r\n });\r\n },\r\n selectRole: (roleId, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/role/${roleId}`,\r\n method: 'POST',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_LOGIN}`,\r\n onData: (data) => {\r\n Auth.setLoginInfo(data.loginLevel);\r\n },\r\n options,\r\n });\r\n },\r\n logout: (logoutReason, redirectTo) => (dispatch) => {\r\n const loginLevel = Auth.getLoginLevel();\r\n const redirect = redirectTo || (loginLevel !== loginLevels.level4 ? urls.home : null);\r\n const redirectExternal = loginLevel === loginLevels.level4 ? `${apiUrls.baseUrl}/${apiUrls.route.oauth}/logout/idporten` : null;\r\n\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/logout`,\r\n method: 'POST',\r\n onData: () => {\r\n dispatch({ type: LOGOUT, logoutReason });\r\n Auth.deauthenticateUser();\r\n },\r\n options: {\r\n redirect,\r\n redirectExternal,\r\n },\r\n onError: () => {\r\n dispatch({ type: LOGOUT, logoutReason });\r\n Auth.deauthenticateUser();\r\n\r\n if (redirect) {\r\n dispatch(push(redirect));\r\n } else if (redirectExternal) {\r\n window.location = redirectExternal;\r\n }\r\n },\r\n });\r\n },\r\n getUserProfile: options => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/profile`,\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_GETPROFILE}`,\r\n onUnauthorized: () => {\r\n dispatch({ type: `${ACTION_PREFIX}/${TOKEN_EXPIRED}` });\r\n dispatch(push(urls.login));\r\n },\r\n options,\r\n });\r\n },\r\n saveUserProfile: (elementToSave, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/profile`,\r\n body: elementToSave,\r\n method: 'PUT',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_SAVEPROFILE}`,\r\n options,\r\n });\r\n },\r\n registerUser: (userData, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.registration}`,\r\n body: userData,\r\n method: 'POST',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_REGISTER}`,\r\n options,\r\n });\r\n },\r\n registerContactUser: (userData, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.registration}/contact`,\r\n body: userData,\r\n method: 'POST',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_REGISTER}`,\r\n options,\r\n });\r\n },\r\n registerOrganization: (orgData, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/organization`,\r\n body: orgData,\r\n method: 'POST',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_LOGIN}`,\r\n onData: (data) => {\r\n Auth.setLoginInfo(data.loginLevel);\r\n },\r\n options,\r\n });\r\n },\r\n getAllPublicOrganizations: options => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.registration}/organization`,\r\n method: 'GET',\r\n completeAction: `${ACTION_PREFIX}/${ORGANIZATIONS_RECEIVED}`,\r\n options,\r\n });\r\n },\r\n selectOrganization: (orgId, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/organization/${orgId}`,\r\n method: 'POST',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_LOGIN}`,\r\n onData: (data) => {\r\n Auth.setLoginInfo(data.loginLevel);\r\n },\r\n options,\r\n });\r\n },\r\n forgotPassword: (email, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/forgotPassword`,\r\n method: 'POST',\r\n requestId: `${ACTION_PREFIX}/${FORGOT_PASSWORD}`,\r\n body: {\r\n email,\r\n },\r\n options,\r\n });\r\n },\r\n resetPassword: (body, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.auth}/resetPassword`,\r\n method: 'POST',\r\n requestId: `${ACTION_PREFIX}/${RESET_PASSWORD}`,\r\n body,\r\n options,\r\n });\r\n },\r\n removeAllTrustedDevices: (body, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.user}/trusteddevices`,\r\n body,\r\n method: 'DELETE',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_DELETE_TRUSTED_DEVICES}`,\r\n options,\r\n });\r\n },\r\n getAllTrustedDevicesForUser: options => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.user}/trusteddevices`,\r\n method: 'GET',\r\n completeAction: `${ACTION_PREFIX}/${SUCCESS_GET_TRUSTED_DEVICES}`,\r\n options,\r\n });\r\n },\r\n setConfig: storeHelper.createInsertActionCreator(`${apiUrls.portal.user}/setc`, UPDATE_USERCONFIG),\r\n redirect: url => (dispatch) => {\r\n dispatch(push(url));\r\n },\r\n};\r\n\r\nconst initialState = {\r\n ...storeHelper.defaultInitialState,\r\n profileData: null,\r\n clientConfig: {},\r\n logoutReason: null,\r\n twoFactorId: '',\r\n trustedDevices: [],\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n // Base reducer overloads\r\n switch (action.type) {\r\n case LOGOUT: {\r\n // In case of changerole (logout-with reduced token)\r\n return {\r\n ...initialState,\r\n profileData: action.data?.profile,\r\n clientConfig: action.data?.profile?.clientConfig || {},\r\n logoutReason: action.logoutReason,\r\n };\r\n }\r\n default: {\r\n const stateFromDefaultActions = storeHelper.defaultReducer(state, action, initialState);\r\n\r\n if (stateFromDefaultActions !== null) {\r\n return stateFromDefaultActions;\r\n }\r\n }\r\n }\r\n\r\n switch (action.type) {\r\n case `${ACTION_PREFIX}/${TOKEN_EXPIRED}`: {\r\n Auth.deauthenticateUser();\r\n return {\r\n ...initialState,\r\n logoutReason: logoutReasons.tokenExpired,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${SUCCESS_LOGIN}`: {\r\n return {\r\n ...state,\r\n twoFactorId: action.data.twoFactorId,\r\n profileData: action.data.profile,\r\n clientConfig: action.data?.profile?.clientConfig || {},\r\n logoutReason: null,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${CANCEL_TWOFACTOR}`: {\r\n return {\r\n ...state,\r\n twoFactorId: null,\r\n errors: [],\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${SUCCESS_GETPROFILE}`: {\r\n return {\r\n ...state,\r\n profileData: action.data.profile,\r\n clientConfig: action.data.profile?.clientConfig || {},\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${SUCCESS_SAVEPROFILE}`: {\r\n return {\r\n ...state,\r\n profileData: { ...state.profileData, ...action.data.profile },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${SUCCESS_REGISTER}`: {\r\n if (action.data.createdOrg) {\r\n return {\r\n ...state,\r\n organizations: sortByString([...state.organizations, action.data.createdOrg]),\r\n };\r\n }\r\n\r\n return {\r\n ...state,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${ORGANIZATIONS_RECEIVED}`: {\r\n return {\r\n ...state,\r\n organizations: sortByString(action.data),\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${SUCCESS_DELETE_TRUSTED_DEVICES}`: {\r\n return {\r\n ...state,\r\n trustedDevices: [],\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${SUCCESS_GET_TRUSTED_DEVICES}`: {\r\n return {\r\n ...state,\r\n trustedDevices: action.data,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${UPDATE_USERCONFIG}`: {\r\n return {\r\n ...state,\r\n profileData: {\r\n ...state.profileData,\r\n userSettings: {\r\n ...state.profileData?.userSettings,\r\n [action.inputData.key]: action.inputData.value,\r\n },\r\n },\r\n };\r\n }\r\n\r\n default: {\r\n return state || initialState;\r\n }\r\n }\r\n};\r\n","const SHOW_MESSAGE = 'MODALSTORE/SHOW_MESSAGE';\r\nconst CLOSE_MESSAGE = 'MODALSTORE/CLOSE_MESSAGE';\r\n\r\nexport const actionCreators = {\r\n showModal: modalProps => (dispatch) => {\r\n dispatch({ type: SHOW_MESSAGE, ...modalProps });\r\n },\r\n\r\n closeModal: () => (dispatch) => {\r\n dispatch({ type: CLOSE_MESSAGE });\r\n },\r\n};\r\n\r\nconst initialState = {\r\n open: false,\r\n header: '',\r\n message: '',\r\n link: '',\r\n linkText: '',\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n switch (action.type) {\r\n case SHOW_MESSAGE: {\r\n return {\r\n ...state,\r\n open: true,\r\n header: action.header,\r\n message: action.message,\r\n link: action.link,\r\n linkText: action.linkText,\r\n };\r\n }\r\n case CLOSE_MESSAGE: {\r\n return {\r\n ...initialState,\r\n };\r\n }\r\n default: {\r\n return state || initialState;\r\n }\r\n }\r\n};\r\n","import { push, LOCATION_CHANGE } from 'connected-react-router';\r\nimport { defaultRowsPrPage, defaultUserFilter, defaultUserSort } from '../../common/constants';\r\nimport { setAppVersion, VERSION_EXPIRED } from '../../youwell-common/fetchUtils';\r\n\r\nconst SET_PATH = 'PAGESETTINGS/SET_PATH';\r\nconst SET_VERSION = 'PAGESETTINGS/SET_VERSION';\r\nconst SET_CONFIG = 'PAGESETTINGS/SET_CONFIG';\r\nconst SHOW_INTROTOUR = 'PAGESETTINGS/SHOW_INTROTOUR';\r\n\r\nconst SET_USER_PAGE = 'PAGESETTINGS/SET_USER_PAGE';\r\nconst SET_USER_ROWS_PER_PAGE = 'PAGESETTINGS/SET_USER_ROWS_PER_PAGE';\r\nconst SET_USER_SORT = 'PAGESETTINGS/SET_USER_SORT';\r\nconst SET_USER_FILTER = 'PAGESETTINGS/SET_USER_FILTER';\r\n\r\nexport const actionCreators = {\r\n setAppConfig: appConfig => (dispatch) => {\r\n dispatch({ type: SET_CONFIG, appConfig });\r\n },\r\n\r\n setPath: path => (dispatch) => {\r\n const pathWithSlash = path && path[0] === '/' ? path : `/${path}`;\r\n dispatch({ type: SET_PATH, path: pathWithSlash });\r\n },\r\n\r\n setVersion: version => (dispatch) => {\r\n setAppVersion(version);\r\n dispatch({ type: SET_VERSION, version });\r\n },\r\n\r\n redirect: path => (dispatch) => {\r\n dispatch(push(path));\r\n },\r\n showIntroTour: (show = true) => (dispatch) => {\r\n dispatch({ type: SHOW_INTROTOUR, payload: show });\r\n },\r\n setUserPage: page => (dispatch) => {\r\n dispatch({ type: SET_USER_PAGE, page });\r\n },\r\n\r\n setUserRowsPerPage: rowCount => (dispatch) => {\r\n dispatch({ type: SET_USER_ROWS_PER_PAGE, rowCount });\r\n },\r\n\r\n setUserSorting: sorting => (dispatch) => {\r\n dispatch({ type: SET_USER_SORT, sorting });\r\n },\r\n\r\n setUserFilter: filter => (dispatch) => {\r\n dispatch({ type: SET_USER_FILTER, filter });\r\n },\r\n\r\n};\r\n\r\nconst initialState = {\r\n pathname: '',\r\n version: '',\r\n newAvailableVersion: '',\r\n appConfig: {},\r\n versionExpired: false,\r\n showIntroTour: false,\r\n userPage: 0,\r\n userRowsPerPage: defaultRowsPrPage,\r\n userSorting: defaultUserSort,\r\n userFilter: defaultUserFilter,\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n switch (action.type) {\r\n case SET_CONFIG: {\r\n return {\r\n ...state,\r\n appConfig: action.appConfig || {},\r\n };\r\n }\r\n case SET_PATH: {\r\n return {\r\n ...state,\r\n pathname: action.path,\r\n };\r\n }\r\n case SET_VERSION: {\r\n return {\r\n ...state,\r\n version: action.version,\r\n };\r\n }\r\n case LOCATION_CHANGE: {\r\n return {\r\n ...state,\r\n pathname: action.payload.pathname,\r\n };\r\n }\r\n case VERSION_EXPIRED: {\r\n return {\r\n ...state,\r\n versionExpired: true,\r\n previous: action.previous,\r\n newAvailableVersion: action.newAvailableVersion,\r\n };\r\n }\r\n case SHOW_INTROTOUR: {\r\n return {\r\n ...state,\r\n showIntroTour: action.payload,\r\n };\r\n }\r\n case SET_USER_PAGE: {\r\n return {\r\n ...state,\r\n userPage: action.page,\r\n };\r\n }\r\n case SET_USER_ROWS_PER_PAGE: {\r\n return {\r\n ...state,\r\n userRowsPerPage: action.rowCount,\r\n };\r\n }\r\n case SET_USER_SORT: {\r\n return {\r\n ...state,\r\n userPage: 0,\r\n userRowsPerPage: defaultRowsPrPage,\r\n userSorting: action.sorting,\r\n };\r\n }\r\n case SET_USER_FILTER: {\r\n return {\r\n ...state,\r\n userPage: 0,\r\n userRowsPerPage: defaultRowsPrPage,\r\n userFilter: action.filter,\r\n };\r\n }\r\n default: {\r\n return state || initialState;\r\n }\r\n }\r\n};\r\n","import apiUrls from '../../youwell-common/apiUrls';\r\nimport ReduxStoreHelper, { DETAILS_RECIEVED, LIST_RECIEVED, UPDATED } from '../../youwell-common/ReduxStoreHelper';\r\nimport { getCurrentProgramData } from '../../common/utils/programUtils';\r\nimport { sortByString } from '../../youwell-common/arrayUtils';\r\n\r\nconst ACTION_PREFIX = 'PATIENT';\r\n\r\nconst PATIENTPROGRAM_INSERTED = 'PATIENTPROGRAM_INSERTED';\r\nconst PATIENTPROGRAM_UPDATED = 'PATIENTPROGRAM_UPDATED';\r\nconst PATIENTPROGRAM_DELETED = 'PATIENTPROGRAM_DELETED';\r\nconst PATIENT_CONNECTION_INSERTED = 'PATIENT_CONNECTION_INSERTED';\r\nconst PATIENT_CONNECTION_DELETED = 'PATIENT_CONNECTION_DELETED';\r\nconst PATIENT_NOTE_INSERTED = 'PATIENT_NOTE_INSERTED';\r\nconst PATIENT_NOTE_DELETED = 'PATIENT_NOTE_DELETED';\r\nconst PROBLEM_AREA_INSERTED = 'PROBLEM_AREA_INSERTED';\r\nconst PROBLEM_AREA_DELETED = 'PROBLEM_AREA_DELETED';\r\nconst OBSERVATION_INSERTED = 'OBSERVATION_INSERTED';\r\nconst OBSERVATIONS_LIST = 'OBSERVATIONS_LIST';\r\nconst THERAPIST_TASK_RESPOND_ADDED = 'THERAPIST_TASK_RESPOND_ADDED';\r\nconst THERAPIST_TASKS_RECEIVED = 'THERAPIST_TASKS_RECEIVED';\r\nconst THERAPIST_TASKS_DELETED = 'THERAPIST_TASKS_DELETED';\r\nconst CONTACTPERSON_UPDATED = 'CONTACTPERSON_UPDATED';\r\nconst CONTACTPERSON_INSERTED = 'CONTACTPERSON_INSERTED';\r\nconst CONTACTPERSON_DELETED = 'CONTACTPERSON_DELETED';\r\nconst PATIENTACCESSCODE_UPDATED = 'PATIENTACCESSCODE_UPDATED';\r\nconst PATIENTACCESSCODE_DELETED = 'PATIENTACCESSCODE_DELETED';\r\nconst THERAPIST_TASK_RESPONSE_INSERTED = 'THERAPIST_TASK_RESPONSE_INSERTED';\r\nconst PATIENTPROGRAM_RECIEVED = 'PATIENTPROGRAM_RECIEVED';\r\nexport const PATIENT_PROGRAM_DETAILS_RECIEVED = `${ACTION_PREFIX}/${PATIENTPROGRAM_RECIEVED}`;\r\n\r\nconst storeHelper = new ReduxStoreHelper(ACTION_PREFIX);\r\n\r\nexport const actionCreators = {\r\n ...storeHelper.defaultActionCreators(apiUrls.portal.patient),\r\n\r\n getPatientProgram: storeHelper.createGetElementActionCreator(`${apiUrls.portal.patient}/program`, PATIENTPROGRAM_RECIEVED),\r\n getStudentList: storeHelper.createGetListActionCreator(`${apiUrls.portal.patient}/vimolist`, LIST_RECIEVED),\r\n insertProblemArea: storeHelper.createInsertActionCreator(`${apiUrls.portal.patient}/sensor`, PROBLEM_AREA_INSERTED),\r\n deleteProblemArea: storeHelper.createDeleteActionCreator(`${apiUrls.portal.patient}/sensor`, PROBLEM_AREA_DELETED),\r\n getObservations: storeHelper.createGetElementActionCreator(`${apiUrls.portal.patient}/sensor`, OBSERVATIONS_LIST),\r\n insertObservation: storeHelper.createInsertActionCreator(`${apiUrls.portal.patient}/observation`, OBSERVATION_INSERTED),\r\n insertProgramForPatient: storeHelper.createInsertActionCreator(`${apiUrls.portal.patient}/programvimo`, PATIENTPROGRAM_INSERTED),\r\n updateProgramForPatient: storeHelper.createUpdateActionCreator(`${apiUrls.portal.patient}/program`, PATIENTPROGRAM_UPDATED),\r\n deleteProgramForPatient: storeHelper.createDeleteActionCreator(`${apiUrls.portal.patient}/program`, PATIENTPROGRAM_DELETED),\r\n insertPatientTherapist: storeHelper.createInsertActionCreator(`${apiUrls.portal.patient}/therapist`, PATIENT_CONNECTION_INSERTED),\r\n insertPatientNote: storeHelper.createInsertActionCreator(`${apiUrls.portal.patient}/note`, PATIENT_NOTE_INSERTED),\r\n deletePatientNote: storeHelper.createDeleteActionCreator(`${apiUrls.portal.patient}/note`, PATIENT_NOTE_DELETED),\r\n deletePatientTherapist: (data, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.patient}/therapist`,\r\n body: data,\r\n method: 'DELETE',\r\n completeAction: `${ACTION_PREFIX}/${PATIENT_CONNECTION_DELETED}`,\r\n options,\r\n });\r\n },\r\n respondNewProgramElement: storeHelper.createInsertActionCreator(`${apiUrls.portal.patient}/ttask/addresp`, THERAPIST_TASK_RESPOND_ADDED),\r\n insertTherapistTaskResponse: storeHelper.createInsertActionCreator(`${apiUrls.portal.patient}/ttask/resp`, THERAPIST_TASK_RESPONSE_INSERTED),\r\n getTherapistTasks: storeHelper.createGetListActionCreator(`${apiUrls.portal.patient}/ttask`, THERAPIST_TASKS_RECEIVED),\r\n deleteTherapistTask: storeHelper.createDeleteActionCreator(`${apiUrls.portal.patient}/ttask`, THERAPIST_TASKS_DELETED),\r\n insertContact: storeHelper.createInsertActionCreator(`${apiUrls.portal.patient}/contact`, CONTACTPERSON_INSERTED),\r\n updateContact: storeHelper.createUpdateActionCreator(`${apiUrls.portal.patient}/contact`, CONTACTPERSON_UPDATED),\r\n deleteContact: storeHelper.createDeleteActionCreator(`${apiUrls.portal.patient}/contact`, CONTACTPERSON_DELETED),\r\n generateNewAccessCode: (patientProgramId, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.patient}/program/${patientProgramId}/code`,\r\n method: 'PUT',\r\n completeAction: `${ACTION_PREFIX}/${PATIENTACCESSCODE_UPDATED}`,\r\n options,\r\n });\r\n },\r\n removeAccessCode: (patientProgramId, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.portal.patient}/program/${patientProgramId}/code`,\r\n method: 'DELETE',\r\n completeAction: `${ACTION_PREFIX}/${PATIENTACCESSCODE_DELETED}`,\r\n options,\r\n });\r\n },\r\n};\r\n\r\nconst initialState = {\r\n ...storeHelper.defaultInitialState,\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n switch (action.type) {\r\n case `${ACTION_PREFIX}/${DETAILS_RECIEVED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.data.id]: {\r\n ...action.data,\r\n ...getCurrentProgramData(action.data), // should maybe check so not overwrite full patientprogram_details received in separate call..?\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PATIENTPROGRAM_RECIEVED}`: {\r\n const patientVm = {\r\n ...state.details[action.reducerParams.patientId],\r\n ...getCurrentProgramData({ programs: [action.data] }),\r\n };\r\n\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: patientVm,\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${UPDATED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.data.id]: {\r\n ...action.data,\r\n ...getCurrentProgramData(action.data),\r\n },\r\n },\r\n list: state.list ? state.list.map(e => (e.id === action.data.id ? action.data : e)) : null,\r\n };\r\n }\r\n default: {\r\n const stateFromDefaultActions = storeHelper.defaultReducer(state, action, initialState);\r\n\r\n if (stateFromDefaultActions !== null) {\r\n return stateFromDefaultActions;\r\n }\r\n }\r\n }\r\n\r\n switch (action.type) {\r\n case `${ACTION_PREFIX}/${PATIENTPROGRAM_INSERTED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n programs: [...state.details[action.reducerParams.patientId].programs || [], action.data],\r\n ...getCurrentProgramData({ programs: [action.data] }),\r\n },\r\n },\r\n list: state.list ? state.list.map(d => (d.id === action.reducerParams.patientId ? {\r\n ...d,\r\n programs: [...d.programs || [], action.data],\r\n } : d)) : null,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PATIENTPROGRAM_UPDATED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n programs: (state.details[action.reducerParams.patientId].programs || [])\r\n .map(item => (item.id === action.data.id ? action.data : item)),\r\n ...getCurrentProgramData({ programs: [action.data] }),\r\n },\r\n },\r\n list: state.list ? state.list.map(d => (d.id === action.reducerParams.patientId ? {\r\n ...d,\r\n programs: d.programs.map(p => (p.id === action.data.id ? action.data : p)),\r\n } : d)) : null,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PATIENTPROGRAM_DELETED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n programs: (state.details[action.reducerParams.patientId].programs || [])\r\n .filter(item => item.id !== action.data.id),\r\n ...getCurrentProgramData({ programs: [] }),\r\n },\r\n },\r\n list: state.list ? state.list.map(d => (d.id === action.reducerParams.patientId ? {\r\n ...d,\r\n programs: d.programs.filter(p => p.id !== action.data.id),\r\n } : d)) : null,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PATIENT_CONNECTION_INSERTED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.data.patientId]: {\r\n ...state.details[action.data.patientId],\r\n therapists: [...state.details[action.data.patientId].therapists || [], action.data],\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PATIENT_CONNECTION_DELETED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.inputData.patientId]: {\r\n ...state.details[action.inputData.patientId],\r\n therapists: (state.details[action.inputData.patientId].therapists || [])\r\n .filter(item => item.therapistId !== action.inputData.therapistId),\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PATIENT_NOTE_INSERTED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n notes: [action.data, ...state.details[action.reducerParams.patientId].notes || []],\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PATIENT_NOTE_DELETED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n notes: (state.details[action.reducerParams.patientId].notes || [])\r\n .filter(item => item.id !== action.data.id),\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PROBLEM_AREA_INSERTED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n sensors: [...state.details[action.reducerParams.patientId].sensors || [], action.data],\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PROBLEM_AREA_DELETED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n sensors: (state.details[action.reducerParams.patientId].sensors || []).filter(\r\n item => item.id !== action.data.id,\r\n ),\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${OBSERVATION_INSERTED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n sensors: state.details[action.reducerParams.patientId].sensors.map(e => (e.id === action.data.sensorId\r\n ? {\r\n ...e,\r\n observations: [...e.observations, action.data],\r\n }\r\n : e)),\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${OBSERVATIONS_LIST}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n sensors: state.details[action.reducerParams.patientId].sensors.map(e => (e.id === action.reducerParams.sensorId\r\n ? {\r\n ...e,\r\n observations: action.data,\r\n }\r\n : e)),\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${THERAPIST_TASKS_RECEIVED}`: {\r\n const { patientId } = action.reducerParams;\r\n const extPatientVm = state.details && state.details[patientId];\r\n\r\n if (!extPatientVm) {\r\n return state || initialState;\r\n }\r\n\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details,\r\n [patientId]: {\r\n ...extPatientVm,\r\n therapistTasks: action.data,\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${THERAPIST_TASK_RESPONSE_INSERTED}`: {\r\n const { patientId } = action.reducerParams;\r\n const { responseForm, elementCompletedDate, assignedForm } = action.data;\r\n\r\n const extPatientVm = (state.details && state.details[patientId]) || {};\r\n\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [patientId]: {\r\n ...extPatientVm,\r\n therapistTasks: extPatientVm.therapistTasks.map(d => (d.id === responseForm.therapistProgramElementId ? {\r\n ...d,\r\n responseForms: [\r\n ...d.responseForms || [],\r\n responseForm,\r\n ],\r\n assignedTherapists: assignedForm\r\n ? d.assignedTherapists?.map(a => (a.therapistId === assignedForm.therapistId ? assignedForm : a))\r\n : d.assignedForm,\r\n completedDate: elementCompletedDate,\r\n } : d)),\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${THERAPIST_TASK_RESPOND_ADDED}`: {\r\n const { newPatient, newElement, newPatientProgram } = action.data;\r\n const { task } = action.reducerParams;\r\n\r\n const patientId = action.inputData.patientId || newPatient?.id;\r\n const extPatientVm = state.details && state.details[patientId];\r\n\r\n const extList = state.list || [];\r\n const list = newPatient ? sortByString([...extList, newPatient]) : [...extList];\r\n if (!extPatientVm) {\r\n return {\r\n ...state,\r\n list,\r\n };\r\n }\r\n\r\n if (newElement && task) {\r\n newElement.task = task;\r\n }\r\n\r\n const programs = newPatientProgram ? [...extPatientVm.programs, newPatientProgram] : extPatientVm.programs;\r\n\r\n return {\r\n ...state,\r\n list,\r\n details: {\r\n ...state.details,\r\n [patientId]: {\r\n ...extPatientVm,\r\n programs,\r\n therapistTasks: [...extPatientVm.therapistTasks || [], newElement],\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${CONTACTPERSON_INSERTED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n contactPersons: [...state.details[action.reducerParams.patientId].contactPersons || [], action.data],\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${CONTACTPERSON_UPDATED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n contactPersons: (state.details[action.reducerParams.patientId].contactPersons || [])\r\n .map(item => (item.id === action.data.id ? action.data : item)),\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${CONTACTPERSON_DELETED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n contactPersons: (state.details[action.reducerParams.patientId].contactPersons || [])\r\n .filter(item => item.id !== action.reducerParams.contactId),\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PATIENTACCESSCODE_UPDATED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n programData: {\r\n ...state.details[action.reducerParams.patientId]?.programData,\r\n accessCode: action.data,\r\n },\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PATIENTACCESSCODE_DELETED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.patientId]: {\r\n ...state.details[action.reducerParams.patientId],\r\n programData: {\r\n ...state.details[action.reducerParams.patientId]?.programData,\r\n accessCode: null,\r\n },\r\n },\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${THERAPIST_TASKS_DELETED}`: {\r\n const { elementId, patientId } = action.reducerParams;\r\n\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [patientId]: {\r\n ...state.details[patientId],\r\n therapistTasks: state.details[patientId].therapistTasks.filter(task => task.id !== elementId),\r\n },\r\n },\r\n };\r\n }\r\n default: {\r\n return state || initialState;\r\n }\r\n }\r\n};\r\n","import apiUrls from '../../youwell-common/apiUrls';\r\nimport ReduxStoreHelper from '../../youwell-common/ReduxStoreHelper';\r\n\r\nimport { PREVIEW_ACTION_PREFIX as ACTION_PREFIX } from './actions';\r\nimport { parseInsertedResponse } from '../../youwell-common/responseUtils';\r\n\r\nconst PREVIEW_RESPONSE_INSERTED = 'PREVIEW_RESPONSE_INSERTED';\r\nconst PREVIEW_START_COMMENT = 'PREVIEW_START_COMMENT';\r\nconst PREVIEW_TOGGLE_COMMENTS = 'PREVIEW_TOGGLE_COMMENTS';\r\nconst SAVE_COMMENT = 'PREVIEW_SAVE_COMMENT';\r\nconst PREVIEW_CLEAR_COMMENT_ELEMENT = 'PREVIEW_CLEAR_COMMENT_ELEMENT';\r\nconst GET_COMMENTS = 'PREVIEW_GET_COMMENTS';\r\n\r\nconst storeHelper = new ReduxStoreHelper(ACTION_PREFIX);\r\n\r\nexport const actionCreators = {\r\n ...storeHelper.defaultActionCreators(apiUrls.app.preview),\r\n updateResponse: data => (dispatch) => {\r\n dispatch({ type: PREVIEW_RESPONSE_INSERTED, data });\r\n },\r\n toggleComments: () => (dispatch) => {\r\n dispatch({ type: PREVIEW_TOGGLE_COMMENTS });\r\n },\r\n startComment: data => (dispatch) => {\r\n dispatch({ type: PREVIEW_START_COMMENT, data });\r\n },\r\n getTaskComments: storeHelper.createGetElementActionCreator(`${apiUrls.app.preview}/comments`, GET_COMMENTS),\r\n saveTaskComment: storeHelper.createInsertActionCreator(`${apiUrls.app.preview}/comment`, SAVE_COMMENT),\r\n clearCommentElement: () => (dispatch) => {\r\n dispatch({ type: PREVIEW_CLEAR_COMMENT_ELEMENT });\r\n },\r\n};\r\n\r\nconst initialState = {\r\n ...storeHelper.defaultInitialState,\r\n commentElementId: null,\r\n showComments: false,\r\n responses: {},\r\n comments: {},\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n switch (action.type) {\r\n case PREVIEW_RESPONSE_INSERTED: {\r\n const { taskId } = action.data;\r\n\r\n const taskSubtotals = state.details[taskId]?.taskSubtotals || [];\r\n\r\n const responses = parseInsertedResponse(action.data, taskSubtotals, state.responses);\r\n\r\n return {\r\n ...state,\r\n responses,\r\n };\r\n }\r\n case PREVIEW_TOGGLE_COMMENTS: {\r\n return {\r\n ...state,\r\n showComments: !state.showComments,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${GET_COMMENTS}`: {\r\n return {\r\n ...state,\r\n comments: {\r\n ...state.comments,\r\n [action.reducerParams.taskId]: action.data,\r\n },\r\n };\r\n }\r\n case PREVIEW_START_COMMENT: {\r\n return {\r\n ...state,\r\n commentElementId: action.data.elementId,\r\n showComments: true,\r\n };\r\n }\r\n case PREVIEW_CLEAR_COMMENT_ELEMENT: {\r\n return {\r\n ...state,\r\n commentElementId: null,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${SAVE_COMMENT}`: {\r\n const currentComments = state.comments[action.inputData.taskId] || [];\r\n\r\n return {\r\n ...state,\r\n comments: {\r\n ...state.comments,\r\n [action.inputData.taskId]: [...currentComments, {\r\n id: action.data.id, created: action.data.created, ...action.inputData,\r\n }],\r\n },\r\n commentElementId: null,\r\n showComments: true,\r\n };\r\n }\r\n default: {\r\n const stateFromDefaultActions = storeHelper.defaultReducer(state, action, initialState);\r\n\r\n if (stateFromDefaultActions !== null) {\r\n return stateFromDefaultActions;\r\n }\r\n\r\n return state || initialState;\r\n }\r\n }\r\n};\r\n","import apiUrls from '../../youwell-common/apiUrls';\r\nimport ReduxStoreHelper, { LOGOUT } from '../../youwell-common/ReduxStoreHelper';\r\nimport { toLookup } from '../../youwell-common/arrayUtils';\r\n\r\nconst ACTION_PREFIX = 'PROGRAM';\r\nconst PROGRAM_RECIEVED = 'PROGRAM_RECIEVED';\r\nconst CONTENT_RECIEVED = 'CONTENT_RECIEVED';\r\n\r\nconst storeHelper = new ReduxStoreHelper(ACTION_PREFIX);\r\n\r\nexport const actionCreators = {\r\n getProgramDetails: storeHelper.createGetElementActionCreator(apiUrls.app.public, PROGRAM_RECIEVED),\r\n getPageContent: storeHelper.createGetElementActionCreator(apiUrls.app.public, CONTENT_RECIEVED),\r\n};\r\n\r\nconst initialState = {\r\n ...storeHelper.defaultInitialState,\r\n programDetails: null,\r\n skillDetails: null,\r\n taskDetails: null,\r\n content: null,\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n switch (action.type) {\r\n case LOGOUT: {\r\n return {\r\n ...initialState,\r\n content: { ...state.content },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${PROGRAM_RECIEVED}`: {\r\n return {\r\n ...state,\r\n programDetails: action.data,\r\n skillDetails: toLookup(action.data?.modules),\r\n taskDetails: action.data?.modules ? action.data.modules.reduce((prev, curr) => ({ ...prev, ...toLookup(curr.tasks) }), {}) : null,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${CONTENT_RECIEVED}`: {\r\n return {\r\n ...state,\r\n content: {\r\n ...state.content,\r\n [action.data.id]: action.data,\r\n },\r\n };\r\n }\r\n default: {\r\n const stateFromDefaultActions = storeHelper.defaultReducer(state, action, initialState);\r\n\r\n if (stateFromDefaultActions !== null) {\r\n return stateFromDefaultActions;\r\n }\r\n\r\n return state || initialState;\r\n }\r\n }\r\n};\r\n","import { push, LOCATION_CHANGE } from 'connected-react-router';\r\nimport apiUrls from '../../youwell-common/apiUrls';\r\nimport ReduxStoreHelper, { LOGOUT } from '../../youwell-common/ReduxStoreHelper';\r\n\r\nimport { PUBLIC_ACTION_PREFIX as ACTION_PREFIX } from './actions';\r\nimport Auth from '../../youwell-common/Auth';\r\nimport {\r\n parseResponseSaveResult, parseInsertedResponse, buildResponseLookup,\r\n} from '../../youwell-common/responseUtils';\r\n\r\nconst RESPONSE_INSERTED = 'RESPONSE_INSERTED';\r\nconst SESSION_RECEIVED = 'SESSION_RECEIVED';\r\nconst SET_CURRENT_PROGRAM = 'SET_CURRENT_PROGRAM';\r\nconst END_SESSION = 'END_SESSION';\r\nconst COMPLETE_TASK = 'COMPLETE_TASK';\r\nconst RESPONSE_SAVED = 'RESPONSE_SAVED';\r\nconst TASKVISITED = 'TASKVISITED';\r\n\r\n\r\nconst storeHelper = new ReduxStoreHelper(ACTION_PREFIX);\r\n\r\nexport const endSessionReasons = {\r\n tokenExpired: 'tokenExpired',\r\n timeout: 'timeout',\r\n manualEnd: 'manualEnd',\r\n completed: 'completed',\r\n};\r\n\r\nexport const actionCreators = {\r\n ...storeHelper.defaultActionCreators(apiUrls.app.public),\r\n setCurrentProgram: programId => (dispatch) => {\r\n dispatch({ type: `${ACTION_PREFIX}/${SET_CURRENT_PROGRAM}`, programId });\r\n },\r\n updateResponse: data => (dispatch) => {\r\n dispatch({ type: `${ACTION_PREFIX}/${RESPONSE_INSERTED}`, data });\r\n },\r\n sendFirstResponse: (responseData, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.app.public}/re1`,\r\n body: responseData,\r\n method: 'POST',\r\n completeAction: `${ACTION_PREFIX}/${RESPONSE_SAVED}`,\r\n onData: (data) => {\r\n Auth.setLoginInfo(data.patientResult?.loginLevel);\r\n },\r\n options,\r\n });\r\n },\r\n saveResponse: storeHelper.createInsertActionCreator(`${apiUrls.app.public}/res`, RESPONSE_SAVED),\r\n getSession: storeHelper.createActionCreator(`${apiUrls.app.public}/curr`, SESSION_RECEIVED),\r\n endSession: (endReason, redirect) => (dispatch) => {\r\n dispatch({ type: END_SESSION, endReason });\r\n if (redirect) {\r\n dispatch(push(redirect));\r\n }\r\n },\r\n completeTask: (data, redirect) => (dispatch) => {\r\n dispatch({ type: COMPLETE_TASK, data });\r\n if (redirect) {\r\n dispatch(push(redirect));\r\n }\r\n },\r\n visitTask: (taskInfo, options) => (dispatch) => {\r\n storeHelper.fetch(dispatch, {\r\n url: `${apiUrls.app.program}/vt`,\r\n method: 'POST',\r\n body: taskInfo,\r\n completeAction: `${ACTION_PREFIX}/${TASKVISITED}`,\r\n options: { background: true, ...options },\r\n });\r\n },\r\n};\r\n\r\nconst initialState = {\r\n ...storeHelper.defaultInitialState,\r\n currentProgramId: null,\r\n patientId: null,\r\n patientProgramId: null,\r\n patientProgramElementId: null,\r\n endReason: null,\r\n completedTasks: null,\r\n latestCompletedStep: -1,\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n switch (action.type) {\r\n case LOGOUT: {\r\n return {\r\n ...initialState,\r\n details: { ...state.details },\r\n };\r\n }\r\n case LOCATION_CHANGE: {\r\n if (state.endReason === endSessionReasons.completed) {\r\n return {\r\n ...initialState,\r\n details: { ...state.details },\r\n currentProgramId: state.currentProgramId,\r\n };\r\n }\r\n return {\r\n ...state,\r\n };\r\n }\r\n case END_SESSION: {\r\n Auth.deauthenticateUser();\r\n return {\r\n ...initialState,\r\n details: { ...state.details },\r\n currentProgramId: state.currentProgramId,\r\n endReason: action.endReason,\r\n };\r\n }\r\n case COMPLETE_TASK: {\r\n return {\r\n ...state,\r\n latestCompletedStep: Math.max(action.data.stepNr, state.latestCompletedStep),\r\n completedTasks: {\r\n ...state.completedTasks,\r\n [action.data.taskId]: true,\r\n },\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${SET_CURRENT_PROGRAM}`: {\r\n return {\r\n ...state,\r\n currentProgramId: action.programId,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${SESSION_RECEIVED}`: {\r\n if (!action.data) {\r\n return {\r\n ...initialState,\r\n details: { ...state.details },\r\n };\r\n }\r\n\r\n return {\r\n ...state,\r\n patientId: action.data.patientId,\r\n patientProgramId: action.data.patientProgramId,\r\n patientProgramElementId: action.data.patientProgramElementId,\r\n responses: buildResponseLookup(action.data.responses, state.responses),\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${RESPONSE_SAVED}`: {\r\n const { inputData, data } = action;\r\n const { taskResult, patientResult } = data;\r\n\r\n const responses = parseResponseSaveResult(inputData, taskResult, state.responses);\r\n\r\n return {\r\n ...state,\r\n ...patientResult,\r\n responses,\r\n };\r\n }\r\n case `${ACTION_PREFIX}/${RESPONSE_INSERTED}`: {\r\n const {\r\n programId, moduleId, taskId,\r\n } = action.data;\r\n\r\n const taskSubtotals = state.details[programId]\r\n ?.modules.find(m => m.id === moduleId)\r\n ?.tasks?.find(task => task.id === taskId)\r\n ?.taskSubtotals || [];\r\n\r\n const responses = parseInsertedResponse(action.data, taskSubtotals, state.responses);\r\n\r\n return {\r\n ...state,\r\n responses,\r\n };\r\n }\r\n default: {\r\n const stateFromDefaultActions = storeHelper.defaultReducer(state, action, initialState);\r\n\r\n if (stateFromDefaultActions !== null) {\r\n return stateFromDefaultActions;\r\n }\r\n\r\n return state || initialState;\r\n }\r\n }\r\n};\r\n","import apiUrls from '../../youwell-common/apiUrls';\r\nimport ReduxStoreHelper from '../../youwell-common/ReduxStoreHelper';\r\nimport { getCurrentProgramData } from '../../common/utils/programUtils';\r\n\r\nconst ACTION_PREFIX = 'STUDENT_CODE';\r\nconst PROGRAMDETAILS_RECEIVED = 'PROGRAMDETAILS_RECEIVED';\r\n\r\nconst storeHelper = new ReduxStoreHelper(ACTION_PREFIX);\r\n\r\nexport const actionCreators = {\r\n // ...storeHelper.defaultActionCreators(apiUrls.portal.public),\r\n getProgramFromCode: storeHelper.createGetElementActionCreator(`${apiUrls.app.public}/code`, PROGRAMDETAILS_RECEIVED),\r\n};\r\n\r\nconst initialState = {\r\n ...storeHelper.defaultInitialState,\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n switch (action.type) {\r\n case `${ACTION_PREFIX}/${PROGRAMDETAILS_RECEIVED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.code]: {\r\n ...action.data,\r\n ...getCurrentProgramData(action.data),\r\n },\r\n },\r\n };\r\n }\r\n default: {\r\n const stateFromDefaultActions = storeHelper.defaultReducer(state, action, initialState);\r\n\r\n if (stateFromDefaultActions !== null) {\r\n return stateFromDefaultActions;\r\n }\r\n }\r\n }\r\n\r\n return state || initialState;\r\n};\r\n","import apiUrls from '../../youwell-common/apiUrls';\r\nimport ReduxStoreHelper from '../../youwell-common/ReduxStoreHelper';\r\n\r\nconst ACTION_PREFIX = 'USER';\r\n\r\nconst storeHelper = new ReduxStoreHelper(ACTION_PREFIX);\r\n\r\nexport const actionCreators = {\r\n ...storeHelper.defaultActionCreators(apiUrls.portal.users),\r\n};\r\n\r\nconst initialState = {\r\n ...storeHelper.defaultInitialState,\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n const stateFromDefaultActions = storeHelper.defaultReducer(state, action, initialState);\r\n\r\n if (stateFromDefaultActions !== null) {\r\n return stateFromDefaultActions;\r\n }\r\n\r\n switch (action.type) {\r\n default: {\r\n return state || initialState;\r\n }\r\n }\r\n};\r\n","import apiUrls from '../../youwell-common/apiUrls';\r\nimport ReduxStoreHelper, { UPDATED, LIST_RECIEVED } from '../../youwell-common/ReduxStoreHelper';\r\n\r\nconst ACTION_PREFIX = 'USER';\r\n\r\nconst storeHelper = new ReduxStoreHelper(ACTION_PREFIX);\r\n\r\nconst USERINFO_RECEIVED = 'USERINFO_RECEIVED';\r\n\r\nexport const actionCreators = {\r\n ...storeHelper.defaultActionCreators(apiUrls.portal.users),\r\n changeRole: storeHelper.createUpdateActionCreator(`${apiUrls.portal.users}/role`, UPDATED),\r\n getUserInfo: storeHelper.createGetElementActionCreator(`${apiUrls.portal.users}/info`, USERINFO_RECEIVED),\r\n};\r\n\r\nconst initialState = {\r\n ...storeHelper.defaultInitialState,\r\n userInfoLookup: {},\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n switch (action.type) {\r\n case `${ACTION_PREFIX}/${LIST_RECIEVED}`: {\r\n return {\r\n ...state,\r\n list: action.data,\r\n userInfoLookup: action.data.reduce((prev, curr) => (\r\n {\r\n ...prev,\r\n [curr.id]: curr,\r\n }\r\n ), state.userInfoLookup),\r\n };\r\n }\r\n default: {\r\n const stateFromDefaultActions = storeHelper.defaultReducer(state, action, initialState);\r\n\r\n if (stateFromDefaultActions !== null) {\r\n return stateFromDefaultActions;\r\n }\r\n }\r\n }\r\n\r\n switch (action.type) {\r\n case `${ACTION_PREFIX}/${USERINFO_RECEIVED}`: {\r\n return {\r\n ...state,\r\n userInfoLookup: {\r\n ...state.userInfoLookup,\r\n [action.data.id]: action.data,\r\n },\r\n };\r\n }\r\n default: {\r\n return state || initialState;\r\n }\r\n }\r\n};\r\n","import {\r\n DETAILS_RECIEVED,\r\n} from '../../youwell-common/ReduxStoreHelper';\r\n\r\nexport const PREVIEW_ACTION_PREFIX = 'PREVIEW';\r\nexport const PREVIEW_TASK_RECEIVED = `${PREVIEW_ACTION_PREFIX}/${DETAILS_RECIEVED}`;\r\n\r\nexport const PUBLIC_ACTION_PREFIX = 'PUBLIC';\r\nexport const PUBLIC_PROGRAM_RECEIVED = `${PUBLIC_ACTION_PREFIX}/${DETAILS_RECIEVED}`;\r\n","import { localizeReducer } from 'react-localize-redux';\r\n\r\nimport * as AuthStore from './AuthStore';\r\nimport * as PatientStore from './PatientStore';\r\nimport * as PageSettingStore from './PageSettingStore';\r\nimport * as ProgramStore from './ProgramStore';\r\nimport * as TeacherStore from './TeacherStore';\r\nimport * as ModalStore from './ModalStore';\r\nimport * as PreviewStore from './PreviewStore';\r\nimport * as UserStore from './UserStore';\r\nimport * as StudentCodeStore from './StudentCodeStore';\r\nimport * as PublicStore from './PublicStore';\r\n\r\nexport const reducers = {\r\n localize: localizeReducer,\r\n auth: AuthStore.reducer,\r\n patient: PatientStore.reducer,\r\n program: ProgramStore.reducer,\r\n teacher: TeacherStore.reducer,\r\n pageSettings: PageSettingStore.reducer,\r\n modal: ModalStore.reducer,\r\n previewStore: PreviewStore.reducer,\r\n user: UserStore.reducer,\r\n studentCodeStore: StudentCodeStore.reducer,\r\n publicStore: PublicStore.reducer,\r\n};\r\n\r\nexport default reducers;\r\n","// extracted by mini-css-extract-plugin\nexport {};\n if(module.hot) {\n // 1736176340595\n var cssReload = require(\"C:/DevopsAgent/_work/2/s/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","import { createTheme } from '@material-ui/core';\r\n\r\nexport const grey1 = '#FBF5EE';\r\nexport const grey2 = '#F3F1EE';\r\nexport const grey3 = '#AFACA8';\r\n\r\nexport const blue0 = '#dbf5ff';\r\nexport const blue1 = '#00A0DF';\r\nexport const blue2 = '#2080F8';\r\nexport const blue3 = '#496A9F';\r\nexport const blue4 = '#1B3168';\r\n\r\nexport const green1 = '#00B090';\r\nexport const green2 = '#52ADB4';\r\nexport const green3 = '#C1EDEA';\r\nexport const green4 = '#00615a';\r\n\r\nexport const red1 = '#EC6B6D';\r\nexport const red2 = '#ECDFE0';\r\nexport const yellow1 = '#FCCB68';\r\nexport const orange1 = '#E69A40';\r\nexport const white = '#FFF';\r\n\r\nconst theme = createTheme({\r\n palette: {\r\n primary: {\r\n main: green1,\r\n contrastText: white,\r\n },\r\n secondary: {\r\n main: blue4,\r\n },\r\n error: {\r\n main: red1,\r\n },\r\n },\r\n colors: {\r\n grey1,\r\n grey2,\r\n grey3,\r\n blue0,\r\n blue1,\r\n blue2,\r\n blue3,\r\n blue4,\r\n green1,\r\n green2,\r\n green3,\r\n red1,\r\n red2,\r\n yellow1,\r\n orange1,\r\n },\r\n borders: {\r\n normal: `1px solid ${grey2}`,\r\n blue: `2px solid ${blue4}`,\r\n green: `2px solid ${green1}`,\r\n red: `1px solid ${red1}`,\r\n dashed: `2px dashed ${green1}`,\r\n boxShadow1: '2px 2px 4px 1px rgba(120, 120, 120, 0.4)',\r\n },\r\n sizes: {\r\n headerHeight: 80,\r\n footerHeight: 220,\r\n reducedH5FontSize: '1.25rem',\r\n largeIcon: '3rem',\r\n mediumIcon: '2.5rem',\r\n largeAvatar: '28px',\r\n },\r\n overrides: {\r\n MuiFormLabel: {\r\n root: {\r\n color: blue4,\r\n },\r\n },\r\n MuiTypography: {\r\n h3: {\r\n color: blue4,\r\n },\r\n h4: {\r\n color: blue4,\r\n },\r\n h5: {\r\n color: blue4,\r\n },\r\n h6: {\r\n color: blue4,\r\n },\r\n body1: {\r\n color: blue4,\r\n },\r\n body2: {\r\n color: blue4,\r\n },\r\n caption: {\r\n color: blue4,\r\n },\r\n subtitle1: {\r\n color: blue4,\r\n },\r\n subtitle2: {\r\n color: blue4,\r\n },\r\n },\r\n },\r\n});\r\n\r\nexport default theme;\r\n","const urls = {\r\n home: '/',\r\n login: '/login',\r\n register: '/register',\r\n page: '/p',\r\n loginParts: {\r\n accessCode: 'code',\r\n role: 'role',\r\n forgotPassword: 'forgotPassword',\r\n resetPassword: 'resetPassword',\r\n student: 'student',\r\n },\r\n logout: '/logout',\r\n studentCode: {\r\n home: '/sc',\r\n parts: {\r\n skill: 'skill',\r\n task: 'task',\r\n },\r\n },\r\n preview: {\r\n home: '/preview', // {taskId}\r\n // program: '/preview/p', // {programId}/{moduleIndex?}/{taskIndex?}\r\n // module: '/preview/m', // {moduleId}/{taskIndex?}\r\n // task: '/preview/t', // {taskId}\r\n },\r\n\r\n public: {\r\n home: '/public',\r\n program: '/public/p', // {programId}/{moduleIndex?}/{taskIndex?}\r\n module: '/public/m', // {moduleId}/{taskIndex?}\r\n programLink: '/public/link', // page for id lookup and redirect to program or module\r\n },\r\n inside: {\r\n home: '/inside',\r\n dashboard: '/inside/home',\r\n page: '/inside/page',\r\n form: '/inside/form',\r\n users: {\r\n home: '/inside/users',\r\n new: '/inside/users/new',\r\n },\r\n resource: {\r\n home: '/inside/res',\r\n module: '/inside/res/m',\r\n task: '/inside/res/p',\r\n },\r\n profile: '/inside/profile',\r\n school: {\r\n home: '/inside/school',\r\n new: '/inside/school/new',\r\n },\r\n student: {\r\n home: '/inside/student',\r\n new: '/inside/student/new',\r\n parts: {\r\n about: 'about',\r\n skills: 'skills',\r\n plan: 'plan',\r\n week: 'week',\r\n today: 'today',\r\n edit: 'edit',\r\n task: 'task',\r\n progress: 'progress',\r\n },\r\n },\r\n program: {\r\n home: '/inside/program',\r\n skill: '/inside/program/skill',\r\n methods: '/inside/program/methods',\r\n research: '/inside/program/research',\r\n page: '/inside/program/page',\r\n parts: {\r\n module: 'module',\r\n task: 'task',\r\n },\r\n },\r\n },\r\n};\r\n\r\nexport default urls;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport {\r\n Button, Divider, IconButton, makeStyles, Menu, MenuItem, TextField, Typography,\r\n} from '@material-ui/core';\r\nimport * as PatientStore from '../../app/store/PatientStore';\r\nimport VimoTaskContent from './VimoTaskContent';\r\nimport { appRoles } from '../../youwell-common/constants';\r\nimport apiUrls from '../../youwell-common/apiUrls';\r\nimport {\r\n AddIcon, EditIcon, ExpandIcon, PersonIcon, PrintIcon,\r\n} from '../icons';\r\nimport urls from '../../app/urls';\r\nimport { getProgram } from '../utils/programUtils';\r\nimport { datestamp, fullDateTime } from '../../youwell-common/dateUtils';\r\nimport { hasValue } from '../../youwell-common/objectUtils';\r\nimport { DialogButton } from '../../youwell-common/components';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n },\r\n topContent: {\r\n marginBottom: theme.spacing(6),\r\n display: 'flex',\r\n },\r\n existingElement: {\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n alignItems: 'center',\r\n },\r\n formDate: {\r\n },\r\n studentInput: {\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n alignItems: 'baseline',\r\n justifyContent: 'flex-end',\r\n },\r\n inputLabel: {\r\n marginRight: theme.spacing(2),\r\n },\r\n input: {\r\n fontSize: theme.typography.h5.fontSize,\r\n width: 430,\r\n },\r\n print: {\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n file: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n icon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n underline: {\r\n borderBottom: '1px solid',\r\n },\r\n actions: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n marginTop: theme.spacing(2),\r\n padding: theme.spacing(1),\r\n },\r\n divider: {\r\n marginTop: theme.spacing(1),\r\n },\r\n menuIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n cancelEdit: {\r\n marginRight: theme.spacing(1),\r\n },\r\n deleteButton: {\r\n marginTop: theme.spacing(1),\r\n color: theme.colors.red1,\r\n },\r\n}));\r\n\r\nconst AddForm = ({\r\n studentId, patientProgramId, formId, onClose, patientProgramElement,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n const vimoProgramId = useSelector(state => state.pageSettings.appConfig.vimoProgramId);\r\n const studentList = useSelector(state => state.patient.list);\r\n const hasLicense = useSelector(state => state.auth.profileData?.license);\r\n const profileData = useSelector(state => state.auth.profileData);\r\n const isTeacher = appRoles.isTherapist([profileData?.selectedRole?.role]);\r\n\r\n const task = useSelector(state => patientProgramElement?.task || (state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules\r\n ?.reduce((prev, curr) => prev || curr.tasks?.find(d => d.id === formId)\r\n , null)));\r\n\r\n const hasStudents = studentList?.length > 0;\r\n\r\n const taskContentRef = React.useRef();\r\n const [newStudentName, setNewStudentName] = React.useState('');\r\n const [selectedStudent, setSelectedStudent] = React.useState(null);\r\n const [validationError, setValidationError] = React.useState(false);\r\n const [menuAnchor, setMenuAnchor] = React.useState(null);\r\n const [addNewStudent, setAddNewStudent] = React.useState(false);\r\n const [responses, setResponses] = React.useState({});\r\n const [editing, setEditing] = React.useState(true);\r\n const [latestForm, setLatestForm] = React.useState(null);\r\n\r\n React.useEffect(() => {\r\n if (patientProgramElement?.responseForms?.length) {\r\n const lastResponse = patientProgramElement?.responseForms[patientProgramElement.responseForms.length - 1];\r\n setResponses(lastResponse.responses?.reduce((prev, curr) => (\r\n {\r\n ...prev,\r\n [curr.questionId]: { response: curr.response },\r\n }\r\n ), {}));\r\n setEditing(false);\r\n setLatestForm(lastResponse);\r\n }\r\n }, [patientProgramElement?.responseForms]);\r\n\r\n if (!task) {\r\n return null;\r\n }\r\n\r\n const readOnly = !isTeacher || !editing; // for now.. Maybe contactpersons should be allowed to add?\r\n\r\n const updateResponse = (updatedResponses) => {\r\n setResponses(prevResponses => updatedResponses.reduce((prev, { questionId, ...response }) => ({\r\n ...prev,\r\n [questionId]: { response },\r\n }), prevResponses));\r\n };\r\n\r\n const onSaveChanges = () => {\r\n const patientId = studentId || selectedStudent?.id;\r\n const responseData = {\r\n programId: vimoProgramId,\r\n taskId: task.id,\r\n taskVersionId: task.version,\r\n\r\n patientId,\r\n patientData: patientId ? null : {\r\n name: newStudentName,\r\n },\r\n patientProgramId: patientProgramId || getProgram(selectedStudent)?.id,\r\n therapistElementId: patientProgramElement?.id,\r\n responses: Object.keys(responses).map(questionId => ({\r\n questionId,\r\n response: responses[questionId]?.response,\r\n })),\r\n };\r\n\r\n const redirectToNew = (respData) => {\r\n if (patientId) {\r\n dispatch(PatientStore.actionCreators.redirect(`${urls.inside.student.home}/${patientId}`));\r\n } else if (respData.patientResult?.patient) {\r\n dispatch(PatientStore.actionCreators.redirect(`${urls.inside.student.home}/${respData.patientResult?.patient.id}`));\r\n }\r\n };\r\n\r\n const options = {\r\n callback: onClose || redirectToNew,\r\n reducerParams: { task, patientId },\r\n };\r\n\r\n if (patientProgramElement) {\r\n dispatch(PatientStore.actionCreators.insertTherapistTaskResponse(responseData, options));\r\n } else {\r\n dispatch(PatientStore.actionCreators.respondNewProgramElement(responseData, options));\r\n }\r\n };\r\n\r\n const save = () => {\r\n if (!studentId && !selectedStudent && !newStudentName) {\r\n setValidationError(true);\r\n return;\r\n }\r\n\r\n taskContentRef.current?.validateAndSave();\r\n };\r\n\r\n const cancelEditing = () => {\r\n setResponses(patientProgramElement?.responses);\r\n setEditing(false);\r\n };\r\n\r\n const handleNameChange = (event) => {\r\n if (isTeacher && !selectedStudent) {\r\n setAddNewStudent(true);\r\n setNewStudentName(event.target.value);\r\n setValidationError(!event.target.value);\r\n }\r\n };\r\n\r\n const openSelectStudent = (event) => {\r\n setMenuAnchor(event.currentTarget);\r\n };\r\n\r\n const handleInputClick = (event) => {\r\n if (selectedStudent) {\r\n openSelectStudent(event);\r\n }\r\n };\r\n\r\n const selectStudent = student => () => {\r\n if (student) {\r\n setSelectedStudent(student);\r\n setAddNewStudent(false);\r\n setNewStudentName('');\r\n setValidationError(false);\r\n } else {\r\n setSelectedStudent(null);\r\n setAddNewStudent(true);\r\n }\r\n setMenuAnchor(null);\r\n };\r\n\r\n const onDelete = () => {\r\n dispatch(PatientStore.actionCreators.deleteTherapistTask(patientProgramElement, { callback: onClose, reducerParams: { elementId: patientProgramElement.id, patientId: studentId || selectedStudent?.id } }));\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {patientProgramElement && (\r\n
\r\n {latestForm && (\r\n \r\n {translate('student.formRespondedDate', { created: datestamp(latestForm.submitted) })}\r\n \r\n )}\r\n {!editing && (\r\n setEditing(true)} color=\"secondary\">\r\n \r\n \r\n )}\r\n
\r\n )}\r\n\r\n\r\n {!readOnly && hasLicense && !studentId && (\r\n
\r\n \r\n {`${translate('addForm.formFor')}: `}\r\n \r\n \r\n \r\n \r\n \r\n setMenuAnchor(null)}\r\n >\r\n {isTeacher && (\r\n \r\n \r\n \r\n {translate('addForm.createNewStudent')}\r\n \r\n \r\n )}\r\n {hasStudents && }\r\n {studentList?.map(student => (\r\n \r\n \r\n \r\n {student.name}\r\n \r\n \r\n ))}\r\n \r\n {validationError && *}\r\n
\r\n )}\r\n\r\n {false && task.printFileId && (\r\n
\r\n \r\n \r\n \r\n {translate('page.clickToDownloadPrintfirendlyFile')}\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n\r\n \r\n {hasValue(patientProgramElement) && (\r\n \r\n )}\r\n\r\n {validationError && (\r\n \r\n {translate('addForm.pleaseGiveName')}\r\n \r\n )}\r\n\r\n {!readOnly && (\r\n
\r\n {editing && patientProgramElement && (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nAddForm.propTypes = {\r\n studentId: PropTypes.string,\r\n patientProgramId: PropTypes.string,\r\n formId: PropTypes.string,\r\n onClose: PropTypes.func,\r\n patientProgramElement: PropTypes.object,\r\n};\r\n\r\nAddForm.defaultProps = {\r\n studentId: null,\r\n patientProgramId: null,\r\n onClose: null,\r\n patientProgramElement: null,\r\n formId: null,\r\n};\r\n\r\nexport default AddForm;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n withStyles,\r\n Typography,\r\n Button,\r\n\r\n} from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport { Translate } from 'react-localize-redux';\r\n\r\nimport { DialogButton } from '../../youwell-common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n padding: theme.spacing(2, 4),\r\n background: theme.colors.grey2,\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n mainTitle: {\r\n flex: '1 1 auto',\r\n },\r\n button: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n deleteButton: {\r\n color: theme.colors.red1,\r\n borderColor: theme.colors.red1,\r\n '&:hover': {\r\n backgroundColor: theme.colors.red2,\r\n },\r\n },\r\n});\r\n\r\nclass BottomActionBar extends React.Component {\r\n render() {\r\n const {\r\n classes, title, onSave, cancelLink, saveMessage, saveEnabled, actionLink,\r\n onDelete,\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {title && (\r\n \r\n {title}\r\n \r\n )}\r\n
\r\n {saveMessage && (\r\n \r\n {saveMessage}\r\n \r\n )}\r\n {cancelLink && (\r\n \r\n \r\n \r\n )}\r\n {onSave && (\r\n \r\n \r\n \r\n )}\r\n {actionLink && (\r\n \r\n {actionLink.text}\r\n \r\n )}\r\n {onDelete && (\r\n }\r\n dialogTitle={}\r\n dialogCancelText={}\r\n dialogOkAction={onDelete}\r\n buttonProps={{ variant: 'outlined', className: classes.deleteButton }}\r\n />\r\n )}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nBottomActionBar.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n onSave: PropTypes.func,\r\n title: PropTypes.string,\r\n cancelLink: PropTypes.string,\r\n saveMessage: PropTypes.string,\r\n saveEnabled: PropTypes.bool,\r\n actionLink: PropTypes.object,\r\n onDelete: PropTypes.func,\r\n};\r\n\r\nBottomActionBar.defaultProps = {\r\n onSave: null,\r\n title: null,\r\n cancelLink: null,\r\n saveMessage: null,\r\n saveEnabled: true,\r\n actionLink: null,\r\n onDelete: null,\r\n};\r\n\r\nexport default withStyles(styles)(BottomActionBar);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Typography } from '@material-ui/core';\r\nimport classnames from 'classnames';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n heading: {\r\n padding: theme.spacing(1),\r\n },\r\n main: {\r\n padding: theme.spacing(1),\r\n border: '2px solid transparent',\r\n },\r\n background: {\r\n background: theme.colors.blue4,\r\n border: theme.borders.blue,\r\n },\r\n borderNormal: {\r\n border: theme.borders.green,\r\n },\r\n borderDashed: {\r\n border: theme.borders.dashed,\r\n },\r\n});\r\n\r\nclass ContentBox extends React.Component {\r\n render() {\r\n const {\r\n classes, className, heading, children, variant,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n { heading }\r\n \r\n
\r\n {children}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nContentBox.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n children: PropTypes.node,\r\n className: PropTypes.string,\r\n heading: PropTypes.string,\r\n variant: PropTypes.oneOf(['default', 'filled', 'bordered', 'dashed']),\r\n};\r\n\r\nContentBox.defaultProps = {\r\n children: null,\r\n className: null,\r\n heading: null,\r\n variant: 'default',\r\n};\r\n\r\nexport default withStyles(styles)(ContentBox);\r\n","import React, { useCallback, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n Typography, TextField, Button, IconButton,\r\n} from '@material-ui/core';\r\n\r\nimport * as PreviewStore from '../../app/store/PreviewStore';\r\nimport { timestamp } from '../../youwell-common/dateUtils';\r\nimport { getElementTitle } from '../../youwell-common/contentUtils';\r\nimport { ClearIcon } from '../icons';\r\nimport useForm from '../../youwell-common/useForm';\r\nimport { validateRequired } from '../../youwell-common/validationUtils';\r\nimport { contentElemenIdPrefix } from '../../youwell-common/constants';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n background: theme.palette.common.white,\r\n borderLeft: theme.borders.dim,\r\n padding: theme.spacing(2),\r\n },\r\n description: {\r\n marginTop: theme.spacing(8),\r\n },\r\n commentInputFields: {\r\n margin: theme.spacing(2, 0),\r\n padding: theme.spacing(2),\r\n background: theme.palette.grey[50],\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n commentElement: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n borderBottom: theme.borders.primary,\r\n },\r\n commentInput: {\r\n marginTop: theme.spacing(1),\r\n },\r\n sendButton: {\r\n marginTop: theme.spacing(1),\r\n alignSelf: 'flex-end',\r\n },\r\n comment: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n commentHead: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n borderBottom: theme.borders.dim,\r\n },\r\n lineWrapper: {\r\n position: 'fixed',\r\n top: 0,\r\n left: 0,\r\n height: '100vh',\r\n width: '100vw',\r\n pointerEvents: 'none',\r\n color: theme.palette.primary.main,\r\n },\r\n});\r\n\r\n\r\nconst calculate = (from, to) => {\r\n const fromEl = document.getElementById(from);\r\n const toEl = document.getElementById(to);\r\n\r\n if (!fromEl || !toEl) {\r\n return '';\r\n }\r\n\r\n const fromPosRect = fromEl.getBoundingClientRect();\r\n const toPosRect = toEl.getBoundingClientRect();\r\n\r\n const fromPos = {\r\n x: fromPosRect.left - 8,\r\n y: fromPosRect.top + fromEl.offsetHeight / 2,\r\n };\r\n const toPos = {\r\n x: toPosRect.right + 8,\r\n y: toPosRect.top + toEl.offsetHeight / 2,\r\n };\r\n\r\n return `M${fromPos.x},${fromPos.y} `\r\n+ `C${fromPos.x - 80},${fromPos.y} ${toPos.x + 80},${toPos.y} ${\r\n toPos.x},${toPos.y}`;\r\n};\r\n\r\nconst Line = ({\r\n from, to, classes,\r\n}) => {\r\n const lineEl = useRef(null);\r\n\r\n\r\n const update = useCallback(() => {\r\n if (lineEl.current) {\r\n lineEl.current.setAttribute('d', calculate(from, to));\r\n }\r\n }, [from, to]);\r\n\r\n useEffect(() => {\r\n update();\r\n }, [update]);\r\n\r\n useEffect(() => {\r\n window.addEventListener('scroll', update);\r\n\r\n return () => {\r\n window.removeEventListener('scroll', update);\r\n };\r\n }, [update]);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nLine.propTypes = {\r\n from: PropTypes.string.isRequired,\r\n to: PropTypes.string.isRequired,\r\n classes: PropTypes.object.isRequired,\r\n};\r\n\r\nconst ContentCommenting = ({\r\n classes, className, translate, task, commentElementId, saveTaskComment, clearCommentElement, getTaskComments, comments,\r\n}) => {\r\n const send = (values, setValues) => {\r\n saveTaskComment({\r\n taskId: task.id, elementId: commentElementId, comment: values.comment, name: values.name,\r\n }, {\r\n callback: () => setValues({ name: values.name }),\r\n });\r\n };\r\n\r\n const {\r\n formValues,\r\n errors,\r\n handleChange,\r\n handleSubmit,\r\n } = useForm(send, {\r\n name: validateRequired,\r\n comment: validateRequired,\r\n });\r\n\r\n useEffect(\r\n () => getTaskComments(task.id, { reducerParams: { taskId: task.id } }),\r\n [getTaskComments, task.id],\r\n );\r\n\r\n const elementTitles = task.contentElements?.reduce((prev, curr) => (\r\n curr ? { ...prev, [curr.id]: getElementTitle(curr) } : prev\r\n ), {});\r\n\r\n return (\r\n
\r\n \r\n {translate('taskCommenting.description')}\r\n \r\n\r\n
\r\n
\r\n {commentElementId && (\r\n
\r\n \r\n \r\n {`${translate('taskCommenting.element')}: ${elementTitles[commentElementId]}`}\r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {comments?.map(c => (\r\n
\r\n
\r\n \r\n {timestamp(c.created)}\r\n \r\n {c.elementId && (\r\n \r\n {elementTitles[c.elementId]}\r\n \r\n )}\r\n
\r\n \r\n {c.comment}\r\n \r\n \r\n {c.name}\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nContentCommenting.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n className: PropTypes.string,\r\n translate: PropTypes.func.isRequired,\r\n task: PropTypes.object.isRequired,\r\n comments: PropTypes.array,\r\n saveTaskComment: PropTypes.func.isRequired,\r\n getTaskComments: PropTypes.func.isRequired,\r\n clearCommentElement: PropTypes.func.isRequired,\r\n commentElementId: PropTypes.number,\r\n};\r\n\r\nContentCommenting.defaultProps = {\r\n className: null,\r\n commentElementId: null,\r\n comments: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n comments: state.previewStore.comments[ownProps.task.id],\r\n commentElementId: state.previewStore.commentElementId,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PreviewStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ContentCommenting));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n withStyles, Typography, Avatar, ButtonBase,\r\n} from '@material-ui/core';\r\nimport { Translate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport VimoLink from './VimoLink';\r\nimport VimoModal from './VimoModal';\r\n\r\nimport {\r\n EditIcon, InfoIcon, AddIcon,\r\n} from '../icons';\r\nimport { Image } from '../../youwell-common/components';\r\nimport { green3 } from '../../app/style/theme';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n minHeight: 100,\r\n background: theme.colors.grey2,\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n heading: {\r\n padding: theme.spacing(1),\r\n textTransform: 'uppercase',\r\n },\r\n main: {\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n minHeight: 100,\r\n },\r\n mainText: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n childContent: {\r\n marginTop: theme.spacing(1),\r\n },\r\n mainIcon: {\r\n marginRight: theme.spacing(1),\r\n fontSize: theme.sizes.largeIcon,\r\n },\r\n hideIconOnSmall: {\r\n [theme.breakpoints.only('sm')]: {\r\n display: 'none',\r\n },\r\n },\r\n mainAvatar: {\r\n marginRight: theme.spacing(1),\r\n background: theme.colors.blue4,\r\n color: theme.palette.common.white,\r\n fontSize: theme.sizes.largeAvatar,\r\n },\r\n primary: {\r\n },\r\n primaryReduced: {\r\n fontSize: theme.sizes.reducedH5FontSize,\r\n },\r\n secondary: {\r\n textTransform: 'uppercase',\r\n },\r\n footer: {\r\n height: theme.spacing(5),\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n margin: -theme.spacing(1),\r\n background: theme.colors.grey1,\r\n },\r\n editIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n infoIcon: {\r\n\r\n },\r\n flex: {\r\n flex: '1 1 auto',\r\n },\r\n});\r\n\r\nconst MODAL_TYPES = {\r\n EDIT: 'EDIT',\r\n ADD: 'ADD',\r\n INFO: 'INFO',\r\n};\r\n\r\nclass InfoBox extends React.Component {\r\n state = {\r\n showModal: null,\r\n }\r\n\r\n showModal = type => () => {\r\n this.setState({\r\n showModal: type,\r\n });\r\n }\r\n\r\n closeModal = () => {\r\n this.setState({\r\n showModal: null,\r\n });\r\n }\r\n\r\n renderModal = () => {\r\n const {\r\n EditContent, InfoContent, EditContentProps,\r\n InfoContentProps,\r\n AddContent, AddContentProps,\r\n } = this.props;\r\n\r\n switch (this.state.showModal) {\r\n case MODAL_TYPES.ADD:\r\n return ();\r\n case MODAL_TYPES.EDIT:\r\n return ();\r\n case MODAL_TYPES.INFO:\r\n return ();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n renderModalHeading = () => {\r\n const {\r\n EditContentHeader,\r\n InfoContentHeader,\r\n AddContentHeader,\r\n } = this.props;\r\n\r\n switch (this.state.showModal) {\r\n case MODAL_TYPES.ADD:\r\n return AddContentHeader || ;\r\n case MODAL_TYPES.EDIT:\r\n return EditContentHeader || ;\r\n case MODAL_TYPES.INFO:\r\n return InfoContentHeader || ;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n classes, className, heading, Icon, primary, secondary, link, color, simpleIcon, children, hideIconOnSmall,\r\n EditContent, InfoContent, AddContent, bigText, disabled, image, ModalProps,\r\n\r\n } = this.props;\r\n\r\n const textColor = color && color !== green3 ? 'white' : null;\r\n\r\n return (\r\n
\r\n \r\n { heading }\r\n \r\n
\r\n
\r\n {image && }\r\n {Icon && }\r\n {simpleIcon && primary && {primary.slice(0, 1)}}\r\n
\r\n {primary && (\r\n \r\n {primary}\r\n \r\n )}\r\n {secondary && (\r\n \r\n {secondary}\r\n \r\n )}\r\n
\r\n
\r\n {children && (\r\n
\r\n {children}\r\n
\r\n )}\r\n
\r\n
\r\n {InfoContent && (\r\n \r\n \r\n \r\n )}\r\n
\r\n {link && }\r\n {EditContent && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {AddContent && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n \r\n {\r\n this.renderModal()\r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nInfoBox.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n children: PropTypes.node,\r\n className: PropTypes.string,\r\n heading: PropTypes.string,\r\n Icon: PropTypes.object,\r\n primary: PropTypes.string,\r\n secondary: PropTypes.string,\r\n link: PropTypes.object,\r\n color: PropTypes.string,\r\n simpleIcon: PropTypes.bool,\r\n hideIconOnSmall: PropTypes.bool,\r\n EditContent: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\r\n EditContentProps: PropTypes.object,\r\n EditContentHeader: PropTypes.string,\r\n InfoContent: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\r\n InfoContentProps: PropTypes.object,\r\n InfoContentHeader: PropTypes.string,\r\n AddContent: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\r\n AddContentProps: PropTypes.object,\r\n AddContentHeader: PropTypes.string,\r\n bigText: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n image: PropTypes.string,\r\n ModalProps: PropTypes.object,\r\n};\r\n\r\nInfoBox.defaultProps = {\r\n children: null,\r\n className: null,\r\n heading: null,\r\n Icon: null,\r\n primary: null,\r\n secondary: null,\r\n link: null,\r\n color: null,\r\n simpleIcon: false,\r\n hideIconOnSmall: false,\r\n EditContent: null,\r\n AddContent: null,\r\n InfoContent: null,\r\n EditContentProps: null,\r\n EditContentHeader: null,\r\n AddContentProps: null,\r\n AddContentHeader: null,\r\n InfoContentProps: null,\r\n InfoContentHeader: null,\r\n bigText: false,\r\n disabled: false,\r\n image: null,\r\n ModalProps: null,\r\n};\r\n\r\nexport default withStyles(styles)(InfoBox);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withStyles } from '@material-ui/core/styles';\r\n\r\nimport { Typography } from '@material-ui/core';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n backgroundColor: theme.palette.common.white,\r\n marginBottom: theme.spacing(2),\r\n padding: theme.spacing(2),\r\n border: theme.borders.normal,\r\n borderColor: theme.palette.grey[200],\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n text: {\r\n flex: '1 1 auto',\r\n },\r\n icon: {\r\n height: 'auto',\r\n width: 'auto',\r\n },\r\n});\r\n\r\nclass InfoMessage extends React.Component {\r\n render() {\r\n const {\r\n classes, message,\r\n } = this.props;\r\n\r\n if (!message) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {message}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nInfoMessage.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n // translate: PropTypes.func.isRequired,\r\n message: PropTypes.string,\r\n};\r\n\r\nInfoMessage.defaultProps = {\r\n message: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(InfoMessage));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { isBrowser } from '../../youwell-common/browserUtils';\r\n\r\nimport * as PatientStore from '../../app/store/PatientStore';\r\n\r\nclass InternalLinkLoader extends React.Component {\r\n componentDidMount() {\r\n if (isBrowser) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n window.__clickInternalLink = this.clickInternalLink;\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (isBrowser) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n window.__clickInternalLink = null;\r\n }\r\n }\r\n\r\n clickInternalLink = (elementId) => {\r\n const url = this.getLinkUrl({ url: elementId });\r\n this.props.redirect(url);\r\n }\r\n\r\n getLinkUrl = link => this.props.linkUrlFunction(link)\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nInternalLinkLoader.propTypes = {\r\n redirect: PropTypes.func.isRequired,\r\n linkUrlFunction: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n clientConfig: state.auth.clientConfig,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PatientStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(InternalLinkLoader);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as AuthStore from '../../app/store/AuthStore';\r\nimport Auth from '../../youwell-common/Auth';\r\n\r\nclass LoadProfileData extends React.Component {\r\n componentDidMount() {\r\n if (Auth.isUserAuthenticated() && !this.props.profileData) {\r\n this.props.getUserProfile();\r\n }\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nLoadProfileData.propTypes = {\r\n getUserProfile: PropTypes.func.isRequired,\r\n profileData: PropTypes.object,\r\n};\r\n\r\nLoadProfileData.defaultProps = {\r\n profileData: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n profileData: state.auth.profileData,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getUserProfile: bindActionCreators(AuthStore.actionCreators, dispatch).getUserProfile,\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoadProfileData);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport {\r\n withStyles,\r\n TextField,\r\n\r\n} from '@material-ui/core';\r\n\r\nconst styles = theme => ({\r\n textField: {\r\n margin: `0 ${theme.spacing(2)}px`,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: theme.spacing(0, 1, 2, 0),\r\n },\r\n },\r\n});\r\n\r\nclass MultiTextInput extends React.Component {\r\n // handleChange = name => (event) => {\r\n // this.setState({\r\n // [name]: event.target.value,\r\n // }, () => {\r\n // if (this.updateTimeout) {\r\n // clearTimeout(this.updateTimeout);\r\n // }\r\n // this.updateTimeout = setTimeout(this.update, 200);\r\n // });\r\n // }\r\n\r\n // update = () => {\r\n // const data = Object.keys(defaultState).reduce(\r\n // (obj, key) => (hasValue(this.state[key]) ? { ...obj, [key]: trimIfString(this.state[key]) } : { ...obj }), {},\r\n // );\r\n\r\n // if (data.questions) {\r\n // data.questions = data.questions.map(q => ({\r\n // ...q, question: trimIfString(q.question),\r\n // }));\r\n // }\r\n\r\n // this.props.onUpdate(data);\r\n // }\r\n\r\n handleChange = name => (event) => {\r\n this.props.onChange({\r\n target: {\r\n value: {\r\n ...this.props.values,\r\n [name]: event.target.value,\r\n },\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, fieldDefs, values,\r\n } = this.props;\r\n\r\n // const getError = (name) => {\r\n // const error = validationErrors && validationErrors[name];\r\n // return error ? translate(error) : null;\r\n // };\r\n\r\n return (\r\n <>\r\n {fieldDefs.map(({\r\n name, label, type, ...props\r\n }) => (\r\n \r\n ))}\r\n \r\n );\r\n }\r\n}\r\n\r\nMultiTextInput.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n fieldDefs: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n values: PropTypes.object.isRequired,\r\n onChange: PropTypes.func,\r\n // validationErrors: PropTypes.object,\r\n};\r\n\r\nMultiTextInput.defaultProps = {\r\n onChange: null,\r\n // validationErrors: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(MultiTextInput));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n withStyles,\r\n Typography,\r\n Button,\r\n} from '@material-ui/core';\r\nimport theme from '../../app/style/theme';\r\n\r\nconst styles = () => ({\r\n root: {\r\n marginTop: theme.spacing(2),\r\n },\r\n active: {\r\n padding: theme.spacing(2),\r\n border: theme.borders.dashed,\r\n },\r\n centerContainer: {\r\n marginTop: theme.spacing(1),\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n link: {\r\n display: 'flex',\r\n },\r\n icon: {\r\n marginLeft: theme.spacing(1),\r\n fontSize: 16,\r\n },\r\n});\r\n\r\nconst NoContentClickToAdd = ({\r\n text, linkText, linkTo, classes, active, disabled, readOnly,\r\n}) => (\r\n
\r\n \r\n {text}\r\n \r\n\r\n {!readOnly && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n);\r\n\r\nNoContentClickToAdd.propTypes = {\r\n text: PropTypes.string.isRequired,\r\n linkText: PropTypes.string.isRequired,\r\n linkTo: PropTypes.string.isRequired,\r\n classes: PropTypes.object.isRequired,\r\n active: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n};\r\n\r\nNoContentClickToAdd.defaultProps = {\r\n active: false,\r\n disabled: false,\r\n readOnly: false,\r\n};\r\n\r\nexport default withStyles(styles)(NoContentClickToAdd);\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Redirect } from 'react-router';\r\nimport urls from '../../app/urls';\r\n\r\nconst RedirectIfNoLicense = () => {\r\n const profileData = useSelector(state => state.auth.profileData);\r\n\r\n if (!profileData) {\r\n return null;\r\n }\r\n\r\n if (!profileData.license) {\r\n return ;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport default RedirectIfNoLicense;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n withStyles,\r\n List,\r\n ListItem,\r\n Button,\r\n IconButton,\r\n} from '@material-ui/core';\r\nimport { Translate } from 'react-localize-redux';\r\n\r\nimport { AddIcon, RemoveIcon } from '../icons';\r\nimport MultiTextInput from './MultiTextInput';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n list: {\r\n marginTop: theme.spacing(1),\r\n padding: 0,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1, 0),\r\n },\r\n },\r\n listItem: {\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1, 0),\r\n flexWrap: 'wrap',\r\n },\r\n },\r\n addButton: {\r\n marginTop: theme.spacing(1),\r\n marginLeft: theme.spacing(3),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginLeft: 0,\r\n },\r\n },\r\n addIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n removeButton: {\r\n color: theme.colors.red1,\r\n },\r\n infoTooltip: {\r\n backgroundColor: theme.palette.grey[100],\r\n color: theme.colors.blue4,\r\n padding: theme.spacing(3),\r\n boxShadow: theme.shadows[1],\r\n fontSize: '1em',\r\n },\r\n});\r\n\r\nclass ResizableList extends React.Component {\r\n handleChange = index => (event) => {\r\n this.props.onChange({\r\n target: {\r\n value: this.props.values.map((el, i) => (i === index ? event.target.value : el)),\r\n },\r\n });\r\n };\r\n\r\n addValue = () => {\r\n this.props.onChange({\r\n target: {\r\n value: this.props.values.concat(this.props.addFunction()),\r\n },\r\n });\r\n };\r\n\r\n removeValue = index => () => {\r\n this.props.onChange({\r\n target: {\r\n value: this.props.values.filter((el, i) => i !== index),\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, values, fieldDefs,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n {values.map((value, index) => (\r\n \r\n \r\n {/* {hasInfo && hasInfo(value) && (\r\n \r\n \r\n \r\n )} */}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nResizableList.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n values: PropTypes.array.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n fieldDefs: PropTypes.array.isRequired,\r\n addFunction: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default withStyles(styles)(ResizableList);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n FormControl, Select, MenuItem, Input, ListItemText, Checkbox, FormLabel, FormHelperText, Chip,\r\n} from '@material-ui/core';\r\nimport { toLookup, toBoolLookup } from '../../youwell-common/arrayUtils';\r\n\r\n\r\nconst styles = theme => ({\r\n root: {\r\n background: theme.palette.common.white,\r\n padding: theme.spacing(2),\r\n },\r\n error: {\r\n border: theme.borders.normal,\r\n borderColor: theme.palette.error.main,\r\n },\r\n inner: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n label: {\r\n '&$focused': {\r\n color: theme.palette.grey[600],\r\n },\r\n },\r\n inputSelect: {\r\n marginLeft: theme.spacing(2),\r\n flex: '1 1 auto',\r\n '& $disabled': {\r\n color: theme.palette.common.black,\r\n },\r\n 'label + &': { marginTop: 0 },\r\n },\r\n inputInput: {\r\n padding: `0 ${theme.spacing(3)}px 0 0`,\r\n '&:focus': {\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n },\r\n inputIconDisabled: {\r\n display: 'none',\r\n },\r\n focused: {\r\n },\r\n disabled: {\r\n },\r\n chip: {\r\n marginRight: theme.spacing(0.5),\r\n },\r\n});\r\n\r\nclass Selector extends React.Component {\r\n handleChangeMultiple = (event) => {\r\n const selection = event.target.value.map(id => ({ id }));\r\n this.props.onChange({ target: { value: selection } });\r\n }\r\n\r\n renderValues = (selected) => {\r\n const {\r\n items, renderAs, classes, translate,\r\n } = this.props;\r\n const itemLookup = toLookup(items);\r\n\r\n if (!selected || selected.length === 0) {\r\n return itemLookup[''] ? itemLookup[''].name : null;\r\n }\r\n\r\n switch (renderAs) {\r\n case 'count': {\r\n return translate('selector.countSelected', { count: selected.length });\r\n }\r\n case 'ids': {\r\n return selected.join(', ');\r\n }\r\n case 'chip': {\r\n return (\r\n
\r\n {selected.map(val => (\r\n \r\n ))}\r\n
\r\n );\r\n }\r\n case 'list':\r\n default: {\r\n return selected.map(d => (itemLookup[d] ? itemLookup[d].name || itemLookup[d].id : d)).join(', ');\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, className, value, values, label, disabled, items, id, onChange, multiple, addEmptyItemInList, validationError, fullWidth,\r\n } = this.props;\r\n\r\n if (!items || items.length < 1) {\r\n return null;\r\n }\r\n\r\n const selectedValues = multiple ? toBoolLookup(values, 'id') : null;\r\n const selectedValuesArray = multiple && values ? values.map(d => d.id) : [];\r\n const itemsWithEmpty = addEmptyItemInList ? [{ id: '', name: '...' }, ...items] : items;\r\n\r\n return (\r\n \r\n
\r\n {label && (\r\n \r\n {`${label}:`}\r\n \r\n )}\r\n }\r\n renderValue={multiple ? this.renderValues : null}\r\n >\r\n {itemsWithEmpty.map(item => (\r\n multiple ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n { item.name || item.id}\r\n \r\n )\r\n ))}\r\n \r\n
\r\n {validationError && (\r\n {translate(validationError)}\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nSelector.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n className: PropTypes.string,\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\r\n name: PropTypes.string,\r\n })),\r\n id: PropTypes.string.isRequired,\r\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n values: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\r\n })),\r\n renderAs: PropTypes.oneOf(['list', 'chip', 'count', 'ids']),\r\n label: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n multiple: PropTypes.bool,\r\n addEmptyItemInList: PropTypes.bool,\r\n validationError: PropTypes.string,\r\n fullWidth: PropTypes.bool,\r\n};\r\n\r\nSelector.defaultProps = {\r\n className: null,\r\n items: null,\r\n label: null,\r\n value: '',\r\n values: [],\r\n disabled: false,\r\n multiple: false,\r\n addEmptyItemInList: false,\r\n validationError: null,\r\n fullWidth: false,\r\n renderAs: 'list',\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Selector));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles, Typography } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport { SkillIcon } from '../icons';\r\nimport urls from '../../app/urls';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n marginBottom: theme.spacing(2),\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n mainIcon: {\r\n marginRight: theme.spacing(1),\r\n fontSize: theme.sizes.largeIcon,\r\n\r\n [theme.breakpoints.only('sm')]: {\r\n display: 'none',\r\n },\r\n },\r\n text: {\r\n fontSize: theme.sizes.reducedH5FontSize,\r\n },\r\n}));\r\n\r\nconst SkillLink = ({ skill, studentCode }) => {\r\n const classes = useStyles();\r\n\r\n if (!skill?.module) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {skill.module.name}\r\n \r\n );\r\n};\r\n\r\nSkillLink.propTypes = {\r\n skill: PropTypes.object.isRequired,\r\n studentCode: PropTypes.string,\r\n};\r\n\r\nSkillLink.defaultProps = {\r\n studentCode: null,\r\n};\r\n\r\nexport default SkillLink;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { TableCell, TableSortLabel } from '@material-ui/core';\r\nimport { toggleSortDirection } from '../../youwell-common/tableUtils';\r\nimport { sortDirection } from '../../youwell-common/constants';\r\n\r\nclass SortableTableCell extends React.Component {\r\n onSortClick = () => {\r\n const { columnName, sorting, dataType } = this.props;\r\n\r\n if (sorting && sorting.columnName === columnName) {\r\n this.props.onSort({ columnName, direction: toggleSortDirection(sorting.direction), dataType });\r\n } else {\r\n this.props.onSort({ columnName, direction: sortDirection.asc, dataType });\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n className, label, columnName, sorting,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nSortableTableCell.propTypes = {\r\n className: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n columnName: PropTypes.string.isRequired,\r\n dataType: PropTypes.string,\r\n onSort: PropTypes.func.isRequired,\r\n sorting: PropTypes.object,\r\n};\r\n\r\nSortableTableCell.defaultProps = {\r\n sorting: null,\r\n dataType: null,\r\n};\r\n\r\nexport default SortableTableCell;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Typography, Avatar } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport classnames from 'classnames';\r\n\r\nimport { ForwardIcon } from '../icons';\r\nimport { getTaskColor } from '../utils/programUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(2),\r\n },\r\n avatar: {\r\n marginRight: theme.spacing(1),\r\n },\r\n text: {\r\n marginRight: theme.spacing(2),\r\n fontSize: theme.sizes.reducedH5FontSize,\r\n },\r\n});\r\n\r\nclass TaskLink extends React.Component {\r\n render() {\r\n const {\r\n classes, task, className, to, skillName,\r\n } = this.props;\r\n\r\n return (\r\n \r\n {task.name?.slice(0, 1)}\r\n \r\n {task.name}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nTaskLink.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n className: PropTypes.string,\r\n task: PropTypes.object.isRequired,\r\n to: PropTypes.string.isRequired,\r\n skillName: PropTypes.string,\r\n};\r\n\r\nTaskLink.defaultProps = {\r\n className: null,\r\n skillName: null,\r\n};\r\n\r\nexport default withStyles(styles)(TaskLink);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Typography, Avatar } from '@material-ui/core';\r\nimport classnames from 'classnames';\r\n\r\nimport { getTaskColor } from '../utils/programUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n avatar: {\r\n marginRight: theme.spacing(1),\r\n fontSize: theme.sizes.largeAvatar,\r\n\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n});\r\n\r\nclass TaskName extends React.Component {\r\n render() {\r\n const {\r\n classes, task, className,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n {task.name.slice(0, 1)}\r\n \r\n {task.name}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nTaskName.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n task: PropTypes.object.isRequired,\r\n className: PropTypes.string,\r\n};\r\n\r\nTaskName.defaultProps = {\r\n className: null,\r\n};\r\n\r\nexport default withStyles(styles)(TaskName);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport { Typography, Grid, Hidden } from '@material-ui/core';\r\n\r\nimport apiUrls from '../../youwell-common/apiUrls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n stepHeader: {\r\n background: theme.colors.grey1,\r\n padding: theme.spacing(1, 4),\r\n },\r\n step: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n stepContent: {\r\n padding: theme.spacing(1, 4),\r\n },\r\n textContent: {\r\n },\r\n imageContent: {\r\n },\r\n padRight: {\r\n paddingRight: theme.spacing(1),\r\n },\r\n image: {\r\n width: '100%',\r\n },\r\n text: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n});\r\n\r\nclass TaskScript extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, script,\r\n } = this.props;\r\n\r\n if (script === null) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {script.steps && script.steps.map((step, index) => (\r\n
\r\n \r\n \r\n {`${translate('common.step')} ${index + 1}`}\r\n \r\n \r\n \r\n {!(index % 2) && (\r\n \r\n \"\"\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n {`${translate('common.step')} ${index + 1}`}\r\n \r\n \r\n \r\n {step.text}\r\n \r\n \r\n\r\n {!!(index % 2) && (\r\n \r\n \"\"\r\n \r\n )}\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n\r\nTaskScript.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n script: PropTypes.object.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(TaskScript));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n withStyles, Typography, Button,\r\n} from '@material-ui/core';\r\nimport { connect } from 'react-redux';\r\nimport { Link, Prompt } from 'react-router-dom';\r\nimport { getTranslate, Translate } from 'react-localize-redux';\r\n\r\nimport { BackIcon } from '../icons';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n minHeight: 70,\r\n background: theme.colors.grey2,\r\n marginBottom: theme.spacing(2),\r\n padding: theme.spacing(2, 4),\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n mainTitle: {\r\n flex: '1 1 auto',\r\n },\r\n button: {\r\n marginLeft: theme.spacing(2),\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n backLink: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginLeft: theme.spacing(2),\r\n\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n underline: {\r\n lineHeight: '1.2rem',\r\n borderBottom: theme.borders.normal,\r\n borderBottomColor: theme.colors.blue4,\r\n },\r\n backIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass TopActionBar extends React.Component {\r\n clickBack = () => {\r\n if (this.props.backLink?.navigateBack) {\r\n window.history.back();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n translate, classes, title, onSave, saveEnabled, linkAction, linkActionText, studentData, backLink,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n {studentData ? studentData.name : title}\r\n \r\n {studentData?.extendedProperties && studentData?.extendedProperties.class && (\r\n \r\n \r\n {` ${studentData?.extendedProperties.class}`}\r\n \r\n )}\r\n
\r\n\r\n {linkAction && (\r\n \r\n {linkActionText}\r\n \r\n )}\r\n {backLink && (\r\n \r\n \r\n \r\n {backLink.text}\r\n \r\n \r\n )}\r\n {onSave && saveEnabled && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nTopActionBar.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n onSave: PropTypes.func,\r\n title: PropTypes.string,\r\n saveEnabled: PropTypes.bool,\r\n linkAction: PropTypes.string,\r\n linkActionText: PropTypes.string,\r\n studentData: PropTypes.object,\r\n backLink: PropTypes.object,\r\n};\r\n\r\nTopActionBar.defaultProps = {\r\n onSave: null,\r\n title: null,\r\n saveEnabled: true,\r\n linkAction: null,\r\n linkActionText: null,\r\n studentData: null,\r\n backLink: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(TopActionBar));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames/bind';\r\n\r\nimport {\r\n FormControl, FormLabel, Input, Select, MenuItem, FormHelperText, InputAdornment, IconButton, makeStyles,\r\n} from '@material-ui/core';\r\n\r\nimport { ClearIcon } from '../icons';\r\n\r\nconst combineClasses = (classes1, classes2) => {\r\n if (!classes1) { return classes2; }\r\n if (!classes2) { return classes1; }\r\n\r\n return [...Object.keys(classes1), ...Object.keys(classes2)]\r\n .reduce((prev, current) => ({ ...prev, [current]: classnames(classes1[current], classes2[current]) }), {});\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => {\r\n const inputCommon = {\r\n marginLeft: theme.spacing(2),\r\n flex: '1 1 auto',\r\n '&$disabled': {\r\n color: theme.palette.common.black,\r\n },\r\n };\r\n\r\n return {\r\n root: {\r\n background: theme.palette.common.white,\r\n padding: theme.spacing(2),\r\n border: theme.borders.thickSecondary,\r\n borderColor: theme.colors.transparent,\r\n\r\n '&:focus-within': {\r\n border: theme.borders.thickSecondary,\r\n\r\n '& $endAdornment': {\r\n visibility: 'visible',\r\n },\r\n },\r\n },\r\n error: {\r\n border: theme.borders.normal,\r\n borderColor: theme.palette.error.main,\r\n },\r\n inner: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'baseline',\r\n },\r\n label: {\r\n '&$focused': {\r\n color: theme.palette.grey[600],\r\n },\r\n },\r\n inputText: {\r\n ...inputCommon,\r\n },\r\n inputSelect: {\r\n ...inputCommon,\r\n // Overriding margin added by MUI for inputs with labels\r\n 'label + &': { marginTop: 0 },\r\n },\r\n inputForm: {\r\n // Overriding margin added by MUI for inputs with labels\r\n 'label + &': { marginTop: 0 },\r\n },\r\n endAdornment: {\r\n visibility: 'hidden',\r\n },\r\n inputInput: {\r\n padding: 0,\r\n },\r\n selectInput: {\r\n padding: `0 ${theme.spacing(3)}px 0 0`,\r\n '&:focus': {\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n },\r\n focused: {\r\n },\r\n disabled: {\r\n },\r\n };\r\n});\r\n\r\nconst VimoInput = ({\r\n className, hideIfNoValue, id, label, value, type, readOnly, selects, onChange, InputProps, validationError,\r\n autoFocus, onClear, defaultText, multiline, onEnter, inputSuffix, labelNoTranslate,\r\n}) => {\r\n const classes = useStyles();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n\r\n const handleKeyPress = (e) => {\r\n if (e.key === 'Enter') {\r\n onEnter();\r\n }\r\n };\r\n\r\n if (readOnly && hideIfNoValue && !value) {\r\n return null;\r\n }\r\n\r\n const formLabel = labelNoTranslate || (label && `${translate(label)}:`);\r\n\r\n return (\r\n \r\n
\r\n {formLabel && (\r\n \r\n {formLabel}\r\n \r\n )}\r\n\r\n { readOnly || !selects || selects.length === 0 ? (\r\n v.key === value) || {}).value) || value || ''}\r\n disableUnderline\r\n type={type}\r\n disabled={readOnly}\r\n onChange={onChange}\r\n classes={combineClasses(\r\n { formControl: classes.inputForm, disabled: classes.disabled, input: classes.inputInput },\r\n InputProps && InputProps.classes,\r\n )}\r\n autoFocus={autoFocus}\r\n endAdornment={inputSuffix ? (\r\n \r\n {inputSuffix}\r\n \r\n ) : onClear && !readOnly && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n placeholder={defaultText}\r\n multiline={multiline}\r\n minRows={5}\r\n onKeyPress={onEnter ? handleKeyPress : null}\r\n {...(InputProps || {})}\r\n />\r\n ) : (\r\n }\r\n autoWidth\r\n disableUnderline\r\n displayEmpty\r\n onChange={onChange}\r\n classes={{\r\n selectMenu: classes.selectInput,\r\n }}\r\n >\r\n {selects.map(item => (\r\n \r\n {item.value}\r\n \r\n ))}\r\n \r\n )}\r\n
\r\n {validationError && (\r\n {translate(validationError)}\r\n )}\r\n \r\n );\r\n};\r\n\r\nVimoInput.propTypes = {\r\n className: PropTypes.string,\r\n hideIfNoValue: PropTypes.bool,\r\n id: PropTypes.string.isRequired,\r\n label: PropTypes.string,\r\n value: PropTypes.PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n type: PropTypes.string,\r\n readOnly: PropTypes.bool,\r\n selects: PropTypes.arrayOf(PropTypes.shape({\r\n key: PropTypes.string,\r\n value: PropTypes.string,\r\n })),\r\n onChange: PropTypes.func,\r\n InputProps: PropTypes.object,\r\n validationError: PropTypes.string,\r\n autoFocus: PropTypes.bool,\r\n onClear: PropTypes.func,\r\n defaultText: PropTypes.string,\r\n multiline: PropTypes.bool,\r\n onEnter: PropTypes.func,\r\n inputSuffix: PropTypes.string,\r\n labelNoTranslate: PropTypes.string,\r\n};\r\n\r\nVimoInput.defaultProps = {\r\n className: '',\r\n hideIfNoValue: false,\r\n label: '',\r\n value: '',\r\n type: 'text',\r\n readOnly: false,\r\n selects: null,\r\n onChange: null,\r\n InputProps: null,\r\n validationError: null,\r\n onClear: null,\r\n autoFocus: false,\r\n defaultText: null,\r\n multiline: false,\r\n onEnter: null,\r\n inputSuffix: null,\r\n labelNoTranslate: null,\r\n};\r\n\r\nexport default VimoInput;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Typography } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport classnames from 'classnames';\r\n\r\nimport { ForwardIcon, BackIcon } from '../icons';\r\n\r\nconst styles = theme => ({\r\n link: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n backIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n forwardIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n underline: {\r\n borderBottom: '1px solid',\r\n },\r\n text: {\r\n '$disabled &': {\r\n color: theme.palette.text.secondary,\r\n cursor: 'initial',\r\n },\r\n },\r\n white: {\r\n color: theme.palette.common.white,\r\n },\r\n disabled: {\r\n\r\n },\r\n});\r\n\r\nclass VimoLink extends React.Component {\r\n render() {\r\n const {\r\n classes, to, text, className, backward, forward, white, disabled,\r\n } = this.props;\r\n\r\n return (\r\n \r\n {backward && }\r\n \r\n \r\n {text}\r\n \r\n \r\n {forward && }\r\n \r\n );\r\n }\r\n}\r\n\r\nVimoLink.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n to: PropTypes.string.isRequired,\r\n text: PropTypes.string.isRequired,\r\n backward: PropTypes.bool,\r\n forward: PropTypes.bool,\r\n white: PropTypes.bool,\r\n className: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nVimoLink.defaultProps = {\r\n backward: false,\r\n forward: false,\r\n white: false,\r\n className: null,\r\n disabled: false,\r\n};\r\n\r\nexport default withStyles(styles)(VimoLink);\r\n","import * as React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport {\r\n IconButton, Menu, MenuItem, Typography, Button, ListItemIcon, ListItemText,\r\n} from '@material-ui/core';\r\nimport {\r\n CollapseIcon,\r\n ExpandIcon,\r\n} from '../icons';\r\nimport VimoModal from './VimoModal';\r\n\r\nconst styles = theme => ({\r\n menu: {\r\n maxWidth: 500,\r\n },\r\n modalActions: {\r\n marginTop: theme.spacing(6),\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n dangerItem: {\r\n color: theme.palette.error.main,\r\n },\r\n dangerButton: {\r\n color: theme.palette.error.main,\r\n },\r\n});\r\n\r\n\r\nclass YouwellMenu extends React.Component {\r\n state = {\r\n menuAnchorEl: null,\r\n selectedItemIndex: null,\r\n };\r\n\r\n handleMenuClick = (event) => {\r\n this.setState({ menuAnchorEl: event.currentTarget });\r\n };\r\n\r\n handleMenuClose = () => {\r\n this.setState({ menuAnchorEl: null });\r\n };\r\n\r\n openModal = selectedItemIndex => () => {\r\n const filteredItems = this.props.menuItems.filter(d => !d.hidden);\r\n const modal = filteredItems[selectedItemIndex];\r\n if (modal.clickAction) {\r\n this.setState({ menuAnchorEl: null });\r\n modal.clickAction();\r\n } else {\r\n this.setState({ menuAnchorEl: null, selectedItemIndex });\r\n }\r\n }\r\n\r\n setupOnBeforeClose = (onBeforeClose) => {\r\n this.onBeforeClose = onBeforeClose;\r\n }\r\n\r\n closeModal = () => {\r\n if (this.onBeforeClose && !this.onBeforeClose()) {\r\n this.setState({ showUnsavedMessage: true });\r\n } else {\r\n this.setState({ showUnsavedMessage: false, selectedItemIndex: null });\r\n }\r\n }\r\n\r\n onClickAction = modal => () => {\r\n if (modal.action) {\r\n modal.action(this.closeModal);\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n classes, className, menuItems,\r\n } = this.props;\r\n const { menuAnchorEl, selectedItemIndex, showUnsavedMessage } = this.state;\r\n\r\n const filteredItems = menuItems ? menuItems.filter(d => !d.hidden) : [];\r\n if (filteredItems.length === 0) {\r\n return null;\r\n }\r\n\r\n const modal = selectedItemIndex !== null && filteredItems[selectedItemIndex];\r\n\r\n return (\r\n \r\n \r\n {this.state.menuAnchorEl ? : }\r\n \r\n \r\n {filteredItems.map((item, index) => (\r\n \r\n {item.Icon && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n ))}\r\n \r\n\r\n \r\n {modal && (\r\n <>\r\n {modal.Element ? (\r\n \r\n ) : (\r\n <>\r\n \r\n {modal.description}\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nYouwellMenu.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n menuItems: PropTypes.PropTypes.arrayOf(\r\n PropTypes.shape({\r\n header: PropTypes.string.isRequired,\r\n Element: PropTypes.oneOfType([\r\n PropTypes.func,\r\n PropTypes.object,\r\n ]),\r\n ElementProps: PropTypes.object,\r\n ModalProps: PropTypes.object,\r\n description: PropTypes.string,\r\n action: PropTypes.func,\r\n actionText: PropTypes.string,\r\n clickAction: PropTypes.func,\r\n }),\r\n ).isRequired,\r\n className: PropTypes.string,\r\n};\r\n\r\nYouwellMenu.defaultProps = {\r\n className: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n clientConfig: state.auth.clientConfig,\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(YouwellMenu));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n withStyles, Typography, Modal, IconButton,\r\n} from '@material-ui/core';\r\n\r\nimport {\r\n CloseIcon,\r\n} from '../icons';\r\n\r\nimport { isIe } from '../../youwell-common/browserUtils';\r\n\r\nconst styles = theme => ({\r\n modalContainer: {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: '70%',\r\n maxWidth: '100%',\r\n minHeight: theme.spacing(50),\r\n maxHeight: '80%',\r\n background: theme.palette.common.white,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: isIe ? '100%' : undefined,\r\n\r\n\r\n '&$wide': {\r\n minWidth: 0,\r\n width: `calc(80% - ${theme.spacing(4)}px)`,\r\n },\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n minWidth: 0,\r\n width: `calc(100% - ${theme.spacing(4)}px)`,\r\n },\r\n },\r\n wide: {\r\n\r\n },\r\n modalHeader: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: theme.spacing(2),\r\n background: theme.colors.grey1,\r\n },\r\n modalHeaderText: {\r\n flex: '1 1 auto',\r\n },\r\n modalContent: {\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: theme.spacing(2),\r\n overflowY: 'auto',\r\n },\r\n});\r\n\r\nclass VimoModal extends React.Component {\r\n render() {\r\n const {\r\n classes, heading, children, open, onClose, wide,\r\n } = this.props;\r\n\r\n return (\r\n \r\n
\r\n {heading && (\r\n
\r\n \r\n {heading}\r\n \r\n \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}\r\n\r\nVimoModal.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n children: PropTypes.node,\r\n heading: PropTypes.node,\r\n onClose: PropTypes.func.isRequired,\r\n open: PropTypes.bool.isRequired,\r\n wide: PropTypes.bool,\r\n};\r\n\r\nVimoModal.defaultProps = {\r\n children: null,\r\n heading: null,\r\n wide: false,\r\n};\r\n\r\nexport default withStyles(styles)(VimoModal);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport { TaskContent } from '../../youwell-common/components';\r\nimport TaskScript from './TaskScript';\r\nimport { parseInternalLink } from '../../youwell-common/taskContentUtils';\r\nimport urls from '../../app/urls';\r\n\r\nimport * as PatientStore from '../../app/store/PatientStore';\r\nimport { isBrowser } from '../../youwell-common/browserUtils';\r\n\r\nexport const AUTOSAVE_TIMEOUT_INTERVAL = 1000; // miliseconds\r\n\r\nexport const styles = theme => ({\r\n root: {\r\n },\r\n noContent: {\r\n padding: theme.spacing(4),\r\n margin: theme.spacing(2),\r\n },\r\n htmlContent: {\r\n color: theme.colors.blue4,\r\n },\r\n elementRoot: {\r\n\r\n },\r\n elementContent: {\r\n\r\n },\r\n elementHeader: {\r\n background: theme.colors.grey2,\r\n padding: theme.spacing(1, 2),\r\n },\r\n});\r\n\r\nconst useStyles = makeStyles(theme => styles(theme), { name: 'VimoTaskContent' });\r\n\r\nconst handleScripts = (element) => {\r\n if (element.script) {\r\n return ();\r\n }\r\n return null;\r\n};\r\n\r\nexport const getContentTranslations = translate => ({\r\n show: translate('common.show'),\r\n hide: translate('common.hide'),\r\n close: translate('common.close'),\r\n openFile: translate('common.openFile'),\r\n openLinkInNewWindow: translate('common.openLinkInNewWindow'),\r\n saveResponses: translate('common.save'),\r\n answerAllRequiredQuestions: translate('taskContent.pleaseAnswerRequiredQuestions'),\r\n freetextPlaceholder: translate('taskContent.writeYourResponseHere'),\r\n unsavedChangesPrompt: translate('taskContent.unsavedChangesPrompt'),\r\n allChangesSaved: translate('taskContent.allChangesSaved'),\r\n freetextChoice: translate('taskContent.freetextChoice'),\r\n youGotxOfXScore: p => translate('taskContent.youGotxOfXScore', p),\r\n maxLengthXofY: p => translate('taskContent.maxLengthXofY', p),\r\n freetextChoiceLabel: translate('taskContent.freetextChoiceLabel'),\r\n});\r\n\r\nconst VimoTaskContent = ({\r\n task, hidePreviousResponses, readOnly, className, forwardedRef, onSaveChanges, onUpdateResponse, responses,\r\n}) => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n const allContent = useSelector(state => state.program.programDetails);\r\n\r\n const getLinkUrl = (link) => {\r\n const { taskOrModuleId, hash } = parseInternalLink(link);\r\n return `${urls.inside.resource.task}/${taskOrModuleId}${hash}`;\r\n };\r\n\r\n const getProgramItem = id => (allContent ? allContent[id] : null);\r\n\r\n const clickInternalLink = React.useCallback((elementId) => {\r\n const url = getLinkUrl({ url: elementId });\r\n dispatch(PatientStore.actionCreators.redirect(url));\r\n }, [dispatch]);\r\n\r\n const noAction = () => {};\r\n\r\n React.useEffect(() => {\r\n if (isBrowser) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n window.__clickInternalLink = clickInternalLink;\r\n }\r\n\r\n return () => {\r\n if (isBrowser) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n window.__clickInternalLink = null;\r\n }\r\n };\r\n }, [clickInternalLink]);\r\n\r\n return (\r\n \r\n {translate('task.noContent')}\r\n \r\n )}\r\n getProgramItem={getProgramItem}\r\n getSpecificTaskResponses={() => {}}\r\n translations={getContentTranslations(translate)}\r\n taskResponses={responses}\r\n onResponse={onUpdateResponse || noAction}\r\n onSaveChanges={onSaveChanges || noAction}\r\n />\r\n );\r\n};\r\n\r\nVimoTaskContent.propTypes = {\r\n task: PropTypes.object.isRequired,\r\n forwardedRef: PropTypes.object,\r\n hidePreviousResponses: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n className: PropTypes.string,\r\n onSaveChanges: PropTypes.func,\r\n onUpdateResponse: PropTypes.func,\r\n responses: PropTypes.object,\r\n};\r\n\r\nVimoTaskContent.defaultProps = {\r\n forwardedRef: null,\r\n hidePreviousResponses: false,\r\n readOnly: false,\r\n className: null,\r\n onSaveChanges: null,\r\n onUpdateResponse: null,\r\n responses: null,\r\n};\r\n\r\nconst WithRef = React.forwardRef((props, ref) => );\r\nexport default WithRef;\r\n","export { default as InfoBox } from './InfoBox';\r\nexport { default as ContentBox } from './ContentBox';\r\nexport { default as BottomActionBar } from './BottomActionBar';\r\nexport { default as TopActionBar } from './TopActionBar';\r\nexport { default as TaskName } from './TaskName';\r\nexport { default as TaskLink } from './TaskLink';\r\nexport { default as VimoLink } from './VimoLink';\r\nexport { default as VimoModal } from './VimoModal';\r\nexport { default as NoContentClickToAdd } from './NoContentClickToAdd';\r\nexport { default as VimoTaskContent } from './VimoTaskContent';\r\nexport { default as InfoMessage } from './InfoMessage';\r\nexport { default as ContentCommenting } from './ContentCommenting';\r\nexport { default as AddForm } from './AddForm';\r\nexport { default as Selector } from './Selector';\r\nexport { default as SortableTableCell } from './SortableTableCell';\r\nexport { default as VimoInput } from './VimoInput';\r\nexport { default as VimoMenu } from './VimoMenu';\r\nexport { default as InternalLinkLoader } from './InternalLinkLoader';\r\nexport { default as SkillLink } from './SkillLink';\r\n","import {\r\n appRoles, sortDataType, sortDirection, systemElementGroups,\r\n} from '../youwell-common/constants';\r\n\r\nexport const gridLayout = {\r\n xs: 12,\r\n sm: 12,\r\n md: 10,\r\n lg: 9,\r\n xl: 8,\r\n};\r\n\r\nexport const contactEmail = 'post@vimo.no';\r\n\r\nexport const vimoElementGroups = {\r\n ...systemElementGroups,\r\n surveyForm: 'Kartlegging',\r\n};\r\n\r\nexport const defaultRowsPrPage = 15;\r\n\r\nexport const userSortColumns = {\r\n name: 'name',\r\n role: 'role',\r\n updated: 'updated',\r\n email: 'email',\r\n phone: 'phone',\r\n};\r\n\r\nexport const defaultUserSort = {\r\n columnName: userSortColumns.name,\r\n direction: sortDirection.asc,\r\n dataType: sortDataType.default,\r\n};\r\n\r\nexport const defaultUserFilter = {\r\n search: '',\r\n role: '',\r\n};\r\n\r\nexport const vimoCreateRoles = [appRoles.organizationAdmin, appRoles.therapist];\r\nexport const vimoRoles = [appRoles.organizationAdmin, appRoles.therapist, appRoles.contactPerson];\r\n","export { default as MenuIcon } from '@material-ui/icons/Menu';\r\nexport { default as PersonIcon } from '@material-ui/icons/PersonOutline';\r\nexport { default as LogoutIcon } from '@material-ui/icons/LockOpen';\r\nexport { default as HomeIcon } from '@material-ui/icons/HomeOutlined';\r\nexport { default as BackIcon } from '@material-ui/icons/ArrowBack';\r\nexport { default as ExpandIcon } from '@material-ui/icons/ExpandMore';\r\nexport { default as CollapseIcon } from '@material-ui/icons/ExpandLess';\r\nexport { default as CheckedIcon } from '@material-ui/icons/CheckBox';\r\nexport { default as SearchIcon } from '@material-ui/icons/Search';\r\nexport { default as ClearIcon } from '@material-ui/icons/Clear';\r\nexport { default as OpenInNewWindowIcon } from '@material-ui/icons/OpenInNew';\r\nexport { default as PrevIcon } from '@material-ui/icons/KeyboardArrowLeft';\r\nexport { default as NextIcon } from '@material-ui/icons/KeyboardArrowRight';\r\nexport { default as CompletedIcon } from '@material-ui/icons/Done';\r\nexport { default as CloseIcon } from '@material-ui/icons/Close';\r\nexport { default as EditIcon } from '@material-ui/icons/Edit';\r\nexport { default as CancelIcon } from '@material-ui/icons/Close';\r\nexport { default as SaveIcon } from '@material-ui/icons/Save';\r\nexport { default as GridIcon } from '@material-ui/icons/Dashboard';\r\nexport { default as SkillIcon } from '@material-ui/icons/StarBorderOutlined';\r\nexport { default as ForwardIcon } from '@material-ui/icons/ArrowForward';\r\nexport { default as PhoneIcon } from '@material-ui/icons/PhoneAndroid';\r\nexport { default as EmailIcon } from '@material-ui/icons/EmailOutlined';\r\nexport { default as CorrectIcon } from '@material-ui/icons/Star';\r\nexport { default as CorrectMarkerIcon } from '@material-ui/icons/StarBorder';\r\nexport { default as IncorrectIcon } from '@material-ui/icons/Clear';\r\nexport { default as InfoIcon } from '@material-ui/icons/InfoOutlined';\r\nexport { default as AddIcon } from '@material-ui/icons/AddCircleOutline';\r\nexport { default as RemoveIcon } from '@material-ui/icons/RemoveCircleOutline';\r\nexport { default as DownloadIcon } from '@material-ui/icons/CloudDownloadOutlined';\r\nexport { default as NoteIcon } from '@material-ui/icons/AssignmentOutlined';\r\nexport { default as PlusIcon } from '@material-ui/icons/Add';\r\nexport { default as OrgIcon } from '@material-ui/icons/AccountBalance';\r\nexport { default as RoleIcon } from '@material-ui/icons/SupervisedUserCircle';\r\nexport { default as CommentIcon } from '@material-ui/icons/Comment';\r\nexport { default as PrintIcon } from '@material-ui/icons/Print';\r\nexport { default as AddAccountIcon } from '@material-ui/icons/PersonAdd';\r\nexport { default as UserAccessIcon } from '@material-ui/icons/AccountBox';\r\nexport { default as TimeIcon } from '@material-ui/icons/Schedule';\r\nexport { default as CalendarIcon } from '@material-ui/icons/DateRange';\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xNS43NSAyMC41NjI1QzE0LjU0MjUgMjAuNTYyNSAxMy41NjI1IDIxLjU0MjUgMTMuNTYyNSAyMi43NUMxMy41NjI1IDIzLjk1NzUgMTQuNTQyNSAyNC45Mzc1IDE1Ljc1IDI0LjkzNzVDMTYuOTU3NSAyNC45Mzc1IDE3LjkzNzUgMjMuOTU3NSAxNy45Mzc1IDIyLjc1QzE3LjkzNzUgMjEuNTQyNSAxNi45NTc1IDIwLjU2MjUgMTUuNzUgMjAuNTYyNVpNMjYuMjUgMjAuNTYyNUMyNS4wNDI1IDIwLjU2MjUgMjQuMDYyNSAyMS41NDI1IDI0LjA2MjUgMjIuNzVDMjQuMDYyNSAyMy45NTc1IDI1LjA0MjUgMjQuOTM3NSAyNi4yNSAyNC45Mzc1QzI3LjQ1NzUgMjQuOTM3NSAyOC40Mzc1IDIzLjk1NzUgMjguNDM3NSAyMi43NUMyOC40Mzc1IDIxLjU0MjUgMjcuNDU3NSAyMC41NjI1IDI2LjI1IDIwLjU2MjVaTTIxIDMuNUMxMS4zNCAzLjUgMy41IDExLjM0IDMuNSAyMUMzLjUgMzAuNjYgMTEuMzQgMzguNSAyMSAzOC41QzMwLjY2IDM4LjUgMzguNSAzMC42NiAzOC41IDIxQzM4LjUgMTEuMzQgMzAuNjYgMy41IDIxIDMuNVpNMjEgMzVDMTMuMjgyNSAzNSA3IDI4LjcxNzUgNyAyMUM3IDIwLjQ5MjUgNy4wMzUgMTkuOTg1IDcuMDg3NSAxOS40OTVDMTEuMjE3NSAxNy42NTc1IDE0LjQ5IDE0LjI4IDE2LjIwNSAxMC4wOTc1QzE5LjM3MjUgMTQuNTc3NSAyNC41ODc1IDE3LjUgMzAuNDg1IDE3LjVDMzEuODUgMTcuNSAzMy4xNjI1IDE3LjM0MjUgMzQuNDIyNSAxNy4wNDVDMzQuNzkgMTguMjg3NSAzNSAxOS42MTc1IDM1IDIxQzM1IDI4LjcxNzUgMjguNzE3NSAzNSAyMSAzNVoiIGZpbGw9IiMxRjMyNjQiLz4NCjwvc3ZnPg0K\"","export default __webpack_public_path__ + \"9298e6e5d616fffd9b82c05f0bb0474f.jpg\";","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAACMCAYAAADV5IPyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAEWlSURBVHgB7V0HeBTXtT7Ttndp1XvvAkQ1xWAgLhjjhnuPW+KaxGl2EpO89OTlJXbsxI67cTc2uOEGxtgYTK8ChAB1aaWVtL1OeffOasUi7UoraSVhZ3++RdJOn/nn3HP+c+69AHHEEUccccQRRxxxxBFHHHHEEUccccQRRxxxxBFHHHHEEUccccQRRxxxxBFHHHHEEUccccQRRxxxxBFHHHHEEUsQEEcck4dQ/gkQRxzfEsQNaxzfGsSUzCTEEUeMIAgCEfwZ/H0MIMLtf7j90hDHtxH4oRMFBQWMxWKRpGkpOSEodSQtyEmW4L0k6aI8Ho+Vpp1oPU9DQ4MXYuTDYsIhCFESmhjwUxhqvzCCHcbxzQeVmpqqN2gUxWqJZB5NUWUSikolSCqFIgg9IpkGPW2JIGDSCD6BB48AnIUThBav17/P7+c39dhse4+3tbWjfbEwCgRJhwkd5SZ4/ajWjXbfcUJ/s0FOLy4upCX0CpmEns9QdDlJEsnIj5ShJ3/KnRQQfTERBPS80b8+cmBTCn3fYYvq53mh28+y+/wcu9Phcq6hjjUc2gXgH8H5jIbUoRikeixcuJBGH/7hhx8Wgvsc6hhxQn8zQRRmZeUm6dT3KKTSK2iaSoVRPEtsqgnslyKOEyLFBaHve4IXBLvP7/+kx+p83ORwfG0ymZxR7XOEhC5OTFSrEnVzLL32vcdNpq6Bu0OtjqK4uNi3adMmNnT/kY4RJ/Q3DDUADFladKlOrfoLcisyo9yM43neixlAEoQERBLjv4hAEIdcDGS+OfQnjRZQcMoNwOsJfr9/T2Nnzw31TU21EGO9eHZF2e8MWvVPHU73S5v37v8uBNydsD71cGTGoCCObwxydAgFuXfp1Oq/UiSRAH2EjAKIxwSDP/h30RwT2NMIEIfAywGR+ZTqRcCpZQRFUSkapXyJQaO26czdh5EZ5SAGKACQJuVk/nPG9LJEm82pKcxJerGuod0dbt1oyCxeKMTxjUBGRoYhKy9ztVal/D1imSxaMgthLGqAziNqnQmGoooTNZr/6KeU/T0jQ2OA0YOYXVn2w7OnVb8tyc+fS1GkqqqyENDPZIed+/u86spHa7KzUwZtRBBC8DPUzuOy3TcAZWUgMTCGPyN/+VzgBR/yG+QQJSFHSNzhdsZoZIo7shIy3C0ttT+DEQaMGPn5+UaVVHYXcmaoZL36EZIkpTqdGptghUouXelnOS/PKU+iVf8XRoG4hf4GQM4XXq6US64TLSsic0xJOgJgXxsfWSWT3za1oOB8GKwjDwspx5HoGphZsytZKSPJltK0Sq/TgFQmhXMWzaBKS3NZiYSZC6fcYWIk+48T+swGMaU0b1mCRvNXMZgLPK+xkXmEW/e5LGIzTwZ8cKBIUq3Xqn+TodHoYYTwUm4em+Py0vz8lGSDgpYwErVGARq1UphSXUTNqCnTMjSdl5ycLINR4NtE6G+dYlOUqk5IUGr+hvzLoE859mscmUYhEKcsZF8gGNC3GYYuTs5Ivg5Oua1RnRvjoTm0pg9JjZCSkkAipQbkchmoVHLC5faCRqtkcRIIuSIJVQU5s3NycqQjOetvmg9NGI1GZaJGlqOWyuYxpKSGpIhEAjdPBCHlebByAtvi8/kPuTz+PW7C1aZQGHtqa2uxr/dNK08kkxKzfi5hmCIInPvoySwmUEZ1+aHHpPoSNCKhkSwiM6hUq0rS0z880tp6LMp9Cazb7UcJIL/b5YH8vAxobGwHlAyCxAQddJktkJKaaEPHYTIStQ8ZlKqb6W7rpQ0A74XuY6iDfFMITRRnJqYa1EmXSmX0CpTSnY6kJDWIFyg+6xA/SwqCEjiB550cpzexPF+vqyrd4nC7P91/rGEPWsEH3wCU5eQkyWWSS/r+HJtlFmL0LpOYzDjjGJDQKJJSK9TqYvRrHQxxjjNKCxfIZPLzzFbHs3afr4VmKIcLEXratBI4erQR1CoFSKQM+P0sdmfs6IRVepniEvRo/RRDGmEEOOMJnZmYmJaRnHSPWiG7sa/pHXDjBt9HbLEJksTNlhpdYIEMJOep5YqH9dM029xuz9/qTeaNPT096MaduVZbIuXz0fknwQiB1TxBGKfLEgLytXDqWLRawdyCfl0PEbRpvV6v1apUL5IkJU3Ray8meyxXsxxX39FhnoF8ZqisKAAUBIJUKkGE5oCRMAJ6dhK1WqFELa1VsBK2089g6EKmM5bQKN2pNlDEjUqF/C6aIouI0NqE6NEv1uKkgkIimS9jmBlT5YqD7ozktebWzufqurvb4MwjNqmSaq5AD1YR7QbIpwVElKivBFlCUKkVYLU6YCQQa5tCGn6KpDNzcoBuaBAJPcglQBlKEhFWtXz5go5t2/bL0AN53Onxdvj8gfonTGaMhQumgdfHYkvN6fRqYek5s+l3399Ee/3+hpDdBVtiPtL5nZFBIc7fJ0ip/0FJhD+h4KF4lGQOCxSpyyQSerpWofx1enbGuuqiIiwRnVEvNrp+fI5zhpLnENlP/S5aZcQkXojKOmMSLV48E2695RJkEQdfukIph5pppaBUhnmf+jWPAND9TCRcSi1EeJWsVqvLz3EmQuDL/uc3d2UVF2bNkjOSZVLkYoTmhkpKcqG6qhAK8jIK77/nat2sWeVeu9Pt8JD+3pDdDUlm8XzgDENFQSaS3g3/Ucvl30d3Sxpr6aKvqgynVymZhKlJ1qnXza4s/RGukYAzBDKOU5PU0O6GHicjQm4Oy51e8YnJIlfIAj4C+qCYQ/yZZNTDffdeA7d+9xIoKsoGuUx22jZ5KFD72Y9vgl88dCv8+IHrEdGQ+aUjV0ggN9Ao1yVlQ2T4fF7fK5s+3y2g3dAP/PB6qrgom0hPNQrhkp24pZkxvRzMPVYz0ljsgt1nD1k87Nt6RtVyZGm1+szUlHfkUulS9OZTRBS6a7CeMLQ2oe97IZyFI/B++/RUDHQcORL353t02va2LvNeOAPcj+REVZJOqbmLjOBy6PVqcLk9wLEBt7WvDLQf2AJfcME8kRwmU7e4HMtj2ALee+/VMKWqSFzW3GyCTzdsE7dNTNTBgvnT4H60PDs7DRMVUlMS0Xc1UIyJL5eCqbMXsXNQclDwerzr2rt76yFCEkQjkbWgF+o73WarceHZNTD3rCquekoJhc4z7LPFj/ONNRscx040bd9dd3w1nPKdv1GEpqpLiv4ml0mX91WBRZvaDZaNEQO+j9q4o1eBlDL0QoVc+lVnj6URJhnpiSkZGqX8dnRV0oHLsO977XXLoLOzGyyW0/1fZNUR2TVw7z1Xw9JzZsB7H3wJTqcbpk8vhe9/7wq49JJzIMGg7b8zyK0BFHzBypVL4PrrLoQ5c6rE4CxoOMUXAZnV9PQkmDmjQpTZ9u2vA7fbe+qgyB30seze1k7z1uA3A8+502rtNeoTvrBabDej50tPm1pMoeNEfD7opeFeWv0B39Le9XhbV/ceGAHOGN9xenHxhTIZcy3ECLwgePDzwFVkw65MIC6gOCxBrV1lMBhWIAXEBpMIGgX9iChhzzs7OxXmIuJt3rz7tO8x+bIyU+GO2y+F8rI8FIxxcO0154PX64fZsypEog6EVquGi1csirporxqpEldecS78+4k3+311vCVSMAYqHIOsqcnhqCvKN36+9p1NS1ALQM2YURbxuN09NkdrR5ffZnPughHijPChp1eULDRolU8jrU0FMQIO/hCZqdBqM+FUMc3gpguRWiZl5pWmJz+AslOjSrvGCoggSUQYn56maVixYiGyrBJw2F0iIZBbgoLIRLj++mXw+99+HyrK8/t8ZhoRuRLORupBODIHEX0FamDd+fOmQEZG8mlf0xQdWn0X1i1oaGjwyeXURxzH97R1dEF3r60pkgdx4NAxO/K7LbaWlnoYISbdQlelp2fo5bK/o6Y0AWIP8XHxMimwOj3QvRaG8HrE78OujO6HUi6/18jxRxsAXoJJAhJ6NRBG2cnPz0ABUxnSa/2QlmaEWYiwlZX5UFCQCVqNakTkHC3UaqXoa7/8yvp+K52SrEuOYlNhx4GmjVnGpAdRYCrIZFJDuMeA97lnTx3PcvzOdoBgbXRU/jPGpBNaY9R/F1mTKog1gg8X3SD3lClgO2chyI4cAd2694DgAi1kuHwysngatUL+QJnRuKG2q6sDJgFuL3scZTpdSJpTB7/Dl4MTESpVIE588Oc3ixY7CEyEQGw8PqQO3XdVVQGseYsBjyeQdEXnVZBCKKSPrl/vHWoXuH1EAqMMZVpAIZMow62EpDrPgYN1hJfjPocRBINBTKrLMTUzM03OMDcOCuAEUVYdVc9jDOQ/n6rdQHvmVEpg0cddWgKCVNp3CKR08fygrAI+Fyl6wfQpxvtgBIFlLNF14sRhluWOQsiD1KjVMG/uFPH3oAwXJPFARPp+JOCH2Dw3Jx0yMwP1UrgOw+P0LCqeW3w5DAOBEpKQ/ixRKGTeSOf97AvvvGrutnrdDvfnMApMKqFVes0FSE7KGbQgwPBRKzBiINjfZYcANtEAAsMA6XID4fP1fYsMHBnBZxf9aenVmlGUR8YCJmSk3ax3Y+gzT0kxoE9iv5UM9zPc7xijIfhQlfsymQQKCwLdGY1I7mtqMhHrP972g4rc3CFdDxIIFc3QJB9wJQadEDpHvrWlqwz52R09fn8TjAKTSWiCoin8VoezgkPKdgEDHrkZCkjS0F+U40tLF38ybW1AsNEZfglNZRVlpnwHJhg4wbN07tSUyooCJ8NQgpgcARDJjLXjUETrXgwk+EAECR/6kQzTymOtGu/z/HNnwL13rUC+KzFVKqevhFMuwiBvDsVJiQq5nDQadDr0OznwJfP7Wd5qtef6/P7PW1paPDBCd0M8CEwSijMzU1FCYzaMBsJpPYOHBrrpfF8KV1F7GEYAQimRXj2RigeuX0lfOOcROSXbZ+t1/UrUeL0BW1mNkiE42TEeCBJ+4Gcg4UL/TkUtRlKSDkqLsyA7Kxlp1YmkQiZbNMRhBIaii/V6FY+SNGGfnc3uJG1Wu9LjZ7FcNyqfaVIIjcdiSDca/g9XxMEoEJrpi7gOSYj+Hf6kP/0sGD78GOSY0CPoHiplmAUaQSiDCUJ+kv5ahqRvv/zyxYmzZlZQKDAEDgWwmFw6fcwUzZigrCQd/vr72yEnOxkYlHzBmUaGoPMhstBAohanpr2zdwN6Nmw4tra1dZF2m7vH53fv7/tqxKSeFJUjMTVpObq4CyLwKlxzFRVOsyroR2FJDtzy3RWgRRa6q8sK/zx0ADo6zNCfVwwmByKUXKJmUafSKm9Ev+6BcU6JL0TPQiqhb5s5o5y8/NLFiMg88k+18OrrnwCPfseyXDTg0UvgRuqDHPm5JDkyeyWE3I8h1+NZ4Fm/aCwwOE4Ac5cF/Dx3AiIH8wzyoTNS0xNr0X0NGx91dvaAl/U3OViqG0bhbmBMhoUmGJq+lAwkUSL5z6d/EYWvOHCdeWdPhbt/cDWUFOei5jAZpkwpgj/+/m4oLckN3SgQgA6xfxSUL83IgHF3O3ry8w0USVRWVhaKchzSacUsXhKyfJhoHu/w/RIwmT/59Gv47W//A+vWfd4vq0UDrG1/+eVe2PDZdvTy9wwZROKOK26PF55f/QmcbDSh43ihx+IQOI6NWIprNBppdJtllaV5FQBhRxaFlpZO4HiuBf3pgVFiwi10YmKiiqGos0ayTTQROl4H+5hJSQkiERYunSFmyEg+9Nh6eOihW+GZZ9bB55t3iQTA95YfYv9SmsrXSfLKW+DEThhHZOQlZCFhhklJOTV+DA4Cy8sLRIubmTl87mL/gXp4+tl1gLs31R4+iVLoJCy/8Oxht8P37u21m+CVVz8UWwZchfeH3909qMoueF6IuPDFlgOw6Yt9KDOZA729NrBYHS6Lw7FmwK77raxeIsmnSUpVVJgV8Wb3WuyoNYITOKsIo8SEEzpNpytHN2rYpxOpWm4Q0BpJxgSYPbsCCf6FKHgqFmUlEWEqZ7UaJdx7z5UwfUYZvPTyemhtMfW5IOH73WF/XauU4i77ow5UooFOodZ5HX7kKkjB3G2BTlMPlJbmwsrLz4F586aCTqsedh+trcha9hUO4Ze1va07mkOjdQU4VHsC2L7qvdbWTtECq1WnF/sFkytdXb2w9t2vxGCwuDADnnruQ/Cz7GFPrz3iS48yjFOQZOfLyUqVh1vu87H4mpF35T8JY7jPE05ojVa+AoYhKgoWTQUFGWq71anAzRm+0dhfwxYLlzHiwnOcMausLICqyiLIzU1Hy6KTrQMVZDQsQCSZPbcK3nt7E/JTPw5UkBEhvXtOueJofWY6BHTxUSd7hkNeXgpZu68RbDYn4P52/3j0FVj18B2QmZGMFAVjyLlFxvTp5fDxJ1+LxDYa9TAfuV3RALdsWEXZv79OvMdLl8wSyTzQFQv+rVJI4aILZiNVJhOOn2yDQ4cbeLvD+cQJbKojgKGITEZKeyQoQxguZrHZ7dBmMnt5NzvqgBBjQgldUFAglVHiICJDPp1Zsyr0P/vZzYzb6QEv8h3x24ubP2x5sRuBfx9OW40GEoKCS1EAVlCYBQ/94rGQJafiEWy70QPPQpKa/OjRo3YYPYYMcrKzMnxNJzrh2LEmWLZsHuh1Kvj8891w3bXnB7o9CcPHEslJBvjVL28Hq9WGWi0DevHlEC3OP28OMgxpYi01TpoMTMyEQiql4dyl05H/3AGrX/0Mp1xrHebeV4e4PhIXXCnlck4SobeAyWQBq83RbbJaG2AMmFBCM36/AUWhpeGW9avx6EbmZKdKKIIUrbBKFXW3ulEDd/9RoYfvcLjCLqcIIlXKOXA3o7EQeki0Wttqq6sLrSgo01aWZ8GNNywfUVAXRIJBI35GCjw2xtQpxRGXBwkeSLzwyG+2wzPPf4iZKixYULVq3aavhuqcKGEkVLFBr+FRyp4ZuE8Ms7kX/D62jZVKrTAGTKjKoWEYPYECg3DLgq82Jhb2hScSEpQWz8pKjbicJAg1AXItjCNWrXqxMz0j8WHki7IvvPSxGAROn1Hevxz7ueOqG4ZBOBlPQFGb2WyFR/+1DppbumD5RXMbEpP0m4baT35GRoaEllanZyS3I9eRGrh/DOytIM29B2UIx+TWTSihA/Zm6MdSVp4PhYU5MLEQkJqQF3GpOBStIIwroTGOtJGPTpte9FFrWyf864k3oQ0FZzxSFHhxfJdRivNjwEBfF1tm1u+G/QdPwNH6FrjxxvOgemrxuhvv/sNQ0Sdh1CjLkA+tKS3LbSQHdO4NAscwHMvhDrE4Mh31uzuhhKaHCwbRBZ41pwKkkonP9xQWZEVORBAEjZrKEY+RMVKsWrWKJ6X099PS9I/t21/X/eAv/gnPv/AOHEUZTqvVIg7EMlnAxPZ5HIh0Pjh+og0y0o0w56xKe5fJ/OJw2yK3OYfjBTcK9BMi7Ru/xH6BH5PCIR4LJhB+WtBikSHSKWNCp6cZJ6RQfSCSkg1iQIRVlUHnJSaDSB2MHlFnve7/2SO4yuzeO2+86JXUhIR/ffTJjhL0YXAscdONy2H+vOiUi+EQbVawf30xO+gTtzN1WmDmzDIcDL4zffEde4fZlEByXR6SEbsNOm1++HMJZAnR/hphjJhQCy0lJEoQIpeFKpAchMsRJwO48+lQD5eiiYk8Mf7fz7/z1cHmZ6fua2wotVidD2m1CmHXrlqxtmM0wNLnmrc2wLavDyBp0IHkvW2wdduBsKOEhVbd9W/vD+rbAthtLjy4orX2aNOfYZhxMpD7LKUJahFPCPt1GmVWuHVQ3IA7/HIs62+Fb5KFxkMTBIudw93J5CS9OJrPeCI4FdSg74cdpIWYaD9IeOMNTJbm41Ag/d/7zp39g/XvbknsNnej1mTk3g/2f/cfOAZr120S0+pIIoM7b79sWHmb6Es48Vyg6s+JpFQL0spN3ZaXV9626sBwx1XyfBbStnOrpxd/hH5Kw61jRRnCHpQ7d/u9J2GMmFhCk4KGICL70TqdatANxiTr7rHCrl2Hxf50BsPoYjO8nw8/2gp79xxBqfGFUIyycGTIwfhhDAMhEOMeFIaBeFL19fXelDTjSyg4vHfXnjrivHNH7pYxSMn54f3Xwb59daIvnomyfDhuCIeB++YQmbG6ge/h3gPHwednzTv3NvwZorCmOr1mCdrOvPKSxVWhuw2VARuRnu32+k02Dz/mLm8T6nIIJJwKCsI8EGyhiQH3qK2tCx5++F/w+OOvw/vrvxQj/tEAR9EvvfQBfLV1H7z86nrwDvSVcVp3iO0JQpjUnuCdpq4n8vLTHVu37RcLiUYD3JdvwYJp4jBgRYXZUb8UHBfQp3CCa8fOozgt/uFzr66NpkeJBKXyl5AMeSw/N6MsnCYgpug7zHiarlaUwXXBGDGhhEZ+qjTSMnxzc3NTBjX7JxtaRVLjC9+37xi4XUP1w4wMnKDCI8VjGFEWLbSDKQb2DSMVKQmn/ZgcPPyX1+urpxTUNzV1QHNzG4wXwhX141JRjNb2bpTqbhe6em04KzisZSlISspgaGpGVUWBCRE77LC4WFnChBZ4vqOhoSH6jhsRMLGEJsiIVk4cY4KiB91QXE5ZWBiQ1NSqqOfKGQSsYNx3zzVw550r4dprLhjUnQk3w5F9aAG7JF0weoy6xjuIXbt2+WVy+T+zslOFrVv3h41BIqG72wIbNu4Al9Pdf434p9Vqh42bdoDdfsowDrTaAtLBBT7A3b37joPD5bXUtbRvgeFBGJMSL5HLGNn8+TUsSYV/9jhYxTXqrCBgiz+65jcEE+pDCxwfeUQidB+tNi8i9emdUXBh+49/fBOcPNkq1hgoFKNv+fHAg/gTDh63c4gyUoL1erhDMMmwun2bZ55V5Xjvrc/UixZOh7T0FBhuYNYAcR3w9DNr4ZNPt6EEUr5Y54EHd/ziiz3QhVLOhQXZWLUI64KwbGBee9Hd2HUU8nLSut7e8IUFhkFZWRktoamzlEpZy5Tq4lmRQievzwedXb3A+2ND6InNFAqilRvEGnE4KXQzlYisFD14lB8s5c1EaWA8btt4SdT4RYp005G743LxngaYZChpSe/U6WXNyWmJ8PbajeB1RzdiWU5OGjzww+vF0tTPkKV+7vl3xHgCa+53f/9KUfsPB+zmYe0ZY9uOI2BzeGD69LKvhzkcnZWVpZcJ7DJkfOZfcdmi/KREXcRubFaLA6scgtPnionBmGjZDjuxoawRm2I8yCAuYVTKKeD8HqAYKcRwSOio4PNxorQVDijL1RmLCDwEIXWq0eP1D/fbHqzI3Lx8xfyyR//vVThnYTUUl8iREZBGPlCfBZg6tVgcIAbLbk5nYBgxbCCCw4SFs8485+svRFr37haoriw4mZSi/2ekY+Xl5RVm6tR/Qn5zFU2SmYV5aZK5sythKJi7e8Hl9vqsVueYJTuMCWWN18vWC4FBYET0jUUgBER8XDMrgN/nHvEYEmMFPp7DiVwOPtJy/qRG0zKyoe7D7AZOJ/KIL/LJJ5/0f/TZgd8Yk3SfllfkOJ55/iPAuvRwCJba4kAYKx1paUmQmmoU9ehIZbjYOrM+lzh87nOrPwaU7bOrEw1XLr7k3u3hjlFTWVmSn2TYpFDIL2FoOh/tU1JeliPWrkdqVfExmppMSLLztpxobzdBDDChhPb4fPXoIgb6XzxWGHAGTJSjBGwpYzKVdFQIvjxesVQzPMe8HHuwthZGp5UNOByMEXfc8Yv2VX956mKtRra61+KEp5//YNQyXiRgq+xD7owfkXnNui/hwKEGH0XBj26//392RNiEkNPkMhT0p3ZftAx8mRnilxs/3wsffboDSabhy2BxK3ysvhl8Xn/MJnOa4NQ34UFX4Qz+HTquc0DloMT+agIbfRFOrKw57ikSdv/oCHa752OYZNkuFC+++LGztdO89obrlzhOnGhF/vRno6qdDgfsZvjcVkRCF7z59hcoGbXDp1RRr3T39Lw5xGYkTcLlbJKRcNVMg86bbwDzNVdDV1qu8Owrn8KPfvw3lHbfCC0tHacNmO71euFQ7XHO5fV+ADG6vxPqQyu0JHbYBsoU4kuFO2daeh2iTORHfjQtHT4Fjh/i669/DBWVBShRkBWYZwT9hwfxHkkmLVBw0xN2GcvyTU3d3dvgDMOxumO7l549fdv3bl2+5NF/rxN94yuv+M6YVCBcqup22pAu3A0vvvwJHDrS2Ks1KF6jpPwfX377y94ImxEzK0rOl8jl1bZZM0CQSMSPq7oC3JVlhMzUJTi+2ApNr28k3lzzqdiZYtHCGqSC5IMJHaezs6fL5vRsghhhQgnt8ctkcimEL/BHpGrv7BXfU87vjWokTdyPEGWY4G9/W93Xs0UAPBH6T396c2AOkmiBjtnU2DZY2kVtr8PlWm2xWMbUiyIEUVfdDYc31u/pve3my4+UVhcvue+ui+Hf/3lP1Ju/e/NFoDeMvI4Kp7bdDgt88NHX6LMDPF7P8aQk1WPNVuvT69d8HUlOIaYUFJTrlMonPFWVcgci9Gn7RC2uOzWZcK9cAUznPLCcaICe3Xtgz6OvQqJOAxIpjSRuQSeRUrgXU0yCwgmdkiI7zVAhp2V3RqrnwMNezZ9bDnhyFUoiFRMtQwEnW/C8ITU1peLIPVhjXrp0zmmDGg6FoLuCNdY312wUo/++BbiinmA5/niXrft+s8UxrO46kaipmVNZnp3+5t6WnqJunkje6eFhbmEafL1lP2zbfgDkCjno9Gpxyolo7gN2A+rq6uHFlz5GiZY9Pq1OsUebIH9ke23nk5s373BHPI/y8mydWv4sZGaUd19zJQjyCH0Y0XPiVUrkW6eDY/oUcOflgR25le7jTQTh9ws2u/u1zt7eaGajHRYTaqHllPycQWTun/BGgOZWM9QeaYYplbng9zhETXo4+Q6TGuus+DNauNzu/v6EfaqLB52YpMfh/O3hk+2NEHsMlC5HBIXgni2hZGeZNZnEb2tN4Ecv5u/mF8JPfnApfLJxDzz19NvI9ZDjvpkwA+n3uJnHdTI4RsFVhVhdwC9zT68NamtPwNatB2D/gaNi8GZI0PEcKen4cs/BtXv21EeMNkszMhLVMukTTGrS3K4rLgdeOWC455DxufubPvwdSYE3Nwe82chF5GWC+suNAkXyMeu5MGGExj2+KZq8IuxCsSEmRD9674EGqCrPRm6HD/xeJ0hkI3AdRoDQFPCxoyf6C/vFETpIUmFzuf6660jdsL0xRnt4GD3Q8+cWYCXIxjoRmQNW0eYXID0jCW68/ly44vJz8NACcLC2EdaigLGndx1IUepfrpDimEBMN+N7ja/ZgCx5dWUeLDtvFjy/cR9YGZVMbbJemCjR7plaWHjTnmPHPh14AhWFhQVGnfrfTIJhsXnlZeBLH8KYRGohsGVzoPwg+sERxJgzhEFMGKENFJWGEitZEVfo8y5rDzdCV7cdko1apIOi4FAiR1Z4lKcpCGFvaKgy0m3ugjfWbERZb4GEPq3Y6/dvcbl8wxavTwaKMzOTJXLZfDxEsAqdO6gDt5R1s8BIVeieuZH2S8HM6SUwo6YYfEjS6zLboK2tWwyicQ0L0onFUZUwmfH4eTi5Un+8FfjNh+BgejIkJSRAwcG96UqFdDna9QboewGTkpI0acmZy41K8jdowzzzJcvBm5MNowHpYUHSaSJR6vsT3uIYtq46WkwYoRVq6SzEmKHNLQFCS6uZeP7lDfD9Wy8ANWoi/W4HMApNYN70PmBCbt9+CDWPGnGqsXB9AY8fb4FNm3bClVd9B1RhZkTF+7BbeuDpp98R6uqagzsgPD7/V5Ze2117Tp4cSzHSuEFvMMxGMk6adek5hO6Nt8DA+qEHxRo5GiUitFJ8gbm+5BT2n6VIcchAqXL8GQqGBC0YqcD7zyF3D/3CUTRdAJAqz8pipKm6hPOVUuZ+CUNN8RblM71Ib/YbE2G0IJCLx/R2kB021z9iOfXHhBC6pqwsS0IxPxvOIcYJO0zOfftPqp98+kMkQ50tDqyN/WmJTHXa5nXHGuGjf34FF120EA9MA0qFXHwYXhTgNDd3wMsvfyh2BiAHHBI/aJb1QVNDs/Di6o+I3fvq+7obgd3L+ncgPfp2RObjcAbCaCxTIYJe68/JYjwF+SCgpr68uxt2JBohJyEwFgcjUSDrKwtUyPX1DMJyHI5zAwPWBD6BVooQ5zYkKQkkJWsgFw+Ji9wQjd2O1CNwyiXMOYtnZXyFgnQ1IZen+3JzpN3TpoK7pABJc9KxXArIGpoEzm1tN7vdMR0zcEIIrZTQi5C1KMO3kGO5Nj/Hvs4J/FGSF9JQSvViThC+RvLNcb/bv1mtkTv1Bu1Du/YfX9lm6hV9woqybKwrif40QQZGTcIjHuHx3tZ/tEX0E/FMqZjRbF+fu7LSXLjhhgtFXVboG/AfP1SPywmfb94Ja97eLLS293aiZXgYcdbUa7uxw27fYjKZnHCGIjNVOU8uZc7rLSkRtV7f7Bmgeu0NWIgkt8LkUzOr4RefCBkcfWAFY1gQHGiQfj+1vosjnA6KzcxUCh4n5a6uqublCvDmo0A9JVmU4iK5clEDbS89cVzwed3vt7a2RjcAX5SYEEJv3rv/5dKCrJ0SntZ3+3y1LS0toSL9Khjgq3785qN/djmcF2/csJ35v3+8CbNnl8KF58+BjAwWZAq1aFFwZd7y5Qtg8eIZcPJku1jbi4Md3CcxLTVRHNsNT6wjAt17l8Ph72hvd7//wdeqzzbtBZfPt6utq/deiiETeZ+ntbaxbUQzlk40UmtqFGqG+h5n0CncxUXid86SYsirKAGD0w4ajRLGAtwyJiALTW+vpfxIx/alJlFMlxlsixeBQMeWJqTTI0gbGjinT5zpKqaYKB+aPVzfVBvytxDhdwziO5ffs+vo9td/NWdW9UO7d+1Tvff+FvjtH1dDzdRCmDenArLzMhFxtWJxDZanhhokhkUBdCvKSK1+dq1zz87DBMsLfmS9Vh9vaPlFwyRN2zYSJF9/vTI5J3O5uq7uGlm3eVkvIhinCYQiXpqBpiVLwfHEU2IPblwjPdohIPB2+bkZwBPI75tRA9KTjUhayxxM5rFaZwTZgXo30W12ON3uEc8UOxwmitAjkanEdYtnXvHHR353z9Pz5kz/j0atXIElpvZ2M/zt0bdE/1CJMoN4wkk8dx/+qVQGKlMJIlCMjgft7ujsFnXWvXvq0Hc+HXZXGIb/gnMIDyEyx6S6a9xw4YWK8iUL7lBarD9RNDenyDraRf3WXXD60BadCYkgnHUWvPLGp2IVXUnx6FQHPCjmlq/2omPkCs5pUwlJewfw6pAYPkjksRak+zme3LKlnkP+RpfH0wwxxhkz13c45OfknrXh020L8ZCtD9x3KeRkJgL2qz/bfAAOHGwEPE7F9q8P4NLGvi5VRCBKR340JjV+CGrUFJ89rxLmILflcF0rvPLahpk9bvsD+cnJfzluMnXCmQey8He/Wmxsafu9bMeuKY6ZNbSlqgIoqxUMb68D4wuroeeyi8Gfemosvu6z5kDqyXp4/oV34aEHbwmr6gwFHGPs2FkLB440guWWGwlOowHWYBCPeVpSJAaQHjf5VZ0dySgAf7YduYAQY4xT/4+x4Z7zz5fe9KMrfrT5890/+WrrPu2VKxfBkkXVYo9wngsU4vtQgsDj5cGECH6yoQNcLrfYhQpbb6yrGo06pGXrUPSuF4Md3KTiwP/jjQfwgCuCxeY46PL6Vh1saP60p6cHjyo66dV0OTctlCW79H9Vsf7bfdnZjPWchcDpTtVl0F1doP/wE2DQe2hdOF+cSDSYobve1gZ1T78Gs2dWwLXXXoDuQRSBIATIXIuSMP945GVoLCiAjmXLgLI7IOXxf0HveeeCa8qUmLGE8LNgePZDn6Tuy05Tl+mCAydaYqY/9x8DzgCsWrWKzNaCJiffWIFEpNsbTrZU7951pMJicZAXXXQ2LLvgLOBZPJifNyBHYY2VDNWlxf9P22c4X5Jm5EBL5WIQ+da6jfD1toPeXqt9v8PlfN7sYZ9uaGjwwuQRm6y5/66/qy2Wu+3z5xJYloMw+jqeZ1G9ZSuovt4BPMr+uaoqwV2B0ttpBriysxneefYtmDmrHG5CCg8eiyMSMJHx0A6fbtgO6975HMisDDhwAdKWkWHQf/AhkEj+7LruauAV0Y8xPRwkTSYu8clnfc6ejl9/deDQXyEwMGNMMemEXjBlSmFZaeZPSkvylnSaetIbGtoYTNa5Z1XB+efNhfT0pH5y8ijlz6FEAu6mhavDogVB0aI2S+OuSn378qAM2rHGFnj4wcePe93eJBQrvuT1Cw3I0h+3cPBufX19sMB4IghOzJg7e6UqK+OV3ktWkP7UlFNLwgVh6CvKZgPFgYOg3LMPqN5e8CNNWltaCCoJDdb1G2DO1GK4auVScVjegS83ruVobTPDSy+9L87LUrJkLuyfOQea6xvBsO5d4JDvbL7qCuD0MRz9DB1T/9QrFunhvUePdpgvQEpXD4wDJpPQVFleXnpWsuGPEpq5ymDQEPn5GTBtWqk4U1VqakJECyMmCRChxUFngtYZf9dvqYn+eVMIlDYnxXHrBlu7g0dPwG9++ZjrnJlKRXWxTLA6OO7NDRbryWbn8w3N7X9tNJtDVZBxI/a0srL5urysV3qvuAwnL0KOOIz/ipaTbjfSdE+C4lAtSBuagMAtGPrQDgckGjSw/MIFYoGSQa8RL6HLbIHNX+yBL9HH6vZBwtwZ0GxIBHt9A8iOHEVJk2KwIXeG08dwVmiWE5jtezqNb79NWJ32O7YfOLwOxul+TgqhawoKpimU0msVUtkVSqUsA09b98CPrhfLQCdq5FFcMvmHPz0LXssJWHVXCsgkAcI3dfjg+XU93Be7bQd6Hc5fuw/XfVA7eOrrsTyM0yrtijMz09KzMzZYb7y2xFMSMoL+SOUxRGLS6QJpWxvIETGZ1jZRpcBFSUYP+t7SCxx6sXssDvA7nOJpEEj25HBsgRQjf1IykuumgaeoKJA8iSEUX+52aNe+wXs87v98ue/QT2EcXI0gJlLlICtzcorUKsVVaqXs7pREacKV5+qgrOYceOHNI/Di6vdBr1dDXl7GhJD6UO1xqD1UDz+4Tg8Smuy37glaGn58cxK5cIaq4rl3u19rkE/ZpvX4foPi/S9qa2uDxKYgQOrRFC8FO8vin5KUpIS/e+fOLfEUhcxaMBqtF9ccq1WAky7BxEsQnU3NkPzUM2CZPQv8BXnAyuRAIZcLExcHnZxKiYeWgvGA7Ggja3h3Lenwel7Ysu/QgzCOZMaYkD6FycnJytkVxXenJhk2ZqWof1mWJ1dghSIzVQJZuja4+/uXixPc/PFPz0GHKaaZ0LDwev3w0UfbAAkgUF0UCHowh7btd8Hjr5qReiIQ86aq6FV3pDhz0kipWq14S08K99UEDECQyASMvoUTST2rrPh8Kjt3mXXx2acCwBgkLgaC02mBk8nQRwqO9HTwJCaImrYvJ1tcNl5kBreHV330gdPrcW8yu/0/gxh1hB0K495jpSo3tzg7OeHl1ETV7dcuM2juvsZInDtXw3T1srBxuwMWVAOoZT6omfsdOFLXBF9u2SsW6wcGlYm9pcbR/RtvfAKfb/oabrvMAPlZUpE/Lg8PT63pgZkVCijJkwFFEqBV0fILz05IUyj5o+1dxEU+TcJMhZLZ2dVrG3NAU5qdnZpgTHzOduVl6f6UpODJxZzMIpAllh0/CRRySZzYeuPYApGYIMfPnhE+H+jfe5+XHjxo7uzqveHw8eOtMAEYV0JPLc5MS9LrX59dpZ17zzVGckGNChRylK2jCSjOlkFSAg1ZqQyQnBlktBPKqmfAl18dhQ/WbxGLilKTE8WESayIjfxm4YP1X/Jvv/0puWSGHJYt0KBn3TdrKzqnmjJE5lykhlBEP68Qr4nSHEXKzEoFZbFBkdXOLDOqtQdazObGvt2O5uSIkuzMn0L1jEvsC+cQonWOcQLj9KMRwHSYQNreDo7KCpHgmMwENT6PHweqhrXvCbIdO9vNVtv1+4+fjHmKOxLGjdALZ5RNSVBqVudnKmc+cFMy5KRLTiOmTEpCqpGBPYfdoFFSICUsoCSaYfb0bJTW1sDLr2+BnSgT6HJ7UGJEKRKcHKVFYVmWrz/eYnnuhXcdH7y/Sbp8gYq6+gIDSj4EpkVubPeLnNKpKdEyD+QU/hudIzWjQkGyLJHQ2M4vSTKo9zabuhuCq8AIkKxKTsrISHnaft65Kn+q8fQDjRXhrDwmtLkbZEgNsU2pCrgYJCl2yYo1KLsdDG+9I8j27rXarM4Hdh2pexcmUNsfD0ITy+ZXn6uUyJ/Pz5BVYBcjK1USdkU/Cg+eWtMNtSc8onWkSA4Ruxfy0zxQnKsGk9kGmzYfhC1bDojZLJvVLqoTgYk3ycDYa7zQN6ux0D8ckTjZu8fHdXVbbNt31tY//q/XTWve+ERj6zXpL1mspS9drAO5LPByfIbcnsdf7Ya8DAmkJUVOROBjSBgCSpE74vEJmuYOYVFBVuLW+mYTbkpHwkSqqrLiJ0xG5nnW7ywgBJyyHwdXQ157WPzgkk9MYMpiEdUPe1UVCNKAcSFj6TtjqbCzkze8tY5jDh3qstgdP9h++MhrMM5B4EDEOhqgzzur4nukwPxepaBUd15phMKsyIXgUkSQO1YmwP46D4SU7wJN8lBVAFCeq4GuXgUcRgm8/UdPwjtrj4LNKQAjkQhYV5XJpGJGW6FUCnKZhMK9nLEVt9udXFOzydXW0skSJF+YnSqVXnGuBhbPVoNRT5/OHfT75d/RQnVJdBkxBXoRbl6RAFYHn7X3iGvtYz+f+/2uP2xZuwqiQ2XlvGyVjLzTNm8mweMxNIYj80jJjtdFL7lmw2cgRdKdPyUFPCVFwMvlQHA8Sj/7T+13tMA157hJ6zsv0ukE9YbPBNXO3TxvdxwzWx337Q30RZzwrGvMzEJVfn6FUaf6l1TKzKoskDMP3JwEBg09omfRYWbhWJMXKgtkoNMMbjyQCwy9Ng6a2r3Q2ukXaznwfOtWOy8uQ5k+dK8FQaEgiGQDA+nIpclEPnpmikT0kYPws2g9Frk9stFfvt3Jw6p/deAbyM4oZ+69+qGNT0AUY9bNnTbnfll+6t9M37uVEEszh7tBo7TesmPHQNrQCLb580FA6oaksQkSV78M7dde3d91ilYoRr5vdDqGd94Fn9EIntISkO8/CKrdewSqrd3t8XjWNLWZfnyys3PSKhljZqHVKnqeVCKZV4qCqvuuM4p67kjRbWXh36+boaZUAT+4wTjoXuMmPxkFkviDhzQ5ZWSEUIPTP7TYwO0tdg4On3DDp9sckGSgkcqRCKMN9OXoZfjh9Ynwq8dM9I7D8Pu/3zdty/3/2D1csQ0ppflLXVXl0ZN5OEQIJj2FheApKAg5MhkQG4Pr93XDGnHAjVbHL4Tm881Ao5S75ostgsvt3mpxu95wHa5//OQESHNDISY+9MqFOSlymf5fyL9MfPC2FEjUj+49wSTDSkgRUkBwgBYEsroQLA0N/TvY6gVH0Dz907cuan5xK4v/3nvEDa+st0AastxL56hHfZ4YJAoekVsFU5Gr8tFXdpnDSy+syFe8vedod8RRSssKy6q1Gcbf9C6/gIw4KEsogvXHQxE7mhplfD9YFpS7d4MzPz+gPWMfmmFGpSD5kXWWIeuvPHAIeL+vu7Gj+/JDxxvWdwHEdtTIUWDMFnrlypVUjqzld2YLlNyKLF4oEYcCy+KKORBVhVAYB5CMReR95u0ecLo4uOXSBKQ2kPDYq2ZxwJTplUqYU6UQyeX2CvD5DjvybTkxwCxAvrsVWWRs8bt6ObjyPB3MqVZCdbEcKSzEoOOOBviFwgHvPVclwv++0FXKcbqncnLg0oYG8IRZnUhUy29zlxbTuN54RIhlwBiDfQkoSWM5bykYX3wZBKer0eHzIcM8+WTGGLOyvqLadHl7F3/zBfPUkJ8RXU9gbHAwCYkoXHhMvAU1SkhPkgReAvRAFs1QIw2VQIGiB4IDlZKEgEjNQ2ObX0ySYEglaNvpKlh5rhbKCwK9wpVyMiZkDgLvswplG+9caUDHFZbcsHTeIzU1MEguKc7MTJXK6OXOaVMByAlJ0J4OngNCvPEh340hMMTBpmPGdOAJ8JtMpsmbs3kAxmShb7moWH2onv+JRkURC2dGP11ENK1k6Lo42VGUI+1/ASqLZEg+kwLL48mAAt9JJSSsWKQVA3C6LwDEWvdsZJXHuzIE83NGhRIWz/IwXx903fyLa5eYfrDr0981QL+lJhISdNexOdnp/rTUiPshvF6UAOkEf0YqCCQVU11aYCTA4x7z3jEa0hCfnVeIHSfkycnJNCL16KYnizHGYiqIplbqpvpmf/XNlySiIHB8s+jkgCAPk1YmOf2BY6vPMKevN1ZKRGvEcMB640V6yEhm6EPH/D/++18XnR1cVppdmqJUqh9wzJ2DFM3IWjfuKZLwxhrQffARKA7EaI6ivptBcP5AaSkzhlGoBtwMXvTBSZnP5ztjuvKNmtAzykpulDDyP151ro6aVhK7Xg1nEsRnCNGTGrVUcNulBjhQ75UePum/G/reJ2OS9kdCqtHoKcwfcntWrxNH6VTu2oN047EN5DIQhDcgPuDxPEK+hWiBWw8yqGEHLQZDYQbRcpaNrr/XBGBUhJ5WnFulVykevnixTnbePO24lB9MJjCBT7T4kLbNj9jC56ZLYS5yc3Yc8s7T6/Wa0tKp2TKGWOmcUg28bJjByLFrQDPgyc4ET14ejBroAhiTCSibvf9tJHwscmOQmxCaHSSG3sdpf0qlwOOXIeRh8wz+m5RRwZmHzgCMmNAGg0GjlCn+lJ0uTS/Mk3b5WP6MHWkoGuDnhqW9UOAkzaMvd8E/XzGjRA47ohcW+9PLF2qQC0LpytJTr05USO7gMlOz7LNnRiWv4VS4oFKNyX+WHa2D1P97FJKeega5GoF4Dct2YnNDjsA1HNg0DXQ5ZDKBIAlGMtZRbmKIEfs++flpWo1Uma9Qp9HPvWNP8Hla+OlIJrt0iRayUsLrmuNVFRkLiEMWDzBV2B/GxVQbv3YISLkgfoiSPFgdiRa4gvCCeRp44X3/Q8CQpH3m9AFNfQQEx51DVnpEN2zADea0WlEr9makB4JLBMrlQkEhKb4w/RjmGATuYR9awDRgfU6uEBCjJSpaiGF/rbFhpIQm9KRs7lVXLi246orzCIfDTZ842QKrV38ADz3SArOqFXA10nsTdad2O2lkDvYJiWbVMNV1ZXky6Oz2OeuaPMyBY27p7KrojRB+qS9BL/jbmyxyu1KrH9iDJCJwH0GfD/wj9Z+DfWD6gDvZdtzzvQAZ+yRC0uEIWH/JKXeXGPoihpUXebWK4KUykDOyKvTndjgDMCKX4+JzzlpaWJD5l2XnLxDnr8KT81RXFcGvfnkbLFqyALbsZeF//m2C+uahFBxBmJCPMLbt8zIYwesn5AtqFOY1n1rB6R66t9XAPSB1zOZhFL3e4iKSC45uH+5QA3aCXQNxZM8R+TlhWkXcIoT0giHdyEIjyy+EknSYYwinyUVhj0FwMjlHUVQunCGImtALppQWqlWqx+/63sqMgS6TWq0Ux4H442/vBEqWBH94yiTWTQx8XthXPdLoxeWXcKYjM0WKC6HIwlx6W2ePb+2Tb5g5nLWM9AqEwu3hOv+wWbnVlZOb75xaLRbUh8UgkvQFbXyMKy7RCdKd3cCpVf1j1Y0o5R1pXZTqFeRamqZJ3Lv3jHAqo4oQysrKJOmJhnd++eCtVeEmfxdHMnJZQSGnoawki1/73i5h9xFby/xpuNcx2R/a7zrkhgf/0Y5cM4GYWqogTqVYxvcjCCP7Hn9QNpGYhs5RKSe+fOaTutva2qj0kgLpEbWCwnq3Ci0f5BS7vWy3udf/7w+2tNz+jHZJrvec+WdhKe60/oKh09WGvgh9pOEVSvBlZPQPyDgm9F0OltxUe/aCKzurf1JMPM4fOZwmPVwGDC1SHGylSFMT29De8QxMcO1zOETlQyfJJD+fP29qVWlpbtjleBo2nufEVn7Dpr1kis7OS1h/xpNvSHt+eGOK+Oq2dfng1fUWyEiRCB3dLDHA7YsaQgyMe7DeZ7jnlZZE+7but721dWuLG6Dltlnf2QPrN6XKaioKKiqLdLep5EyNnKGKOJ63ddvYN2tP2P93h3lj86pVwKdfmfuEJi9rOalV5wOe7gIfTzTneCwRQpTQxGIW4fQTcpcUxe5Cg1lC5H70rrgQfKF3/FQBevBAoXfitIPjsybwpC4Egad3swMPXeiLTlIQTBSh7vDwov98RkzfMSyhp1UUlqqUshtvumF52BPG1tnvC8wgdbSuBb76cgtcMLUdGwDYcogwfLVP2ZNulBr+/Gwn7gTc0Wb27qspk+ehu5eI7nfU0XGQeDHMBg8JPFtza7f3LxtfYDcEv0JERWhHF9uOH6AYBOXkgKyhQSzMOc06tb72Wl3rli3VqfPnZ6uWLJpNJScsAZpMQn6XjWA5i8BQWkIiyURnktd3Ur3ooGZkGfDNRG0YIRA0nYCcwhxSIk1AxgLPqsQKXq+b8/pc6PR5kmZkhIRRBkbkEXiB51wE3p4TbOgSuwS/vxc41ixwvIXleYFj/QJvscoJhvLRCrkX2SAfLxBensdd0BiGYmgK5Ao/IaWtPEV0E0B2SUi6m+P93ZSa6aE4tXNXTQ0m9ljIO4JwfXQ7j4iMjAx5WVrShttuu6zqkhULw4b5Po9DHJqLRQ7mI4+v5bd+fbB2ZpGlvDTTyvtZit7fks+zPEUePuE5Oq2c/snWbbaNZeVJ8NhPjQaOJP6MHsNlKBTyoCt0oHvuYpGujVwSL7pkOwu8FT1HH0khg46n9REIP/rhx3dTQpEoPSmkIb03DS2WUzSJlH9BhhpYHMbThDgXRV9YQ5zK+mE72fc/jhxZRFws1PrQe+ny87yV9XPdPlY42NrhfO2dJ/1bVm3aFKvCGwJWriThjTfEquScVTfh72R01jQ1kukIa7vNnf36655dy5cHXgx0dgU7djDus882ynSyQkKtyeUdDpmvs8vKmrt6eI7jGL2ekaakoOuikLcP3TTBO1wM6Wa7WjzZr2/w7LrwQg5+/euBnQ6Cz/zMD2RGgaEITSyqqf7ljGllD616+A5GgsXZAcBuhs9lEV2Njzfu5p9+9gNbl92xQiOVXVOQ4rulNLPHs+lgmsrtg6Nme++5u2pPNIVu3/nZSlWrzVFNcqT1g0+aWjc3uF3r19dHnkU+DFauLJNky2gmP1+lLDFKNOlpChXHEArEainJEwxPExSB7J2b53kKtZPI2eEF9AaQLMUBKTi8Lrejudvn+HiTuffxN2qd8C190GcYxs1KRyT0vCnlc9NTjG/+/rd3q7OzUiNYZ7voPx873gp//MurQneP7ZENu/b+cFZBgUquVdwso6mrkPBe4WXZBzbt3PcExBHHKYwLqcP60MXFxWqNQvnYbbdcmoLIHHZDbJU51idO4PjYv98Fi825ptHqwOOW8V/X1+Pg4R9VVVVPJTJc8aZd+8/o+UvimBSMi4UOS+hkBbUIJVDK55xVFXFDPLQt9vM+/2Kft8PUzdIC+1B9ff1pGZX9+/fjJnw3xBFHeMTcSodXOQS6smZ6GS2VRK4K3Lv3GPB+lx/JdG6GIRuVGtkZPwFPHGccguptzEgdLlNIadTyG89ZOH1IaaagMAu27qinXW6/xuPj3G3t3gtnVVRU4Tm94czDGZHFiiMsRpuSCAsizN/yi86e0/TsM79WadXKIcmJ/WiXywPbd9Z2vbj6/a0dHWYjD4KTZ4UPvSz/IZKVjm6Knew1Woyr7hlHzBCT5xSO0NQFZ808/uQTv8hMSU4Y8s0JnQTex3JIsXMefO+DL0+uXbdJ6nV5ytHGLj/LrwWB2+4juZPMrtq2TQATTfA4of+LQAz4XXzwS2ZOXXvzDRetuPKK7wzaYODgJMLgFK3g9vqajtQ1PL//wLFcU3v3nLa2Lo2110443O4Ol8Nz3M9yJ0mCaPByvl2c4G/w0XWdu3aF7QZP/OFn39OZOnq1Pp9Hd+Rki4R1eGWcILhOdHfXtre3u2D464uT+ZuFMT0zItxOziovn5GWmrD+N6vuTCgqyj59ixF6PEHC+3w+3mTqJXp6rER3jxUQyeHI0QahqbGjp7vH0oCyhLWswG32utn9JEModWpVqVQqmY8yftNRBjBT4HnG5fYRFEXieQj9HpZ9fNPOvT+A4a8tTuhvHkZN6rCExlg8Y+qv0lKMDz/8y9tIPAB5rDDQouMxQ/E0gYjcsGvXYWhtNQGFp1dA61VXFkJ5eT4kJupBKpOATMpAY2Mb//OHHrP7WPYzlNn+GO0wyS9wPQQLvS7Bs2U7HtUxwjXF8Y3CqJ4fMeAnBHdy7pw5BoHzPJqbk3HNrd+9CMrLsoEkqMCa4pACZN/sUqMfvmAgubErg+fOE4d6RfvGo4kG18HTSLz51gb45JOtQNMMIrlWbCukDA02uwta27oEu9P5wqfb99wceh1x/HchIhuPt7S4CbnqfcHrzdu8eU/Z3j11ZGqyWqx5JgRWTHmzPo9YmIQ8ABBQogVX3uHKLZ5jAx8+MOurOOUaQJ/vferdCR2LLgg8Yj8e/5nqK28MLjeZumH79oNw0YVnw913XQFLl8wmli6ZBRarA06caAW1RkUoFHKFTq6YlqpPONiCJ/uO49uAEUl6w66Mi/tLMnVXSijmbs7PV6rUCll2ZhKRk5UM2ZnJYDRqwZioA5mMiTzCPtE35hEeNZ6gxeJyscCcpPrm+Tid5JEQbrTM4ydaxNH98bL33v/y6Jq3NjRbPPY7dx2sPw5xfFsQtfsRNftvuHhmgiAopyPfdp7Pw873+dgSv5/X4tnuDDqVOFFmbm4KFOSnQUaaERITNMhlYMTRjIY8Aey24PyOaLzJPotMBshOSYadhsLpdIuWG7sjZrOFP1jXkHm0ubk9zKpxF+SbjahIPZoMDbFy5Ry9mlLlUQI/UwCqwu30FXo8bDoieSJSI1Q0TcuUSjmRhKx3akoC6PUqV0KC2pmZbqSSkw0ypVwmYRiKIobp2IaJjac1JvFssOgnnuQGkz+4WUuLCZ5+Zi3avxba27vgaH3je+9s2noxDO4KFA8Q/0sw1pQjcctFxSpamZ1OS4kcmqKMHrdPZXdwcpfNY+R8XDryngsRk/IQnYyB3kCML8Gg4RHBqcz0JDIl2UAg606kJOtIvU5N4FmpAsEmEfZ08UQ3JMUARUuB40Gs9tvy1V546pm1Pkuv/eVPduy+OeyGAXwbSR1/WUMwUTUO9PmzZqVIpFBF0cQ0ViAqgRMw2bMJgdAiUsqRZSclMgmPDDfyiaVUeVkOMaUqD4oKM8CgVw8KHjG6e11wosEMn32+E7bvOLTb4XbesGXf4UMRru/b+tDjhA7BpBTtrESBpi1Tq0pSqNN8rCuH8wkpAi9oJDTFEwylYr1srtfNnc8LfIoxQUvMrCkRpk4t5LU6uYA7vrW2m2Hf/hOwY3cd8putwHJct8/nv2PTnv1rwhzu2/7A4wmkEEwKoaPBsmXz9BKnf4HLy12GJIwFKFWeCQGnG3dx5UmKcMrlksPmXttfmnudn9YHOhWE4r/lQQe10DOi1/VkYySEnjRLt7CmKBH8VEpKVmKJQirJQi5JIjCkzetybf7Pqxu3wplP2oH3OZbnGyT0wM6w/7UgQj6Rlg9cbzItO3H++QXShQsXRjOmCDHEB2DyryVWIKJc50z4TDiICL/HEUccccQxkfh/1ESktsbR7VIAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjMwMHB4IiBoZWlnaHQ9IjgwcHgiIHZpZXdCb3g9IjAgMCAzMDAgODAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA1Mi40ICg2NzM3OCkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+DQogICAgPHRpdGxlPnZpbW8gLyBsb2dvIG5lZ2F0aXYgc3RvckAyeDwvdGl0bGU+DQogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+DQogICAgPGRlZnM+DQogICAgICAgIDxwb2x5Z29uIGlkPSJwYXRoLTEiIHBvaW50cz0iMC4xNzg1MjI1ODEgMC4zMTY3NTY3NTcgMjAuNjIyOTc0MiAwLjMxNjc1Njc1NyAyMC42MjI5NzQyIDIwLjc0ODI0MzIgMC4xNzg1MjI1ODEgMjAuNzQ4MjQzMiAwLjE3ODUyMjU4MSAwLjMxNjc1Njc1NyI+PC9wb2x5Z29uPg0KICAgIDwvZGVmcz4NCiAgICA8ZyBpZD0idmltby0vLWxvZ28tbmVnYXRpdi1zdG9yIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IlBhZ2UtMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi4wMDAwMDAsIDYuMDAwMDAwKSI+DQogICAgICAgICAgICA8cG9seWdvbiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGN0VGIiBwb2ludHM9IjQzLjY1MTU2OTQgMiAzMC41NTU1MjQyIDM4Ljg3MDI2NjkgMTcuMzQ2NTE2IDIgMCAyIDIzLjIwNTI3MzEgNTkgMzcuNzkyODEyMyA1OSA2MSAyIj48L3BvbHlnb24+DQogICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYxLjAwMDAwMCwgMC4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTU3LjQ2MjgxNiwyMi4yODIzNzg0IEwxNTcuNDYyODE2LDU5LjQwMzE4OTIgTDE0MS45MzA1OSw1OS40MDMxODkyIEwxNDEuOTMwNTksMjMuODcxNTY3NiBDMTQxLjkzMDU5LDE3LjE3NDI3MDMgMTM4LjYxODk3NywxMy43Njg4NjQ5IDEzMy4zNjc5NzcsMTMuNzY4ODY0OSBDMTI3LjY1NDQ5NCwxMy43Njg4NjQ5IDEyMy4zMTcwNDIsMTcuODU1MzUxNCAxMjMuMzE3MDQyLDI2LjE0MzcyOTcgTDEyMy4zMTcwNDIsNTkuNDAzMTg5MiBMMTA3Ljc4NjcxOSw1OS40MDMxODkyIEwxMDcuNzg2NzE5LDIzLjg3MTU2NzYgQzEwNy43ODY3MTksMTcuMTc0MjcwMyAxMDQuMDE4MzMyLDEzLjc2ODg2NDkgOTguODc5NjIyNiwxMy43Njg4NjQ5IEM5My4xNjk5NDUyLDEzLjc2ODg2NDkgODkuMDU3MDc0MiwxNy44NTUzNTE0IDg5LjA1NzA3NDIsMjYuMTQzNzI5NyBMODkuMDU3MDc0Miw1OS40MDMxODkyIEw3My41MjQ4NDg0LDU5LjQwMzE4OTIgTDczLjUyNDg0ODQsMi4xOTA0ODY0OSBMODguOTQyODgwNiwyLjE5MDQ4NjQ5IEw4OC45NDI4ODA2LDguODg5Njc1NjggQzkxLjc5NzcxOTQsMy42NjYxNjIxNiA5Ni4xMzcwNzQyLDAuNzE0ODEwODExIDEwMy4zMzMxNzEsMC43MTQ4MTA4MTEgQzExMC4wNjg2ODcsMC43MTQ4MTA4MTEgMTE2LjIzNzA0MiwzLjIxMDIxNjIyIDExOS4yMDYwNzQsMTAuNDc2OTczIEMxMjIuMjkxMjAzLDQuMjMzNzI5NzMgMTI4LjY4NDEzOSwwLjcxNDgxMDgxMSAxMzYuMzMzMjAzLDAuNzE0ODEwODExIEMxNDcuMTg1Mzk3LDAuNzE0ODEwODExIDE1Ny40NjI4MTYsNy45Nzk2NzU2OCAxNTcuNDYyODE2LDIyLjI4MjM3ODQiIGlkPSJGaWxsLTIiIGZpbGw9IiNGRkY3RUYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAtNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTczLjE5MzU0OCwgMC4wMDAwMDApIiBmaWxsPSIjRkZGN0VGIj4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE1LjY4NjU3NzQsMzAuNTcwNTY3NiBDMTUuNjg2NTc3NCw0MC41NTk3NTY4IDIyLjE5NzUxMjksNDcuMjU3MDU0MSAzMC45OTIzMTk0LDQ3LjI1NzA1NDEgQzQwLjAxMTcwNjUsNDcuMjU3MDU0MSA0Ni41MjA3Mzg3LDQwLjU1OTc1NjggNDYuNTIwNzM4NywzMC41NzA1Njc2IEM0Ni41MjA3Mzg3LDIwLjU3OTQ4NjUgNDAuMDExNzA2NSwxMy45OTU3MDI3IDMwLjk5MjMxOTQsMTMuOTk1NzAyNyBDMjIuMTk3NTEyOSwxMy45OTU3MDI3IDE1LjY4NjU3NzQsMjAuNTc5NDg2NSAxNS42ODY1Nzc0LDMwLjU3MDU2NzYgTTYxLjkzNjg2NzcsMzAuNjg1OTczIEM2MS45MzY4Njc3LDQ3LjM3MDU2NzYgNDguOTE4ODAzMiw2MC42NDk3NTY4IDMwLjk5MjMxOTQsNjAuNjQ5NzU2OCBDMTMuMjkwNDE2MSw2MC42NDk3NTY4IDAuMjcyMzUxNjEzLDQ3LjM3MDU2NzYgMC4yNzIzNTE2MTMsMzAuNjg1OTczIEMwLjI3MjM1MTYxMywxMy45OTU3MDI3IDEzLjI5MDQxNjEsMC43MTQ2MjE2MjIgMzAuOTkyMzE5NCwwLjcxNDYyMTYyMiBDNDguOTE4ODAzMiwwLjcxNDYyMTYyMiA2MS45MzY4Njc3LDEzLjk5NTcwMjcgNjEuOTM2ODY3NywzMC42ODU5NzMiIGlkPSJGaWxsLTQiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0Ljc0MTkzNSwgMC4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9Im1hc2stMiIgZmlsbD0id2hpdGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4NCiAgICAgICAgICAgICAgICAgICAgPC9tYXNrPg0KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iQ2xpcC04Ij48L2c+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMC42MjI5NzQyLDEwLjUzMjAyNyBDMjAuNjIyOTc0MiwxNi4yMDc3MDI3IDE2LjA1NTIzMjMsMjAuNzQ4MjQzMiAxMC4zNDU1NTQ4LDIwLjc0ODI0MzIgQzQuNzQ4MTY3NzQsMjAuNzQ4MjQzMiAwLjE3ODUyMjU4MSwxNi4yMDc3MDI3IDAuMTc4NTIyNTgxLDEwLjUzMjAyNyBDMC4xNzg1MjI1ODEsNC44NTYzNTEzNSA0Ljc0ODE2Nzc0LDAuMzE1ODEwODExIDEwLjM0NTU1NDgsMC4zMTU4MTA4MTEgQzE2LjA1NTIzMjMsMC4zMTU4MTA4MTEgMjAuNjIyOTc0Miw0Ljg1NjM1MTM1IDIwLjYyMjk3NDIsMTAuNTMyMDI3IiBpZD0iRmlsbC03IiBmaWxsPSIjRkZGN0VGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTU3LjA0NDQzNTUsNjguOTk5NjIxNiBDMzUuMTE3MzcxLDY4Ljk5OTYyMTYgMTUuNDc2MDgwNiw1OS41Nzk4OTE5IDAuNjMyODIyNTgxLDQzLjQ1OTA4MTEgTDEwLjkwODMzODcsMzIuMjIzMTM1MSBDMjQuMzg1MDgwNiw0NS45NTYzNzg0IDM4Ljg4NzY2MTMsNTIuOTk0MjE2MiA1Ny4wNDQ0MzU1LDUyLjk5NDIxNjIiIGlkPSJGaWxsLTEwIiBmaWxsPSIjRkZGN0VGIj48L3BhdGg+DQogICAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA/ppVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjVEMjA4OTI0OTNCRkRCMTE5MTRBODU5MEQzMTUwOEM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjE5RTdBQTEzNEVBODExRTg5RDQxQUNFQkI5RjZDRTMwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjE5RTdBQTEyNEVBODExRTg5RDQxQUNFQkI5RjZDRTMwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3MTg2Mzg3YS00YTg1LTQ1NmItOGRhNS1mNjNmODE4ZTZmOWQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5k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\"","import urls from '../app/urls';\r\nimport { getItemPositionInPatientProgram, getItemPositionInProgram, parseInternalLink } from '../youwell-common/taskContentUtils';\r\n\r\nexport const getProgramContentLink = (link, program) => {\r\n const { taskOrModuleId, hash } = parseInternalLink(link);\r\n const { elementGroup, elementIndex, taskIndex } = getItemPositionInPatientProgram(program, taskOrModuleId);\r\n\r\n if (elementGroup && elementIndex > -1 && taskIndex > -1) {\r\n return `${urls.inside.program}/${elementGroup}/${elementIndex}/${taskIndex}${hash}`;\r\n }\r\n if (elementGroup && elementIndex > -1) {\r\n return `${urls.inside.program}/${elementGroup}/${elementIndex}${hash}`;\r\n }\r\n return `${urls.inside.programLink}/${taskOrModuleId}${hash}`;\r\n};\r\n\r\nexport const getPublicProgramContentLink = (link, program) => {\r\n const { taskOrModuleId, hash } = parseInternalLink(link);\r\n const { moduleIndex, taskIndex } = getItemPositionInProgram(program, taskOrModuleId);\r\n\r\n if (moduleIndex > -1 && taskIndex > -1) { // link is to taskId\r\n return `${urls.public.program}/${program.id}/${moduleIndex}/${taskIndex}${hash}`;\r\n }\r\n if (moduleIndex > -1) { // link is to moduleId\r\n return `${urls.public.program}/${program.id}/${taskOrModuleId}${hash}`;\r\n }\r\n return `${urls.public.programLink}/${taskOrModuleId}${hash}`;\r\n};\r\n","import { isToday, getLocalDate } from '../../youwell-common/dateUtils';\r\nimport {\r\n red1, blue1, blue2, blue3, blue4, yellow1, green1, green2, orange1, green4,\r\n} from '../../app/style/theme';\r\nimport { toLookup } from '../../youwell-common/arrayUtils';\r\nimport { findImageUrl } from '../../youwell-common/htmlUtils';\r\nimport { vimoElementGroups } from '../constants';\r\n\r\nexport const getProgram = (studentData) => {\r\n // this should be moved to reducer and put in viewmodel..\r\n if (!studentData || !studentData.programs || !studentData.programs.length > 0) {\r\n return null;\r\n }\r\n return studentData.programs[0];\r\n};\r\n\r\nexport const getTrainingModules = (program) => {\r\n if (!program || !program.elements || program.elements.length < 1) {\r\n return null;\r\n }\r\n\r\n return program.elements.filter(d => d.module && d.elementGroup === vimoElementGroups.main).map(element => element.module);\r\n};\r\n\r\nexport const getCurrentSkill = (program) => {\r\n if (!program || !program.elements || program.elements.length < 1) {\r\n return null;\r\n }\r\n\r\n const activeModules = program.elements\r\n .filter(d => d.startTime && getLocalDate(d.startTime) <= new Date() && (!d.endTime || getLocalDate(d.endTime) > new Date()) && d.moduleSchedule?.tasks.length > 0);\r\n\r\n return activeModules.length > 0 ? activeModules[0] : null;\r\n};\r\n\r\nexport const getCurrentSkills = (program) => {\r\n if (!program || !program.elements || program.elements.length < 1) {\r\n return null;\r\n }\r\n\r\n const activeModules = program.elements\r\n .filter(d => d.startTime && getLocalDate(d.startTime) <= new Date() && (!d.endTime || getLocalDate(d.endTime) > new Date()) && d.moduleSchedule?.tasks.length > 0);\r\n\r\n return activeModules.length > 0 ? activeModules : null;\r\n};\r\n\r\nexport const getTodaysTasks = (program) => {\r\n const currentSkills = getCurrentSkills(program);\r\n const taskLookups = currentSkills?.map(skill => toLookup(skill.module.tasks));\r\n\r\n const taskList = currentSkills?.reduce((prev, curr, index) => [...prev, ...curr.moduleSchedule?.tasks?.filter(d => isToday(d.date)).map(task => ({\r\n ...taskLookups[index][task.taskId],\r\n skillId: curr?.module.id,\r\n skillName: curr?.module.name,\r\n })) || []],\r\n []);\r\n\r\n return taskList;\r\n};\r\n\r\nexport const getTaskColorByName = (taskName) => {\r\n if (!taskName) {\r\n return null;\r\n }\r\n const n = taskName.toLowerCase();\r\n\r\n if (n.indexOf('video') > -1) {\r\n return red1;\r\n }\r\n if (n.indexOf('forklar') > -1) {\r\n return blue4;\r\n }\r\n if (n.indexOf('oppskrift') > -1) {\r\n return blue1;\r\n }\r\n if (n.indexOf('bilet') > -1) {\r\n return green1;\r\n }\r\n if (n.indexOf('rollespel') > -1) {\r\n return yellow1;\r\n }\r\n if (n.indexOf('elevtrening') > -1) {\r\n return blue3;\r\n }\r\n if (n.indexOf('sjølvkontroll') > -1) {\r\n return blue2;\r\n }\r\n if (n.indexOf('hugsekort') > -1) {\r\n return green2;\r\n }\r\n if (n.indexOf('lego') > -1) {\r\n return orange1;\r\n }\r\n if (n.indexOf('visuelle teknikkar') > -1) {\r\n return green4;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const getTaskColor = (task) => {\r\n if (!task || !task.name) {\r\n return null;\r\n }\r\n return getTaskColorByName(task.name);\r\n};\r\n\r\nexport const getSkillDescriptionTask = (module) => {\r\n if (!module || !module.tasks) {\r\n return null;\r\n }\r\n\r\n const tasks = module.tasks.filter(d => d.name.toLowerCase().indexOf('forklaring') > -1);\r\n const descriptionTask = tasks.length > 0 ? tasks[0] : null;\r\n if (descriptionTask) {\r\n const imageTasks = module.tasks.filter(d => d.name.toLowerCase().indexOf('bilete') > -1);\r\n\r\n if (imageTasks.length > 0 && imageTasks[0].contentElements) {\r\n const images = imageTasks[0].contentElements.map(d => findImageUrl(`noe før..${d.htmlContent} og noe etter`)).filter(d => d);\r\n descriptionTask.imageUrl = images.length > 0 ? images[0] : null;\r\n }\r\n }\r\n\r\n return descriptionTask;\r\n};\r\n\r\nexport const getCurrentProgramData = (studentData) => {\r\n const programData = getProgram(studentData);\r\n\r\n return {\r\n programData,\r\n currentSkills: getCurrentSkills(programData),\r\n todaysTasks: getTodaysTasks(programData),\r\n };\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { actionCreators } from '../app/store/AuthStore';\r\n\r\nconst mapStateToProps = state => ({\r\n schools: state.auth.organizations,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getSchools: bindActionCreators(actionCreators, dispatch).getAllPublicOrganizations,\r\n});\r\n\r\nexport const withSchools = (Component) => {\r\n class WithSchools extends React.Component {\r\n componentDidMount() {\r\n if (!this.props.schools) {\r\n this.props.getSchools();\r\n }\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n }\r\n\r\n WithSchools.propTypes = {\r\n schools: PropTypes.arrayOf(PropTypes.object),\r\n getSchools: PropTypes.func.isRequired,\r\n };\r\n\r\n WithSchools.defaultProps = {\r\n schools: null,\r\n };\r\n\r\n return connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n )(WithSchools);\r\n};\r\n\r\nexport default withSchools;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n withStyles, Button, Typography,\r\n} from '@material-ui/core';\r\nimport { getTranslate, Translate } from 'react-localize-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\n\r\nimport urls from '../../app/urls';\r\nimport studentsImage from '../../common/image/icon_elever.png';\r\nimport StudentLine from './components/StudentLine';\r\nimport ProgramInformation from './components/ProgramInformation';\r\nimport { Image } from '../../youwell-common/components';\r\nimport VimoIntroTour from './components/VimoIntroTour';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n heading: {\r\n marginLeft: theme.spacing(3),\r\n },\r\n programContent: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(8),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginBottom: theme.spacing(12),\r\n },\r\n },\r\n divider: {\r\n boxShadow: theme.shadows[3],\r\n margin: theme.spacing(0, -4, 4, -4),\r\n height: 1,\r\n position: 'relative',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: theme.spacing(0, 0, 4, 0),\r\n },\r\n },\r\n studentsImage: {\r\n position: 'absolute',\r\n top: -94,\r\n left: 60,\r\n width: 150,\r\n },\r\n students: {\r\n },\r\n noStudentsDescription: {\r\n padding: theme.spacing(4),\r\n },\r\n topLine: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n flex: {\r\n flex: '1 1 auto',\r\n },\r\n studentList: {\r\n marginTop: theme.spacing(2),\r\n },\r\n link: {\r\n background: theme.colors.blue1,\r\n color: theme.palette.common.white,\r\n padding: theme.spacing(2),\r\n margin: `${theme.spacing(4)}px 0`,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n icon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n noLicense: {\r\n marginTop: theme.spacing(4),\r\n background: theme.palette.grey[50],\r\n padding: theme.spacing(1),\r\n border: theme.borders.normal,\r\n color: theme.colors.blue2,\r\n display: 'block',\r\n textAlign: 'center',\r\n },\r\n});\r\n\r\nconst Dashboard = ({\r\n classes, translate, profileData, studentList,\r\n}) => {\r\n const canEdit = profileData?.userAccess?.editPatients;\r\n const hasLicense = profileData?.license;\r\n\r\n return (\r\n
\r\n \r\n\r\n {profileData && !hasLicense && (\r\n \r\n {translate('dashboard.noLicenseNotification')}\r\n \r\n )}\r\n\r\n
\r\n \r\n {translate('dashboard.content')}\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {translate('dashboard.students')}\r\n \r\n
\r\n\r\n {canEdit && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n {studentList && studentList.length > 0 ? studentList.map(student => (\r\n \r\n )) : (\r\n \r\n {translate('dashboard.noStudentsDescription')}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n\r\n
\r\n );\r\n};\r\n\r\nDashboard.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n profileData: PropTypes.object,\r\n studentList: PropTypes.array,\r\n};\r\n\r\nDashboard.defaultProps = {\r\n profileData: null,\r\n studentList: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n studentList: state.patient.list,\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Dashboard));\r\n","import * as React from 'react';\r\nimport {\r\n Route, Switch,\r\n} from 'react-router-dom';\r\n\r\nimport urls from '../../app/urls';\r\nimport Dashboard from './Dashboard';\r\nimport Profile from './Profile';\r\nimport Page from './Page';\r\nimport NewForm from './NewForm';\r\n\r\nclass Index extends React.Component {\r\n render() {\r\n return (\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 Index;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport { AddForm, InfoMessage, TopActionBar } from '../../common/components';\r\nimport urls from '../../app/urls';\r\n\r\nexport const styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n minHeight: '80vh',\r\n padding: theme.spacing(2, 4),\r\n\r\n [theme.breakpoints.up('sm')]: {\r\n padding: theme.spacing(4),\r\n },\r\n },\r\n});\r\n\r\nconst NewForm = ({\r\n classes, translate, task, hasLoaded,\r\n}) => {\r\n if (!task) {\r\n return hasLoaded ? () : null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nNewForm.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n task: PropTypes.object,\r\n};\r\n\r\nNewForm.defaultProps = {\r\n task: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const itemId = ownProps?.match?.params?.taskId;\r\n const task = itemId && state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules\r\n ?.reduce((prev, curr) => prev || curr.tasks?.find(d => d.id === itemId)\r\n , null);\r\n\r\n return {\r\n translate: getTranslate(state.localize),\r\n clientConfig: state.auth.clientConfig,\r\n hasLoaded: Boolean(state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]),\r\n task,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(NewForm));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport { InfoMessage, TopActionBar } from '../../common/components';\r\nimport urls from '../../app/urls';\r\nimport ResourceTaskContent from '../resource/components/ResourceTaskContent';\r\nimport apiUrls from '../../youwell-common/apiUrls';\r\nimport { PrintIcon } from '../../common/icons';\r\n\r\nexport const styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n minHeight: '80vh',\r\n padding: theme.spacing(2, 4),\r\n\r\n [theme.breakpoints.up('sm')]: {\r\n padding: theme.spacing(4),\r\n },\r\n },\r\n print: {\r\n marginBottom: theme.spacing(2),\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n file: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n icon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n underline: {\r\n borderBottom: '1px solid',\r\n },\r\n});\r\n\r\nconst Task = ({\r\n classes, translate, task, hasLoaded,\r\n}) => {\r\n if (!task) {\r\n return hasLoaded ? () : null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {task.printFileId && (\r\n \r\n )}\r\n\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nTask.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n task: PropTypes.object,\r\n};\r\n\r\nTask.defaultProps = {\r\n task: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const itemId = ownProps?.match?.params?.taskId;\r\n const task = itemId && state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules\r\n ?.reduce((prev, curr) => prev || curr.tasks?.find(d => d.id === itemId)\r\n , null);\r\n\r\n return {\r\n translate: getTranslate(state.localize),\r\n clientConfig: state.auth.clientConfig,\r\n hasLoaded: Boolean(state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]),\r\n task,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Task));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { Prompt } from 'react-router-dom';\r\n\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport {\r\n Typography, IconButton, ListItem, ListItemText, List, TextField, Button,\r\n} from '@material-ui/core';\r\n\r\nimport {\r\n validateEmail, validateRequired, validatePassword, validatePasswordConfirm, validateAllFields, validateField,\r\n} from '../../youwell-common/validationUtils';\r\nimport * as AuthStore from '../../app/store/AuthStore';\r\nimport { hasValue } from '../../youwell-common/objectUtils';\r\nimport Auth from '../../youwell-common/Auth';\r\nimport { loginLevels } from '../../youwell-common/constants';\r\nimport { CancelIcon, SaveIcon, EditIcon } from '../../common/icons';\r\nimport { timestamp } from '../../youwell-common/dateUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n padding: theme.spacing(1),\r\n },\r\n details: {\r\n display: 'flex',\r\n padding: theme.spacing(2),\r\n },\r\n imageContainer: {\r\n margin: theme.spacing(1),\r\n },\r\n imageField: {\r\n background: theme.palette.common.white,\r\n },\r\n textFields: {\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n row: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n field: {\r\n margin: theme.spacing(1),\r\n flexGrow: 1,\r\n },\r\n actionContainer: {\r\n margin: theme.spacing(1),\r\n marginLeft: -theme.spacing(1),\r\n border: '2px solid transparent',\r\n background: theme.palette.common.white,\r\n },\r\n infoMessage: {\r\n flex: '1 1 auto',\r\n margin: theme.spacing(1),\r\n padding: theme.spacing(2),\r\n background: theme.palette.common.white,\r\n border: theme.borders.mediumSecondary,\r\n borderColor: theme.colors.blue,\r\n color: theme.colors.blue,\r\n },\r\n actions: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n margin: `${theme.spacing(2)}px ${theme.spacing(1)}px`,\r\n },\r\n button: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n buttonIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n section: {\r\n marginTop: theme.spacing(2),\r\n background: theme.palette.common.white,\r\n padding: theme.spacing(2),\r\n },\r\n sectionHeader: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n roleText: {\r\n display: 'flex',\r\n },\r\n roleOrganization: {\r\n marginRight: theme.spacing(1),\r\n marginBottom: theme.spacing(0.5),\r\n },\r\n});\r\n\r\nconst defaultState = {\r\n name: '',\r\n email: '',\r\n phone: '',\r\n newPassword: '',\r\n newPasswordConfirm: '',\r\n imageFileId: '',\r\n userSettings: {},\r\n};\r\n\r\nconst validators = {\r\n name: validateRequired,\r\n email: validateEmail,\r\n newPassword: validatePassword,\r\n newPasswordConfirm: validatePasswordConfirm,\r\n};\r\n\r\nconst stateFromData = (data) => {\r\n const initialState = {\r\n ...defaultState,\r\n hasUnsavedChanges: false,\r\n editing: false,\r\n validationErrors: {},\r\n id: data ? data.id : null,\r\n };\r\n\r\n if (!data) {\r\n return initialState;\r\n }\r\n\r\n return Object.keys(defaultState).reduce(\r\n (obj, key) => (hasValue(data[key]) ? { ...obj, [key]: data[key] } : { ...obj }),\r\n {\r\n ...initialState,\r\n },\r\n );\r\n};\r\n\r\n\r\nclass Profile extends React.Component {\r\n state = stateFromData(this.props.userProfile);\r\n\r\n\r\n componentDidMount() {\r\n this.props.getAllTrustedDevicesForUser();\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n if (props.userProfile && !state.id) {\r\n return stateFromData(props.userProfile);\r\n }\r\n return null;\r\n }\r\n\r\n handleChange = name => (event) => {\r\n this.setState({ [name]: event.target.value, hasUnsavedChanges: true }, () => {\r\n if (validators[name]) {\r\n const validationErrors = validateField(this.state, validators[name], name); // eslint-disable-line react/no-access-state-in-setstate\r\n this.setState({ validationErrors });\r\n }\r\n });\r\n }\r\n\r\n handleConfigChange = name => (event) => {\r\n this.setState(prevState => ({\r\n editing: true,\r\n hasUnsavedChanges: true,\r\n userSettings: {\r\n ...prevState.userSettings,\r\n [name]: event.target.value,\r\n },\r\n }));\r\n }\r\n\r\n startEdit = () => {\r\n this.setState({ editing: true });\r\n }\r\n\r\n cancel = () => {\r\n this.setState(stateFromData(this.props.userProfile));\r\n }\r\n\r\n saveChanges = () => {\r\n const validationErrors = validateAllFields(this.state, validators);\r\n\r\n if (!validationErrors.hasErrors) {\r\n const saveData = Object.keys(defaultState).reduce(\r\n (obj, key) => (this.state[key] ? { ...obj, [key]: this.state[key] } : { ...obj }),\r\n {\r\n id: this.props.userProfile.id,\r\n },\r\n );\r\n\r\n this.props.saveUserProfile(saveData, { callback: this.setState({ editing: false, hasUnsavedChanges: false }) });\r\n } else {\r\n this.setState({ validationErrors });\r\n }\r\n }\r\n\r\n handleRemoveTrustedDevicesOK = () => {\r\n this.props.removeAllTrustedDevices();\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, userProfile, trustedDevices,\r\n } = this.props;\r\n\r\n if (!userProfile) {\r\n return null;\r\n }\r\n\r\n const loginLevel = Auth.getLoginLevel();\r\n const isLoggedInLevel4 = loginLevel === loginLevels.level4;\r\n const readOnly = !this.state.editing;\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n {!isLoggedInLevel4 && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n\r\n
\r\n {this.state.editing ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n\r\n\r\n {trustedDevices?.length > 0 && (\r\n
\r\n \r\n {translate('profile.myTrustedDevices')}\r\n \r\n\r\n \r\n {trustedDevices.map(device => (\r\n \r\n \r\n \r\n ))}\r\n \r\n\r\n
\r\n \r\n {translate('profile.removeTrustedDevices')}\r\n \r\n
\r\n
\r\n )}\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nProfile.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n userProfile: PropTypes.object.isRequired,\r\n saveUserProfile: PropTypes.func.isRequired,\r\n trustedDevices: PropTypes.array.isRequired,\r\n getAllTrustedDevicesForUser: PropTypes.func.isRequired,\r\n removeAllTrustedDevices: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n userProfile: state.auth.profileData,\r\n trustedDevices: state.auth.trustedDevices,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Profile));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport classnames from 'classnames';\r\n\r\nimport { withStyles, Typography } from '@material-ui/core';\r\n\r\nimport { ForwardIcon } from '../../../common/icons';\r\nimport urls from '../../../app/urls';\r\nimport { Image } from '../../../youwell-common/components';\r\n\r\nimport flagImage from '../../../common/image/icon_flag.png';\r\nimport contentImage from '../../../common/image/icon_contents.png';\r\nimport kiteImage from '../../../common/image/icon_kite.png';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n paddingBottom: theme.spacing(2),\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n paddingBottom: theme.spacing(1),\r\n },\r\n },\r\n infoBox: {\r\n flexBasis: `calc(100% / 4 - ${theme.spacing(2)}px)`,\r\n margin: theme.spacing(1),\r\n background: theme.colors.grey2,\r\n position: 'relative',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: theme.spacing(0, 0, 1, 0),\r\n },\r\n },\r\n header: {\r\n padding: theme.spacing(1, 2),\r\n background: theme.colors.blue4,\r\n color: theme.palette.common.white,\r\n },\r\n links: {\r\n padding: theme.spacing(2),\r\n },\r\n link: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n justifyContent: 'space-between',\r\n },\r\n '&$disabled': {\r\n color: theme.palette.text.secondary,\r\n cursor: 'initial',\r\n },\r\n },\r\n linksImage: {\r\n position: 'absolute',\r\n bottom: theme.spacing(1),\r\n right: theme.spacing(1),\r\n width: 75,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n position: 'static',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n display: 'none',\r\n },\r\n },\r\n linksImageTop: {\r\n position: 'absolute',\r\n top: -16,\r\n right: -20,\r\n width: 90,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n position: 'static',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n display: 'none',\r\n },\r\n },\r\n underline: {\r\n borderBottom: '1px solid',\r\n },\r\n icon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n disabled: {\r\n\r\n },\r\n});\r\n\r\nconst ContentBox = ({ classes, module, image }) => module && (\r\n
\r\n \r\n {module.name}\r\n \r\n
\r\n {module.tasks?.map(task => (\r\n \r\n \r\n {task.name}\r\n \r\n \r\n \r\n ))}\r\n
\r\n {image && }\r\n
\r\n);\r\n\r\nContentBox.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n module: PropTypes.object,\r\n image: PropTypes.string,\r\n};\r\n\r\nContentBox.defaultProps = {\r\n module: null,\r\n image: null,\r\n};\r\n\r\nconst ProgramInformation = ({\r\n className, classes, translate, methodModule, teachingModule, formsModule, resourceProgram, hasLicense,\r\n// eslint-disable-next-line arrow-body-style\r\n}) => {\r\n return (\r\n
\r\n
\r\n \r\n {translate('dashboard.aboutTheProgramHeader')}\r\n \r\n
\r\n {formsModule?.tasks.map(form => (\r\n \r\n \r\n {form.name}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n {translate('dashboard.70skills')}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n {translate('dashboard.resourcesHeader')}\r\n \r\n
\r\n {resourceProgram?.modules?.map(m => (\r\n \r\n \r\n {m.name}\r\n \r\n \r\n \r\n ))}\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nProgramInformation.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n methodModule: PropTypes.object,\r\n teachingModule: PropTypes.object,\r\n resourceProgram: PropTypes.object,\r\n formsModule: PropTypes.object,\r\n className: PropTypes.string,\r\n hasLicense: PropTypes.bool,\r\n};\r\n\r\nProgramInformation.defaultProps = {\r\n methodModule: null,\r\n teachingModule: null,\r\n resourceProgram: null,\r\n formsModule: null,\r\n className: null,\r\n hasLicense: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n methodModule: state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules?.find(d => d.id === state.pageSettings.appConfig?.methodModuleId),\r\n teachingModule: state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules?.find(d => d.id === state.pageSettings.appConfig?.teachingModuleId),\r\n resourceProgram: state.program.content && state.program.content[state.pageSettings.appConfig?.resourcesProgramId],\r\n formsModule: state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules?.find(d => d.id === state.pageSettings.appConfig?.formsModuleId),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(ProgramInformation));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport faceImage from '../../../common/image/Face.svg';\r\nimport {\r\n InfoBox, TaskLink, VimoLink, SkillLink,\r\n} from '../../../common/components';\r\nimport {\r\n getProgram, getCurrentSkills, getTodaysTasks,\r\n} from '../../../common/utils/programUtils';\r\nimport urls from '../../../app/urls';\r\nimport { green3 } from '../../../app/style/theme';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n paddingBottom: theme.spacing(2),\r\n marginBottom: theme.spacing(2),\r\n borderBottom: theme.borders.normal,\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n paddingBottom: theme.spacing(1),\r\n },\r\n },\r\n infoBox: {\r\n flexBasis: `calc(100% / 2 - ${theme.spacing(2)}px)`,\r\n overflow: 'hidden',\r\n margin: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexBasis: `calc(100% - ${theme.spacing(1)}px)`,\r\n margin: theme.spacing(0, 0, 1, 0),\r\n },\r\n },\r\n hideOnSmall: {\r\n [theme.breakpoints.down('xs')]: {\r\n display: 'none',\r\n },\r\n },\r\n firstBox: {\r\n flex: '0 0 calc(50% - 16px)',\r\n display: 'flex',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flex: '0 0 calc(50% - 8px)',\r\n },\r\n },\r\n firstContentBox: {\r\n background: theme.colors.green3,\r\n marginRight: 0,\r\n },\r\n links: {\r\n flex: '1 1 auto',\r\n margin: theme.spacing(1, 1, 1, 0),\r\n background: theme.colors.grey2,\r\n padding: theme.spacing(2),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: theme.spacing(0, 0, 1, 0),\r\n },\r\n },\r\n link: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass StudentLine extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, studentData, hasLicense,\r\n } = this.props;\r\n\r\n const programData = getProgram(studentData);\r\n const currentSkills = getCurrentSkills(programData);\r\n const todaysTasks = getTodaysTasks(programData);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {currentSkills?.length ? (\r\n \r\n {currentSkills.map(skill => )}\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {hasLicense && todaysTasks?.length ? (\r\n \r\n {todaysTasks.map(task => )}\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nStudentLine.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n studentData: PropTypes.object.isRequired,\r\n hasLicense: PropTypes.bool,\r\n};\r\n\r\nStudentLine.defaultProps = {\r\n hasLicense: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(StudentLine));\r\n","import * as React from 'react';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Button, makeStyles, MobileStepper } from '@material-ui/core';\r\n\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport * as PageSettingStore from '../../../app/store/PageSettingStore';\r\n\r\nimport { VimoModal, VimoTaskContent } from '../../../common/components';\r\nimport { NextIcon, PrevIcon } from '../../../common/icons';\r\nimport { preloadImagesInModule } from '../../../youwell-common/taskContentUtils';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n modalContainer: {\r\n width: 700,\r\n // height: 700,\r\n\r\n '@media screen and (max-height: 700px)': {\r\n width: 'auto',\r\n // height: 'auto',\r\n },\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: `calc(100% - ${theme.spacing(4)}px)`,\r\n },\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n // height: 'auto',\r\n },\r\n\r\n },\r\n modalContent: {\r\n padding: '0 2px',\r\n },\r\n content: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n maxHeight: '60vh',\r\n },\r\n task: {\r\n flex: '1 1 auto',\r\n overflowY: 'auto',\r\n },\r\n navigation: {\r\n padding: theme.spacing(2),\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n background: theme.colors.grey1,\r\n },\r\n navigationProgress: {\r\n background: theme.colors.grey1,\r\n },\r\n navigationDot: {\r\n width: theme.spacing(4),\r\n height: theme.spacing(4),\r\n },\r\n navSpacer: {\r\n width: 64,\r\n },\r\n taskElementRoot: {\r\n marginBottom: 0,\r\n background: theme.colors.grey2,\r\n },\r\n taskElementContent: {\r\n marginBottom: 0,\r\n\r\n '&.htmlcontent figure.image img': {\r\n maxHeight: '48vh',\r\n },\r\n },\r\n}));\r\n\r\nconst VimoIntroTour = () => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n const profileData = useSelector(state => state.auth.profileData);\r\n const showIntroTourFromState = useSelector(state => state.pageSettings.showIntroTour);\r\n const introModule = useSelector(state => state.program.content\r\n && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules\r\n ?.find(d => d.id === state.pageSettings.appConfig?.introTourModuleId));\r\n\r\n const [showIntro, setShowIntro] = React.useState(false);\r\n const [page, setPage] = React.useState(0);\r\n\r\n React.useEffect(() => {\r\n setShowIntro(profileData?.userSettings?.showIntroTour || showIntroTourFromState);\r\n }, [profileData?.userSettings?.showIntroTour, showIntroTourFromState]);\r\n\r\n React.useEffect(() => {\r\n if (showIntro && introModule) {\r\n preloadImagesInModule(introModule);\r\n }\r\n }, [introModule, showIntro]);\r\n\r\n if (!introModule) {\r\n return null;\r\n }\r\n\r\n const navigate = step => () => {\r\n setPage(prev => prev + step);\r\n };\r\n\r\n const close = () => {\r\n setShowIntro(false);\r\n dispatch(PageSettingStore.actionCreators.showIntroTour(false));\r\n\r\n if (profileData?.userSettings?.showIntroTour) {\r\n dispatch(AuthStore.actionCreators.setConfig({ key: 'showIntroTour', value: false }));\r\n }\r\n };\r\n\r\n const tasks = introModule?.tasks || [];\r\n\r\n return (\r\n \r\n
\r\n \r\n\r\n
\r\n {page > 0 ? (\r\n \r\n ) : (
)}\r\n\r\n \r\n\r\n {page < tasks.length - 1 ? (\r\n \r\n ) : (
)}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default VimoIntroTour;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Route, Switch,\r\n} from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { IdleTimer } from '../../youwell-common/components';\r\nimport { logoutReasons } from '../../youwell-common/constants';\r\n\r\nimport * as AuthStore from '../../app/store/AuthStore';\r\n\r\nimport LoadStudents from './components/LoadStudents';\r\nimport LoadProgramDetails from './components/LoadProgramDetails';\r\n\r\nimport Layout from './Layout';\r\nimport Home from '../home/Index';\r\nimport Student from '../student/Index';\r\nimport Program from '../program/Index';\r\nimport Resource from '../resource/Index';\r\nimport SelectSchool from './components/SelectSchool';\r\nimport RegisterSchool from './components/RegisterSchool';\r\nimport Users from '../users/Index';\r\n\r\nimport urls from '../../app/urls';\r\nimport LoadProfileData from '../../common/components/LoadProfileData';\r\n\r\nconst USER_IDLE_TIMEOUT_IN_MINUTES = 30;\r\n\r\nclass Index extends React.Component {\r\n logoutOnIdle = () => {\r\n this.props.logout(logoutReasons.idleTimeout);\r\n }\r\n\r\n render() {\r\n const {\r\n match, appConfig,\r\n } = this.props;\r\n\r\n // Old code.. All parts should be removed\r\n // if (profileData?.selectedRole?.organizationName === 'Ukjent skole'\r\n // && !location.pathname.startsWith(urls.inside.school.home)) {\r\n // return ;\r\n // }\r\n\r\n const studentId = match.params.key === 'student' ? match.params.id : null;\r\n\r\n return (\r\n <>\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nIndex.propTypes = {\r\n match: PropTypes.object.isRequired,\r\n // location: PropTypes.object.isRequired,\r\n logout: PropTypes.func.isRequired,\r\n // profileData: PropTypes.object,\r\n appConfig: PropTypes.object.isRequired,\r\n};\r\n\r\nIndex.defaultProps = {\r\n // profileData: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n profileData: state.auth.profileData,\r\n appConfig: state.pageSettings.appConfig,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n logout: bindActionCreators(AuthStore.actionCreators, dispatch).logout,\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Index);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { Translate } from 'react-localize-redux';\r\n\r\nimport {\r\n withStyles, Grid, Typography,\r\n} from '@material-ui/core';\r\n\r\nimport Header from './components/Header';\r\nimport { Loading } from '../../youwell-common/components';\r\nimport { gridLayout } from '../../common/constants';\r\n\r\nimport ErrorDescription from './components/ErrorDescription';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n header: {\r\n\r\n },\r\n content: {\r\n background: theme.palette.common.white,\r\n },\r\n printFooter: {\r\n padding: theme.spacing(5, 0),\r\n width: '100%',\r\n display: 'none',\r\n\r\n '@media print': {\r\n display: 'block',\r\n },\r\n },\r\n});\r\n\r\nclass Layout extends React.Component {\r\n render() {\r\n const {\r\n classes, children, loading, errorMessage, studentId,\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
\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 \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nLayout.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node,\r\n ]),\r\n classes: PropTypes.object.isRequired,\r\n loading: PropTypes.bool,\r\n errorMessage: PropTypes.string,\r\n studentId: PropTypes.string,\r\n};\r\n\r\nLayout.defaultProps = {\r\n children: null,\r\n loading: false,\r\n errorMessage: null,\r\n studentId: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n loading: state.auth.loading || state.patient.loading || state.program.loading || state.teacher.loading,\r\n errorMessage: [].concat(state.auth.errors, state.patient.errors, state.program.errors, state.teacher.errors).filter(val => val).join('
'),\r\n});\r\n\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Layout));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport { ErrorMessage } from '../../../youwell-common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n margin: theme.spacing(2),\r\n border: theme.borders.normal,\r\n padding: theme.spacing(2),\r\n },\r\n text: {\r\n color: theme.colors.blue2,\r\n },\r\n});\r\n\r\nclass ErrorDescription extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, errorMessage,\r\n } = this.props;\r\n\r\n if (!errorMessage) {\r\n return null;\r\n }\r\n\r\n const description = translate(`errorDescriptions.${errorMessage}`, null, { onMissingTranslation: () => null });\r\n\r\n if (!description) {\r\n return ();\r\n }\r\n\r\n return (\r\n
\r\n \r\n {description}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nErrorDescription.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n clearError: PropTypes.func.isRequired,\r\n errorMessage: PropTypes.string,\r\n};\r\n\r\nErrorDescription.defaultProps = {\r\n errorMessage: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ErrorDescription));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { bindActionCreators } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport { Translate } from 'react-localize-redux';\r\n\r\nimport {\r\n Typography, Menu, MenuItem, IconButton, Hidden, Divider,\r\n} from '@material-ui/core';\r\n\r\nimport {\r\n GridIcon, LogoutIcon, PersonIcon, ExpandIcon, CollapseIcon, RoleIcon,\r\n} from '../../../common/icons';\r\n\r\nimport logo from '../../../common/image/logo negativ stor.svg';\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport * as PageSettingStore from '../../../app/store/PageSettingStore';\r\nimport urls from '../../../app/urls';\r\nimport { Image } from '../../../youwell-common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n height: theme.sizes.headerHeight,\r\n padding: `0 ${theme.spacing(4)}px`,\r\n display: 'flex',\r\n flexShrink: 0,\r\n alignItems: 'center',\r\n color: theme.colors.grey1,\r\n background: theme.colors.blue4,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(0, 1),\r\n },\r\n },\r\n titleLogo: {\r\n flex: '1 1 auto',\r\n textAlign: 'center',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n textAlign: 'left',\r\n },\r\n },\r\n logo: {\r\n width: 100,\r\n },\r\n menuContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n iconLabelDiv: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n icon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n dropMenu: {\r\n top: 40,\r\n },\r\n menuItem: {\r\n borderBottom: theme.borders.normal,\r\n },\r\n studentName: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n student: {\r\n minWidth: 150,\r\n },\r\n activeStudent: {\r\n background: theme.colors.grey2,\r\n },\r\n underline: {\r\n borderBottom: '1px solid',\r\n },\r\n});\r\n\r\nclass Header extends React.Component {\r\n state = {\r\n studentMenuAnchorEl: null,\r\n };\r\n\r\n changeRole = () => {\r\n this.props.logoutRole();\r\n };\r\n\r\n openMenu = name => (event) => {\r\n this.setState({ [name]: event.currentTarget });\r\n };\r\n\r\n closeMenu = name => () => {\r\n this.setState({ [name]: null });\r\n };\r\n\r\n showIntroPopup = () => {\r\n this.closeMenu('studentMenuAnchorEl')();\r\n this.props.showIntroTour();\r\n }\r\n\r\n render() {\r\n const {\r\n classes, profileData, studentList, studentData, clientConfig,\r\n } = this.props;\r\n\r\n const hasMoreStudents = studentList && studentList.length > 1;\r\n\r\n return (\r\n
\r\n {profileData && (\r\n \r\n
\r\n \r\n \r\n {profileData.name}\r\n \r\n
\r\n
\r\n )}\r\n\r\n \r\n \"Logo\"\r\n \r\n\r\n
\r\n\r\n {studentData && (\r\n \r\n \r\n \r\n \r\n {studentData.name}\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {this.state.studentMenuAnchorEl ? : }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n {profileData?.userAccess?.editUsers && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n {hasMoreStudents && studentList.map(student => (\r\n \r\n \r\n \r\n {student.name}\r\n \r\n \r\n ))}\r\n \r\n {!clientConfig.u_AnonymousOnly && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {profileData?.roles?.length > 1 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nHeader.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n profileData: PropTypes.object,\r\n clientConfig: PropTypes.object.isRequired,\r\n studentData: PropTypes.object,\r\n studentList: PropTypes.array,\r\n // studentId: PropTypes.string,\r\n logoutRole: PropTypes.func.isRequired,\r\n showIntroTour: PropTypes.func.isRequired,\r\n};\r\n\r\nHeader.defaultProps = {\r\n profileData: null,\r\n studentList: null,\r\n studentData: null,\r\n // studentId: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n profileData: state.auth.profileData,\r\n clientConfig: state.auth.clientConfig,\r\n studentList: state.patient.list,\r\n studentData: ownProps.studentId && state.patient.details && state.patient.details[ownProps.studentId],\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n showIntroTour: bindActionCreators(PageSettingStore.actionCreators, dispatch).showIntroTour,\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(withStyles(styles)(Header));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as ProgramStore from '../../../app/store/ProgramStore';\r\n\r\nclass LoadProgramDetails extends React.Component {\r\n componentDidMount() {\r\n if (!this.props.hasLoaded) {\r\n if (this.props.content) {\r\n this.props.getPageContent(this.props.programId);\r\n } else {\r\n this.props.getProgramDetails(this.props.programId);\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nLoadProgramDetails.propTypes = {\r\n getProgramDetails: PropTypes.func.isRequired,\r\n getPageContent: PropTypes.func.isRequired,\r\n programId: PropTypes.string.isRequired,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n content: PropTypes.bool,\r\n};\r\n\r\nLoadProgramDetails.defaultProps = {\r\n content: false,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n hasLoaded: ownProps.content ? Boolean(state.program.content && state.program.content[ownProps.programId])\r\n : Boolean(state.program.programDetails),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(ProgramStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoadProgramDetails);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as PatientStore from '../../../app/store/PatientStore';\r\n\r\nclass LoadPatients extends React.Component {\r\n componentDidMount() {\r\n if (!this.props.studentList) {\r\n this.props.getStudentList();\r\n }\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nLoadPatients.propTypes = {\r\n getStudentList: PropTypes.func.isRequired,\r\n studentList: PropTypes.array,\r\n};\r\n\r\nLoadPatients.defaultProps = {\r\n studentList: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n studentList: state.patient.list,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PatientStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoadPatients);\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Button, Typography, CircularProgress, TextField, NoSsr,\r\n} from '@material-ui/core';\r\n\r\nimport classnames from 'classnames';\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport urls from '../../../app/urls';\r\nimport {\r\n validateAllFields, validateField, validateRequired, validateEmail,\r\n} from '../../../youwell-common/validationUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n padding: theme.spacing(3),\r\n background: theme.colors.grey1,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n header: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n textField: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n actionButtons: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(3),\r\n },\r\n infoContainer: {\r\n marginTop: theme.spacing(3),\r\n },\r\n loading: {\r\n height: 340,\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n hidden: {\r\n display: 'none',\r\n },\r\n});\r\n\r\nconst defaultState = {\r\n school: '',\r\n address: '',\r\n name: '',\r\n email: '',\r\n phone: '',\r\n};\r\n\r\nconst validators = {\r\n school: validateRequired,\r\n address: validateRequired,\r\n name: validateRequired,\r\n email: [validateEmail, validateRequired],\r\n phone: validateRequired,\r\n};\r\n\r\nclass RegisterSchool extends React.Component {\r\n state = {\r\n ...defaultState,\r\n validationErrors: {},\r\n };\r\n\r\n handleChange = name => (event) => {\r\n this.setState({ [name]: event.target.value }, () => {\r\n if (validators[name]) {\r\n const validationErrors = validateField(this.state, validators[name], name); // eslint-disable-line react/no-access-state-in-setstate\r\n this.setState({ validationErrors });\r\n }\r\n });\r\n };\r\n\r\n registerSchool = () => {\r\n const validationErrors = validateAllFields(this.state, validators);\r\n\r\n if (!validationErrors.hasErrors) {\r\n const registerData = {\r\n name: this.state.school,\r\n contactInfo: {\r\n name: this.state.name,\r\n email: this.state.email,\r\n phone: this.state.phone,\r\n address: this.state.address,\r\n },\r\n };\r\n\r\n this.props.registerSchool(registerData, { redirect: urls.inside.home });\r\n } else {\r\n this.setState({ validationErrors });\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n classes, translate, errorMessage, loading, history,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n {translate('register.school')}\r\n \r\n
\r\n\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n {translate('register.contactInformation')}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {errorMessage && (\r\n \r\n \r\n {translate(`errors.${errorMessage}`, null, { onMissingTranslation: ({ translationId }) => translationId })}\r\n \r\n \r\n )}\r\n
\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nRegisterSchool.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n registerSchool: PropTypes.func.isRequired,\r\n history: PropTypes.object.isRequired,\r\n loading: PropTypes.bool,\r\n errorMessage: PropTypes.string,\r\n};\r\n\r\nRegisterSchool.defaultProps = {\r\n loading: false,\r\n errorMessage: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n loading: state.auth.loading,\r\n errorMessage: [].concat(state.auth.errors).filter(val => val).join('
'),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n registerSchool: bindActionCreators(AuthStore.actionCreators, dispatch).registerOrganization,\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RegisterSchool)));\r\n","// Copied from Youwell.Platform.Web\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Translate } from 'react-localize-redux';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Typography, CircularProgress, List, ListItem, ListItemText, ListItemIcon,\r\n} from '@material-ui/core';\r\n\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport urls from '../../../app/urls';\r\nimport { OrgIcon, PlusIcon } from '../../../common/icons';\r\nimport { withSchools } from '../../../common/withSchools';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n padding: theme.spacing(3),\r\n background: theme.colors.grey1,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n\r\n content: {\r\n marginTop: theme.spacing(3),\r\n minHeight: 300,\r\n },\r\n\r\n header: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n\r\n description: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n\r\n select: {\r\n background: theme.palette.common.white,\r\n },\r\n\r\n progress: {\r\n marginTop: theme.spacing(1),\r\n },\r\n error: {\r\n marginTop: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass SelectSchool extends React.Component {\r\n onSelect = schoolId => () => this.props.selectSchool(schoolId, { redirect: urls.inside.home });\r\n\r\n onSelectNew = () => this.props.history.push(urls.inside.school.new);\r\n\r\n render() {\r\n const {\r\n classes, errorMessage, loading, schools,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {schools.map(({ id, name }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n
\r\n {loading && }\r\n {errorMessage && (\r\n \r\n {errorMessage}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nSelectSchool.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n selectSchool: PropTypes.func.isRequired,\r\n schools: PropTypes.array.isRequired,\r\n loading: PropTypes.bool,\r\n errorMessage: PropTypes.string,\r\n history: PropTypes.object.isRequired,\r\n};\r\n\r\nSelectSchool.defaultProps = {\r\n loading: false,\r\n errorMessage: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n loading: state.auth.loading,\r\n errorMessage: [].concat(state.auth.errors).filter(val => val).join('
'),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n selectSchool: bindActionCreators(AuthStore.actionCreators, dispatch).selectOrganization,\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(withSchools(SelectSchool))));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport {\r\n Button, Typography, withStyles,\r\n} from '@material-ui/core';\r\n\r\nimport Header from './components/Header';\r\nimport Footer from './components/Footer';\r\nimport { VimoLink } from '../../common/components';\r\nimport urls from '../../app/urls';\r\nimport Auth from '../../youwell-common/Auth';\r\n\r\nimport frontImage from '../../common/image/Photo.jpg';\r\nimport tryButtonImage from '../../common/image/icon_elever.png';\r\nimport { Image } from '../../youwell-common/components';\r\nimport VideoListing from './components/VideoListing';\r\nimport PriceMatrix from './components/PriceMatrix';\r\nimport PublicTaskContent from './components/PublicTaskContent';\r\nimport HomeContent from './components/HomeContent';\r\nimport FaqContent from './components/Faq';\r\nimport { getStylesFromSettings } from '../../youwell-common/components/taskElements/TaskElement';\r\n\r\nexport const contentWidth = 1080;\r\nexport const contentLeftMargin = 200;\r\nconst headerHeight = 80;\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n header: {\r\n top: 0,\r\n width: '100%',\r\n height: headerHeight,\r\n },\r\n content: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n background: theme.palette.common.white,\r\n padding: theme.spacing(8),\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(6, 2, 3),\r\n },\r\n },\r\n blueWhite: {\r\n background: `linear-gradient(180deg, ${theme.colors.blue4} 0%, ${theme.colors.blue4} 44%, ${theme.palette.common.white} 44%, ${theme.palette.common.white} 100%)`,\r\n // color: theme.palette.common.white,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n background: `linear-gradient(180deg, ${theme.colors.blue4} 0%, ${theme.colors.blue4} 42%, ${theme.palette.common.white} 42%, ${theme.palette.common.white} 100%)`,\r\n },\r\n },\r\n grey: {\r\n background: theme.colors.grey2,\r\n },\r\n center: {\r\n width: '100%',\r\n maxWidth: contentWidth,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n minHeight: 0,\r\n },\r\n },\r\n firstContent: {\r\n position: 'relative',\r\n padding: 0,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n frontImage: {\r\n width: '100%',\r\n },\r\n topContent: {\r\n position: 'absolute',\r\n width: contentWidth,\r\n left: '50%',\r\n top: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n display: 'flex',\r\n\r\n [theme.breakpoints.down(contentWidth)]: {\r\n width: '100%',\r\n justifyContent: 'center',\r\n },\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n position: 'relative',\r\n left: '0',\r\n top: '0',\r\n transform: 'none',\r\n },\r\n },\r\n introBox: {\r\n width: '50%',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n marginBottom: theme.spacing(2),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n },\r\n },\r\n introText: {\r\n marginBottom: theme.spacing(2),\r\n padding: theme.spacing(1),\r\n background: '#ffffff7a',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(3),\r\n },\r\n },\r\n flexOnLarge: {\r\n display: 'flex',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n leftMargin: {\r\n flex: `0 0 ${contentLeftMargin}px`,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n flex: `0 0 ${contentLeftMargin / 2}px`,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flex: '1 1 auto',\r\n },\r\n },\r\n bigButton: {\r\n width: 300,\r\n padding: theme.spacing(3),\r\n marginBottom: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: 200,\r\n },\r\n },\r\n buttonSubText: {\r\n width: 300,\r\n textAlign: 'center',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n },\r\n },\r\n tryNow: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(1),\r\n },\r\n tryButtonImage: {\r\n marginBottom: -25,\r\n zIndex: 1,\r\n pointerEvents: 'none',\r\n },\r\n bookMeeting: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(2),\r\n marginBottom: theme.spacing(10),\r\n },\r\n bookMeetingButton: {\r\n background: theme.colors.green3,\r\n color: theme.palette.primary.main,\r\n },\r\n priceMatrix: {\r\n marginTop: theme.spacing(4),\r\n },\r\n twoColumn: {\r\n width: '50%',\r\n\r\n '&:first-child': {\r\n paddingRight: theme.spacing(2),\r\n [theme.breakpoints.down('sm')]: {\r\n paddingRight: 0,\r\n },\r\n },\r\n '&:last-child': {\r\n paddingLeft: theme.spacing(2),\r\n [theme.breakpoints.down('sm')]: {\r\n paddingLeft: 0,\r\n },\r\n },\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100%',\r\n },\r\n },\r\n topHtmlContent: {\r\n '& figure.media': {\r\n marginRight: contentLeftMargin,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n marginRight: 50,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n marginRight: 0,\r\n },\r\n },\r\n '& a': {\r\n color: theme.colors.green3,\r\n },\r\n },\r\n doubleLineHeight: {\r\n lineHeight: '2em',\r\n },\r\n loggedInBox: {\r\n width: 400,\r\n padding: theme.spacing(3),\r\n background: theme.colors.grey2,\r\n },\r\n loggedInName: {\r\n margin: theme.spacing(2, 0, 4),\r\n },\r\n priceContent: {\r\n color: theme.palette.primary.main,\r\n '& p': {\r\n marginBottom: '0.5em',\r\n },\r\n },\r\n faq: {\r\n marginTop: theme.spacing(6),\r\n },\r\n});\r\n\r\nclass Home extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, profileData, content,\r\n } = this.props;\r\n\r\n const isLoggedIn = Auth.isUserAuthenticated();\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n {isLoggedIn && profileData ? (\r\n
\r\n \r\n {translate('frontpage.youAreLoggedIn')}\r\n \r\n \r\n {profileData.name}\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n \r\n {translate('frontpage.aboutVimoShort')}\r\n \r\n \r\n \r\n {translate('frontpage.30DaysFreeTest')}\r\n \r\n
\r\n )}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n {translate('frontpage.aboutVimo')}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n {!isLoggedIn && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nHome.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n profileData: PropTypes.object,\r\n content: PropTypes.array.isRequired,\r\n};\r\n\r\nHome.defaultProps = {\r\n profileData: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n appConfig: state.pageSettings.appConfig,\r\n content: (state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules?.find(d => d.id === state.pageSettings.appConfig?.frontpageModuleId)?.tasks) || [],\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Home));\r\n","import * as React from 'react';\r\nimport {\r\n Route, Switch,\r\n} from 'react-router-dom';\r\n\r\nimport Home from './Home';\r\nimport Logout from './components/Logout';\r\nimport SelectRole from './components/SelectRole';\r\n\r\nimport urls from '../../app/urls';\r\nimport Login from './components/Login';\r\nimport ResetPassword from './components/ResetPassword';\r\nimport ForgotPassword from './components/ForgotPassword';\r\nimport RegisterUser from './components/RegisterUser';\r\nimport Layout from './components/Layout';\r\nimport Page from './Page';\r\nimport StudentLogin from './components/StudentLogin';\r\nimport LoadProfileData from '../../common/components/LoadProfileData';\r\n\r\nconst Pages = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nclass Index extends React.Component {\r\n render() {\r\n return (\r\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 Index;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { InfoMessage } from '../../common/components';\r\nimport PublicTaskContent from './components/PublicTaskContent';\r\n\r\nexport const styles = () => ({\r\n root: {\r\n },\r\n});\r\n\r\nconst Task = ({ classes, task, hasLoaded }) => {\r\n if (!task) {\r\n return hasLoaded ? () : null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nTask.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n task: PropTypes.object,\r\n};\r\n\r\nTask.defaultProps = {\r\n task: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const itemId = ownProps?.match?.params?.taskId;\r\n const task = itemId && state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules\r\n ?.reduce((prev, curr) => prev || curr.tasks?.find(d => d.id === itemId)\r\n , null);\r\n\r\n return {\r\n clientConfig: state.auth.clientConfig,\r\n hasLoaded: Boolean(state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]),\r\n task,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Task));\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport Accordion from '@material-ui/core/Accordion';\r\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\r\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\n\r\nimport HtmlContent from '../../../youwell-common/components/HtmlContent';\r\n\r\nconst FaqContent = ({ task, className }) => {\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n\r\n if (!task) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n }>\r\n {translate('frontpage.faq')}\r\n \r\n\r\n {task.contentElements.map(el => (\r\n \r\n }>\r\n {el.title}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nFaqContent.propTypes = {\r\n task: PropTypes.object,\r\n className: PropTypes.string,\r\n};\r\nFaqContent.defaultProps = {\r\n task: null,\r\n className: null,\r\n};\r\n\r\nexport default FaqContent;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Translate } from 'react-localize-redux';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n Typography,\r\n} from '@material-ui/core';\r\n\r\nimport { Link } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { contactEmail } from '../../../common/constants';\r\nimport logo from '../../../common/image/logo negativ stor.svg';\r\nimport fbIcon from '../../../common/image/facebook48.png';\r\nimport twitterIcon from '../../../common/image/twitter48.png';\r\nimport linkedinIcon from '../../../common/image/linkedin48.png';\r\nimport { Image } from '../../../youwell-common/components';\r\nimport urls from '../../../app/urls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n height: theme.sizes.footerHeight,\r\n padding: theme.spacing(0, 4),\r\n display: 'flex',\r\n flexShrink: 0,\r\n alignItems: 'center',\r\n color: theme.palette.common.white,\r\n background: theme.colors.blue4,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n padding: 0,\r\n height: 'auto',\r\n },\r\n\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n item: {\r\n flex: '1 1 auto',\r\n height: '100%',\r\n padding: theme.spacing(4, 2),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n height: 'auto',\r\n },\r\n },\r\n firstItem: {\r\n flex: '2 1 auto',\r\n },\r\n logo: {\r\n width: 100,\r\n },\r\n link: {\r\n display: 'block',\r\n marginBottom: theme.spacing(2),\r\n },\r\n underline: {\r\n borderBottom: '1px solid',\r\n },\r\n titleText: {\r\n marginTop: theme.spacing(2),\r\n width: 150,\r\n },\r\n share: {\r\n marginTop: theme.spacing(2),\r\n justifySelf: 'flex-end',\r\n display: 'flex',\r\n },\r\n shareLink: {\r\n marginRight: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass Footer extends React.Component {\r\n render() {\r\n const {\r\n classes, appConfig,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \"Logo\"\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {contactEmail}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \"Share\r\n \r\n \r\n \"Share\r\n \r\n \r\n \"Share\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nFooter.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n appConfig: PropTypes.object.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n appConfig: state.pageSettings.appConfig,\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Footer));\r\n","import React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { withRouter, Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Button, Typography, TextField, CircularProgress,\r\n} from '@material-ui/core';\r\nimport { bindActionCreators } from 'redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport urls from '../../../app/urls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n header: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n textField: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n actionButtons: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(3),\r\n },\r\n subActions: {\r\n },\r\n infoContainer: {\r\n marginTop: theme.spacing(3),\r\n },\r\n loading: {\r\n height: 200,\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n completedMessageContainer: {\r\n margin: theme.spacing(2, 0, 4),\r\n color: theme.colors.green2,\r\n },\r\n homeLink: {\r\n marginTop: theme.spacing(2),\r\n },\r\n});\r\n\r\nconst ForgotPassword = ({\r\n translate, forgotPassword, loading, errorMessage, classes,\r\n}) => {\r\n const [{ email, submitted }, setState] = useState({ email: '', submitted: false });\r\n\r\n const handleForgotPassword = (e) => {\r\n e.preventDefault();\r\n forgotPassword(email, {\r\n callback: () => {\r\n setState({\r\n submitted: true,\r\n });\r\n },\r\n });\r\n };\r\n\r\n if (submitted && !loading && !errorMessage) {\r\n return (\r\n
\r\n
\r\n \r\n {translate('login.forgotPassword')}\r\n \r\n
\r\n\r\n \r\n {translate('login.sentForgotPasswordEmail')}\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n {translate('register.goToLogin')}\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n return (\r\n
\r\n
\r\n \r\n {translate('login.forgotPassword')}\r\n \r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n setState({ email: e.target.value })}\r\n fullWidth\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n\r\n
\r\n \r\n \r\n {translate('login.cancel')}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n {errorMessage && (\r\n \r\n {translate(`errors.${errorMessage}`, null, { onMissingTranslation: () => translate('login.forgotPasswordError') })}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nForgotPassword.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n loading: PropTypes.bool.isRequired,\r\n forgotPassword: PropTypes.func.isRequired,\r\n errorMessage: PropTypes.string,\r\n};\r\n\r\nForgotPassword.defaultProps = {\r\n errorMessage: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n loading: state.auth.loading,\r\n sentForgotPasswordEmail: state.auth.sentForgotPasswordEmail,\r\n errorMessage: [].concat(state.auth.errors).filter(val => val).join('
'),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n )(withStyles(styles)(ForgotPassword)),\r\n);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { getTranslate, Translate } from 'react-localize-redux';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport classnames from 'classnames';\r\n\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport urls from '../../../app/urls';\r\nimport logo from '../../../common/image/logo negativ stor.svg';\r\nimport { Image } from '../../../youwell-common/components';\r\nimport Auth from '../../../youwell-common/Auth';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n color: theme.colors.grey1,\r\n background: theme.colors.blue4,\r\n padding: theme.spacing(0, 6),\r\n },\r\n\r\n logo: {\r\n width: 100,\r\n marginRight: theme.spacing(6),\r\n },\r\n title: {\r\n display: 'flex',\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n display: 'none',\r\n },\r\n },\r\n flex: {\r\n flex: '1 1 auto',\r\n },\r\n titleText: {\r\n width: 150,\r\n },\r\n link: {\r\n marginLeft: theme.spacing(2),\r\n },\r\n hideOnSmall: {\r\n [theme.breakpoints.down('xs')]: {\r\n display: 'none',\r\n },\r\n },\r\n});\r\n\r\nclass Header extends React.Component {\r\n render() {\r\n const {\r\n classes, className, hideHeaderLinks, headerPageTitle, profileData,\r\n } = this.props;\r\n\r\n const isLoggedIn = Auth.isUserAuthenticated() && profileData;\r\n\r\n return (\r\n
\r\n \r\n \"Logo\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n {headerPageTitle && (\r\n \r\n {headerPageTitle}\r\n \r\n )}\r\n\r\n {!hideHeaderLinks && (\r\n <>\r\n \r\n \r\n \r\n \r\n {isLoggedIn\r\n ? \r\n : (\r\n <>\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nHeader.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n className: PropTypes.string,\r\n hideHeaderLinks: PropTypes.bool,\r\n headerPageTitle: PropTypes.string,\r\n profileData: PropTypes.object,\r\n};\r\n\r\nHeader.defaultProps = {\r\n className: null,\r\n hideHeaderLinks: false,\r\n headerPageTitle: null,\r\n profileData: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Header));\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { createStyles } from '@material-ui/core';\r\n\r\nimport HtmlContent from '../../../youwell-common/components/HtmlContent';\r\nimport { getStylesFromSettings } from '../../../youwell-common/components/taskElements/TaskElement';\r\n\r\n\r\nconst useStyles = makeStyles(theme => createStyles({\r\n blueBox: {\r\n backgroundColor: '#FFFFFF25',\r\n margin: theme.spacing(8, -12, 16, -20),\r\n padding: theme.spacing(6, 12, 6, 20),\r\n\r\n '& p': {\r\n color: theme.palette.primary.main,\r\n },\r\n\r\n '& figure.image.image-style-align-left': {\r\n marginRight: theme.spacing(8),\r\n },\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n margin: theme.spacing(8, -1, 16, -1),\r\n padding: theme.spacing(4, 0, 8, 0),\r\n '& figure.image.image-style-align-left': {\r\n display: 'none',\r\n },\r\n },\r\n },\r\n tanBox: {\r\n backgroundColor: '#FFDECC76',\r\n margin: theme.spacing(8, -12, 16, -20),\r\n padding: theme.spacing(4, 12, 8, 20),\r\n\r\n '& figure.image figcaption': {\r\n background: 'transparent',\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n margin: theme.spacing(8, -2, 16, -2),\r\n padding: theme.spacing(4, 0, 8, 0),\r\n },\r\n },\r\n flexContent: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n\r\n '& h3, & h4, & h5, & h6': {\r\n width: '100%',\r\n },\r\n '& figure': {\r\n flex: '1 1 auto',\r\n },\r\n '& img': {\r\n maxWidth: '100%',\r\n width: 140,\r\n },\r\n '& figcaption': {\r\n maxWidth: '100%',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& img': {\r\n width: 100,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n display: 'block',\r\n },\r\n },\r\n content: {\r\n marginTop: theme.spacing(4),\r\n },\r\n htmlContent: {\r\n '& h3': {\r\n fontWeight: 500,\r\n marginBottom: theme.spacing(4),\r\n '&:first-child': {\r\n marginTop: 0,\r\n },\r\n },\r\n '& ul': {\r\n padding: theme.spacing(4),\r\n },\r\n '& li': {\r\n marginBottom: theme.spacing(4),\r\n },\r\n '& ul li::marker': {\r\n color: 'black',\r\n fontSize: '1em',\r\n },\r\n },\r\n}));\r\n\r\n\r\nconst HomeContent = ({ task }) => {\r\n const classes = useStyles();\r\n if (!task) {\r\n return null;\r\n }\r\n const choosenHtmlContent = (element) => {\r\n switch (element.settings?.styleId) {\r\n case 'bluebox':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 'tanbox':\r\n return (\r\n
\r\n \r\n
\r\n\r\n );\r\n default:\r\n return (\r\n );\r\n }\r\n };\r\n return (\r\n <>\r\n {task.contentElements.map(el => (\r\n
\r\n {choosenHtmlContent(el)}\r\n
\r\n ))}\r\n \r\n );\r\n};\r\n\r\nHomeContent.propTypes = {\r\n task: PropTypes.object,\r\n};\r\nHomeContent.defaultProps = {\r\n task: null,\r\n};\r\n\r\nexport default HomeContent;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n withStyles,\r\n} from '@material-ui/core';\r\n\r\nimport Header from './Header';\r\nimport Footer from './Footer';\r\n\r\nexport const contentWidth = 1080;\r\nexport const headerHeight = 80;\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n minHeight: '100vh',\r\n },\r\n header: {\r\n width: '100%',\r\n height: headerHeight,\r\n },\r\n content: {\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n background: theme.colors.grey2,\r\n padding: theme.spacing(8),\r\n\r\n '&$fullPage': {\r\n alignItems: 'normal',\r\n },\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(6, 2),\r\n },\r\n },\r\n fullPage: {\r\n },\r\n center: {\r\n border: theme.borders.green,\r\n padding: theme.spacing(3),\r\n background: theme.colors.grey1,\r\n minWidth: 400,\r\n maxWidth: contentWidth,\r\n minHeight: 260,\r\n\r\n '$fullPage &': {\r\n flex: '1 1 auto',\r\n },\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n minWidth: 0,\r\n width: '100%',\r\n },\r\n },\r\n});\r\n\r\nclass Layout extends React.Component {\r\n render() {\r\n const {\r\n classes, children, headerProps, fullPage,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n {children && (\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\nLayout.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node,\r\n ]).isRequired,\r\n headerProps: PropTypes.object,\r\n fullPage: PropTypes.bool,\r\n};\r\n\r\nLayout.defaultProps = {\r\n headerProps: null,\r\n fullPage: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Layout));\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withRouter, Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Button, Typography, CircularProgress, TextField, ButtonBase, Switch, FormControlLabel,\r\n} from '@material-ui/core';\r\nimport { contactEmail } from '../../../common/constants';\r\n\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport Auth from '../../../youwell-common/Auth';\r\nimport urls from '../../../app/urls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n maxWidth: 400,\r\n },\r\n header: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n loginDescription: {\r\n marginTop: theme.spacing(3),\r\n marginBottom: theme.spacing(3),\r\n },\r\n textField: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n textFieldPin: {\r\n marginRight: theme.spacing(8),\r\n width: 100,\r\n },\r\n actionButtons: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(3),\r\n },\r\n pinLogin: {\r\n padding: theme.spacing(2),\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(2),\r\n },\r\n subActions: {\r\n },\r\n infoContainer: {\r\n marginTop: theme.spacing(3),\r\n },\r\n loading: {\r\n height: 200,\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n patientLogin: {\r\n marginTop: theme.spacing(8),\r\n borderTop: theme.borders.green,\r\n paddingTop: theme.spacing(8),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n },\r\n studentLoginButton: {\r\n alignSelf: 'center',\r\n },\r\n});\r\n\r\nconst getErrorMessage = (translate, errorMessage, is2FALogin) => {\r\n switch (errorMessage) {\r\n case '1065':\r\n if (is2FALogin) {\r\n return translate('login.twoFactorPinFailed');\r\n }\r\n break;\r\n case '1106':\r\n case '1107':\r\n return translate('login.missingPhoneFor2FA', { contactEmail });\r\n default:\r\n break;\r\n }\r\n return translate(`errors.${errorMessage}`, null, { onMissingTranslation: () => `System error (${errorMessage})` });\r\n};\r\n\r\n\r\nclass Login extends React.Component {\r\n state = {\r\n email: '',\r\n password: '',\r\n pin: '',\r\n addToTrustedDevices: false,\r\n patientCode: '',\r\n };\r\n\r\n componentDidMount() {\r\n const redirect = this.props.match.params.redirect ? decodeURIComponent(this.props.match.params.redirect) : urls.inside.home;\r\n if (this.props.match.params.code) {\r\n this.props.loginWithCode(this.props.match.params.code, this.props.match.params.provider, this.props.match.params.state, { redirect });\r\n } else if (Auth.isUserAuthenticated()) {\r\n this.props.getUserProfile({ redirect });\r\n }\r\n }\r\n\r\n handleChange = name => (event) => {\r\n this.setState({ [name]: event.target.value });\r\n };\r\n\r\n handleAddToTrustedDevicesChange = (e) => {\r\n this.setState({\r\n addToTrustedDevices: e.target.checked,\r\n });\r\n };\r\n\r\n handleTabChange = name => (event, value) => {\r\n this.setState({\r\n [name]: value,\r\n });\r\n }\r\n\r\n handleKeyPressUserPwd = (e) => {\r\n if (e.key === 'Enter' && this.state.email && this.state.password) {\r\n this.login();\r\n }\r\n };\r\n\r\n handleKeyPressPin = (e) => {\r\n if (e.key === 'Enter' && this.state.pin) {\r\n this.login();\r\n }\r\n };\r\n\r\n handleKeyPressPatientCode = (e) => {\r\n if (e.key === 'Enter' && this.state.patientCode) {\r\n this.loginPatientCode();\r\n }\r\n };\r\n\r\n loginPatientCode = () => {\r\n if (this.state.patientCode) {\r\n this.props.redirect(`${urls.studentCode.home}/${this.state.patientCode}`);\r\n }\r\n }\r\n\r\n login = () => {\r\n const redirect = this.props.match.params.redirect ? decodeURIComponent(this.props.match.params.redirect) : urls.inside.home;\r\n\r\n if (this.props.twoFactorId) {\r\n if (!this.state.pin) {\r\n return;\r\n }\r\n this.props.loginWithPin(this.state.pin, this.props.twoFactorId, this.state.addToTrustedDevices, { redirect });\r\n } else {\r\n if (!this.state.email || !this.state.password) {\r\n return;\r\n }\r\n const email = this.state.email.indexOf('@') > -1 ? this.state.email : `${this.state.email}@vimo.no`;\r\n this.props.login(email, this.state.password, { redirect });\r\n }\r\n };\r\n\r\n cancelTwoFactorLogin = () => {\r\n this.props.cancelTwoFactor();\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, errorMessage, loading, match, logoutReason, twoFactorId,\r\n } = this.props;\r\n\r\n const showTwoFactorPinLogin = !!twoFactorId;\r\n const serverLogin = match.params.code || Auth.isUserAuthenticated();\r\n const showStudentLogin = match.params.redirect === 'student';\r\n\r\n return (\r\n
\r\n
\r\n \r\n {translate('login.heading')}\r\n \r\n
\r\n\r\n {loading ? (\r\n
\r\n \r\n {serverLogin && !errorMessage && (\r\n \r\n {translate('login.loginInProgress')}\r\n \r\n )}\r\n
\r\n ) : (\r\n <>\r\n {showTwoFactorPinLogin ? (\r\n
\r\n \r\n {translate('login.twoFactorPinDescription')}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n label={translate('login.addToTrustedDevices')}\r\n />\r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n )}\r\n\r\n {showTwoFactorPinLogin ? (\r\n
\r\n \r\n \r\n {translate('login.cancel')}\r\n \r\n \r\n
\r\n ) : (\r\n <>\r\n
\r\n \r\n \r\n {translate('login.registerNewUser')}\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n {translate('login.forgotPassword')}\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n\r\n
\r\n {logoutReason && (\r\n \r\n {translate(`errors.${logoutReason}`, null, { onMissingTranslation: () => translate('login.youHaveBeenLoggedOut') })}\r\n \r\n )}\r\n {errorMessage && (\r\n \r\n {getErrorMessage(translate, errorMessage, showTwoFactorPinLogin)}\r\n \r\n )}\r\n
\r\n\r\n {showStudentLogin && (\r\n
\r\n
\r\n \r\n {translate('login.studentLogin')}\r\n \r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nLogin.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n match: PropTypes.object.isRequired,\r\n getUserProfile: PropTypes.func.isRequired,\r\n login: PropTypes.func.isRequired,\r\n loginWithPin: PropTypes.func.isRequired,\r\n loginWithCode: PropTypes.func.isRequired,\r\n cancelTwoFactor: PropTypes.func.isRequired,\r\n redirect: PropTypes.func.isRequired,\r\n loading: PropTypes.bool,\r\n errorMessage: PropTypes.string,\r\n twoFactorId: PropTypes.string,\r\n logoutReason: PropTypes.string,\r\n};\r\n\r\nLogin.defaultProps = {\r\n loading: false,\r\n errorMessage: null,\r\n logoutReason: null,\r\n twoFactorId: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n loading: state.auth.loading,\r\n errorMessage: [].concat(state.auth.errors).filter(val => val).join('
'),\r\n logoutReason: state.auth.logoutReason,\r\n twoFactorId: state.auth.twoFactorId,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Login)));\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { bindActionCreators } from 'redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport Loading from '../../../youwell-common/components/Loading';\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\n\r\nconst styles = () => ({\r\n root: {\r\n },\r\n});\r\n\r\nclass Logout extends React.Component {\r\n componentDidMount() {\r\n this.props.logout(this.props.match.params.reason);\r\n }\r\n\r\n render() {\r\n const { classes, translate } = this.props;\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nLogout.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n logout: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n reason: PropTypes.string,\r\n }).isRequired,\r\n }).isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Logout)));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport {\r\n Typography,\r\n} from '@material-ui/core';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n matrix: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n marginBottom: theme.spacing(2),\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n flexWrap: 'wrap',\r\n },\r\n },\r\n item: {\r\n flex: '1 1 20%',\r\n margin: theme.spacing(1),\r\n borderRadius: theme.spacing(1),\r\n background: theme.colors.green3,\r\n '&:nth-child(even)': {\r\n background: theme.palette.common.white,\r\n },\r\n padding: theme.spacing(2, 2, 4, 2),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(2),\r\n },\r\n },\r\n itemTopLine: {\r\n textTransform: 'uppercase',\r\n fontWeight: 500,\r\n },\r\n price: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n fontSize: '1.5rem',\r\n fontWeight: 500,\r\n marginTop: theme.spacing(4),\r\n },\r\n priceStart: {\r\n fontSize: '1.5em',\r\n fontWeight: 600,\r\n marginRight: theme.spacing(0.5),\r\n },\r\n number: {\r\n fontSize: '2em',\r\n fontWeight: 600,\r\n marginRight: theme.spacing(1),\r\n color: theme.colors.green1,\r\n },\r\n priceEnd: {\r\n alignSelf: 'flex-end',\r\n },\r\n subline: {\r\n marginTop: theme.spacing(4),\r\n textAlign: 'center',\r\n },\r\n license: {\r\n display: 'flex',\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column-reverse',\r\n },\r\n },\r\n licenseLink: {\r\n justifySelf: 'flex-end',\r\n },\r\n flex: {\r\n flex: '1 1 auto',\r\n },\r\n underline: {\r\n borderBottom: '1px solid',\r\n },\r\n});\r\n\r\nconst PriceItem = ({\r\n classes, translate, users, price, privateUser, name,\r\n}) => (\r\n
\r\n \r\n {name}\r\n \r\n \r\n kr\r\n {price}\r\n /mnd\r\n \r\n \r\n {privateUser ? translate('priceMatrix.privateUser') : users === 1 ? translate('priceMatrix.limitOneStudent') : translate('priceMatrix.limitStudents', { users }) }\r\n \r\n \r\n {!privateUser && translate('priceMatrix.minMonthInvoice', { months: users > 1 ? 6 : 12 }) }\r\n \r\n
\r\n);\r\n\r\nPriceItem.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n users: PropTypes.number.isRequired,\r\n price: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n privateUser: PropTypes.bool,\r\n};\r\n\r\nPriceItem.defaultProps = {\r\n privateUser: false,\r\n};\r\n\r\nconst PriceMatrix = ({\r\n className, classes, translate,\r\n}) => (\r\n
\r\n \r\n {translate('priceMatrix.price')}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n);\r\n\r\nPriceMatrix.propTypes = {\r\n className: PropTypes.string,\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n};\r\n\r\nPriceMatrix.defaultProps = {\r\n className: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(PriceMatrix));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport classnames from 'classnames';\r\n\r\nimport * as PageSettingStore from '../../../app/store/PageSettingStore';\r\n\r\nimport { TaskContent } from '../../../youwell-common/components';\r\nimport urls from '../../../app/urls';\r\nimport { isBrowser } from '../../../youwell-common/browserUtils';\r\nimport { parseInternalLink } from '../../../youwell-common/taskContentUtils';\r\nimport { getContentTranslations } from '../../../common/components/VimoTaskContent';\r\n\r\nexport const styles = theme => ({\r\n root: {\r\n },\r\n htmlContent: {\r\n color: theme.colors.blue4,\r\n },\r\n taskTitle: {\r\n color: theme.palette.primary.main,\r\n marginBottom: theme.spacing(4),\r\n },\r\n});\r\n\r\n\r\nclass PublicTaskContent extends React.Component {\r\n componentDidMount() {\r\n if (isBrowser) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n window.__clickInternalLink = this.clickInternalLink;\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (isBrowser) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n window.__clickInternalLink = null;\r\n }\r\n }\r\n\r\n clickInternalLink = (elementId) => {\r\n const url = this.getLinkUrl({ url: elementId });\r\n this.props.redirect(url);\r\n }\r\n\r\n getLinkUrl = (link) => {\r\n const { taskOrModuleId, hash } = parseInternalLink(link);\r\n return `${urls.page}/${taskOrModuleId}${hash}`;\r\n }\r\n\r\n getProgramItem = id => (this.props.allContent ? this.props.allContent[id] : null)\r\n\r\n render() {\r\n const {\r\n classes, translate, task, showTitle,\r\n } = this.props;\r\n\r\n if (!task) {\r\n return null;\r\n }\r\n\r\n return (\r\n {}}\r\n onSaveChanges={() => {}}\r\n onResponse={() => {}}\r\n />\r\n );\r\n }\r\n}\r\n\r\nPublicTaskContent.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n redirect: PropTypes.func.isRequired,\r\n task: PropTypes.object,\r\n allContent: PropTypes.object,\r\n showTitle: PropTypes.bool,\r\n};\r\n\r\nPublicTaskContent.defaultProps = {\r\n task: null,\r\n showTitle: false,\r\n allContent: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n allContent: state.program.content,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PageSettingStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PublicTaskContent));\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withRouter, Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Button, Typography, TextField, NoSsr, FormControlLabel, Checkbox, FormControl,\r\n} from '@material-ui/core';\r\nimport classnames from 'classnames';\r\n\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport urls from '../../../app/urls';\r\nimport {\r\n validateAllFields, validateField, validateRequired, validateEmail,\r\n} from '../../../youwell-common/validationUtils';\r\nimport { contactEmail } from '../../../common/constants';\r\nimport { Loading } from '../../../youwell-common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n header: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n tabs: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n registerDescription: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n row: {\r\n display: 'flex',\r\n },\r\n textField: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n schoolName: {\r\n flex: '1 1 auto',\r\n '&$hidden': {\r\n display: 'inline',\r\n visibility: 'hidden',\r\n },\r\n\r\n },\r\n privateUser: {\r\n flex: '1 1 50%',\r\n marginLeft: theme.spacing(2),\r\n },\r\n consentForm: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-around',\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n requiredCheckbox: {\r\n borderBottom: theme.borders.red,\r\n },\r\n actionButtons: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(3),\r\n },\r\n infoContainer: {\r\n marginTop: theme.spacing(3),\r\n },\r\n loading: {\r\n height: 340,\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n linkToForgotPassword: {\r\n marginLeft: theme.spacing(1),\r\n color: theme.palette.primary.main,\r\n borderBottom: '1px solid',\r\n },\r\n hidden: {\r\n display: 'none',\r\n },\r\n});\r\n\r\nconst defaultState = {\r\n name: '',\r\n email: '',\r\n phone: '',\r\n consent: false,\r\n schoolName: '',\r\n schoolRole: '',\r\n privateUser: false,\r\n};\r\n\r\nconst validators = {\r\n name: validateRequired,\r\n email: [validateEmail, validateRequired],\r\n phone: validateRequired,\r\n consent: validateRequired,\r\n\r\n schoolName: validateRequired,\r\n schoolRole: validateRequired,\r\n};\r\n\r\nclass RegisterUser extends React.Component {\r\n state = {\r\n ...defaultState,\r\n registrationSent: false,\r\n validationErrors: {},\r\n };\r\n\r\n handleChange = name => (event) => {\r\n this.setState({ [name]: event.target.value }, () => {\r\n if (validators[name]) {\r\n const validationErrors = validateField(this.state, validators[name], name); // eslint-disable-line react/no-access-state-in-setstate\r\n this.setState({ validationErrors });\r\n }\r\n });\r\n };\r\n\r\n handleCheckedChange = name => (event) => {\r\n this.setState({ [name]: event.target.checked }, () => {\r\n if (validators[name]) {\r\n const validationErrors = validateField(this.state, validators[name], name); // eslint-disable-line react/no-access-state-in-setstate\r\n this.setState({ validationErrors });\r\n }\r\n });\r\n };\r\n\r\n registerUser = () => {\r\n const selectedValidators = {\r\n email: validators.email,\r\n consent: validators.consent,\r\n name: validators.name,\r\n phone: validators.phone,\r\n schoolName: this.state.privateUser || validators.schoolName,\r\n };\r\n\r\n const validationErrors = validateAllFields(this.state, selectedValidators);\r\n\r\n if (validationErrors.hasErrors) {\r\n this.setState({ validationErrors });\r\n return;\r\n }\r\n\r\n const registerData = {\r\n organizationId: this.props.appConfig.orgId,\r\n name: this.state.name,\r\n email: this.state.email,\r\n phone: this.state.phone,\r\n extendedProperties: this.state.privateUser ? undefined : {\r\n schoolName: this.state.schoolName,\r\n schoolRole: this.state.schoolRole,\r\n },\r\n };\r\n\r\n const registerOptions = {\r\n callback: () => this.setState({ registrationSent: true }),\r\n };\r\n\r\n this.props.registerUser(registerData, registerOptions);\r\n };\r\n\r\n cancel = (e) => {\r\n e.preventDefault();\r\n window?.history?.back();\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, errorMessage, loading, appConfig,\r\n } = this.props;\r\n\r\n if (this.state.registrationSent) {\r\n return (\r\n
\r\n
\r\n \r\n {translate('register.registrationComplete')}\r\n \r\n
\r\n\r\n \r\n {translate('register.registrationCompleteDescription')}\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n {translate('register.goToLogin')}\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n {translate('register.user')}\r\n \r\n
\r\n\r\n \r\n\r\n \r\n {translate('register.registrationDescription')}\r\n \r\n \r\n {translate('register.registrationSchoolAffiliation')}\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n {/* \r\n )}\r\n label={translate('register.registerAsPrivateUser')}\r\n /> */}\r\n
\r\n \r\n
\r\n \r\n \r\n )}\r\n label={translate('register.consent')}\r\n />\r\n \r\n\r\n \r\n \r\n {translate('register.openPrivacyPolicy')}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {translate('register.cancel')}\r\n \r\n \r\n \r\n
\r\n
\r\n {errorMessage && (\r\n \r\n \r\n {translate(`errors.${errorMessage}`, { contactEmail }, { onMissingTranslation: ({ translationId }) => translationId })}\r\n {errorMessage === '1035' && (\r\n \r\n {translate('login.forgotPassword')}\r\n \r\n )}\r\n \r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nRegisterUser.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n registerUser: PropTypes.func.isRequired,\r\n loading: PropTypes.bool,\r\n errorMessage: PropTypes.string,\r\n appConfig: PropTypes.object.isRequired,\r\n};\r\n\r\nRegisterUser.defaultProps = {\r\n loading: false,\r\n errorMessage: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n loading: state.auth.loading,\r\n errorMessage: [].concat(state.auth.errors).filter(val => val).join('
'),\r\n appConfig: state.pageSettings.appConfig,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RegisterUser)));\r\n","import React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { withRouter, Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { bindActionCreators } from 'redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport {\r\n Button, Typography, CircularProgress, TextField,\r\n} from '@material-ui/core';\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport urls from '../../../app/urls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n header: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n loginDescription: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n textField: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n actionButtons: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(3),\r\n },\r\n subActions: {\r\n },\r\n infoContainer: {\r\n marginTop: theme.spacing(3),\r\n },\r\n loading: {\r\n height: 200,\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n completedMessageContainer: {\r\n marginTop: theme.spacing(2),\r\n background: theme.palette.grey[50],\r\n color: theme.colors.blue,\r\n padding: theme.spacing(2),\r\n borderRadius: theme.spacing(0.5),\r\n border: theme.borders.dim,\r\n },\r\n homeLink: {\r\n marginTop: theme.spacing(2),\r\n },\r\n});\r\n\r\nconst ResetPassword = ({\r\n match, translate, loading, resetPassword, errorMessage, classes,\r\n}) => {\r\n const [{ password, submitted }, setState] = useState({\r\n password: '',\r\n submitted: false,\r\n });\r\n\r\n const handleResetPassword = (e) => {\r\n e.preventDefault();\r\n if (!loading) {\r\n resetPassword({\r\n newPassword: password,\r\n token: match.params.token,\r\n }, {\r\n callback: () => {\r\n setState({\r\n submitted: true,\r\n });\r\n },\r\n });\r\n }\r\n };\r\n\r\n const completed = submitted && !loading && !errorMessage;\r\n\r\n return (\r\n
\r\n
\r\n \r\n {translate('login.forgotPassword')}\r\n \r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {completed ? (\r\n <>\r\n
\r\n \r\n {translate('login.resetPasswordSubmitted')}\r\n \r\n
\r\n \r\n \r\n {translate('login.backToFrontPage')}\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n {translate('login.resetPasswordDescription')}\r\n \r\n\r\n setState({ password: e.target.value })}\r\n fullWidth\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n />\r\n\r\n
\r\n \r\n \r\n {translate('login.cancel')}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n )}\r\n
\r\n {errorMessage && (\r\n \r\n {translate(`errors.${errorMessage}`, null, { onMissingTranslation: () => translate('login.resetPasswordError') })}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nResetPassword.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n match: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n loading: PropTypes.bool.isRequired,\r\n resetPassword: PropTypes.func.isRequired,\r\n errorMessage: PropTypes.string,\r\n};\r\n\r\nResetPassword.defaultProps = {\r\n errorMessage: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n loading: state.auth.loading,\r\n errorMessage: [].concat(state.auth.errors).filter(val => val).join('
'),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n )(withStyles(styles)(ResetPassword)),\r\n);\r\n","// Copied from Youwell.Platform.Web\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Translate } from 'react-localize-redux';\r\nimport { withRouter, Redirect } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Typography, CircularProgress, List, ListItem, ListItemText, ListItemIcon,\r\n} from '@material-ui/core';\r\n\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport urls from '../../../app/urls';\r\nimport { OrgIcon } from '../../../common/icons';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n\r\n loginHeader: {\r\n },\r\n\r\n content: {\r\n },\r\n\r\n progress: {\r\n marginTop: theme.spacing(1),\r\n },\r\n error: {\r\n marginTop: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass SelectRole extends React.Component {\r\n onSelect = roleId => () => {\r\n this.props.selectRole(roleId, { redirect: urls.inside.home });\r\n };\r\n\r\n render() {\r\n const {\r\n classes, errorMessage, loading, roles,\r\n } = this.props;\r\n\r\n if (!roles || roles.length === 0) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n {roles && roles.map(role => (\r\n \r\n \r\n \r\n \r\n null }} />}\r\n />\r\n \r\n ))}\r\n \r\n {loading\r\n && }\r\n {errorMessage && (\r\n \r\n {errorMessage}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nSelectRole.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n // match: PropTypes.object.isRequired,\r\n selectRole: PropTypes.func.isRequired,\r\n roles: PropTypes.array,\r\n loading: PropTypes.bool,\r\n errorMessage: PropTypes.string,\r\n};\r\n\r\nSelectRole.defaultProps = {\r\n loading: false,\r\n errorMessage: null,\r\n roles: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n roles: state.auth.profileData?.roles,\r\n loading: state.auth.loading,\r\n errorMessage: [].concat(state.auth.errors).filter(val => val).join('
'),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(SelectRole)));\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Button, Typography, TextField,\r\n} from '@material-ui/core';\r\n\r\nimport * as AuthStore from '../../../app/store/AuthStore';\r\nimport urls from '../../../app/urls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n maxWidth: 400,\r\n },\r\n header: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n loginDescription: {\r\n marginTop: theme.spacing(3),\r\n marginBottom: theme.spacing(3),\r\n },\r\n textField: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n codeInput: {\r\n textTransform: 'uppercase',\r\n },\r\n studentLoginButton: {\r\n alignSelf: 'center',\r\n },\r\n});\r\n\r\n\r\nclass Login extends React.Component {\r\n state = {\r\n patientCode: '',\r\n };\r\n\r\n handleChange = name => (event) => {\r\n this.setState({ [name]: event.target.value });\r\n };\r\n\r\n handleKeyPressPatientCode = (e) => {\r\n if (e.key === 'Enter' && this.state.patientCode) {\r\n this.loginPatientCode();\r\n }\r\n };\r\n\r\n loginPatientCode = () => {\r\n if (this.state.patientCode) {\r\n this.props.redirect(`${urls.studentCode.home}/${this.state.patientCode}`);\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, loading,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {translate('login.studentLogin')}\r\n \r\n \r\n {translate('login.studentLoginDescription')}\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nLogin.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n redirect: PropTypes.func.isRequired,\r\n loading: PropTypes.bool,\r\n};\r\n\r\nLogin.defaultProps = {\r\n loading: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n loading: state.auth.loading,\r\n errorMessage: [].concat(state.auth.errors).filter(val => val).join('
'),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(AuthStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Login)));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport {\r\n Typography,\r\n} from '@material-ui/core';\r\nimport TaskElementLink from '../../../youwell-common/components/taskElements/TaskElementLink';\r\nimport { getVideos } from '../../../youwell-common/htmlUtils';\r\nimport { linkTypes } from '../../../youwell-common/constants';\r\nimport { HtmlContent } from '../../../youwell-common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n elementHeading: {\r\n borderBottom: theme.borders.normal,\r\n borderBottomColor: theme.palette.secondary.main,\r\n borderBottomWidth: 4,\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n elementHeadingTitle: {\r\n flex: '1 1 auto',\r\n },\r\n videos: {\r\n display: 'flex',\r\n marginTop: theme.spacing(4),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n video: {\r\n flex: '0 1 50%',\r\n '&:first-child': {\r\n paddingRight: theme.spacing(2),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n paddingRight: 0,\r\n },\r\n },\r\n '&:last-child': {\r\n paddingLeft: theme.spacing(2),\r\n [theme.breakpoints.down('xs')]: {\r\n paddingLeft: 0,\r\n },\r\n },\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(0, 0, 2),\r\n },\r\n },\r\n noVideos: {\r\n margin: theme.spacing(2),\r\n },\r\n description: {\r\n marginBottom: theme.spacing(1),\r\n color: theme.colors.blue4,\r\n },\r\n});\r\n\r\nconst getTaskVideosFromHtmlContent = task => (task && task.contentElements && task.contentElements.reduce((prev, curr) => [...prev, ...getVideos(curr.htmlContent)], [])) || [];\r\nconst getTaskVideosFromLink = task => (task && task.contentElements && task.contentElements.reduce((prev, curr) => (curr.link && (curr.link.linkType === linkTypes.youtube || curr.link.linkType === linkTypes.vimeo || curr.link.linkType === linkTypes.video)\r\n ? [...prev, { Component: }] : prev), [])) || [];\r\n\r\nconst getTaskVideos = (task) => {\r\n const videos = [];\r\n videos.push(...getTaskVideosFromHtmlContent(task).map(html => ({ html })));\r\n videos.push(...getTaskVideosFromLink(task));\r\n return videos;\r\n};\r\n\r\nconst getDescriptionContent = task => task?.contentElements?.find(d => d.htmlContent)?.htmlContent;\r\n\r\nconst VideoListing = ({ classes, translate, task }) => {\r\n if (!task) {\r\n return null;\r\n }\r\n\r\n const descriptionContent = getDescriptionContent(task);\r\n\r\n return (\r\n
\r\n \r\n {task.name}\r\n \r\n\r\n {descriptionContent && (\r\n \r\n )}\r\n
\r\n {getTaskVideos(task).map((video, cI) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n \r\n {video.html && (\r\n /* eslint-disable react/no-danger */\r\n
\r\n /* eslint-enable react/no-danger */\r\n )}\r\n {video.Component && (\r\n
\r\n {video.Component}\r\n
\r\n )}\r\n {video.none && (\r\n \r\n {translate('videos.noVideosForModule')}\r\n \r\n )}\r\n \r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n\r\nVideoListing.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n task: PropTypes.object,\r\n};\r\n\r\nVideoListing.defaultProps = {\r\n task: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(VideoListing));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport {\r\n Route, Switch,\r\n} from 'react-router-dom';\r\n\r\nimport urls from '../../app/urls';\r\nimport { PageNotFound } from '../../youwell-common/components';\r\n\r\nimport PreviewTask from './PreviewTask';\r\nimport LoadPreviewTask from './components/LoadPreviewTask';\r\nimport Layout from '../outside/components/Layout';\r\nimport { InternalLinkLoader } from '../../common/components';\r\nimport { parseInternalLink } from '../../youwell-common/taskContentUtils';\r\n\r\nclass Index extends React.Component {\r\n getLinkUrl = (link) => {\r\n const { taskOrModuleId, hash } = parseInternalLink(link);\r\n return `${urls.preview.home}/${taskOrModuleId}${hash}`;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nIndex.propTypes = {\r\n translate: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(Index);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { Fab } from '@material-ui/core';\r\n\r\nimport * as PreviewStore from '../../app/store/PreviewStore';\r\nimport { InfoMessage } from '../../common/components';\r\nimport PreviewTaskContent from './components/PreviewTaskContent';\r\nimport { PREVIEW_TASK_RECEIVED } from '../../app/store/actions';\r\nimport { CommentIcon, CloseIcon, PrintIcon } from '../../common/icons';\r\nimport { headerHeight } from '../outside/components/Layout';\r\nimport PageLayout from './components/PageLayout';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n paddingTop: theme.spacing(4),\r\n },\r\n commentFab: {\r\n position: 'absolute',\r\n right: 0 + theme.spacing(2),\r\n top: headerHeight + theme.spacing(2),\r\n zIndex: 101,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n display: 'none',\r\n },\r\n },\r\n printFab: {\r\n position: 'absolute',\r\n right: 0 + theme.spacing(2) + 70,\r\n top: headerHeight + theme.spacing(2),\r\n zIndex: 101,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n display: 'none',\r\n },\r\n },\r\n});\r\n\r\nclass PreviewTask extends React.Component {\r\n showPrint = () => {\r\n window.print();\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, taskDetails, hasLoaded, showComments, toggleComments,\r\n } = this.props;\r\n\r\n const task = taskDetails;\r\n\r\n if (!task) {\r\n return hasLoaded ? () : null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {showComments ? : }\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n >\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nPreviewTask.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n toggleComments: PropTypes.func.isRequired,\r\n showComments: PropTypes.bool.isRequired,\r\n taskDetails: PropTypes.object,\r\n};\r\n\r\nPreviewTask.defaultProps = {\r\n taskDetails: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const taskId = ownProps?.match?.params?.taskId;\r\n\r\n return {\r\n translate: getTranslate(state.localize),\r\n taskDetails: state.previewStore.details && state.previewStore.details[taskId],\r\n clientConfig: state.auth.clientConfig,\r\n hasLoaded: Boolean(state.previewStore.requests[`${PREVIEW_TASK_RECEIVED}/${taskId}`]\r\n && state.previewStore.requests[`${PREVIEW_TASK_RECEIVED}/${taskId}`].completed),\r\n showComments: state.previewStore.showComments,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PreviewStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PreviewTask));\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { ButtonBase, Typography } from '@material-ui/core';\r\n\r\nimport * as PreviewStore from '../../../app/store/PreviewStore';\r\nimport { CommentIcon } from '../../../common/icons';\r\n\r\n\r\nconst styles = theme => ({\r\n root: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n width: '100%',\r\n zIndex: 101,\r\n background: `${theme.palette.grey[300]}aa`,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n});\r\n\r\nfunction AddCommentOverlay({\r\n classes, translate, className, taskId, elementId, startComment, enableComments,\r\n}) {\r\n if (!enableComments) {\r\n return null;\r\n }\r\n const onClick = () => {\r\n startComment({ taskId, elementId });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {translate('taskCommenting.addComment')}\r\n \r\n \r\n );\r\n}\r\n\r\nAddCommentOverlay.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n taskId: PropTypes.string.isRequired,\r\n elementId: PropTypes.number.isRequired,\r\n className: PropTypes.string.isRequired,\r\n startComment: PropTypes.func.isRequired,\r\n enableComments: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n enableComments: state.previewStore.showComments,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PreviewStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(AddCommentOverlay));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as PreviewStore from '../../../app/store/PreviewStore';\r\n\r\nclass LoadPreviewTask extends React.Component {\r\n componentDidMount() {\r\n if (!this.props.taskDetails) {\r\n this.getElement();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { taskId, taskDetails } = this.props;\r\n\r\n if (taskId !== prevProps.taskId && !taskDetails) {\r\n this.getElement();\r\n }\r\n }\r\n\r\n getElement = () => {\r\n this.props.getElement(this.props.taskId, {\r\n requestParams: { ver: this.props.version },\r\n });\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nLoadPreviewTask.propTypes = {\r\n getElement: PropTypes.func.isRequired,\r\n taskId: PropTypes.string.isRequired,\r\n version: PropTypes.string,\r\n taskDetails: PropTypes.object,\r\n};\r\n\r\nLoadPreviewTask.defaultProps = {\r\n taskDetails: null,\r\n version: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const taskId = ownProps?.match?.params?.taskId;\r\n\r\n return {\r\n taskId,\r\n version: ownProps?.match?.params?.version,\r\n taskDetails: state.previewStore.details && state.previewStore.details[taskId],\r\n clientConfig: state.auth.clientConfig,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PreviewStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoadPreviewTask);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Typography,\r\n} from '@material-ui/core';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\nimport { contentWidth, headerHeight } from '../../outside/components/Layout';\r\nimport { ContentCommenting } from '../../../common/components';\r\n\r\nexport const sideMenuWidth = 300;\r\nconst scrollerWidth = 16;\r\n\r\nconst styles = theme => ({\r\n root: {\r\n maxWidth: contentWidth,\r\n margin: theme.spacing(4, 'auto'),\r\n minHeight: `calc(100vh - ${headerHeight}px)`,\r\n padding: theme.spacing(0, 12),\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n padding: theme.spacing(0, 4.5),\r\n },\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: 0,\r\n padding: theme.spacing(0, 1.5),\r\n },\r\n\r\n '@media print': {\r\n minHeight: 0,\r\n },\r\n },\r\n withSideMenu: {\r\n maxWidth: 650,\r\n padding: theme.spacing(0, 1),\r\n\r\n [theme.breakpoints.up('md')]: {\r\n marginRight: sideMenuWidth,\r\n },\r\n\r\n [theme.breakpoints.up('md')]: {\r\n marginRight: `calc((100% - ${theme.breakpoints.values.md - scrollerWidth}px)/2 + ${sideMenuWidth}px + ${theme.spacing(2)}px)`,\r\n },\r\n },\r\n sideMenu: {\r\n position: 'fixed',\r\n right: 0,\r\n top: headerHeight,\r\n bottom: 0,\r\n maxWidth: '100%',\r\n width: sideMenuWidth + scrollerWidth,\r\n overflowY: 'auto',\r\n marginRight: -scrollerWidth,\r\n zIndex: 100, // Must be larger than `stickyHeaderCell`\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n display: 'none',\r\n boxShadow: '10px 10px 8px 10px #888888',\r\n },\r\n\r\n [theme.breakpoints.up('md')]: {\r\n width: `calc((100% - ${theme.breakpoints.values.md - scrollerWidth}px)/2 + ${sideMenuWidth}px)`,\r\n marginRight: 0,\r\n },\r\n\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n sideMenuButton: {\r\n position: 'fixed',\r\n right: 0,\r\n bottom: 0,\r\n margin: '1rem',\r\n width: theme.spacing(6),\r\n height: theme.spacing(6),\r\n backgroundColor: theme.palette.grey[200],\r\n\r\n '&:hover': {\r\n backgroundColor: theme.palette.grey[300],\r\n },\r\n\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n zIndex: 100, // Must be >= than `sideMenu`\r\n\r\n '& span > svg': {\r\n position: 'absolute',\r\n\r\n '&:first-child': {\r\n transform: 'translate(0, -8px) rotate(180deg)',\r\n transition: 'transform 0.2s ease',\r\n },\r\n '&:last-child': {\r\n transform: 'translate(0, 8px)',\r\n transition: 'transform 0.2s ease',\r\n },\r\n },\r\n '&.active > span > svg': {\r\n '&:first-child': {\r\n transform: 'translate(0, 3.5px) rotate(180deg)',\r\n },\r\n '&:last-child': {\r\n transform: 'translate(0, -3.5px)',\r\n },\r\n },\r\n\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n backdrop: {\r\n display: 'none',\r\n position: 'fixed',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n opacity: 0.5,\r\n backgroundColor: 'black',\r\n zIndex: 100,\r\n },\r\n showSideMenu: {\r\n [theme.breakpoints.down('sm')]: {\r\n display: 'block',\r\n },\r\n },\r\n hideSideMenuButton: {\r\n display: 'none',\r\n },\r\n breadcrumb: {\r\n marginBottom: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginBottom: 0,\r\n },\r\n },\r\n innerBreadcrumb: {\r\n marginBottom: theme.spacing(3),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginBottom: 0,\r\n },\r\n },\r\n image: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n title: {\r\n marginBottom: theme.spacing(1),\r\n outline: 'none',\r\n },\r\n});\r\n\r\nclass PageLayout extends React.Component {\r\n render() {\r\n const {\r\n classes, title, children, task, sideContent, showComments,\r\n } = this.props;\r\n\r\n const labelClasses = task && task.taskLabels ? task.taskLabels.map(d => `${classes.root}_${d}`) : [];\r\n\r\n const hasSideMenu = !!showComments;\r\n\r\n return (\r\n <>\r\n {sideContent}\r\n\r\n {showComments && (\r\n \r\n\r\n )}\r\n\r\n
\r\n {title && (\r\n \r\n {title}\r\n \r\n )}\r\n\r\n {children}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nPageLayout.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node,\r\n ]).isRequired,\r\n sideContent: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node,\r\n ]),\r\n sideMenu: PropTypes.object,\r\n title: PropTypes.string,\r\n task: PropTypes.object,\r\n showComments: PropTypes.bool,\r\n};\r\n\r\nPageLayout.defaultProps = {\r\n title: null,\r\n sideMenu: null,\r\n task: null,\r\n sideContent: null,\r\n showComments: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n clientConfig: state.auth.clientConfig,\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(PageLayout));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport { Button } from '@material-ui/core';\r\nimport * as PreviewStore from '../../../app/store/PreviewStore';\r\n\r\nimport { TaskContent } from '../../../youwell-common/components';\r\nimport urls from '../../../app/urls';\r\nimport { styles as defaultStyles, getContentTranslations } from '../../../common/components/VimoTaskContent';\r\nimport { parseInternalLink } from '../../../youwell-common/taskContentUtils';\r\nimport AddCommentOverlay from './AddCommentOverlay';\r\nimport { getSpecificTaskResponses } from '../../../youwell-common/responseUtils';\r\n\r\nconst styles = theme => ({\r\n ...defaultStyles(theme),\r\n showHiddenElementsBtn: {\r\n display: 'none', // tmp hidden..\r\n float: 'right',\r\n top: -50,\r\n right: 50,\r\n },\r\n\r\n});\r\n\r\nconst useStyles = makeStyles(theme => styles(theme), { name: 'PreviewTaskContent' });\r\n\r\n\r\nconst PreviewTaskContent = ({ forwardedRef, task }) => {\r\n const [noHiddenStateValue, setNohiddenStateValue] = React.useState(false);\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n const allTaskResponses = useSelector(state => state.previewStore.responses);\r\n const allTasksDetails = useSelector(state => state.previewStore.details);\r\n const commentElementId = useSelector(state => state.previewStore.commentElementId);\r\n\r\n // task.patientProgramElementId is \"undefined\" but this works.. Should maybe make more robust?\r\n const responsesForCurrentTask = allTaskResponses && allTaskResponses[task.patientProgramElementId]\r\n && allTaskResponses[task.patientProgramElementId][task.id];\r\n\r\n const updateResponse = (responses) => {\r\n const responseData = {\r\n taskId: task.id,\r\n taskVersion: task.version,\r\n responses,\r\n };\r\n\r\n dispatch(PreviewStore.actionCreators.updateResponse(responseData));\r\n };\r\n\r\n const saveChanges = (callback) => {\r\n if (callback) {\r\n callback();\r\n }\r\n };\r\n\r\n const getLinkUrl = (link) => {\r\n const { taskOrModuleId, hash } = parseInternalLink(link);\r\n return `${urls.preview.home}/${taskOrModuleId}${hash}`;\r\n };\r\n\r\n const getProgramItem = id => (allTasksDetails ? allTasksDetails[id] : null);\r\n\r\n const toggleHiddenStates = () => {\r\n setNohiddenStateValue(prevState => !prevState);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nPreviewTaskContent.propTypes = {\r\n forwardedRef: PropTypes.object,\r\n task: PropTypes.object.isRequired,\r\n};\r\n\r\nPreviewTaskContent.defaultProps = {\r\n forwardedRef: null,\r\n};\r\n\r\nconst WithRef = React.forwardRef((props, ref) => );\r\nexport default WithRef;\r\n","import * as React from 'react';\r\nimport {\r\n Route, Switch,\r\n} from 'react-router-dom';\r\n\r\nimport Program from './Program';\r\nimport Skill from './Skill';\r\nimport Task from './Task';\r\n\r\nimport urls from '../../app/urls';\r\nimport { PageNotFound } from '../../youwell-common/components';\r\n\r\nclass Index extends React.Component {\r\n render() {\r\n return (\r\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 Index;\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport {\r\n Typography, List, ListItem, ListItemText,\r\n} from '@material-ui/core';\r\nimport { TopActionBar } from '../../common/components';\r\n\r\nimport urls from '../../app/urls';\r\nimport { HtmlContent } from '../../youwell-common/components';\r\nimport RedirectIfNoLicense from '../../common/components/RedirectIfNoLicense';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n },\r\n skillsHeader: {\r\n marginTop: theme.spacing(4),\r\n padding: `${theme.spacing(2)}px ${theme.spacing(3)}px`,\r\n background: theme.colors.grey2,\r\n },\r\n programDescription: {\r\n color: theme.colors.blue4,\r\n },\r\n});\r\n\r\nclass Program extends React.Component {\r\n render() {\r\n const { classes, programData, translate } = this.props;\r\n\r\n if (!programData) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n\r\n \r\n {translate('program.skillsHeader', { n: programData.modules.length })}\r\n \r\n\r\n \r\n {programData.modules && programData.modules.map(item => (\r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nProgram.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n programData: PropTypes.object,\r\n};\r\n\r\nProgram.defaultProps = {\r\n programData: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n programData: state.program.programDetails,\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Program));\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { useParams } from 'react-router';\r\nimport {\r\n makeStyles,\r\n Typography,\r\n} from '@material-ui/core/';\r\nimport { Link } from 'react-router-dom';\r\nimport classnames from 'classnames';\r\n\r\n\r\nimport { TopActionBar, TaskName, VimoTaskContent } from '../../common/components';\r\nimport AboutTheExercises from './components/AboutTheExercises';\r\n\r\nimport urls from '../../app/urls';\r\nimport { isNullOrUndefined } from '../../youwell-common/stringUtils';\r\nimport RedirectIfNoLicense from '../../common/components/RedirectIfNoLicense';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n tasksHeader: {\r\n marginTop: theme.spacing(4),\r\n padding: `${theme.spacing(2)}px ${theme.spacing(3)}px`,\r\n background: theme.colors.grey2,\r\n },\r\n stepHeading: {\r\n minHeight: theme.spacing(3),\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n },\r\n steps: {\r\n display: 'flex',\r\n padding: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n step: {\r\n flex: '1 1 auto',\r\n padding: theme.spacing(1),\r\n },\r\n borderLeft: {\r\n borderLeft: theme.borders.normal,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n borderLeft: 0,\r\n },\r\n },\r\n skillDescription: {\r\n flex: '1 1 auto',\r\n },\r\n imageContainer: {\r\n width: `calc(50% - ${theme.spacing(1)}px)`,\r\n marginLeft: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: `calc(100% - ${theme.spacing(4)}px)`,\r\n margin: theme.spacing(2),\r\n },\r\n },\r\n image: {\r\n width: '100%',\r\n },\r\n task: {\r\n padding: theme.spacing(0.5),\r\n borderRadius: theme.spacing(0.5),\r\n marginBottom: theme.spacing(2),\r\n\r\n '&:hover': {\r\n background: theme.colors.grey1,\r\n },\r\n },\r\n aboutTasks: {\r\n margin: theme.spacing(3),\r\n marginTop: theme.spacing(10),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n marginTop: theme.spacing(10),\r\n },\r\n },\r\n aboutTasksHeader: {\r\n margin: theme.spacing(1),\r\n marginBottom: theme.spacing(2),\r\n padding: `${theme.spacing(2)}px ${theme.spacing(3)}px`,\r\n background: theme.colors.grey2,\r\n },\r\n}));\r\n\r\nconst Skill = () => {\r\n const { skillId } = useParams();\r\n const skillData = useSelector(state => state.program.skillDetails && state.program.skillDetails[skillId]);\r\n const skillContentModule = useSelector(state => state.program.content\r\n && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules\r\n ?.find(d => d.id === state.pageSettings.appConfig?.skillContentModuleId));\r\n const classes = useStyles();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n\r\n if (!skillData || !skillContentModule) {\r\n return null;\r\n }\r\n\r\n const skillDescription = skillContentModule.tasks?.find(d => d.name.toLowerCase().indexOf('intro tekst') > -1);\r\n\r\n const steps = skillData.tasks.reduce((prev, curr) => (\r\n {\r\n ...prev,\r\n [curr.label]: prev[curr.label] ? [...prev[curr.label], curr] : [curr],\r\n }\r\n ), {});\r\n\r\n const stepWidth = 100 / Object.entries(steps).length;\r\n\r\n return (\r\n
\r\n \r\n \r\n\r\n
\r\n {skillDescription && (\r\n \r\n )}\r\n\r\n \r\n {translate('program.availableTasks')}\r\n \r\n\r\n
\r\n {Object.entries(steps).map(([name, tasks], index) => (\r\n
0 })} style={{ flexBasis: `${stepWidth}%` }}>\r\n \r\n {isNullOrUndefined(name) ? '' : name}\r\n \r\n {tasks && tasks.map(task => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n ))}\r\n
\r\n
\r\n\r\n
\r\n \r\n {translate('methodsAndTechniques.aboutTheExercisesHeading')}\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n );\r\n};\r\n\r\nexport default Skill;\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Typography } from '@material-ui/core';\r\n\r\nimport { TopActionBar, VimoTaskContent, TaskName } from '../../common/components';\r\nimport urls from '../../app/urls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n\r\n },\r\n title: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: theme.spacing(4),\r\n\r\n '@media print': {\r\n padding: theme.spacing(1, 4),\r\n },\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n\r\n '@media print': {\r\n padding: theme.spacing(1, 4),\r\n },\r\n },\r\n});\r\n\r\nclass Task extends React.Component {\r\n render() {\r\n const {\r\n translate, classes, taskData, skillData,\r\n } = this.props;\r\n\r\n if (!taskData || !skillData) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nTask.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n skillId: PropTypes.string.isRequired,\r\n taskId: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n taskData: PropTypes.object,\r\n skillData: PropTypes.object,\r\n};\r\n\r\nTask.defaultProps = {\r\n skillData: null,\r\n taskData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n taskData: state.program.taskDetails && state.program.taskDetails[ownProps.match.params.taskId],\r\n skillData: state.program.skillDetails && state.program.skillDetails[ownProps.match.params.skillId],\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Task));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\nimport {\r\n withStyles, Typography, Avatar,\r\n} from '@material-ui/core';\r\n\r\nimport { getElementTitle } from '../../../youwell-common/contentUtils';\r\nimport HtmlContent from '../../../youwell-common/components/HtmlContent';\r\nimport { getTaskColorByName } from '../../../common/utils/programUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n aboutColumn: {\r\n flex: '1 1 25%',\r\n margin: theme.spacing(1),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n aboutColumnHeader: {\r\n background: theme.colors.blue4,\r\n color: theme.palette.common.white,\r\n padding: theme.spacing(1),\r\n },\r\n aboutTaskBox: {\r\n marginTop: theme.spacing(1),\r\n background: theme.colors.grey2,\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n main: {\r\n flex: '1 1 auto',\r\n padding: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n },\r\n avatar: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n content: {\r\n textAlign: 'center',\r\n color: theme.colors.blue4,\r\n },\r\n});\r\n\r\n\r\nconst Box = ({ classes, title, content }) => (\r\n
\r\n
\r\n {title.slice(0, 1)}\r\n \r\n
\r\n
\r\n);\r\n\r\nBox.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n title: PropTypes.string.isRequired,\r\n content: PropTypes.string.isRequired,\r\n};\r\n\r\n\r\nclass AboutTheExercises extends React.Component {\r\n render() {\r\n const {\r\n classes, className, overviewModule,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n {overviewModule?.tasks?.map(task => (\r\n
\r\n \r\n {task.name}\r\n \r\n {task.contentElements?.map(element => (\r\n \r\n ))}\r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n\r\nAboutTheExercises.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n overviewModule: PropTypes.object,\r\n className: PropTypes.string,\r\n};\r\n\r\nAboutTheExercises.defaultProps = {\r\n className: null,\r\n overviewModule: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n overviewModule: state.program.content && state.program.content[state.pageSettings.appConfig?.contentProgramId]?.modules?.find(d => d.id === state.pageSettings.appConfig?.teachingShortModuleId),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(AboutTheExercises));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport apiUrls from '../../youwell-common/apiUrls';\r\nimport { Image } from '../../youwell-common/components';\r\n\r\nconst styles = () => ({\r\n root: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n image: {\r\n width: '50%',\r\n marginTop: '10%',\r\n },\r\n});\r\n\r\nclass Home extends React.Component {\r\n render() {\r\n const {\r\n classes, currentProgram,\r\n } = this.props;\r\n\r\n const programImageUrl = currentProgram && currentProgram.frontImageId ? `${apiUrls.baseUrl}/${apiUrls.media.file}/${currentProgram.frontImageId}` : null;\r\n\r\n return (\r\n
\r\n {programImageUrl && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nHome.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n // translate: PropTypes.func.isRequired,\r\n currentProgram: PropTypes.object,\r\n};\r\n\r\nHome.defaultProps = {\r\n currentProgram: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n currentProgram: state.publicStore.currentProgramId && state.publicStore.details && state.publicStore.details[state.publicStore.currentProgramId],\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Home));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Redirect,\r\n Route, Switch,\r\n} from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { IdleTimer } from '../../youwell-common/components';\r\nimport { logoutReasons } from '../../youwell-common/constants';\r\nimport Auth from '../../youwell-common/Auth';\r\n\r\nimport * as AuthStore from '../../app/store/AuthStore';\r\n\r\nimport urls from '../../app/urls';\r\nimport Layout from '../outside/components/Layout';\r\nimport { InternalLinkLoader } from '../../common/components';\r\nimport LoadProgram from './components/LoadProgram';\r\nimport Program from './Program';\r\nimport Module from './Module';\r\nimport Task from './Task';\r\nimport Home from './Home';\r\nimport { getPublicProgramContentLink } from '../../common/taskUtils';\r\nimport Footer from './components/Footer';\r\n\r\nconst USER_IDLE_TIMEOUT_IN_MINUTES = 30;\r\n\r\nclass Index extends React.Component {\r\n logoutOnIdle = () => {\r\n if (Auth.isUserAuthenticated()) {\r\n this.props.logout(logoutReasons.idleTimeout, urls.public.home);\r\n }\r\n }\r\n\r\n render() {\r\n const { program } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n\r\n getPublicProgramContentLink(link, program)} />\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nIndex.propTypes = {\r\n logout: PropTypes.func.isRequired,\r\n program: PropTypes.object,\r\n};\r\n\r\nIndex.defaultProps = {\r\n program: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n clientConfig: state.auth.clientConfig,\r\n program: state.publicStore.details && state.publicStore.currentProgramId && state.publicStore.details[state.publicStore.currentProgramId],\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n logout: bindActionCreators(AuthStore.actionCreators, dispatch).logout,\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Index);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport classnames from 'classnames';\r\n\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport {\r\n Typography, Hidden,\r\n} from '@material-ui/core';\r\n\r\nimport * as ModalStore from '../../app/store/ModalStore';\r\nimport urls from '../../app/urls';\r\nimport apiUrls from '../../youwell-common/apiUrls';\r\nimport { Image, HtmlContent } from '../../youwell-common/components';\r\nimport { InfoMessage } from '../../common/components';\r\nimport { PUBLIC_PROGRAM_RECEIVED } from '../../app/store/actions';\r\nimport { elementInfoClasses, iconClasses, tableListClasses } from './components/sharedStyles';\r\n\r\n\r\nconst styles = theme => ({\r\n ...elementInfoClasses(theme),\r\n ...tableListClasses(theme),\r\n ...iconClasses(theme),\r\n});\r\n\r\nclass Module extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, program, match, hasLoaded,\r\n } = this.props;\r\n const { moduleIndex, programId } = match.params;\r\n\r\n const module = program && program.modules && program.modules[moduleIndex];\r\n\r\n if (!module) {\r\n return hasLoaded ? () : null;\r\n }\r\n\r\n const isSingleModule = program.modules && program.modules.length === 1;\r\n\r\n if (isSingleModule) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n let moduleImage = module.moduleImageId ? `${apiUrls.baseUrl}/${apiUrls.media.file}/${module.moduleImageId}` : null;\r\n if (!moduleImage && !!program.frontImageId) {\r\n moduleImage = `${apiUrls.baseUrl}/${apiUrls.media.file}/${program.frontImageId}`;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {moduleImage && {translate('module.moduleImageAltText')} }\r\n
\r\n\r\n
\r\n
\r\n \r\n {module.name}\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {translate('content')}\r\n \r\n \r\n {module.name}\r\n \r\n \r\n
\r\n\r\n
\r\n {module.tasks && module.tasks.map((task, i) => (\r\n \r\n
\r\n \r\n {i + 1}\r\n \r\n
\r\n
\r\n \r\n {task.name}\r\n \r\n
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nModule.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n programId: PropTypes.string.isRequired,\r\n moduleIndex: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n program: PropTypes.object,\r\n};\r\n\r\nModule.defaultProps = {\r\n program: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n program: state.publicStore.details && state.publicStore.details[ownProps.match.params.programId],\r\n hasLoaded: Boolean(state.publicStore.requests[`${PUBLIC_PROGRAM_RECEIVED}/${ownProps.match.params.programId}`]\r\n && state.publicStore.requests[`${PUBLIC_PROGRAM_RECEIVED}/${ownProps.match.params.programId}`].completed),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(ModalStore.actionCreators, dispatch),\r\n});\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Module));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport {\r\n Typography,\r\n} from '@material-ui/core';\r\n\r\nimport * as ModalStore from '../../app/store/ModalStore';\r\nimport urls from '../../app/urls';\r\nimport apiUrls from '../../youwell-common/apiUrls';\r\nimport { Image, HtmlContent } from '../../youwell-common/components';\r\nimport { InfoMessage } from '../../common/components';\r\nimport { PUBLIC_PROGRAM_RECEIVED } from '../../app/store/actions';\r\nimport { elementInfoClasses, tableListClasses } from './components/sharedStyles';\r\n\r\nconst styles = theme => ({\r\n ...tableListClasses(theme),\r\n ...elementInfoClasses(theme),\r\n main: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: theme.spacing(1),\r\n },\r\n },\r\n});\r\n\r\nclass Program extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, program, hasLoaded,\r\n } = this.props;\r\n\r\n\r\n if (!program) {\r\n return hasLoaded ? () : null;\r\n }\r\n\r\n const isSingleModule = program.modules && program.modules.length === 1;\r\n\r\n if (isSingleModule) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const programImage = program.frontImageId ? `${apiUrls.baseUrl}/${apiUrls.media.file}/${program.frontImageId}` : null;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {programImage && \"\"}\r\n
\r\n\r\n
\r\n
\r\n \r\n {program.name}\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {translate('modules')}\r\n \r\n
\r\n\r\n
\r\n {program.modules && program.modules.map((module, i) => (\r\n \r\n
\r\n \r\n {i + 1}\r\n \r\n
\r\n
\r\n \r\n {module.name}\r\n \r\n
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\nProgram.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n program: PropTypes.object,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n};\r\n\r\nProgram.defaultProps = {\r\n program: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n program: state.publicStore.details && state.publicStore.details[ownProps.match.params.programId],\r\n hasLoaded: Boolean(state.publicStore.requests[`${PUBLIC_PROGRAM_RECEIVED}/${ownProps.match.params.programId}`]\r\n && state.publicStore.requests[`${PUBLIC_PROGRAM_RECEIVED}/${ownProps.match.params.programId}`].completed),\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(ModalStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Program));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Button, Typography } from '@material-ui/core';\r\nimport { Redirect } from 'react-router';\r\nimport { PrevIcon, NextIcon } from '../../common/icons';\r\n\r\nimport * as PublicStore from '../../app/store/PublicStore';\r\nimport urls from '../../app/urls';\r\nimport { InfoMessage } from '../../common/components';\r\nimport PublicTaskContent from './components/PublicTaskContent';\r\nimport { PUBLIC_PROGRAM_RECEIVED } from '../../app/store/actions';\r\nimport { DelayedFetch } from '../../youwell-common/components';\r\n\r\nconst styles = theme => ({\r\n content: {\r\n border: theme.borders.dim,\r\n },\r\n taskTitle: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n actions: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n margin: `${theme.spacing(4)}px 0`,\r\n },\r\n singleactions: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n margin: `${theme.spacing(4)}px 0`,\r\n },\r\n navIconLeft: {\r\n marginRight: theme.spacing(1),\r\n },\r\n navIconRight: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass Task extends React.Component {\r\n taskContentRef = React.createRef()\r\n\r\n clickNext = nextDirection => () => {\r\n const { program, match } = this.props;\r\n const { programId, moduleIndex, taskIndex } = match.params;\r\n\r\n const module = program && program.modules && program.modules[moduleIndex];\r\n const task = module && module.tasks && module.tasks[taskIndex];\r\n\r\n const currentStep = Number(taskIndex);\r\n const nextTaskNr = currentStep + nextDirection;\r\n const isLastTask = nextTaskNr > module.tasks.length - 1;\r\n\r\n let redirect = '';\r\n if (isLastTask || nextTaskNr < 0) redirect = `${urls.public.home}/${programId}`;\r\n else redirect = `${urls.public.program}/${programId}/${moduleIndex}/${nextTaskNr}`;\r\n\r\n const go = () => {\r\n this.props.completeTask({ taskId: task.id, stepNr: currentStep }, redirect);\r\n };\r\n\r\n if (nextDirection > 0) {\r\n this.taskContentRef.current?.validateAndSave(go);\r\n } else {\r\n this.taskContentRef.current?.saveWithoutValidation(go);\r\n }\r\n }\r\n\r\n visitTask = () => {\r\n const { program, match, patientProgramElementId } = this.props;\r\n const { moduleIndex, taskIndex } = match.params;\r\n\r\n const module = program && program.modules && program.modules[moduleIndex];\r\n const task = module && module.tasks && module.tasks[taskIndex];\r\n\r\n if (patientProgramElementId && task) {\r\n this.props.visitTask({\r\n ppeId: patientProgramElementId,\r\n id: task.id,\r\n });\r\n }\r\n }\r\n\r\n endSession = () => {\r\n this.props.endSession(PublicStore.endSessionReasons.completed);\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, program, match, hasLoaded, latestCompletedStep, clientConfig,\r\n } = this.props;\r\n const { moduleIndex, taskIndex } = match.params;\r\n\r\n const module = program && program.modules && program.modules[moduleIndex];\r\n const task = module && module.tasks && module.tasks[taskIndex];\r\n\r\n if (!task) {\r\n return hasLoaded ? () : null;\r\n }\r\n\r\n const taskIndexNr = Number(taskIndex || 0);\r\n\r\n const isFirstTask = !taskIndex || taskIndex === '0';\r\n const moreElementsInGroup = module.tasks.length > 1;\r\n const isLastTask = !moreElementsInGroup || taskIndexNr === module.tasks.length - 1;\r\n\r\n if (taskIndexNr > (latestCompletedStep + 1) && !isLastTask) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n {task.name}\r\n \r\n\r\n \r\n {isLastTask && }\r\n\r\n \r\n\r\n {!isLastTask && (\r\n
\r\n {!isFirstTask && (\r\n \r\n \r\n {translate('previous')}\r\n \r\n )}\r\n
\r\n \r\n {translate('next')}\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nTask.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n clientConfig: PropTypes.object.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n programId: PropTypes.string.isRequired,\r\n moduleIndex: PropTypes.string.isRequired,\r\n taskIndex: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n completeTask: PropTypes.func.isRequired,\r\n visitTask: PropTypes.func.isRequired,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n latestCompletedStep: PropTypes.number.isRequired,\r\n program: PropTypes.object,\r\n patientProgramElementId: PropTypes.string,\r\n endSession: PropTypes.func.isRequired,\r\n};\r\n\r\nTask.defaultProps = {\r\n program: null,\r\n patientProgramElementId: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n clientConfig: state.auth.clientConfig,\r\n program: state.publicStore.details && state.publicStore.details[ownProps.match.params.programId],\r\n patientProgramElementId: state.publicStore.patientProgramElementId,\r\n hasLoaded: Boolean(state.publicStore.requests[`${PUBLIC_PROGRAM_RECEIVED}/${ownProps.match.params.programId}`]\r\n && state.publicStore.requests[`${PUBLIC_PROGRAM_RECEIVED}/${ownProps.match.params.programId}`].completed),\r\n latestCompletedStep: state.publicStore.latestCompletedStep,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PublicStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Task));\r\n","import * as React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { Button } from '@material-ui/core';\r\n\r\nimport * as PublicStore from '../../../app/store/PublicStore';\r\nimport urls from '../../../app/urls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n margin: theme.spacing(4, 0, 2),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n button: {\r\n textTransform: 'none',\r\n },\r\n});\r\n\r\nconst useStyles = makeStyles(theme => styles(theme), { name: 'Footer' });\r\n\r\nconst Footer = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n const currentProgramId = useSelector(state => state.publicStore.currentProgramId);\r\n const patientProgramElementId = useSelector(state => state.publicStore.patientProgramElementId);\r\n\r\n if (!patientProgramElementId) {\r\n return null;\r\n }\r\n\r\n const endSession = () => {\r\n const redirect = `${urls.public.program}/${currentProgramId}`;\r\n dispatch(PublicStore.actionCreators.endSession(PublicStore.endSessionReasons.manualEnd, redirect));\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as PublicStore from '../../../app/store/PublicStore';\r\nimport Auth from '../../../youwell-common/Auth';\r\nimport { hasValue } from '../../../youwell-common/objectUtils';\r\n\r\nclass LoadProgram extends React.Component {\r\n componentDidMount() {\r\n if (!this.props.currentProgram) {\r\n this.props.getElement(this.props.programId, { isPage: this.props.isPage });\r\n }\r\n if (Auth.isUserAuthenticated() && !this.props.hasSessionData) {\r\n this.props.getSession(this.props.programId);\r\n }\r\n this.props.setCurrentProgram(this.props.programId);\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nLoadProgram.propTypes = {\r\n getElement: PropTypes.func.isRequired,\r\n getSession: PropTypes.func.isRequired,\r\n setCurrentProgram: PropTypes.func.isRequired,\r\n currentProgram: PropTypes.object,\r\n hasSessionData: PropTypes.bool.isRequired,\r\n programId: PropTypes.string.isRequired,\r\n isPage: PropTypes.bool.isRequired,\r\n};\r\n\r\nLoadProgram.defaultProps = {\r\n currentProgram: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const programId = ownProps.programId || ownProps.match?.params.programId;\r\n const isPage = ownProps.isPage || hasValue(ownProps.match?.params.programId);\r\n\r\n return {\r\n programId,\r\n isPage,\r\n currentProgram: state.publicStore.details && state.publicStore.details[programId],\r\n hasSessionData: Boolean(state.publicStore.patientId && state.publicStore.progress),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PublicStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoadProgram);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport * as PublicStore from '../../../app/store/PublicStore';\r\n\r\nimport { Loading, TaskContent } from '../../../youwell-common/components';\r\nimport { getContentTranslations, AUTOSAVE_TIMEOUT_INTERVAL, styles as defaultStyles } from '../../../common/components/VimoTaskContent';\r\nimport Auth from '../../../youwell-common/Auth';\r\nimport { getItemFromProgram } from '../../../youwell-common/taskContentUtils';\r\nimport { getPublicProgramContentLink } from '../../../common/taskUtils';\r\nimport { getSpecificTaskResponses, getUpdatedResponsesForTask } from '../../../youwell-common/responseUtils';\r\n\r\nconst styles = theme => ({\r\n ...defaultStyles(theme),\r\n});\r\n\r\nconst useStyles = makeStyles(theme => styles(theme), { name: 'PublicTaskContent' });\r\n\r\nconst PublicTaskContent = ({\r\n forwardedRef, program, task, moduleId,\r\n}) => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n\r\n const saveTimer = React.useRef();\r\n\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n const allTaskResponses = useSelector(state => state.publicStore.responses);\r\n const patientProgramElementId = useSelector(state => state.publicStore.patientProgramElementId);\r\n const completedTasks = useSelector(state => state.publicStore.completedTasks);\r\n const [changeId, setChangeId] = React.useState(null);\r\n const [showSavingId, setShowSavingId] = React.useState(false);\r\n\r\n const responsesForCurrentTask = allTaskResponses && allTaskResponses[patientProgramElementId]\r\n && allTaskResponses[patientProgramElementId][task.id];\r\n const formId = responsesForCurrentTask?.formId;\r\n\r\n const updateResponse = (responses) => {\r\n const responseData = {\r\n programId: program.id,\r\n moduleId,\r\n taskId: task.id,\r\n taskVersion: task.version,\r\n patientProgramElementId,\r\n formId,\r\n responses,\r\n };\r\n\r\n setChangeId(Date.now());\r\n dispatch(PublicStore.actionCreators.updateResponse(responseData));\r\n };\r\n\r\n const saveResponses = React.useCallback((taskResponses, callback, showIsSaving) => {\r\n const responseData = changeId && getUpdatedResponsesForTask(taskResponses, patientProgramElementId, task.id, task.version, formId);\r\n\r\n if (responseData) {\r\n if (showIsSaving) {\r\n setShowSavingId(changeId);\r\n }\r\n dispatch(PublicStore.actionCreators.saveResponse(responseData, {\r\n background: true,\r\n callback: () => {\r\n setChangeId(prevId => (prevId === changeId ? null : prevId));\r\n setShowSavingId(prevId => (prevId === changeId ? null : prevId));\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n },\r\n }));\r\n } else if (callback) {\r\n callback();\r\n }\r\n }, [changeId, dispatch, formId, patientProgramElementId, task.id, task.version]);\r\n\r\n const saveChanges = (callback) => {\r\n if (responsesForCurrentTask) {\r\n if (Auth.isUserAuthenticated()) {\r\n clearTimeout(saveTimer.current);\r\n saveResponses(responsesForCurrentTask, callback, true);\r\n } else {\r\n const responseData = {\r\n ...getUpdatedResponsesForTask(responsesForCurrentTask, null, task.id, task.version, null),\r\n programId: program.id,\r\n moduleId,\r\n completedTasks: completedTasks ? Object.keys(completedTasks) : null,\r\n };\r\n\r\n dispatch(PublicStore.actionCreators.sendFirstResponse(responseData, { callback }));\r\n }\r\n } else if (callback) {\r\n callback();\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n if (responsesForCurrentTask && changeId && Auth.isUserAuthenticated()) {\r\n if (saveTimer.current) {\r\n clearTimeout(saveTimer.current);\r\n }\r\n saveTimer.current = setTimeout(() => {\r\n saveResponses(responsesForCurrentTask);\r\n }, AUTOSAVE_TIMEOUT_INTERVAL);\r\n }\r\n }, [changeId, responsesForCurrentTask, saveResponses, task.id]);\r\n\r\n const getLinkUrl = link => getPublicProgramContentLink(link, program);\r\n\r\n const getProgramItem = id => getItemFromProgram(program, id);\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nPublicTaskContent.propTypes = {\r\n forwardedRef: PropTypes.object,\r\n task: PropTypes.object.isRequired,\r\n program: PropTypes.object.isRequired,\r\n moduleId: PropTypes.string.isRequired,\r\n};\r\n\r\nPublicTaskContent.defaultProps = {\r\n forwardedRef: null,\r\n};\r\n\r\nconst WithRef = React.forwardRef((props, ref) => );\r\nexport default WithRef;\r\n","export const elementInfoClasses = theme => ({\r\n elementInfoRoot: {\r\n display: 'flex',\r\n marginBottom: theme.spacing(6),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n elementInfoImageContainer: {\r\n flex: '1 1 50%',\r\n padding: theme.spacing(2),\r\n marginBottom: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n elementInfoImage: {\r\n width: '100%',\r\n },\r\n elementInfoDescriptionContainer: {\r\n flex: '1 1 50%',\r\n padding: theme.spacing(2),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n elementInfoTitle: {\r\n flex: '1 1 auto',\r\n margin: theme.spacing(1),\r\n },\r\n elementInfoProgress: {\r\n height: 12,\r\n marginTop: theme.spacing(2),\r\n },\r\n elementInfoProgressText: {\r\n marginTop: theme.spacing(0.5),\r\n },\r\n elementInfoDescription: {\r\n margin: theme.spacing(1),\r\n },\r\n});\r\n\r\n\r\nexport const tableListClasses = theme => ({\r\n tableListRoot: {\r\n boxShadow: theme.shadows[1],\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n boxShadow: 'none',\r\n },\r\n },\r\n tableListTitleContainer: {\r\n padding: `${theme.spacing(1)}px ${theme.spacing(8)}px`,\r\n background: theme.palette.primary.main,\r\n color: theme.palette.common.white,\r\n border: theme.borders.dim,\r\n borderWidth: '0px 1px',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n borderWidth: 0,\r\n background: theme.palette.grey[100],\r\n color: theme.palette.primary.main,\r\n padding: `${theme.spacing(1)}px ${theme.spacing(4)}px`,\r\n },\r\n },\r\n tableListTitle: {\r\n\r\n },\r\n tableListRows: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flex: '1 1 auto',\r\n },\r\n },\r\n tableListRow: {\r\n display: 'flex',\r\n },\r\n tableListRowIndex: {\r\n background: theme.palette.secondary.main,\r\n borderBottom: theme.borders.dim,\r\n width: theme.spacing(3),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n color: theme.palette.common.white,\r\n\r\n [theme.breakpoints.up('sm')]: {\r\n width: theme.spacing(4),\r\n },\r\n },\r\n tableListRowElement: {\r\n flex: '1 1 0px',\r\n margin: `0 ${theme.spacing(4)}px`,\r\n padding: `${theme.spacing(2)}px 0`,\r\n borderBottom: theme.borders.dim,\r\n color: theme.palette.grey[400],\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: `0 ${theme.spacing(2)}px`,\r\n },\r\n\r\n '$tableListCurrent &': {\r\n background: theme.palette.grey[200],\r\n color: theme.palette.common.black,\r\n margin: '-1px 0 0',\r\n padding: `${theme.spacing(2)}px ${theme.spacing(4)}px`,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: `${theme.spacing(2)}px`,\r\n },\r\n },\r\n '$tableListCompleted &': {\r\n color: theme.palette.common.black,\r\n },\r\n '$tableListUnavailable &': {\r\n color: theme.palette.grey[400],\r\n },\r\n },\r\n tableListRowElementTitle: {\r\n flex: '1 1 auto',\r\n },\r\n tableListCurrent: {\r\n },\r\n tableListCompleted: {\r\n },\r\n tableListUnavailable: {\r\n },\r\n});\r\n\r\nexport const iconClasses = theme => ({\r\n iconGreen: {\r\n color: theme.colors.green,\r\n opacity: 0.5,\r\n },\r\n iconRed: {\r\n color: theme.colors.red,\r\n opacity: 0.7,\r\n },\r\n iconGray: {\r\n color: theme.palette.grey[400],\r\n opacity: 0.7,\r\n },\r\n});\r\n","import * as React from 'react';\r\nimport {\r\n Route, Switch,\r\n} from 'react-router-dom';\r\n\r\nimport urls from '../../app/urls';\r\nimport { PageNotFound } from '../../youwell-common/components';\r\nimport Module from './Module';\r\nimport Task from './Task';\r\n\r\nclass Index extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Index;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { InfoMessage, TopActionBar } from '../../common/components';\r\nimport urls from '../../app/urls';\r\nimport { ForwardIcon } from '../../common/icons';\r\nimport { HtmlContent, Image } from '../../youwell-common/components';\r\nimport apiUrls from '../../youwell-common/apiUrls';\r\n\r\nexport const styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n minHeight: '80vh',\r\n padding: theme.spacing(2, 4),\r\n\r\n [theme.breakpoints.up('sm')]: {\r\n padding: theme.spacing(4),\r\n },\r\n },\r\n imageContainer: {\r\n marginBottom: theme.spacing(4),\r\n textAlign: 'center',\r\n },\r\n image: {\r\n float: 'right',\r\n marginLeft: theme.spacing(2),\r\n maxWidth: '100%',\r\n maxHeight: '200px',\r\n },\r\n description: {\r\n flex: '1 1 auto',\r\n },\r\n divideBorder: {\r\n borderBottom: theme.borders.normal,\r\n margin: theme.spacing(3, 0, 1),\r\n },\r\n links: {\r\n padding: theme.spacing(2),\r\n },\r\n link: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n justifyContent: 'space-between',\r\n },\r\n },\r\n icon: {\r\n marginLeft: theme.spacing(3),\r\n },\r\n});\r\n\r\nconst Module = ({\r\n classes, translate, module, hasLoaded,\r\n}) => {\r\n if (!module) {\r\n return hasLoaded ? () : null;\r\n }\r\n\r\n const moduleImage = module.moduleImageId ? `${apiUrls.baseUrl}/${apiUrls.media.file}/${module.moduleImageId}` : null;\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {moduleImage && (\r\n
\r\n {translate('module.moduleImageAltText')}\r\n
\r\n )}\r\n\r\n \r\n {module.description && module.tasks &&
}\r\n\r\n
\r\n {module.tasks?.map(task => (\r\n \r\n \r\n {task.name}\r\n \r\n \r\n \r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nModule.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n module: PropTypes.object,\r\n};\r\n\r\nModule.defaultProps = {\r\n module: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const itemId = ownProps?.match?.params?.moduleId;\r\n const module = itemId && state.program.content && state.program.content[state.pageSettings.appConfig?.resourcesProgramId]?.modules\r\n ?.find(d => d.id === itemId);\r\n\r\n return {\r\n translate: getTranslate(state.localize),\r\n clientConfig: state.auth.clientConfig,\r\n hasLoaded: Boolean(state.program.content && state.program.content[state.pageSettings.appConfig?.resourcesProgramId]),\r\n module,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Module));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { Fab } from '@material-ui/core';\r\n\r\nimport { InfoMessage, TopActionBar } from '../../common/components';\r\nimport ResourceTaskContent from './components/ResourceTaskContent';\r\nimport { PrintIcon } from '../../common/icons';\r\nimport { headerHeight } from '../outside/components/Layout';\r\n\r\nexport const styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n minHeight: '80vh',\r\n padding: theme.spacing(2, 4),\r\n\r\n [theme.breakpoints.up('sm')]: {\r\n padding: theme.spacing(4),\r\n },\r\n },\r\n printFab: {\r\n display: 'none', // tmp..\r\n position: 'absolute',\r\n right: 0 + theme.spacing(2) + 70,\r\n top: headerHeight + theme.spacing(2),\r\n zIndex: 101,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n display: 'none',\r\n },\r\n },\r\n});\r\n\r\nconst Task = ({\r\n classes, translate, task, hasLoaded,\r\n}) => {\r\n if (!task) {\r\n return hasLoaded ? () : null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n window.print()}\r\n className={classes.printFab}\r\n color=\"primary\"\r\n title={translate('taskCommenting.print')}\r\n >\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nTask.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n hasLoaded: PropTypes.bool.isRequired,\r\n task: PropTypes.object,\r\n};\r\n\r\nTask.defaultProps = {\r\n task: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const itemId = ownProps?.match?.params?.taskId;\r\n const task = itemId && state.program.content && state.program.content[state.pageSettings.appConfig?.resourcesProgramId]?.modules\r\n ?.reduce((prev, curr) => {\r\n if (prev) return prev;\r\n const ct = curr.tasks?.find(d => d.id === itemId);\r\n if (ct) return { ...ct, moduleId: curr.id, moduleName: curr.name };\r\n return null;\r\n }\r\n , null);\r\n\r\n return {\r\n translate: getTranslate(state.localize),\r\n clientConfig: state.auth.clientConfig,\r\n hasLoaded: Boolean(state.program.content && state.program.content[state.pageSettings.appConfig?.resourcesProgramId]),\r\n task,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Task));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport classnames from 'classnames';\r\n\r\nimport * as PageSettingStore from '../../../app/store/PageSettingStore';\r\n\r\nimport { TaskContent } from '../../../youwell-common/components';\r\nimport urls from '../../../app/urls';\r\nimport { isBrowser } from '../../../youwell-common/browserUtils';\r\nimport { parseInternalLink } from '../../../youwell-common/taskContentUtils';\r\nimport { getContentTranslations, styles as defaultStyles } from '../../../common/components/VimoTaskContent';\r\n\r\nexport const styles = theme => ({\r\n ...defaultStyles,\r\n taskTitle: {\r\n color: theme.palette.primary.main,\r\n marginBottom: theme.spacing(4),\r\n },\r\n});\r\n\r\n\r\nclass ResourceTaskContent extends React.Component {\r\n componentDidMount() {\r\n if (isBrowser) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n window.__clickInternalLink = this.clickInternalLink;\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (isBrowser) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n window.__clickInternalLink = null;\r\n }\r\n }\r\n\r\n clickInternalLink = (elementId) => {\r\n const url = this.getLinkUrl({ url: elementId });\r\n this.props.redirect(url);\r\n }\r\n\r\n getLinkUrl = (link) => {\r\n const { taskOrModuleId, hash } = parseInternalLink(link);\r\n return `${urls.inside.resource.task}/${taskOrModuleId}${hash}`;\r\n }\r\n\r\n getProgramItem = id => (this.props.allContent ? this.props.allContent[id] : null)\r\n\r\n render() {\r\n const {\r\n classes, translate, task, showTitle,\r\n } = this.props;\r\n\r\n if (!task) {\r\n return null;\r\n }\r\n\r\n return (\r\n {}}\r\n onSaveChanges={() => {}}\r\n onResponse={() => {}}\r\n />\r\n );\r\n }\r\n}\r\n\r\nResourceTaskContent.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n redirect: PropTypes.func.isRequired,\r\n task: PropTypes.object,\r\n allContent: PropTypes.object,\r\n showTitle: PropTypes.bool,\r\n};\r\n\r\nResourceTaskContent.defaultProps = {\r\n task: null,\r\n showTitle: false,\r\n allContent: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n allContent: state.program.content,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PageSettingStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ResourceTaskContent));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport { withStyles, Typography, TextField } from '@material-ui/core';\r\n\r\nimport urls from '../../app/urls';\r\nimport WeekdaySelect from './components/WeekdaySelect';\r\nimport * as PatientStore from '../../app/store/PatientStore';\r\nimport { patientUserLevels } from '../../youwell-common/constants';\r\nimport { hasValue } from '../../youwell-common/objectUtils';\r\nimport { trimIfString } from '../../youwell-common/stringUtils';\r\nimport { TopActionBar, BottomActionBar } from '../../common/components';\r\nimport ResizableList from '../../common/components/ResizableList';\r\nimport { validateAllFields, validateField, validateRequired } from '../../youwell-common/validationUtils';\r\nimport {\r\n hasErrors, isContactEmpty, stripEmptyProperties,\r\n} from './components/utils';\r\nimport ContactPersons from './components/ContactPersons';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n topContent: {\r\n display: 'flex',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n topContentBox: {\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n margin: theme.spacing(1),\r\n marginBottom: theme.spacing(5),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginBottom: theme.spacing(3),\r\n width: '100%',\r\n padding: theme.spacing(1),\r\n },\r\n\r\n '& + &': {\r\n marginLeft: theme.spacing(4),\r\n [theme.breakpoints.down('xs')]: {\r\n margin: theme.spacing(1),\r\n marginBottom: theme.spacing(3),\r\n },\r\n },\r\n },\r\n textField: {\r\n flex: '1 1 auto',\r\n },\r\n textFieldSmall: {\r\n width: 160,\r\n marginLeft: theme.spacing(2),\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: 100,\r\n },\r\n },\r\n textFieldDescription: {\r\n marginBottom: theme.spacing(5),\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: theme.spacing(2),\r\n marginBottom: theme.spacing(4),\r\n },\r\n },\r\n resourceStudents: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n contentDescription: {\r\n\r\n },\r\n});\r\n\r\nconst createResourceStudent = () => ({\r\n name: '',\r\n class: '',\r\n key: Date.now(), // should have been 'id' but legacy..\r\n});\r\n\r\nconst defaultState = {\r\n name: '',\r\n description: '',\r\n};\r\n\r\nconst defaultExtendedProps = {\r\n class: '',\r\n assignedHours: '',\r\n};\r\n\r\nconst specialExtendedProps = {\r\n availableWeekdays: [],\r\n resourceStudents: [],\r\n};\r\n\r\nconst validators = {\r\n name: validateRequired,\r\n};\r\n\r\n\r\nconst stateFromData = (data) => {\r\n const initialState = {\r\n ...defaultState,\r\n ...defaultExtendedProps,\r\n ...specialExtendedProps,\r\n contactPersons: [],\r\n validationErrors: {},\r\n updated: data?.updated,\r\n hasUnsavedChanges: false,\r\n saveMessage: '',\r\n };\r\n\r\n if (!data) {\r\n return initialState;\r\n }\r\n\r\n const extProps = Object.keys(defaultExtendedProps).reduce(\r\n (obj, key) => (data.extendedProperties && hasValue(data.extendedProperties[key])\r\n ? { ...obj, [key]: data.extendedProperties[key] } : { ...obj }),\r\n {\r\n availableWeekdays: data.extendedProperties?.availableWeekdays?.split(',') || [],\r\n resourceStudents: data.extendedProperties?.resourceStudents ? JSON.parse(data.extendedProperties.resourceStudents) : [],\r\n },\r\n );\r\n\r\n return Object.keys(defaultState).reduce(\r\n (obj, key) => (hasValue(data[key]) ? { ...obj, [key]: data[key] } : { ...obj }),\r\n {\r\n ...initialState,\r\n ...extProps,\r\n contactPersons: data.contactPersons || [],\r\n },\r\n );\r\n};\r\n\r\nclass EditStudent extends React.Component {\r\n state = stateFromData(this.props.studentData);\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n if (props.studentData?.updated && props.studentData.updated !== state.updated) {\r\n return stateFromData(props.studentData);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n handleChange = name => (event) => {\r\n this.setState({\r\n [name]: event.target.value,\r\n hasUnsavedChanges: true,\r\n saveMessage: '',\r\n }, () => {\r\n if (validators[name]) {\r\n const validationErrors = validateField(this.state, validators[name], name); // eslint-disable-line react/no-access-state-in-setstate\r\n this.setState({ validationErrors });\r\n }\r\n });\r\n };\r\n\r\n save = () => {\r\n const validationErrors = validateAllFields(this.state, validators);\r\n\r\n if (!hasErrors(validationErrors)) {\r\n const extendedProperties = Object.keys(defaultExtendedProps).reduce(\r\n (obj, key) => (hasValue(this.state[key])\r\n ? { ...obj, [key]: this.state[key] } : { ...obj }),\r\n {\r\n ...this.props.studentData?.extendedProperties,\r\n availableWeekdays: this.state.availableWeekdays?.join(',') || null,\r\n resourceStudents: this.state.resourceStudents?.length > 0 ? JSON.stringify(this.state.resourceStudents.map(student => stripEmptyProperties(student))) : null,\r\n },\r\n );\r\n\r\n const data = Object.keys(defaultState).reduce(\r\n (obj, key) => (hasValue(this.state[key]) ? { ...obj, [key]: trimIfString(this.state[key]) } : { ...obj }),\r\n {\r\n extendedProperties,\r\n userLevel: patientUserLevels.none,\r\n contactPersons: this.state.contactPersons.filter(contact => !isContactEmpty(contact)),\r\n },\r\n );\r\n\r\n const callback = () => {\r\n this.setState({\r\n hasUnsavedChanges: false,\r\n saveMessage: '',\r\n });\r\n };\r\n\r\n if (this.props.studentData) {\r\n data.id = this.props.studentData.id;\r\n this.props.updateElement(data, {\r\n callback,\r\n redirectWithElementId: urls.inside.student.home,\r\n });\r\n } else {\r\n this.props.insertElement(data, {\r\n callback,\r\n redirectWithElementId: urls.inside.student.home,\r\n });\r\n }\r\n } else {\r\n this.setState({ validationErrors });\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, studentData, clientConfig,\r\n } = this.props;\r\n\r\n const isNew = !studentData;\r\n\r\n const getError = (name) => {\r\n const error = this.state.validationErrors[name];\r\n return error ? translate(error) : null;\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {translate('studentEdit.resourceStudents')}\r\n {translate('studentEdit.resourceStudentsDescription')}\r\n \r\n
\r\n\r\n {!clientConfig.u_AnonymousOnly && (\r\n
\r\n {translate('studentEdit.contacts')}\r\n {translate('studentEdit.contactsDescription')}\r\n \r\n
\r\n )}\r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nEditStudent.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n clientConfig: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n insertElement: PropTypes.func.isRequired,\r\n updateElement: PropTypes.func.isRequired,\r\n studentData: PropTypes.object,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n studentId: PropTypes.string,\r\n }).isRequired,\r\n }).isRequired,\r\n};\r\n\r\nEditStudent.defaultProps = {\r\n studentData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n clientConfig: state.auth.clientConfig,\r\n studentData: state.patient.details && state.patient.details[ownProps.match.params.studentId],\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PatientStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(EditStudent));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { bindActionCreators } from 'redux';\r\nimport classnames from 'classnames';\r\nimport {\r\n withStyles,\r\n Typography,\r\n Stepper,\r\n Step,\r\n StepLabel,\r\n Button,\r\n LinearProgress,\r\n} from '@material-ui/core';\r\n\r\nimport ContactPersonList from './components/ContactPersonList';\r\nimport StudentTeacherList from './components/StudentTeacherList';\r\nimport EditTeachers from './components/EditTeachers';\r\nimport SkillInfo from './components/SkillInfo';\r\nimport WeekOverview from './components/WeekOverview';\r\nimport EditDetails from './components/EditDetails';\r\n\r\nimport {\r\n InfoBox, TopActionBar, NoContentClickToAdd, VimoLink, AddForm,\r\n} from '../../common/components';\r\nimport { SkillIcon } from '../../common/icons';\r\nimport * as PatientStore from '../../app/store/PatientStore';\r\nimport { getNumberOfWeeks, getWeekNumber } from '../../youwell-common/dateUtils';\r\nimport { DialogButton } from '../../youwell-common/components';\r\n\r\nimport urls from '../../app/urls';\r\nimport { green3 } from '../../app/style/theme';\r\nimport ResourceStudentList from './components/ResourceStudentList';\r\nimport FormList from './components/FormList';\r\nimport EditContactPerson from './components/EditContactPerson';\r\nimport { appRoles, orgLicence } from '../../youwell-common/constants';\r\nimport EditStudentAccessCode from './components/EditStudentAccessCode';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n padding: theme.spacing(3),\r\n display: 'flex',\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n flexWrap: 'wrap',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n column: {\r\n width: `calc(100% / 3 - ${theme.spacing(2)}px)`,\r\n margin: theme.spacing(1),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: `calc(100% / 2 - ${theme.spacing(2)}px)`,\r\n flex: '1 1 auto',\r\n marginTop: 0,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n margin: 0,\r\n },\r\n },\r\n mergedOnSmall: {\r\n [theme.breakpoints.only('sm')]: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n },\r\n },\r\n infoBox: {\r\n marginBottom: theme.spacing(2),\r\n flex: '1 1 auto',\r\n },\r\n infoBoxMergedOnSmall: {\r\n [theme.breakpoints.only('sm')]: {\r\n width: `calc(100% / 2 - ${theme.spacing(1)}px)`,\r\n flex: 'none',\r\n },\r\n },\r\n progress: {\r\n background: 'transparent',\r\n width: '100%',\r\n overflow: 'hidden',\r\n },\r\n mobileStepper: {\r\n marginTop: theme.spacing(2),\r\n padding: theme.spacing(1),\r\n },\r\n linearProgress: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n actionButtons: {\r\n margin: theme.spacing(4),\r\n borderTop: theme.borders.normal,\r\n paddingTop: theme.spacing(4),\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n },\r\n actionButton: {\r\n marginLeft: theme.spacing(2),\r\n },\r\n deleteButton: {\r\n marginLeft: theme.spacing(2),\r\n color: theme.colors.red1,\r\n borderColor: theme.colors.red1,\r\n '&:hover': {\r\n backgroundColor: theme.colors.red2,\r\n },\r\n },\r\n weekplan: {\r\n margin: theme.spacing(2, 4),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n accessCode: {\r\n marginLeft: theme.spacing(1),\r\n fontSize: 'larger',\r\n textTransform: 'uppercase',\r\n },\r\n});\r\n\r\nclass Home extends React.Component {\r\n deleteStudent = () => {\r\n this.props.deleteElement(this.props.studentData, {\r\n redirect: urls.inside.home,\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, profileData, studentData, appConfig, clientConfig,\r\n } = this.props;\r\n\r\n if (!studentData) {\r\n return null;\r\n }\r\n\r\n const isTeacher = appRoles.isTherapist([profileData?.selectedRole?.role]);\r\n const hasOrgLicense = profileData?.selectedRole.license >= orgLicence.Trial;\r\n\r\n const { currentSkills } = studentData;\r\n const resourceStudentList = studentData?.extendedProperties?.resourceStudents && JSON.parse(studentData.extendedProperties.resourceStudents);\r\n\r\n const weeksList = currentSkills?.map(skill => skill && getNumberOfWeeks(skill.startTime, skill.endTime));\r\n const currentWeeks = currentSkills?.map(skill => skill && ((getWeekNumber() - getWeekNumber(skill.startTime) + 52) % 52) + 1);\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {currentSkills?.map((skill, index) => (\r\n \r\n ))}\r\n
\r\n\r\n
\r\n
\r\n {currentSkills?.length\r\n ? currentSkills.map((skill, index) => (\r\n \r\n {weeksList[index] > 5 ? (\r\n
\r\n \r\n \r\n {translate('student.weekXofX', { current: currentWeeks[index], total: weeksList[index] })}\r\n \r\n
\r\n ) : (\r\n \r\n {[...Array(weeksList[index]).keys()].map(i => (\r\n \r\n {`${i + 1}/${weeksList[index]}`}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n ))\r\n\r\n : (\r\n \r\n \r\n \r\n )}\r\n {/* {todaysTasks && todaysTasks.map(task => (\r\n \r\n ))} */}\r\n
\r\n {!clientConfig.u_AnonymousOnly && (\r\n \r\n {studentData.contactPersons?.length > 0 ? (\r\n \r\n ) : (\r\n \r\n {translate('student.noContacts')}\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n {resourceStudentList && resourceStudentList.length > 0 ? (\r\n \r\n ) : (\r\n \r\n {translate('student.noResourceStudents')}\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {studentData.programData?.accessCode ? (\r\n \r\n {`${translate('student.accessCode')}:`}\r\n {studentData.programData.accessCode}\r\n \r\n ) : (\r\n \r\n {translate('student.noAccessCodeRegistered')}\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n \r\n {studentData.extendedProperties?.behaviour}\r\n \r\n \r\n \r\n \r\n {studentData.extendedProperties?.hypothesis}\r\n \r\n \r\n \r\n \r\n {studentData.extendedProperties?.socialSkill}\r\n \r\n \r\n \r\n \r\n {studentData.extendedProperties?.environmentAdjustments}\r\n \r\n \r\n
\r\n
\r\n {appConfig.mappingFormTaskId && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {studentData.description}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n {studentData.extendedProperties?.motivation}\r\n \r\n \r\n
\r\n
\r\n\r\n {isTeacher && (\r\n
\r\n \r\n \r\n {translate('student.editPlan')}\r\n \r\n \r\n {translate('student.editStudent')}\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nHome.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n clientConfig: PropTypes.object.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n studentId: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n profileData: PropTypes.object,\r\n studentData: PropTypes.object,\r\n deleteElement: PropTypes.func.isRequired,\r\n appConfig: PropTypes.object.isRequired,\r\n};\r\n\r\nHome.defaultProps = {\r\n profileData: null,\r\n studentData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n appConfig: state.pageSettings.appConfig,\r\n clientConfig: state.auth.clientConfig,\r\n profileData: state.auth.profileData,\r\n studentData: state.patient.details && state.patient.details[ownProps.match.params.studentId],\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PatientStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Home));\r\n","import * as React from 'react';\r\nimport {\r\n Route, Switch, Redirect,\r\n} from 'react-router-dom';\r\n\r\nimport Home from './Home';\r\nimport EditStudent from './EditStudent';\r\nimport Skills from './Skills';\r\nimport Plan from './Plan';\r\nimport Today from './Today';\r\nimport Task from './Task';\r\n\r\nimport LoadStudent from './components/LoadStudent';\r\n\r\nimport urls from '../../app/urls';\r\nimport { PageNotFound } from '../../youwell-common/components';\r\nimport Progress from './Progress';\r\n\r\nconst RedirectToHome = ({ ...rest }) => (\r\n (\r\n \r\n )}\r\n />\r\n);\r\n\r\nclass Index extends React.Component {\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\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 Index;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n withStyles, Typography, Button,\r\n} from '@material-ui/core';\r\nimport { bindActionCreators } from 'redux';\r\nimport { DragDropContext, Droppable } from 'react-beautiful-dnd';\r\n\r\nimport * as PatientStore from '../../app/store/PatientStore';\r\n\r\nimport {\r\n ContentBox, TopActionBar, BottomActionBar, TaskName, VimoModal,\r\n} from '../../common/components';\r\nimport TaskInfo from './components/TaskInfo';\r\nimport { SkillIcon } from '../../common/icons';\r\nimport { getLocalDate, today } from '../../youwell-common/dateUtils';\r\nimport SkillNavigation from './components/SkillNavigation';\r\nimport TrainingPlan from './components/TrainingPlan';\r\nimport DragableTask from './components/DragableTask';\r\nimport urls from '../../app/urls';\r\nimport TimePeriod from './components/TimePeriod';\r\nimport AboutTheExercises from '../program/components/AboutTheExercises';\r\nimport { vimoElementGroups } from '../../common/constants';\r\nimport { getMondayInWeek } from './components/utils';\r\n\r\nconst ALL_TASKS_DROP_ID = 'ALL_TASKS_DROP_ID';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n },\r\n topLine: {\r\n marginTop: -theme.spacing(2),\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n },\r\n topContent: {\r\n marginBottom: theme.spacing(4),\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n },\r\n currentSkill: {\r\n width: 400,\r\n marginRight: theme.spacing(4),\r\n },\r\n skill: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n color: theme.palette.common.white,\r\n },\r\n skillIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n timePeriod: {\r\n flex: '1 1 auto',\r\n },\r\n mainContent: {\r\n marginBottom: theme.spacing(2),\r\n display: 'flex',\r\n },\r\n calendar: {\r\n flex: '1 1 auto',\r\n marginRight: theme.spacing(2),\r\n },\r\n tasks: {\r\n width: 300,\r\n },\r\n description: {\r\n margin: theme.spacing(2),\r\n },\r\n\r\n allSkillsContent: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n task: {\r\n width: `calc(50% - ${theme.spacing(2)}px)`,\r\n margin: theme.spacing(1),\r\n },\r\n aboutTasks: {\r\n margin: theme.spacing(3),\r\n },\r\n aboutTasksHeader: {\r\n margin: theme.spacing(1),\r\n marginBottom: theme.spacing(4),\r\n },\r\n noSkillsDescription: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n noSkillsButtons: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n});\r\n\r\nconst initialState = {\r\n studentId: '',\r\n updated: '',\r\n selectedSkills: [],\r\n hasUnsavedChanges: false,\r\n saveMessage: '',\r\n skillIndex: 0,\r\n};\r\n\r\nconst getStateFromData = (studentData, skillNr) => {\r\n if (!studentData || !studentData.programData) {\r\n return {\r\n ...initialState,\r\n studentId: studentData && studentData.id,\r\n updated: studentData && studentData.updated,\r\n };\r\n }\r\n\r\n let skillIndex = Number(skillNr);\r\n\r\n if (Number.isNaN(skillIndex)) {\r\n const activeModule = studentData.programData.elements\r\n ?.findIndex(d => d.elementGroup === vimoElementGroups.main && getLocalDate(d.startTime) <= new Date() && (!d.endTime || getLocalDate(d.endTime) > today()))\r\n || 0;\r\n\r\n skillIndex = Number(activeModule) || 0;\r\n }\r\n\r\n return {\r\n completeDetailsLoaded: studentData.programData && !studentData.programData.limitedDetails,\r\n studentId: studentData.id,\r\n updated: studentData.updated,\r\n selectedSkills: studentData.programData.elements?.filter(d => d.elementGroup === vimoElementGroups.main) || [],\r\n hasUnsavedChanges: false,\r\n saveMessage: '',\r\n showModal: null,\r\n skillIndex,\r\n };\r\n};\r\n\r\nclass Plan extends React.Component {\r\n state = getStateFromData(this.props.studentData, this.props.skillNr)\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n if (props.studentData && (props.studentData.id !== state.studentId\r\n || props.studentData.updated !== state.updated\r\n || Number(props.skillNr) !== state.skillIndex\r\n || (props.studentData.programData && !state.completeDetailsLoaded && !props.studentData.programData.limitedDetails))) {\r\n return getStateFromData(props.studentData, props.skillNr);\r\n }\r\n return null;\r\n }\r\n\r\n showModal = task => () => {\r\n this.setState({\r\n showModal: task,\r\n });\r\n }\r\n\r\n closeModal = () => {\r\n this.setState({\r\n showModal: null,\r\n });\r\n }\r\n\r\n handleElementValuesChange = index => (values) => {\r\n this.setState(prevState => ({\r\n selectedSkills: prevState\r\n .selectedSkills\r\n .map((e, i) => (i === index\r\n ? {\r\n ...e,\r\n ...values,\r\n }\r\n : e)),\r\n hasUnsavedChanges: true,\r\n saveMessage: '',\r\n }));\r\n }\r\n\r\n onDragEnd = (result) => {\r\n const { source, destination, draggableId } = result;\r\n\r\n const currentTasks = (this.state.selectedSkills[this.state.skillIndex] && this.state.selectedSkills[this.state.skillIndex].moduleSchedule\r\n && this.state.selectedSkills[this.state.skillIndex].moduleSchedule.tasks) || [];\r\n let tasks;\r\n\r\n if (!destination) {\r\n if (source.droppableId !== ALL_TASKS_DROP_ID) {\r\n // Remove element\r\n tasks = currentTasks.filter(d => draggableId !== `${new Date(d.date).toISOString()}-${d.taskId}`);\r\n }\r\n } else if (destination.droppableId !== ALL_TASKS_DROP_ID) {\r\n const tasksByDate = currentTasks.reduce((prev, curr) => (\r\n {\r\n ...prev,\r\n [new Date(curr.date).toISOString()]: [...prev[new Date(curr.date).toISOString()] || [], curr],\r\n }\r\n ), { [destination.droppableId]: [] });\r\n\r\n if (source.droppableId === ALL_TASKS_DROP_ID) {\r\n // Add element\r\n\r\n if (currentTasks.filter(d => d.taskId === draggableId && new Date(d.date).toISOString() === destination.droppableId).length === 0) {\r\n const newTask = {\r\n taskId: draggableId,\r\n date: destination.droppableId,\r\n };\r\n const reordered = Array.from(tasksByDate[destination.droppableId]);\r\n reordered.splice(destination.index, 0, newTask);\r\n\r\n tasks = Object.keys(tasksByDate).reduce((prev, curr) => [...prev,\r\n ...curr === destination.droppableId ? reordered : tasksByDate[curr],\r\n ], []);\r\n }\r\n } else if (source.droppableId !== destination.droppableId) {\r\n // Move between days\r\n\r\n if (currentTasks.filter(d => d.taskId === draggableId.slice(source.droppableId.length + 1) && new Date(d.date).toISOString() === destination.droppableId).length === 0) {\r\n const reorderedSource = Array.from(tasksByDate[source.droppableId]);\r\n const [removed] = reorderedSource.splice(source.index, 1);\r\n\r\n const reorderedDestination = Array.from(tasksByDate[destination.droppableId]);\r\n reorderedDestination.splice(destination.index, 0, { ...removed, date: destination.droppableId });\r\n\r\n tasks = Object.keys(tasksByDate).reduce((prev, curr) => {\r\n if (curr === source.droppableId) {\r\n return [...prev, ...reorderedSource];\r\n }\r\n if (curr === destination.droppableId) {\r\n return [...prev, ...reorderedDestination];\r\n }\r\n return [...prev, ...tasksByDate[curr]];\r\n }, []);\r\n }\r\n } else if (source.droppableId === destination.droppableId) {\r\n // Move within day\r\n\r\n const reordered = Array.from(tasksByDate[destination.droppableId]);\r\n const [removed] = reordered.splice(source.index, 1);\r\n reordered.splice(destination.index, 0, removed);\r\n\r\n tasks = Object.keys(tasksByDate).reduce((prev, curr) => [...prev,\r\n ...curr === destination.droppableId ? reordered : tasksByDate[curr],\r\n ], []);\r\n }\r\n }\r\n\r\n if (tasks) {\r\n this.handleElementValuesChange(this.state.skillIndex)({\r\n moduleSchedule: {\r\n tasks,\r\n },\r\n });\r\n }\r\n }\r\n\r\n save = () => {\r\n const { programData } = this.props.studentData;\r\n\r\n const patientProgram = {\r\n ...programData,\r\n elements: [\r\n ...programData.elements.filter(d => d.elementGroup !== vimoElementGroups.main),\r\n ...this.state.selectedSkills,\r\n ],\r\n };\r\n\r\n // If a task is outside the timespace of the skill, it is removed from the task schedule\r\n patientProgram.elements.forEach((el, index) => {\r\n if (el.moduleSchedule?.tasks?.length > 0) {\r\n const startMonday = getMondayInWeek(getLocalDate(el.startTime));\r\n const onlyTasksWithinDates = el.moduleSchedule.tasks\r\n .filter(sche => getLocalDate(sche.date) >= startMonday && getLocalDate(sche.date) <= getLocalDate(el.endTime));\r\n\r\n if (!patientProgram.elements[index].moduleSchedule) {\r\n patientProgram.elements[index].moduleSchedule = {};\r\n }\r\n patientProgram.elements[index].moduleSchedule.tasks = onlyTasksWithinDates;\r\n }\r\n });\r\n\r\n this.props.updateProgramForPatient(patientProgram, {\r\n callback: () => {\r\n this.setState({\r\n hasUnsavedChanges: false,\r\n saveMessage: this.props.translate('studentPlan.allChangesSaved'),\r\n });\r\n },\r\n redirect: `${urls.inside.student.home}/${this.props.studentData.id}`,\r\n reducerParams: {\r\n patientId: this.props.studentData.id,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, studentData, profileData,\r\n } = this.props;\r\n\r\n if (!studentData) {\r\n return null;\r\n }\r\n\r\n const currentSkill = this.state.selectedSkills[this.state.skillIndex];\r\n const canEdit = profileData?.userAccess?.editPatients;\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {currentSkill\r\n ? (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {currentSkill.module ? currentSkill.module.name : ''}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {currentSkill.startTime ? (\r\n <>\r\n \r\n \r\n {translate('studentPlan.planDescription')}\r\n \r\n \r\n ) : (\r\n \r\n {translate('studentPlan.planDescriptionStart')}\r\n \r\n )}\r\n\r\n \r\n \r\n {currentSkill.startTime && (\r\n \r\n {translate('studentPlan.planDescriptionDragItems')}\r\n \r\n )}\r\n \r\n {(provided, snapshot) => (\r\n \r\n {currentSkill?.module?.tasks?.map((task, i) => (\r\n \r\n ))}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n )\r\n : (\r\n
\r\n \r\n {translate('studentPlan.noSkillsSelected')}\r\n \r\n \r\n {translate('studentPlan.noSkillsSelectedDescription')}\r\n \r\n
\r\n \r\n {translate('studentPlan.selectSkills')}\r\n \r\n
\r\n
\r\n )}\r\n
\r\n\r\n {canEdit && (\r\n \r\n )}\r\n\r\n
\r\n \r\n {translate('studentPlan.aboutTheExercises')}\r\n \r\n\r\n \r\n
\r\n\r\n {this.state.showModal && (\r\n \r\n )}\r\n >\r\n \r\n \r\n )}\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nPlan.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n updateProgramForPatient: PropTypes.func.isRequired,\r\n studentData: PropTypes.object,\r\n skillNr: PropTypes.string,\r\n profileData: PropTypes.object,\r\n};\r\n\r\nPlan.defaultProps = {\r\n studentData: null,\r\n skillNr: null,\r\n profileData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n studentData: state.patient.details && state.patient.details[ownProps.match.params.studentId],\r\n skillNr: ownProps.match.params.skillNr,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PatientStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Plan));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { connect, useDispatch } from 'react-redux';\r\nimport {\r\n withStyles, Typography, Button, TextField, Input,\r\n} from '@material-ui/core';\r\nimport {\r\n CartesianGrid, XAxis, YAxis, Tooltip, ResponsiveContainer,\r\n LineChart, Line,\r\n} from 'recharts';\r\n\r\nimport { TopActionBar } from '../../common/components';\r\n\r\nimport * as PatientStore from '../../app/store/PatientStore';\r\nimport urls from '../../app/urls';\r\nimport { datestamp, getTextfieldDateString } from '../../youwell-common/dateUtils';\r\nimport { AddIcon } from '../../common/icons';\r\nimport { DialogButton } from '../../youwell-common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n },\r\n title: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n description: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n areas: {\r\n borderTop: theme.borders.normal,\r\n paddingTop: theme.spacing(2),\r\n },\r\n problemArea: {\r\n margin: theme.spacing(2, 0, 4),\r\n },\r\n boxes: {\r\n display: 'flex',\r\n },\r\n header: {\r\n color: theme.colors.grey1,\r\n background: theme.colors.blue4,\r\n padding: theme.spacing(1, 2),\r\n marginBottom: theme.spacing(2),\r\n },\r\n itemBox: {\r\n flex: '1 1 33.3%',\r\n padding: theme.spacing(1),\r\n },\r\n inputs: {\r\n marginTop: theme.spacing(2),\r\n display: 'flex',\r\n },\r\n inputCount: {\r\n width: 150,\r\n },\r\n actions: {\r\n marginTop: theme.spacing(2),\r\n padding: theme.spacing(2),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-end',\r\n },\r\n icon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n input: {\r\n marginRight: theme.spacing(2),\r\n },\r\n newAreaInput: {\r\n marginRight: theme.spacing(2),\r\n width: 300,\r\n },\r\n divider: {\r\n borderTop: theme.borders.normal,\r\n },\r\n deleteButton: {\r\n color: theme.palette.error.main,\r\n },\r\n});\r\n\r\nfunction createChartData(observations) {\r\n const observationCopy = [...observations];\r\n observationCopy.sort((a, b) => a.timestamp.localeCompare(b.timestamp));\r\n return observationCopy.map(obs => ({\r\n date: datestamp(new Date(obs.timestamp)),\r\n events: obs.value,\r\n }));\r\n}\r\n\r\nconst ProblemArea = ({\r\n classes, translate, sensor, readOnly, studentId,\r\n}) => {\r\n const chartData = React.useMemo(() => createChartData(sensor.observations), [sensor.observations]);\r\n const [date, setDate] = React.useState(getTextfieldDateString());\r\n const [count, setCount] = React.useState('');\r\n\r\n const dispatch = useDispatch();\r\n\r\n const add = () => {\r\n const data = {\r\n value: count,\r\n sensorId: sensor.id,\r\n timestamp: date,\r\n };\r\n\r\n dispatch(PatientStore.actionCreators.insertObservation(data, { reducerParams: { patientId: studentId } }));\r\n };\r\n\r\n const deleteArea = () => {\r\n dispatch(PatientStore.actionCreators.deleteProblemArea(sensor, { reducerParams: { patientId: studentId } }));\r\n };\r\n\r\n React.useEffect(() => {\r\n const getData = () => {\r\n dispatch(PatientStore.actionCreators.getObservations(sensor.id, { reducerParams: { patientId: studentId, sensorId: sensor.id } }));\r\n };\r\n\r\n if (sensor.observations?.length < 1) {\r\n getData();\r\n }\r\n }, [dispatch, sensor.id, sensor.observations?.length, studentId]);\r\n\r\n\r\n return (\r\n
\r\n \r\n {translate('progress.problemArea')}\r\n \r\n
\r\n
\r\n \r\n {sensor.name}\r\n \r\n
\r\n\r\n {!readOnly && (\r\n
\r\n \r\n {translate('student.addObservation')}\r\n \r\n
\r\n setDate(e.target.value)}\r\n InputLabelProps={{ shrink: true }}\r\n className={classes.input}\r\n />\r\n setCount(e.target.value)}\r\n InputLabelProps={{ shrink: true }}\r\n className={classes.inputCount}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {!readOnly && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nProblemArea.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n sensor: PropTypes.object.isRequired,\r\n studentId: PropTypes.string.isRequired,\r\n readOnly: PropTypes.bool,\r\n};\r\n\r\nProblemArea.defaultProps = {\r\n readOnly: false,\r\n};\r\nconst Progress = ({\r\n classes, translate, studentData, profileData,\r\n}) => {\r\n const [newSensorName, setNewSensorName] = React.useState('');\r\n const dispatch = useDispatch();\r\n const canEdit = profileData?.userAccess?.editPatients;\r\n\r\n if (!studentData) {\r\n return null;\r\n }\r\n\r\n const addArea = () => {\r\n const data = {\r\n patientId: studentData.id,\r\n name: newSensorName,\r\n };\r\n if (newSensorName) {\r\n dispatch(PatientStore.actionCreators.insertProblemArea(data, { reducerParams: { patientId: studentData.id } }));\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {studentData && (\r\n \r\n )}\r\n\r\n
\r\n \r\n {translate('progress.heading')}\r\n \r\n \r\n {translate('progress.description')}\r\n \r\n\r\n
\r\n {studentData.sensors?.length > 0 ? studentData.sensors.map(\r\n sensor => (\r\n \r\n ),\r\n ) : (\r\n \r\n {translate('student.noProblemAreasDefined')}\r\n \r\n )}\r\n
\r\n\r\n
\r\n\r\n {canEdit && (\r\n
\r\n setNewSensorName(e.target.value)} />\r\n \r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nProgress.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n studentData: PropTypes.object,\r\n profileData: PropTypes.object,\r\n};\r\n\r\nProgress.defaultProps = {\r\n profileData: null,\r\n studentData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n studentData: state.patient.details && state.patient.details[ownProps.match.params.studentId],\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Progress));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { DragDropContext, Droppable } from 'react-beautiful-dnd';\r\nimport { bindActionCreators } from 'redux';\r\nimport classnames from 'classnames';\r\nimport {\r\n withStyles, Typography, Accordion, AccordionSummary, AccordionDetails,\r\n} from '@material-ui/core';\r\n\r\nimport {\r\n ContentBox, TopActionBar, BottomActionBar, VimoModal,\r\n} from '../../common/components';\r\nimport { getTrainingModules } from '../../common/utils/programUtils';\r\nimport { Loading } from '../../youwell-common/components';\r\nimport { toLookup } from '../../youwell-common/arrayUtils';\r\nimport { ExpandIcon } from '../../common/icons';\r\nimport urls from '../../app/urls';\r\n\r\nimport * as PatientStore from '../../app/store/PatientStore';\r\n\r\nimport DragableSkill from './components/DragableSkill';\r\nimport SelectedSkill from './components/SelectedSkill';\r\nimport SkillInfo from './components/SkillInfo';\r\nimport { vimoElementGroups } from '../../common/constants';\r\nimport { today } from '../../youwell-common/dateUtils';\r\n\r\nconst SELECTED_SKILLS_DROP_ID = 'SELECTED_SKILLS_DROP_ID';\r\nconst ALL_SKILLS_DROP_ID = 'ALL_SKILLS_DROP_ID';\r\nconst taskWidth = 120;\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n },\r\n skillsSelection: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n margin: `${theme.spacing(4)}px ${-theme.spacing(1)}px`,\r\n },\r\n selectedSkills: {\r\n },\r\n selectedSkillsContent: {\r\n border: theme.borders.dashed,\r\n width: (taskWidth * 2) + theme.spacing(4) + 4,\r\n minHeight: 200,\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n position: 'relative',\r\n },\r\n allSkills: {\r\n },\r\n allSkillsContent: {\r\n width: (taskWidth * 3) + theme.spacing(6) + 4,\r\n },\r\n expansionPanelExpanded: {\r\n border: theme.borders.dashed,\r\n },\r\n allSkillsContentModules: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n padding: 0,\r\n },\r\n skillsTask: {\r\n width: taskWidth,\r\n margin: theme.spacing(1),\r\n },\r\n selectedSkillPlaceholder: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n opacity: 0.1,\r\n },\r\n isDraggingOver: {\r\n background: theme.colors.green1,\r\n },\r\n description: {\r\n margin: theme.spacing(2),\r\n },\r\n\r\n});\r\n\r\nconst initialState = {\r\n studentId: '',\r\n updated: '',\r\n selectedModules: [],\r\n hasUnsavedChanges: false,\r\n saveMessage: '',\r\n};\r\n\r\nconst getStateFromData = (studentData) => {\r\n const deafultState = {\r\n ...initialState,\r\n studentId: studentData && studentData.id,\r\n updated: studentData && studentData.updated,\r\n };\r\n\r\n if (!studentData || !studentData.programData) {\r\n return deafultState;\r\n }\r\n\r\n return {\r\n ...deafultState,\r\n completeDetailsLoaded: studentData.programData && !studentData.programData.limitedDetails,\r\n visibleCategory: false,\r\n selectedModules: getTrainingModules(studentData.programData) || [],\r\n };\r\n};\r\n\r\nclass Skills extends React.Component {\r\n state = getStateFromData(this.props.studentData)\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n if (props.studentData\r\n && (props.studentData.id !== state.studentId\r\n || props.studentData.updated !== state.updated\r\n || (props.studentData.programData && !state.completeDetailsLoaded && !props.studentData.programData.limitedDetails))) {\r\n return getStateFromData(props.studentData);\r\n }\r\n return null;\r\n }\r\n\r\n toggleCategory = category => (event, expanded) => {\r\n this.setState({\r\n visibleCategory: expanded ? category : false,\r\n });\r\n }\r\n\r\n showModuleInfo = module => () => {\r\n this.setState({ showModuleInfo: module });\r\n }\r\n\r\n hideModuleInfo = () => {\r\n this.setState({ showModuleInfo: null });\r\n }\r\n\r\n removeSkill = moduleId => () => {\r\n this.setState(prevState => ({\r\n selectedModules: prevState.selectedModules.filter(d => d.id !== moduleId),\r\n hasUnsavedChanges: true,\r\n saveMessage: '',\r\n }));\r\n }\r\n\r\n addSkill = moduleIndex => () => {\r\n this.setState(prevState => ({\r\n selectedModules: [...prevState.selectedModules, this.props.moduleList[moduleIndex]],\r\n hasUnsavedChanges: true,\r\n saveMessage: '',\r\n }));\r\n }\r\n\r\n onDragEnd = (result) => {\r\n const { source, destination, draggableId } = result;\r\n\r\n if (!destination) {\r\n if (source.droppableId === SELECTED_SKILLS_DROP_ID) {\r\n this.removeSkill(draggableId)();\r\n }\r\n } else if (destination.droppableId === SELECTED_SKILLS_DROP_ID) {\r\n if (source.droppableId === ALL_SKILLS_DROP_ID) {\r\n this.addSkill(source.index)();\r\n }\r\n }\r\n }\r\n\r\n save = () => {\r\n const programData = this.props.studentData.programData || {\r\n patientId: this.props.studentData.id,\r\n programId: this.props.vimoProgramId,\r\n startDate: today(),\r\n elements: [],\r\n };\r\n const existingElements = programData.elements || [];\r\n const otherElements = existingElements.filter(d => d.elementGroup !== vimoElementGroups.main);\r\n\r\n const selectedModulesLookup = toLookup(this.state.selectedModules);\r\n const existingModulesLookup = existingElements\r\n .reduce((prev, curr) => (\r\n curr.module ? { ...prev, [curr.module.id]: true } : prev\r\n ), {});\r\n\r\n const newElements = this.state.selectedModules.filter(d => !existingModulesLookup[d.id]).map(module => (\r\n { module: { id: module.id }, sorting: module.sorting, elementGroup: vimoElementGroups.main }\r\n ));\r\n\r\n const patientProgram = {\r\n ...programData,\r\n elements: [\r\n ...otherElements,\r\n ...existingElements\r\n .filter(d => d.module && selectedModulesLookup[d.module.id]),\r\n ...newElements,\r\n ],\r\n };\r\n\r\n if (programData.id) {\r\n this.props.updateProgramForPatient(patientProgram, {\r\n callback: () => {\r\n this.setState({\r\n hasUnsavedChanges: false,\r\n saveMessage: this.props.translate('studentPlan.allChangesSaved'),\r\n });\r\n },\r\n redirect: `${urls.inside.student.home}/${this.props.studentData.id}/${urls.inside.student.parts.plan}`,\r\n reducerParams: { patientId: this.props.studentData.id },\r\n });\r\n } else {\r\n this.props.insertProgramForPatient(patientProgram, {\r\n callback: () => {\r\n this.setState({\r\n hasUnsavedChanges: false,\r\n saveMessage: this.props.translate('studentPlan.allChangesSaved'),\r\n });\r\n },\r\n redirect: `${urls.inside.student.home}/${this.props.studentData.id}/${urls.inside.student.parts.plan}`,\r\n reducerParams: { patientId: this.props.studentData.id },\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, studentData, moduleList, profileData,\r\n } = this.props;\r\n\r\n if (!studentData) {\r\n return null;\r\n }\r\n\r\n const selectedLookup = toLookup(this.state.selectedModules);\r\n\r\n const moduleCategories = [\r\n { id: 'communication', modules: [] },\r\n { id: 'play', modules: [] },\r\n { id: 'friendship', modules: [] },\r\n { id: 'selfcontrol', modules: [] },\r\n { id: 'conflicts', modules: [] },\r\n ];\r\n\r\n if (moduleList) {\r\n for (let i = 0; i < moduleList.length; i++) {\r\n const el = { ...moduleList[i], index: i };\r\n if (i < 23) {\r\n moduleCategories[0].modules.push(el);\r\n } else if (i < 32) {\r\n moduleCategories[1].modules.push(el);\r\n } else if (i < 47) {\r\n moduleCategories[2].modules.push(el);\r\n } else if (i < 60) {\r\n moduleCategories[3].modules.push(el);\r\n } else {\r\n moduleCategories[4].modules.push(el);\r\n }\r\n }\r\n }\r\n\r\n const canEdit = profileData?.userAccess?.editPatients;\r\n\r\n return (\r\n
\r\n \r\n\r\n {this.state.showModuleInfo && (\r\n \r\n \r\n \r\n )}\r\n\r\n
\r\n \r\n {translate('studentSkills.selectSkillsDescription')}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {(provided, snapshot) => (\r\n \r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n {this.state.selectedModules.map(module => (\r\n \r\n ))}\r\n
\r\n \r\n \r\n \r\n {provided => (\r\n \r\n {moduleList ? moduleCategories.map(category => (\r\n \r\n }>\r\n {translate(`moduleCategories.${category.id}`)}\r\n \r\n \r\n {category.modules.map(module => (\r\n \r\n ))}\r\n \r\n \r\n )) : (\r\n \r\n )}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {canEdit && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nSkills.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n vimoProgramId: PropTypes.string.isRequired,\r\n updateProgramForPatient: PropTypes.func.isRequired,\r\n insertProgramForPatient: PropTypes.func.isRequired,\r\n studentData: PropTypes.object,\r\n moduleList: PropTypes.array,\r\n profileData: PropTypes.object,\r\n};\r\n\r\nSkills.defaultProps = {\r\n studentData: null,\r\n moduleList: null,\r\n profileData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n studentData: state.patient.details && state.patient.details[ownProps.match.params.studentId],\r\n moduleList: state.program.programDetails && state.program.programDetails.modules,\r\n vimoProgramId: state.pageSettings.appConfig.vimoProgramId,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PatientStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Skills));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Typography } from '@material-ui/core';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { TopActionBar, VimoTaskContent } from '../../common/components';\r\n\r\nimport TaskAvatar from './components/TaskAvatar';\r\nimport urls from '../../app/urls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n },\r\n title: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: theme.spacing(4),\r\n },\r\n avatar: {\r\n marginRight: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass Task extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, taskData, studentData,\r\n } = this.props;\r\n\r\n if (!taskData) {\r\n return null;\r\n }\r\n\r\n // const patientProgramElementId = studentData.currentSkill && studentData.currentSkill.id;\r\n\r\n return (\r\n
\r\n {studentData && (\r\n \r\n )}\r\n\r\n \r\n \r\n {taskData.name}\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nTask.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n studentData: PropTypes.object,\r\n taskData: PropTypes.object,\r\n};\r\n\r\nTask.defaultProps = {\r\n studentData: null,\r\n taskData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n studentData: state.patient.details && state.patient.details[ownProps.match.params.studentId],\r\n taskData: state.program.taskDetails && state.program.taskDetails[ownProps.match.params.taskId],\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Task));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Typography, Divider } from '@material-ui/core';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { TopActionBar, VimoTaskContent } from '../../common/components';\r\n\r\nimport TaskAvatar from './components/TaskAvatar';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n },\r\n title: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(2),\r\n },\r\n avatar: {\r\n marginRight: theme.spacing(1),\r\n },\r\n task: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n divider: {\r\n backgroundColor: theme.colors.grey3,\r\n marginBottom: theme.spacing(4),\r\n },\r\n});\r\n\r\nclass Today extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, studentData, taskDetails,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {studentData && studentData.todaysTasks.map((task, i) => (\r\n \r\n {i > 0 && }\r\n
\r\n \r\n \r\n {task.name}\r\n \r\n {taskDetails && taskDetails[task.id] && }\r\n
\r\n
\r\n ))}\r\n\r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nToday.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n studentData: PropTypes.object,\r\n taskDetails: PropTypes.object,\r\n};\r\n\r\nToday.defaultProps = {\r\n studentData: null,\r\n taskDetails: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n studentData: state.patient.details && state.patient.details[ownProps.match.params.studentId],\r\n taskDetails: state.program.taskDetails,\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Today));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n withStyles,\r\n Typography,\r\n List,\r\n ListItem,\r\n} from '@material-ui/core';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport {\r\n PersonIcon,\r\n PhoneIcon,\r\n EmailIcon,\r\n UserAccessIcon,\r\n} from '../../../common/icons';\r\nimport { VimoModal } from '../../../common/components';\r\nimport EditContactPerson from './EditContactPerson';\r\n\r\nconst styles = theme => ({\r\n listItem: {\r\n marginBottom: theme.spacing(1),\r\n padding: theme.spacing(1, 0.5),\r\n },\r\n text: {\r\n flex: '1 1 auto',\r\n },\r\n role: {\r\n color: theme.colors.grey3,\r\n },\r\n personIcon: {\r\n fontSize: theme.sizes.mediumIcon,\r\n marginRight: theme.spacing(1),\r\n },\r\n icon: {\r\n marginLeft: theme.spacing(0.5),\r\n\r\n [theme.breakpoints.down('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n});\r\n\r\nconst ContactOverview = ({\r\n classes, contactData, patientId, readOnly,\r\n}) => {\r\n const [showModal, setShowModal] = React.useState(false);\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n\r\n const onClick = () => {\r\n setShowModal(true);\r\n };\r\n\r\n const closeModal = () => {\r\n setShowModal(false);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n { contactData.name}\r\n { contactData.role}\r\n
\r\n {contactData.phone && (\r\n \r\n )}\r\n {contactData.email && (\r\n \r\n )}\r\n {contactData.canLogin && (\r\n \r\n )}\r\n
\r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nContactOverview.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n contactData: PropTypes.object.isRequired,\r\n patientId: PropTypes.string.isRequired,\r\n readOnly: PropTypes.bool,\r\n};\r\n\r\nContactOverview.defaultProps = {\r\n readOnly: false,\r\n};\r\n\r\nconst ContactOverviewWithStyles = withStyles(styles)(ContactOverview);\r\n\r\nconst ContactPersonList = ({ persons, patientId, readOnly }) => {\r\n if (!persons) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {persons.map(person => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nContactPersonList.propTypes = {\r\n persons: PropTypes.array.isRequired,\r\n patientId: PropTypes.string.isRequired,\r\n readOnly: PropTypes.bool,\r\n};\r\n\r\nContactPersonList.defaultProps = {\r\n readOnly: false,\r\n};\r\n\r\nexport default ContactPersonList;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n withStyles,\r\n List,\r\n ListItem,\r\n Button,\r\n IconButton, TextField, Tooltip,\r\n} from '@material-ui/core';\r\nimport { getTranslate, Translate } from 'react-localize-redux';\r\n\r\nimport {\r\n AddIcon, RemoveIcon, UserAccessIcon,\r\n} from '../../../common/icons';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n list: {\r\n marginTop: theme.spacing(1),\r\n padding: 0,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1, 0),\r\n },\r\n },\r\n listItem: {\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1, 0),\r\n flexWrap: 'wrap',\r\n },\r\n },\r\n textField: {\r\n margin: `0 ${theme.spacing(2)}px`,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: theme.spacing(0, 1, 2, 0),\r\n },\r\n },\r\n addButton: {\r\n marginTop: theme.spacing(3),\r\n marginLeft: theme.spacing(3),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginLeft: 0,\r\n },\r\n },\r\n addIcon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n flex: {\r\n flex: '1 1 auto',\r\n },\r\n removeButton: {\r\n color: theme.colors.red1,\r\n },\r\n infoIcon: {\r\n color: theme.palette.text.secondary,\r\n },\r\n infoTooltip: {\r\n backgroundColor: theme.palette.grey[100],\r\n color: theme.colors.blue4,\r\n padding: theme.spacing(3),\r\n boxShadow: theme.shadows[1],\r\n fontSize: '1em',\r\n },\r\n});\r\n\r\nconst createContact = () => ({\r\n name: '',\r\n role: '',\r\n phone: '',\r\n email: '',\r\n _newId: Date.now(), // id is created on server\r\n});\r\n\r\nclass ContactPersons extends React.Component {\r\n handleChange = (index, name) => (event) => {\r\n this.props.onChange({\r\n target: {\r\n value: this.props.values.map((el, i) => (i === index ? { ...el, [name]: event.target.value } : el)),\r\n },\r\n });\r\n };\r\n\r\n addValue = () => {\r\n this.props.onChange({\r\n target: {\r\n value: this.props.values.concat(createContact()),\r\n },\r\n });\r\n };\r\n\r\n removeValue = index => () => {\r\n this.props.onChange({\r\n target: {\r\n value: this.props.values.filter((el, i) => i !== index),\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, values,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n {values.map((value, index) => (\r\n \r\n \r\n \r\n \r\n \r\n {value.userId && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nContactPersons.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n values: PropTypes.array.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(ContactPersons));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Draggable } from 'react-beautiful-dnd';\r\nimport {\r\n withStyles, Typography, IconButton, Fab,\r\n} from '@material-ui/core';\r\nimport classnames from 'classnames';\r\n\r\nimport { SkillIcon, InfoIcon, PlusIcon } from '../../../common/icons';\r\n\r\nconst styles = theme => ({\r\n module: {\r\n padding: theme.spacing(1),\r\n overflow: 'hidden',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n background: theme.colors.grey2,\r\n position: 'relative',\r\n },\r\n disabled: {\r\n background: theme.palette.common.white,\r\n border: theme.borders.normal,\r\n },\r\n moduleIcon: {\r\n fontSize: theme.sizes.largeIcon,\r\n marginBottom: theme.spacing(1),\r\n },\r\n actionButton: {\r\n margin: theme.spacing(1),\r\n },\r\n infoIcon: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n padding: theme.spacing(0.5),\r\n },\r\n name: {\r\n wordBreak: 'break-word',\r\n },\r\n});\r\n\r\nconst getItemStyle = (draggableStyle, isDragging) => ({\r\n userSelect: 'none',\r\n background: isDragging ? '#efefef' : '',\r\n ...draggableStyle,\r\n});\r\n\r\nclass DragableSkill extends React.Component {\r\n render() {\r\n const {\r\n classes, className, module, index, draggableId, disabled, showInfo, onAdd,\r\n } = this.props;\r\n\r\n if (!module) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {(provided, snapshot) => (\r\n \r\n {showInfo && (\r\n \r\n \r\n \r\n )}\r\n {disabled ? : (\r\n \r\n \r\n \r\n )}\r\n \r\n {module.name}\r\n \r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nDragableSkill.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n module: PropTypes.object.isRequired,\r\n index: PropTypes.number.isRequired,\r\n draggableId: PropTypes.string.isRequired,\r\n onAdd: PropTypes.func,\r\n disabled: PropTypes.bool,\r\n className: PropTypes.string,\r\n showInfo: PropTypes.func,\r\n};\r\n\r\nDragableSkill.defaultProps = {\r\n disabled: false,\r\n className: null,\r\n showInfo: null,\r\n onAdd: null,\r\n};\r\n\r\nexport default withStyles(styles)(DragableSkill);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Draggable } from 'react-beautiful-dnd';\r\nimport { withStyles, Typography, ButtonBase } from '@material-ui/core';\r\nimport classnames from 'classnames';\r\nimport TaskAvatar from './TaskAvatar';\r\n\r\nconst styles = theme => ({\r\n task: {\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n },\r\n taskIcon: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n underline: {\r\n '$task:hover &': {\r\n borderBottom: '1px solid',\r\n },\r\n },\r\n});\r\n\r\nclass DragableTask extends React.Component {\r\n render() {\r\n const {\r\n classes, className, task, index, onClick, disabled,\r\n } = this.props;\r\n\r\n if (!module) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {provided => (\r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n {task.name}\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nDragableTask.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n task: PropTypes.object.isRequired,\r\n index: PropTypes.number.isRequired,\r\n className: PropTypes.string,\r\n onClick: PropTypes.func,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nDragableTask.defaultProps = {\r\n className: null,\r\n onClick: null,\r\n disabled: false,\r\n};\r\n\r\nexport default withStyles(styles)(DragableTask);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport {\r\n withStyles, Typography, Button, TextField, FormControl, FormControlLabel, Checkbox,\r\n} from '@material-ui/core';\r\n\r\nimport * as PatientStore from '../../../app/store/PatientStore';\r\nimport {\r\n validateAllFields, validateEmail, validateField, validateRequired,\r\n} from '../../../youwell-common/validationUtils';\r\nimport { hasErrors } from './utils';\r\nimport { orgLicence } from '../../../youwell-common/constants';\r\nimport { DialogButton } from '../../../youwell-common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n fields: {\r\n marginTop: theme.spacing(4),\r\n },\r\n inputField: {\r\n width: '50%',\r\n marginBottom: theme.spacing(4),\r\n paddingRight: theme.spacing(4),\r\n },\r\n userAccessField: {\r\n\r\n },\r\n disclaimer: {\r\n },\r\n actions: {\r\n marginTop: theme.spacing(4),\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n },\r\n button: {\r\n marginRight: theme.spacing(1),\r\n },\r\n flex: {\r\n flex: '1 1 auto',\r\n },\r\n deleteButton: {\r\n justifySelf: 'flex-start',\r\n color: theme.palette.error.main,\r\n },\r\n});\r\n\r\nconst getValidators = canLogin => ({\r\n name: validateRequired,\r\n role: validateRequired,\r\n email: canLogin ? [validateEmail, validateRequired] : validateEmail,\r\n phone: canLogin ? validateRequired : null,\r\n});\r\n\r\nconst defaultData = {\r\n name: '',\r\n role: '',\r\n phone: '',\r\n email: '',\r\n canLogin: false,\r\n};\r\n\r\nclass EditContactPerson extends React.Component {\r\n state = {\r\n ...this.props.contactData || defaultData,\r\n hasUnsavedChanges: false,\r\n validationErrors: {},\r\n };\r\n\r\n handleChange = name => (event) => {\r\n this.setState({\r\n [name]: event.target.value,\r\n hasUnsavedChanges: true,\r\n }, () => {\r\n const validators = getValidators(this.state.canLogin);\r\n const validationErrors = validateField(this.state, validators[name], name); // eslint-disable-line react/no-access-state-in-setstate\r\n this.setState({ validationErrors });\r\n });\r\n };\r\n\r\n toggleCheckedChange = name => (event) => {\r\n this.setState({\r\n [name]: event.target.checked,\r\n hasUnsavedChanges: true,\r\n });\r\n }\r\n\r\n save = () => {\r\n const validators = getValidators(this.state.canLogin);\r\n const validationErrors = validateAllFields(this.state, validators);\r\n\r\n if (!hasErrors(validationErrors)) {\r\n const saveData = Object.keys(this.props.contactData || defaultData).reduce((prev, curr) => (\r\n {\r\n ...prev,\r\n [curr]: this.state[curr],\r\n }), { patientId: this.props.patientId });\r\n\r\n if (this.props.contactData?.id) {\r\n this.props.updateContact(saveData, { reducerParams: { patientId: this.props.patientId }, callback: this.props.onClose });\r\n } else {\r\n this.props.insertContact(saveData, { reducerParams: { patientId: this.props.patientId }, callback: this.props.onClose });\r\n }\r\n } else {\r\n this.setState({ validationErrors });\r\n }\r\n }\r\n\r\n delete = () => {\r\n this.props.deleteContact(this.props.contactData, { reducerParams: { patientId: this.props.patientId, contactId: this.props.contactData.id }, callback: this.props.onClose });\r\n }\r\n\r\n getError = (name) => {\r\n const error = this.state.validationErrors[name];\r\n return error ? this.props.translate(error) : null;\r\n };\r\n\r\n cancel = () => {\r\n this.props.onClose();\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, contactData, profileData,\r\n } = this.props;\r\n\r\n const hasOrgLicense = profileData?.selectedRole.license >= orgLicence.Trial;\r\n\r\n return (\r\n
\r\n {translate('studentEdit.contactPersonDescription')}\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {hasOrgLicense && (\r\n \r\n \r\n )}\r\n label={translate('studentEdit.hasUserAccess')}\r\n />\r\n {contactData?.canLogin && !this.state.canLogin ? (\r\n \r\n {translate('studentEdit.userRemoveAccessDisclaimer')}\r\n \r\n ) : (\r\n \r\n {translate('studentEdit.userAccessDisclaimer')}\r\n \r\n )}\r\n \r\n )}\r\n\r\n\r\n
\r\n {contactData && (\r\n \r\n )}\r\n
\r\n \r\n {translate('common.cancel')}\r\n \r\n \r\n {translate('common.save')}\r\n \r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nEditContactPerson.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n patientId: PropTypes.string.isRequired,\r\n contactData: PropTypes.object,\r\n updateContact: PropTypes.func.isRequired,\r\n insertContact: PropTypes.func.isRequired,\r\n deleteContact: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n profileData: PropTypes.object.isRequired,\r\n};\r\n\r\nEditContactPerson.defaultProps = {\r\n contactData: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n clientConfig: state.auth.clientConfig,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PatientStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(EditContactPerson)));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { withStyles, TextField, Button } from '@material-ui/core';\r\n\r\nimport * as PatientStore from '../../../app/store/PatientStore';\r\nimport { getValueByDotNotation } from '../../../youwell-common/objectUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n actions: {\r\n marginTop: theme.spacing(2),\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n },\r\n addIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n divider: {\r\n marginTop: theme.spacing(1),\r\n },\r\n});\r\n\r\nconst stateFromData = (data, name) => ({\r\n validationErrors: {},\r\n hasUnsavedChanges: false,\r\n saveMessage: '',\r\n value: getValueByDotNotation(data, name),\r\n});\r\n\r\nclass EditDetails extends React.Component {\r\n state = stateFromData(this.props.studentData, this.props.detailName);\r\n\r\n handleChange = (event) => {\r\n this.setState({ value: event.target.value, hasUnsavedChanges: true });\r\n }\r\n\r\n save = () => {\r\n const { studentData, detailName, onClose } = this.props;\r\n\r\n const data = {\r\n id: studentData.id,\r\n rev: studentData.rev,\r\n changes: {\r\n [detailName]: this.state.value,\r\n },\r\n };\r\n\r\n this.props.patchElement(data, { callback: onClose });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, studentData,\r\n } = this.props;\r\n\r\n if (!studentData) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nEditDetails.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n studentId: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n studentData: PropTypes.object.isRequired,\r\n detailName: PropTypes.string.isRequired,\r\n patchElement: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n studentData: state.patient.details && state.patient.details[ownProps.match.params.studentId],\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PatientStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(EditDetails)));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport { Button, Typography, makeStyles } from '@material-ui/core';\r\n\r\nimport * as PatientStore from '../../../app/store/PatientStore';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n },\r\n actions: {\r\n marginTop: theme.spacing(2),\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n },\r\n addIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n divider: {\r\n marginTop: theme.spacing(1),\r\n },\r\n currentCode: {\r\n margin: theme.spacing(4),\r\n display: 'flex',\r\n justifyContent: 'center',\r\n textTransform: 'uppercase',\r\n },\r\n deleteButton: {\r\n color: theme.palette.error.main,\r\n },\r\n}));\r\n\r\nconst EditStudentAccessCode = ({ patientId, programData }) => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n\r\n const generateNewCode = () => {\r\n dispatch(PatientStore.actionCreators.generateNewAccessCode(programData.id, {\r\n // callback: onClose,\r\n reducerParams: { patientId },\r\n }));\r\n };\r\n\r\n const removeCode = () => {\r\n dispatch(PatientStore.actionCreators.removeAccessCode(programData.id, {\r\n // callback: onClose,\r\n reducerParams: { patientId },\r\n }));\r\n };\r\n\r\n if (!programData) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {translate('student.accessCodeDescription')}\r\n \r\n\r\n {programData.accessCode ? (\r\n
\r\n \r\n {programData.accessCode}\r\n \r\n
\r\n ) : (\r\n \r\n {translate('student.noAccessCodeRegistered')}\r\n \r\n )}\r\n\r\n
\r\n {programData.accessCode ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n\r\n
\r\n );\r\n};\r\n\r\nEditStudentAccessCode.propTypes = {\r\n patientId: PropTypes.string.isRequired,\r\n programData: PropTypes.object.isRequired,\r\n // onClose: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default EditStudentAccessCode;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport {\r\n withStyles, Typography, List, ListItem, ListItemText, ListItemAvatar, ListItemSecondaryAction, IconButton, Avatar, ListItemIcon, Divider,\r\n} from '@material-ui/core';\r\n\r\nimport { AddIcon, RemoveIcon, PersonIcon } from '../../../common/icons';\r\n\r\nimport * as PatientStore from '../../../app/store/PatientStore';\r\nimport * as TeacherStore from '../../../app/store/TeacherStore';\r\nimport { appRoles } from '../../../youwell-common/constants';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n actions: {\r\n marginTop: theme.spacing(2),\r\n padding: theme.spacing(1),\r\n },\r\n addIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n divider: {\r\n marginTop: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass EditTeachers extends React.Component {\r\n componentDidMount() {\r\n if (!this.props.teacherList) {\r\n this.props.fetchTeacherList({ requestParams: { minimumRole: appRoles.therapist } });\r\n }\r\n }\r\n\r\n add = therapistId => () => {\r\n const data = {\r\n patientId: this.props.studentData.id,\r\n therapistId,\r\n };\r\n this.props.insertPatientTherapist(data);\r\n }\r\n\r\n remove = id => () => {\r\n const data = {\r\n patientId: this.props.studentData.id,\r\n therapistId: id,\r\n };\r\n this.props.deletePatientTherapist(data);\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, studentData, teacherList,\r\n } = this.props;\r\n\r\n if (!studentData) {\r\n return null;\r\n }\r\n\r\n const studentTeachers = (studentData.therapists || {}).reduce((prev, curr) => (\r\n { ...prev, [curr.therapistId]: true }\r\n ), {});\r\n\r\n return (\r\n
\r\n \r\n {translate('student.assignedTeachers')}\r\n \r\n \r\n {studentData.therapists && studentData.therapists.map(item => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n\r\n \r\n\r\n
\r\n \r\n {translate('student.addTeacher')}\r\n \r\n\r\n \r\n {teacherList && teacherList.filter(d => !studentTeachers[d.id]).map(item => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n\r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nEditTeachers.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n studentId: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n studentData: PropTypes.object.isRequired,\r\n insertPatientTherapist: PropTypes.func.isRequired,\r\n deletePatientTherapist: PropTypes.func.isRequired,\r\n fetchTeacherList: PropTypes.func.isRequired,\r\n teacherList: PropTypes.array,\r\n};\r\n\r\nEditTeachers.defaultProps = {\r\n teacherList: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n studentData: state.patient.details && state.patient.details[ownProps.match.params.studentId],\r\n teacherList: state.teacher.list,\r\n profileData: state.auth.profileData,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PatientStore.actionCreators, dispatch),\r\n fetchTeacherList: bindActionCreators(TeacherStore.actionCreators, dispatch).getList,\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(EditTeachers)));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { Typography, ButtonBase, makeStyles } from '@material-ui/core';\r\nimport { datestamp } from '../../../youwell-common/dateUtils';\r\nimport { AddForm, VimoModal } from '../../../common/components';\r\nimport * as PatientStore from '../../../app/store/PatientStore';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n },\r\n item: {\r\n marginBottom: theme.spacing(1),\r\n display: 'flex',\r\n textAlign: 'left',\r\n width: '100%',\r\n },\r\n itemText: {\r\n flex: '1 1 auto',\r\n },\r\n underline: {\r\n borderBottom: '1px solid',\r\n },\r\n}));\r\n\r\nconst FormList = ({\r\n studentId, patientProgramId,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n const formElements = useSelector(state => state.patient.details && state.patient.details[studentId]?.therapistTasks);\r\n const [selectedElement, setSelectedElement] = React.useState(null);\r\n\r\n React.useEffect(() => {\r\n if (!formElements) {\r\n dispatch(PatientStore.actionCreators.getTherapistTasks({\r\n requestParams: {\r\n patientId: studentId,\r\n },\r\n reducerParams: {\r\n patientId: studentId,\r\n },\r\n }));\r\n }\r\n }, [dispatch, formElements, studentId]);\r\n\r\n if (!formElements?.length) {\r\n return (\r\n \r\n {translate('student.noFormsAssigned')}\r\n \r\n );\r\n }\r\n\r\n\r\n return (\r\n
\r\n {formElements.map(item => (\r\n setSelectedElement(item)}>\r\n \r\n \r\n {item.task?.name}\r\n \r\n \r\n \r\n {datestamp(item.latestResponse || item.completedDate)}\r\n \r\n \r\n ))}\r\n\r\n setSelectedElement(null)}\r\n heading={selectedElement?.task?.name}\r\n >\r\n {selectedElement && (\r\n setSelectedElement(null)}\r\n />\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nFormList.propTypes = {\r\n studentId: PropTypes.string.isRequired,\r\n patientProgramId: PropTypes.string,\r\n};\r\n\r\nFormList.defaultProps = {\r\n patientProgramId: null,\r\n};\r\n\r\nexport default FormList;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router';\r\n\r\nimport * as PatientStore from '../../../app/store/PatientStore';\r\n\r\nconst LoadPatientProgram = ({ patientId, patientProgramId }) => {\r\n const { patientId: patientIdFromUrl, patientProgramId: patientProgramIdFromUrl } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const pId = patientId || patientIdFromUrl;\r\n const ppId = patientProgramId || patientProgramIdFromUrl;\r\n\r\n const hasLoadedPatient = useSelector(state => Boolean(pId && state.patient.details && state.patient.details[pId]));\r\n const isLoading = useSelector(state => Boolean(state.patient.requests[`${PatientStore.PATIENT_PROGRAM_DETAILS_RECIEVED}/${ppId}`]\r\n && (state.patient.requests[`${PatientStore.PATIENT_PROGRAM_DETAILS_RECIEVED}/${ppId}`].loading\r\n || state.patient.requests[`${PatientStore.PATIENT_PROGRAM_DETAILS_RECIEVED}/${ppId}`].completed)));\r\n\r\n const hasLoaded = useSelector((state) => {\r\n const patientProgramData = state.patient.details && state.patient.details[pId] && state.patient.details[pId].programs\r\n && state.patient.details[pId].programs[ppId];\r\n\r\n return patientProgramData && !patientProgramData.limitedDetails;\r\n });\r\n\r\n React.useEffect(() => {\r\n if (hasLoadedPatient && ppId && !isLoading && !hasLoaded) {\r\n dispatch(PatientStore.actionCreators.getPatientProgram(ppId, { reducerParams: { patientId: pId } }));\r\n }\r\n }, [dispatch, hasLoaded, hasLoadedPatient, isLoading, pId, ppId]);\r\n\r\n return null;\r\n};\r\n\r\nLoadPatientProgram.propTypes = {\r\n patientProgramId: PropTypes.string,\r\n patientId: PropTypes.string,\r\n};\r\n\r\nexport default LoadPatientProgram;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as PatientStore from '../../../app/store/PatientStore';\r\nimport LoadPatientProgram from './LoadPatientProgram';\r\n\r\nclass LoadStudent extends React.Component {\r\n componentDidMount() {\r\n if (this.props.match.params.studentId && !this.props.studentData) {\r\n this.props.getStudentData(this.props.match.params.studentId);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if ((prevProps.match.params.studentId !== this.props.match.params.studentId)\r\n && (!this.props.studentData || this.props.studentData.id !== this.props.match.params.studentId)) {\r\n this.props.getStudentData(this.props.match.params.studentId);\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n studentData,\r\n } = this.props;\r\n\r\n if (!studentData) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nLoadStudent.propTypes = {\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n studentId: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n getStudentData: PropTypes.func.isRequired,\r\n studentData: PropTypes.object,\r\n};\r\n\r\nLoadStudent.defaultProps = {\r\n studentData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const studentData = state.patient.details && state.patient.details[ownProps.match.params.studentId];\r\n return {\r\n studentData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getStudentData: bindActionCreators(PatientStore.actionCreators, dispatch).getElement,\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoadStudent);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n withStyles,\r\n List,\r\n ListItem,\r\n Typography,\r\n} from '@material-ui/core';\r\n\r\nimport {\r\n PersonIcon,\r\n} from '../../../common/icons';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n height: 48,\r\n marginBottom: theme.spacing(1),\r\n padding: 0,\r\n },\r\n text: {\r\n flex: '1 1 auto',\r\n },\r\n role: {\r\n color: theme.colors.grey3,\r\n },\r\n personIcon: {\r\n fontSize: theme.sizes.mediumIcon,\r\n marginRight: theme.spacing(1),\r\n },\r\n contactIcon: {\r\n padding: theme.spacing(0.5),\r\n },\r\n popperContent: {\r\n padding: theme.spacing(1),\r\n },\r\n});\r\n\r\nconst ResourceStudentList = ({ persons, classes }) => {\r\n if (!persons) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {persons.map(person => (\r\n \r\n \r\n
\r\n { person.name}\r\n
\r\n {person.class && (\r\n { person.class}\r\n )}\r\n
\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nResourceStudentList.propTypes = {\r\n persons: PropTypes.array.isRequired,\r\n classes: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default withStyles(styles)(ResourceStudentList);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Typography, IconButton } from '@material-ui/core';\r\nimport classnames from 'classnames';\r\n\r\nimport { SkillIcon, ClearIcon, InfoIcon } from '../../../common/icons';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n padding: theme.spacing(1),\r\n overflow: 'hidden',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n background: theme.colors.grey2,\r\n position: 'relative',\r\n },\r\n moduleIcon: {\r\n fontSize: theme.sizes.largeIcon,\r\n marginBottom: theme.spacing(1),\r\n },\r\n removeIcon: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n padding: theme.spacing(0.5),\r\n },\r\n infoIcon: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n padding: theme.spacing(0.5),\r\n },\r\n});\r\n\r\nclass SelectedSkill extends React.Component {\r\n render() {\r\n const {\r\n classes, className, module, onRemove, showInfo, disabled,\r\n } = this.props;\r\n\r\n if (!module) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {showInfo && (\r\n \r\n \r\n \r\n )}\r\n {onRemove && !disabled && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {module.name}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nSelectedSkill.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n module: PropTypes.object.isRequired,\r\n className: PropTypes.string,\r\n onRemove: PropTypes.func,\r\n showInfo: PropTypes.func,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nSelectedSkill.defaultProps = {\r\n className: null,\r\n onRemove: null,\r\n showInfo: null,\r\n disabled: false,\r\n};\r\n\r\nexport default withStyles(styles)(SelectedSkill);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport {\r\n withStyles, Typography,\r\n} from '@material-ui/core';\r\nimport classnames from 'classnames';\r\n\r\nimport { getSkillDescriptionTask } from '../../../common/utils/programUtils';\r\nimport { VimoTaskContent, TaskName, VimoLink } from '../../../common/components';\r\n\r\nimport urls from '../../../app/urls';\r\nimport { isNullOrUndefined } from '../../../youwell-common/stringUtils';\r\n\r\nconst styles = theme => ({\r\n tasksHeader: {\r\n marginTop: theme.spacing(4),\r\n padding: `${theme.spacing(2)}px ${theme.spacing(3)}px`,\r\n background: theme.colors.grey2,\r\n },\r\n stepHeading: {\r\n minHeight: theme.spacing(3),\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n },\r\n steps: {\r\n display: 'flex',\r\n padding: theme.spacing(1),\r\n },\r\n step: {\r\n flex: '1 1 auto',\r\n padding: theme.spacing(1),\r\n },\r\n borderLeft: {\r\n borderLeft: theme.borders.normal,\r\n },\r\n task: {\r\n padding: theme.spacing(0.5),\r\n marginBottom: theme.spacing(2),\r\n minWidth: 150,\r\n },\r\n skillLink: {\r\n marginTop: theme.spacing(4),\r\n },\r\n skillDescription: {\r\n marginTop: theme.spacing(2),\r\n },\r\n});\r\n\r\nclass SkillInfo extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, skillData, hideLink,\r\n } = this.props;\r\n\r\n if (!skillData) {\r\n return null;\r\n // return ;\r\n }\r\n\r\n const descriptionTask = getSkillDescriptionTask(skillData);\r\n const steps = skillData.tasks.reduce((prev, curr) => (\r\n {\r\n ...prev,\r\n [curr.label]: prev[curr.label] ? [...prev[curr.label], curr] : [curr],\r\n }\r\n ), {});\r\n const stepWidth = 100 / Object.entries(steps).length;\r\n\r\n return (\r\n
\r\n {descriptionTask && (\r\n <>\r\n \r\n {descriptionTask.name}\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {translate('program.availableTasks')}\r\n \r\n\r\n
\r\n {Object.entries(steps).map(([name, tasks], index) => (\r\n
0 })} style={{ flexBasis: `${stepWidth}%` }}>\r\n \r\n {isNullOrUndefined(name) ? '' : name}\r\n \r\n {tasks && tasks.map(task => (\r\n \r\n ))}\r\n
\r\n ))}\r\n
\r\n\r\n {!hideLink && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nSkillInfo.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n skillData: PropTypes.object,\r\n hideLink: PropTypes.bool,\r\n};\r\n\r\nSkillInfo.defaultProps = {\r\n skillData: null,\r\n hideLink: false,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n skillData: state.program.skillDetails && state.program.skillDetails[ownProps.skillId],\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(SkillInfo));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n withStyles, Typography, Button, IconButton,\r\n} from '@material-ui/core';\r\n\r\nimport { EditIcon } from '../../../common/icons';\r\n\r\nimport urls from '../../../app/urls';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n buttons: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n },\r\n header: {\r\n marginRight: theme.spacing(2),\r\n },\r\n item: {\r\n marginRight: theme.spacing(1),\r\n marginBottom: theme.spacing(0.5),\r\n height: 36,\r\n borderRadius: 20,\r\n },\r\n editButton: {\r\n height: 36,\r\n },\r\n caption: {\r\n marginTop: theme.spacing(1),\r\n height: '1rem',\r\n },\r\n});\r\n\r\nclass SkillNavigation extends React.Component {\r\n state = {\r\n info: '',\r\n }\r\n\r\n showInfo = info => () => {\r\n this.setState({ info });\r\n }\r\n\r\n hideInfo = () => {\r\n this.setState({ info: '' });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, studentId, selectedSkills, currentSkillNr, disabled,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n {`${translate('studentPlan.selectedSkills')}:`}\r\n \r\n {selectedSkills.map((skill, i) => (\r\n \r\n {i + 1}\r\n \r\n ))}\r\n {!disabled && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n {this.state.info}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nSkillNavigation.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n studentId: PropTypes.string.isRequired,\r\n selectedSkills: PropTypes.array.isRequired,\r\n currentSkillNr: PropTypes.number.isRequired,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nSkillNavigation.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(SkillNavigation));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withStyles, Typography } from '@material-ui/core';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n therapist: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass StudentTeacherList extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, studentData,\r\n } = this.props;\r\n\r\n if (!studentData) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {studentData.therapists ? studentData.therapists.map(therapist => (\r\n
\r\n \r\n {therapist.therapistName}\r\n \r\n
\r\n )) : (\r\n \r\n {translate('student.noTeachersAssigned')}\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nStudentTeacherList.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n studentData: PropTypes.object.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(StudentTeacherList));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Avatar } from '@material-ui/core';\r\nimport classnames from 'classnames';\r\n\r\nimport { getTaskColor } from '../../../common/utils/programUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n fontSize: theme.sizes.largeAvatar,\r\n },\r\n});\r\n\r\nclass TaskAvatar extends React.Component {\r\n render() {\r\n const {\r\n classes, task, className,\r\n } = this.props;\r\n\r\n return (\r\n \r\n {task?.name?.slice(0, 1) || '?'}\r\n \r\n );\r\n }\r\n}\r\n\r\nTaskAvatar.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n task: PropTypes.object,\r\n className: PropTypes.string,\r\n};\r\n\r\nTaskAvatar.defaultProps = {\r\n task: null,\r\n className: null,\r\n};\r\n\r\nexport default withStyles(styles)(TaskAvatar);\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { VimoTaskContent } from '../../../common/components';\r\n\r\nclass TaskInfo extends React.Component {\r\n render() {\r\n const {\r\n taskData,\r\n } = this.props;\r\n\r\n return taskData ? (\r\n \r\n ) : null;\r\n }\r\n}\r\n\r\nTaskInfo.propTypes = {\r\n taskData: PropTypes.object,\r\n};\r\n\r\nTaskInfo.defaultProps = {\r\n taskData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n taskData: state.program.taskDetails && state.program.taskDetails[ownProps.taskId],\r\n});\r\n\r\nexport default connect(mapStateToProps)(TaskInfo);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withStyles, TextField, Typography } from '@material-ui/core';\r\n\r\nimport {\r\n getTextfieldDateString, getNumberOfWeeks, msInOneWeek, today, pad2, getLocalDate,\r\n} from '../../../youwell-common/dateUtils';\r\nimport { getSkillWeeks, skillStartHour } from './utils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n },\r\n inputWeeks: {\r\n marginRight: theme.spacing(1),\r\n width: 100,\r\n },\r\n inputDate: {\r\n marginRight: theme.spacing(1),\r\n },\r\n inputField: {\r\n minWidth: 100, // fix for ios. Must have min-width to be visible when no value is set\r\n },\r\n weekNumber: {\r\n width: 65,\r\n },\r\n});\r\n\r\n\r\nclass TimePeriod extends React.Component {\r\n onNumberOfWeeksChange = (event) => {\r\n const start = this.props.skill.startTime ? getLocalDate(this.props.skill.startTime) : today(skillStartHour);\r\n const weeks = Number(event.target.value);\r\n\r\n this.updateData(start, Math.min(weeks, 12));\r\n }\r\n\r\n onStartTimeChange = (event) => {\r\n const weeks = getNumberOfWeeks(this.props.skill.startTime, this.props.skill.endTime) || 3;\r\n const start = event.target.value ? getLocalDate(`${event.target.value}T${pad2(skillStartHour)}:00`) : today(skillStartHour);\r\n\r\n this.updateData(start, weeks);\r\n }\r\n\r\n updateData = (start, weeks) => {\r\n const end = new Date(start.getTime() + (msInOneWeek * Number(weeks)));\r\n\r\n this.props.onChange({\r\n startTime: start.toISOString(),\r\n endTime: end.toISOString(),\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, skill, disabled,\r\n } = this.props;\r\n\r\n if (!skill) {\r\n return null;\r\n }\r\n\r\n const { fromWeek, toWeek, numberOfWeeks } = getSkillWeeks(skill);\r\n\r\n return (\r\n
\r\n \r\n {skill.startTime && (\r\n \r\n )}\r\n {numberOfWeeks > 0 && (\r\n
\r\n \r\n {translate('studentPlan.weekNumber')}\r\n \r\n \r\n {numberOfWeeks > 1 ? `${fromWeek} - ${toWeek}` : fromWeek}\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nTimePeriod.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n skill: PropTypes.object.isRequired,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nTimePeriod.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(TimePeriod));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withStyles, Typography } from '@material-ui/core';\r\n\r\nimport { toLookup, toBoolLookup } from '../../../youwell-common/arrayUtils';\r\nimport WeekPlan from './WeekPlan';\r\nimport { getLocalDateOnlyString, getSkillWeeks } from './utils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n week: {\r\n width: `calc(50% - ${theme.spacing(2)}px)`,\r\n margin: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: `calc(100% - ${theme.spacing(2)}px)`,\r\n },\r\n },\r\n weekTitle: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass TrainingPlan extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, skill, availableDays, disabled,\r\n } = this.props;\r\n\r\n if (!skill) {\r\n return null;\r\n }\r\n\r\n const { weekArray } = getSkillWeeks(skill);\r\n\r\n const tasksByDate = skill.moduleSchedule ? skill.moduleSchedule.tasks.reduce((prev, curr) => (\r\n {\r\n ...prev,\r\n [getLocalDateOnlyString(curr.date)]: [...prev[getLocalDateOnlyString(curr.date)] || [], curr],\r\n }\r\n ), {}) : {};\r\n\r\n const taskNameLookup = skill.module ? toLookup(skill.module.tasks) : { [skill.taskId]: skill.task };\r\n const availableDaysLookup = toBoolLookup(availableDays);\r\n\r\n return (\r\n
\r\n {weekArray.map(week => (\r\n
\r\n \r\n {`${translate('studentPlan.week')} ${week.weekNr}`}\r\n \r\n \r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n\r\nTrainingPlan.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n skill: PropTypes.object.isRequired,\r\n availableDays: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nTrainingPlan.defaultProps = {\r\n availableDays: null,\r\n disabled: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(TrainingPlan));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\nimport {\r\n withStyles, Typography, ButtonBase, useTheme, useMediaQuery,\r\n} from '@material-ui/core';\r\n\r\nimport {\r\n getWeekStartDate, datestamp, getWeekNumber,\r\n} from '../../../youwell-common/dateUtils';\r\nimport { toLookup, toBoolLookup } from '../../../youwell-common/arrayUtils';\r\n\r\nimport { TaskName, VimoModal } from '../../../common/components';\r\nimport TaskInfo from './TaskInfo';\r\n\r\nconst itemHeight = 50;\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: '100%',\r\n borderBottom: theme.borders.green,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n border: 0,\r\n },\r\n },\r\n calendar: {\r\n width: '100%',\r\n display: 'flex',\r\n position: 'relative',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n day: {\r\n flex: '1 1 calc(20% - 1px)',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n },\r\n dayHeader: {\r\n height: itemHeight,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n color: theme.palette.common.white,\r\n background: theme.colors.blue4,\r\n borderRight: theme.borders.normal,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'row-reverse',\r\n justifyContent: 'space-evenly',\r\n height: 'auto',\r\n padding: theme.spacing(1),\r\n border: 0,\r\n },\r\n },\r\n firstDayHeader: {\r\n borderLeft: theme.borders.normal,\r\n [theme.breakpoints.down('xs')]: {\r\n border: 0,\r\n },\r\n },\r\n dayTasks: {\r\n flex: '1 1 auto',\r\n borderRight: theme.borders.normal,\r\n [theme.breakpoints.down('xs')]: {\r\n border: 0,\r\n },\r\n minHeight: itemHeight * 2,\r\n },\r\n firstDay: {\r\n borderLeft: theme.borders.normal,\r\n [theme.breakpoints.down('xs')]: {\r\n border: 0,\r\n },\r\n },\r\n availableDay: {\r\n background: theme.colors.grey1,\r\n },\r\n dayLetter: {\r\n '&:first-letter': {\r\n textTransform: 'uppercase',\r\n },\r\n },\r\n task: {\r\n margin: theme.spacing(2),\r\n },\r\n noTasksThisWeek: {\r\n position: 'absolute',\r\n top: '40%',\r\n width: `calc(100% - ${theme.spacing(1)}px)`,\r\n opacity: 0.5,\r\n },\r\n skillName: {\r\n margin: theme.spacing(2, 1),\r\n },\r\n});\r\n\r\nconst WeekOverview = ({\r\n classes, translate, skill, studentData, showDayHeadings,\r\n}) => {\r\n const theme = useTheme();\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'));\r\n\r\n const [showModal, setShowModal] = React.useState(null);\r\n const tasks = skill?.moduleSchedule?.tasks.reduce((prev, curr) => (\r\n {\r\n ...prev,\r\n [new Date(curr.date).toISOString()]: [...prev[new Date(curr.date).toISOString()] || [], curr],\r\n }\r\n ), {}) || {};\r\n\r\n const taskNames = toLookup(skill?.module?.tasks) || { [skill.taskId]: skill.task };\r\n const availableDays = toBoolLookup(studentData?.extendedProperties?.availableWeekdays?.split(','));\r\n const weekNumber = getWeekNumber(new Date());\r\n const startDate = getWeekStartDate(weekNumber);\r\n\r\n let hasTasksThisWeek = false;\r\n const weekArray = Array.from(Array(5).keys(), (n) => {\r\n const d = new Date(startDate.getTime());\r\n d.setDate(d.getDate() + n);\r\n d.setHours(d.getHours() + 1); // Adding one hour to compensate for the 01:00 start time of tasks in local time\r\n hasTasksThisWeek = hasTasksThisWeek || !!tasks[d.toISOString()];\r\n return {\r\n date: d,\r\n datestamp: d.toISOString(),\r\n tasks: tasks[d.toISOString()],\r\n };\r\n });\r\n\r\n return (\r\n
\r\n
\r\n {!hasTasksThisWeek ? (\r\n \r\n {translate('student.noTasksThisWeek')}\r\n \r\n ) : (\r\n <>\r\n
\r\n {(showDayHeadings || isMobile) && (\r\n
\r\n \r\n {translate('student.skill')}\r\n \r\n
\r\n )}\r\n \r\n {skill?.module?.name}\r\n \r\n
\r\n {weekArray.map((day, i) => (\r\n
\r\n {(showDayHeadings || isMobile) && (\r\n
\r\n \r\n {datestamp(day.date).slice(0, 5)}\r\n \r\n \r\n {translate(`time.weekdays.${day.date.getDay()}`)}\r\n \r\n
\r\n )}\r\n \r\n {day.tasks && day.tasks.map(taskDay => (\r\n setShowModal(taskDay.taskId)}>\r\n \r\n \r\n ))}\r\n
\r\n
\r\n ))}\r\n \r\n )}\r\n
\r\n\r\n setShowModal(null)}\r\n heading={()}\r\n >\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nWeekOverview.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n skill: PropTypes.object,\r\n studentData: PropTypes.object.isRequired,\r\n showDayHeadings: PropTypes.bool,\r\n};\r\n\r\nWeekOverview.defaultProps = {\r\n skill: null,\r\n showDayHeadings: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(WeekOverview));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\nimport { withStyles, Typography } from '@material-ui/core';\r\nimport { Droppable, Draggable } from 'react-beautiful-dnd';\r\n\r\nimport {\r\n datestamp, msInOneDay,\r\n} from '../../../youwell-common/dateUtils';\r\n\r\nimport TaskAvatar from './TaskAvatar';\r\nimport { getLocalDateOnlyString, skillStartHour } from './utils';\r\n\r\nconst itemHeight = 50;\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n day: {\r\n flex: '1 1 20%',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n dayHeader: {\r\n height: itemHeight,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n color: theme.palette.common.white,\r\n background: theme.colors.blue4,\r\n borderRight: theme.borders.normal,\r\n },\r\n firstDayHeader: {\r\n borderLeft: theme.borders.normal,\r\n },\r\n dayTasks: {\r\n flex: '1 1 auto',\r\n borderRight: theme.borders.normal,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n minHeight: 120,\r\n paddingBottom: theme.spacing(1),\r\n },\r\n firstDay: {\r\n borderLeft: theme.borders.normal,\r\n },\r\n availableDay: {\r\n background: theme.colors.grey2,\r\n },\r\n dayLetter: {\r\n textTransform: 'uppercase',\r\n },\r\n task: {\r\n marginTop: theme.spacing(1),\r\n },\r\n draggingOver: {\r\n border: theme.borders.dashed,\r\n },\r\n});\r\n\r\nclass WeekPlan extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, weekStart, tasks, taskNames, availableDays, disabled,\r\n } = this.props;\r\n\r\n const weekArray = Array.from(Array(5).keys(), (n) => {\r\n const d = new Date(weekStart.getTime() + n * msInOneDay);\r\n d.setHours(skillStartHour, 0, 0, 0);\r\n const dateString = getLocalDateOnlyString(d);\r\n return {\r\n date: d,\r\n datestamp: dateString,\r\n tasks: tasks[dateString],\r\n };\r\n });\r\n\r\n return (\r\n
\r\n {weekArray.map((day, i) => (\r\n
\r\n
\r\n \r\n {datestamp(day.date).slice(0, 5)}\r\n \r\n \r\n {translate(`time.weekdays.${day.date.getDay()}`).slice(0, 1)}\r\n \r\n
\r\n \r\n {(provided, snapshot) => (\r\n \r\n {day?.tasks?.map((task, taskIndex) => (\r\n \r\n {dragProvided => (\r\n \r\n \r\n
\r\n )}\r\n \r\n ))}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n\r\nWeekPlan.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n weekStart: PropTypes.object.isRequired,\r\n tasks: PropTypes.object.isRequired,\r\n taskNames: PropTypes.object.isRequired,\r\n availableDays: PropTypes.object.isRequired,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nWeekPlan.defaultProps = {\r\n disabled: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(WeekPlan));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n withStyles,\r\n Select,\r\n MenuItem,\r\n FormControl,\r\n InputLabel,\r\n} from '@material-ui/core';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: theme.spacing(23),\r\n },\r\n selectMenu: {\r\n top: 50,\r\n },\r\n});\r\n\r\nconst weekDays = ['1', '2', '3', '4', '5'];\r\n\r\nclass WeekdaySelect extends React.Component {\r\n renderWeekdays = (days) => {\r\n const trim = days.length < 3 ? undefined : 3;\r\n return days\r\n .map(day => this.props.translate(`time.weekdays.${day}`).slice(0, trim))\r\n .join(', ');\r\n }\r\n\r\n render() {\r\n const {\r\n classes, className, translate, value, onChange,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n {translate('studentEdit.availableWeekdays')}\r\n \r\n \r\n {weekDays.map(day => (\r\n {translate(`time.weekdays.${day}`)}))}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nWeekdaySelect.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n value: PropTypes.array.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n className: PropTypes.string,\r\n};\r\n\r\nWeekdaySelect.defaultProps = {\r\n className: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(WeekdaySelect));\r\n","import {\r\n getLocalDate, getNumberOfWeeks, getWeekNumber, msInOneDay, msInOneWeek,\r\n} from '../../../youwell-common/dateUtils';\r\nimport { hasValue } from '../../../youwell-common/objectUtils';\r\n\r\nexport const hasErrors = validationErrors => validationErrors !== null && (typeof validationErrors === 'object'\r\n ? Object.keys(validationErrors).some(key => hasErrors(validationErrors[key]))\r\n : !!validationErrors);\r\n\r\nexport const isContactEmpty = contact => contact.name === '';\r\n\r\nexport const stripEmptyProperties = (obj) => {\r\n if (!obj) { return null; }\r\n\r\n return Object.keys(obj)\r\n .filter(key => hasValue(obj[key]))\r\n .reduce((prev, key) => ({ ...prev, [key]: obj[key] }), {});\r\n};\r\n\r\nconst modulus = (nr, mod) => ((nr % mod) + mod) % mod; // javascript modulus operator (%) gives negative numbers\r\n\r\nexport const skillStartHour = 1; // Setting start-time to 01:00 to avoid trouble when jumping from summer to winter-time or vice versa\r\n\r\nexport const getLocalDateOnlyString = (date) => {\r\n const d = new Date(date);\r\n d.setHours(skillStartHour, 0, 0, 0);\r\n return d.toISOString();\r\n};\r\n\r\nexport const getMondayInWeek = (date) => {\r\n const d = new Date(date.getTime() - (modulus(date.getDay() - 1, 7) * msInOneDay));\r\n d.setHours(skillStartHour, 0, 0, 0);\r\n return d;\r\n};\r\n\r\nexport const getSkillWeeks = (skill) => {\r\n if (!skill?.startTime) {\r\n return {};\r\n }\r\n const startDate = getLocalDate(skill.startTime);\r\n const monday = getMondayInWeek(startDate);\r\n\r\n const numberOfWeeks = getNumberOfWeeks(skill.startTime, skill.endTime);\r\n\r\n const weekArray = [];\r\n for (let w = 0; w < numberOfWeeks; w++) {\r\n const weekStart = new Date(monday.getTime() + (w * msInOneWeek));\r\n weekArray.push({\r\n weekStart,\r\n weekNr: getWeekNumber(weekStart),\r\n });\r\n }\r\n\r\n return {\r\n fromWeek: weekArray[0]?.weekNr,\r\n toWeek: weekArray[weekArray.length - 1]?.weekNr,\r\n numberOfWeeks,\r\n weekArray,\r\n };\r\n};\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { useParams } from 'react-router';\r\nimport classnames from 'classnames';\r\n\r\nimport { Button, makeStyles } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport { getCurrentSkills, getTodaysTasks } from '../../common/utils/programUtils';\r\nimport { green3 } from '../../app/style/theme';\r\nimport urls from '../../app/urls';\r\nimport { InfoBox, SkillLink, TaskLink } from '../../common/components';\r\n\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n paddingBottom: theme.spacing(2),\r\n marginBottom: theme.spacing(2),\r\n borderBottom: theme.borders.normal,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n content: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n marginBottom: theme.spacing(10),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n paddingBottom: theme.spacing(1),\r\n },\r\n },\r\n infoBox: {\r\n flexBasis: `calc(100% / 2 - ${theme.spacing(2)}px)`,\r\n overflow: 'hidden',\r\n margin: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexBasis: `calc(100% - ${theme.spacing(1)}px)`,\r\n margin: theme.spacing(0, 0, 1, 0),\r\n },\r\n },\r\n endButton: {\r\n alignSelf: 'center',\r\n width: 300,\r\n },\r\n}));\r\n\r\nconst Home = () => {\r\n const { code } = useParams();\r\n const programData = useSelector(state => state.studentCodeStore.details && state.studentCodeStore.details[code]);\r\n\r\n const classes = useStyles();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n\r\n if (!programData) {\r\n return null;\r\n }\r\n\r\n const currentSkills = getCurrentSkills(programData);\r\n const todaysTasks = getTodaysTasks(programData);\r\n\r\n return (\r\n
\r\n
\r\n {currentSkills?.length ? (\r\n \r\n {currentSkills.map(skill => )}\r\n \r\n ) : (\r\n \r\n )}\r\n {todaysTasks && todaysTasks.length > 0 ? (\r\n \r\n {todaysTasks.map(task => (\r\n \r\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 Home;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport {\r\n Route, Switch,\r\n} from 'react-router-dom';\r\n\r\nimport urls from '../../app/urls';\r\nimport { Loading, PageNotFound } from '../../youwell-common/components';\r\n\r\nimport LoadProgramDetails from '../inside/components/LoadProgramDetails';\r\nimport LoadStudentProgram from './components/LoadStudentProgram';\r\nimport Layout from '../outside/components/Layout';\r\nimport Home from './Home';\r\nimport Skill from './Skill';\r\nimport Task from './Task';\r\n\r\nclass Index extends React.Component {\r\n render() {\r\n const {\r\n appConfig, loading,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nIndex.propTypes = {\r\n translate: PropTypes.func.isRequired,\r\n appConfig: PropTypes.object.isRequired,\r\n loading: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n loading: state.studentCodeStore.loading,\r\n appConfig: state.pageSettings.appConfig,\r\n});\r\n\r\nexport default connect(mapStateToProps)(Index);\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { Link } from 'react-router-dom';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n Typography,\r\n} from '@material-ui/core';\r\nimport { TopActionBar, TaskName, VimoTaskContent } from '../../common/components';\r\nimport { getSkillDescriptionTask } from '../../common/utils/programUtils';\r\n// import AboutTheExercises from '../program/components/AboutTheExercises';\r\n\r\nimport urls from '../../app/urls';\r\nimport { Image } from '../../youwell-common/components';\r\nimport { isNullOrUndefined } from '../../youwell-common/stringUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n tasksHeader: {\r\n marginTop: theme.spacing(4),\r\n padding: `${theme.spacing(2)}px ${theme.spacing(3)}px`,\r\n background: theme.colors.grey2,\r\n },\r\n stepHeading: {\r\n minHeight: theme.spacing(3),\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n },\r\n steps: {\r\n display: 'flex',\r\n padding: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n step: {\r\n flex: '1 1 auto',\r\n padding: theme.spacing(1),\r\n },\r\n borderLeft: {\r\n borderLeft: theme.borders.normal,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n borderLeft: 0,\r\n },\r\n },\r\n taskContentContainer: {\r\n display: 'flex',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column-reverse',\r\n },\r\n },\r\n skillDescription: {\r\n flex: '1 1 auto',\r\n },\r\n imageContainer: {\r\n width: `calc(50% - ${theme.spacing(1)}px)`,\r\n marginLeft: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: `calc(100% - ${theme.spacing(4)}px)`,\r\n margin: theme.spacing(2),\r\n },\r\n },\r\n image: {\r\n width: '100%',\r\n },\r\n task: {\r\n padding: theme.spacing(0.5),\r\n borderRadius: theme.spacing(0.5),\r\n marginBottom: theme.spacing(2),\r\n\r\n '&:hover': {\r\n background: theme.colors.grey1,\r\n },\r\n },\r\n aboutTasks: {\r\n margin: theme.spacing(3),\r\n marginTop: theme.spacing(10),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n marginTop: theme.spacing(10),\r\n },\r\n },\r\n aboutTasksHeader: {\r\n margin: theme.spacing(1),\r\n marginBottom: theme.spacing(2),\r\n padding: `${theme.spacing(2)}px ${theme.spacing(3)}px`,\r\n background: theme.colors.grey2,\r\n },\r\n});\r\n\r\nclass Skill extends React.Component {\r\n render() {\r\n const {\r\n classes, skillData, translate, match,\r\n } = this.props;\r\n\r\n if (!skillData) {\r\n return null;\r\n }\r\n\r\n const { code } = match.params;\r\n\r\n const descriptionTask = getSkillDescriptionTask(skillData);\r\n\r\n const steps = skillData.tasks.reduce((prev, curr) => (\r\n {\r\n ...prev,\r\n [curr.label]: prev[curr.label] ? [...prev[curr.label], curr] : [curr],\r\n }\r\n ), {});\r\n\r\n const stepWidth = 100 / Object.entries(steps).length;\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {descriptionTask && (\r\n <>\r\n \r\n {descriptionTask.name}\r\n \r\n
\r\n \r\n {descriptionTask.imageUrl && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n )}\r\n\r\n \r\n {translate('program.availableTasks')}\r\n \r\n\r\n
\r\n {Object.entries(steps).map(([name, tasks], index) => (\r\n
0 })} style={{ flexBasis: `${stepWidth}%` }}>\r\n \r\n {isNullOrUndefined(name) ? '' : name}\r\n \r\n {tasks?.map(task => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n ))}\r\n
\r\n
\r\n\r\n {/*
\r\n \r\n {translate('methodsAndTechniques.aboutTheExercisesHeading')}\r\n \r\n\r\n \r\n
*/}\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nSkill.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n code: PropTypes.string.isRequired,\r\n skillId: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n skillData: PropTypes.object,\r\n};\r\n\r\nSkill.defaultProps = {\r\n skillData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n skillData: state.program.skillDetails && state.program.skillDetails[ownProps.match.params.skillId],\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Skill));\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles, Typography } from '@material-ui/core';\r\n\r\nimport { TopActionBar, VimoTaskContent, TaskName } from '../../common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n\r\n },\r\n title: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: theme.spacing(4),\r\n\r\n '@media print': {\r\n padding: theme.spacing(1, 4),\r\n },\r\n },\r\n content: {\r\n padding: theme.spacing(4),\r\n\r\n '@media print': {\r\n padding: theme.spacing(1, 4),\r\n },\r\n },\r\n});\r\n\r\nclass Task extends React.Component {\r\n render() {\r\n const {\r\n translate, classes, taskData, skillData,\r\n } = this.props;\r\n\r\n if (!taskData || !skillData) {\r\n return null;\r\n }\r\n\r\n // const { code } = match.params;\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nTask.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n code: PropTypes.string.isRequired,\r\n skillId: PropTypes.string.isRequired,\r\n taskId: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }).isRequired,\r\n taskData: PropTypes.object,\r\n skillData: PropTypes.object,\r\n};\r\n\r\nTask.defaultProps = {\r\n skillData: null,\r\n taskData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n taskData: state.program.taskDetails && state.program.taskDetails[ownProps.match.params.taskId],\r\n skillData: state.program.skillDetails && state.program.skillDetails[ownProps.match.params.skillId],\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Task));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as StudentCodeStore from '../../../app/store/StudentCodeStore';\r\n\r\nclass LoadStudentProgram extends React.Component {\r\n componentDidMount() {\r\n if (!this.props.program) {\r\n this.getElement();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { studentCode, program } = this.props;\r\n\r\n if (studentCode !== prevProps.studentCode && !program) {\r\n this.getElement();\r\n }\r\n }\r\n\r\n getElement = () => {\r\n this.props.getProgramFromCode(this.props.studentCode, { reducerParams: { code: this.props.studentCode } });\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nLoadStudentProgram.propTypes = {\r\n getProgramFromCode: PropTypes.func.isRequired,\r\n studentCode: PropTypes.string.isRequired,\r\n program: PropTypes.object,\r\n};\r\n\r\nLoadStudentProgram.defaultProps = {\r\n program: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const studentCode = ownProps?.match?.params?.code;\r\n\r\n return {\r\n studentCode,\r\n program: state.studentCodeStore.details && state.studentCodeStore.details[studentCode],\r\n clientConfig: state.auth.clientConfig,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(StudentCodeStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoadStudentProgram);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport { PageNotFound } from '../../youwell-common/components';\r\nimport urls from '../../app/urls';\r\nimport User from './User';\r\nimport UserList from './UserList';\r\nimport NewUser from './NewUser';\r\nimport LoadUsers from './components/LoadUsers';\r\nimport { TopActionBar } from '../../common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n\r\n },\r\n content: {\r\n padding: theme.spacing(3),\r\n paddingBottom: theme.spacing(8),\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n flexWrap: 'wrap',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n});\r\n\r\n\r\nclass Index extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, location,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nIndex.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n location: PropTypes.object.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Index));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\n\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport UserDetails from './components/UserDetails';\r\nimport { vimoCreateRoles } from '../../common/constants';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n\r\n },\r\n roleDescriptions: {\r\n marginTop: theme.spacing(2),\r\n padding: theme.spacing(3),\r\n },\r\n roleDescription: {\r\n marginBottom: theme.spacing(2),\r\n background: theme.palette.common.white,\r\n padding: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass NewUser extends React.Component {\r\n render() {\r\n const {\r\n classes, translate, profileData,\r\n } = this.props;\r\n\r\n if (!profileData || !profileData.selectedRole) {\r\n return null;\r\n }\r\n\r\n const showRoleDescriptions = false;\r\n\r\n return (\r\n
\r\n \r\n\r\n {showRoleDescriptions && (\r\n
\r\n \r\n {translate('user.roleDescriptions')}\r\n \r\n {vimoCreateRoles.map(role => (\r\n
\r\n \r\n {translate(`user.appRoles_${role}`)}\r\n \r\n \r\n {translate(`user.appRoles_${role}_Description`)}\r\n \r\n
\r\n ))}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nNewUser.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n profileData: PropTypes.object.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n clientConfig: state.auth.clientConfig,\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(NewUser));\r\n","import * as React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as UserStore from '../../app/store/UserStore';\r\nimport UserDetails from './components/UserDetails';\r\n\r\n\r\nconst styles = theme => ({\r\n root: {\r\n\r\n },\r\n header: {\r\n display: 'flex',\r\n },\r\n flex: {\r\n flex: '1 1 auto',\r\n },\r\n action: {\r\n [theme.breakpoints.down('xs')]: {\r\n height: 30,\r\n minHeight: 30,\r\n width: 30,\r\n },\r\n },\r\n});\r\n\r\n\r\nclass User extends React.Component {\r\n componentDidMount() {\r\n if (this.props.match.params.id && !this.props.userData) {\r\n this.props.getElement(this.props.match.params.id);\r\n }\r\n }\r\n\r\n render() {\r\n const { classes, userData } = this.props;\r\n\r\n if (!userData) {\r\n return null;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nUser.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n // translate: PropTypes.func.isRequired,\r\n getElement: PropTypes.func.isRequired,\r\n match: PropTypes.object.isRequired,\r\n userData: PropTypes.object,\r\n};\r\n\r\nUser.defaultProps = {\r\n userData: null,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n translate: getTranslate(state.localize),\r\n userData: state.user.details && state.user.details[ownProps.match.params.id],\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(UserStore.actionCreators, dispatch),\r\n});\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(User));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport {\r\n Table, TableHead, TableRow, TableCell, TableBody, Typography, TableFooter, TablePagination,\r\n} from '@material-ui/core';\r\n\r\nimport * as PageSettingStore from '../../app/store/PageSettingStore';\r\nimport urls from '../../app/urls';\r\nimport {\r\n InfoMessage, SortableTableCell,\r\n} from '../../common/components';\r\n\r\nimport { sortByColumn } from '../../youwell-common/tableUtils';\r\nimport { defaultRowsPrPage, userSortColumns } from '../../common/constants';\r\nimport UserListFilter from './components/UserListFilter';\r\nimport { caseInsensitiveContains } from '../../youwell-common/stringUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n },\r\n table: {\r\n '& td': {\r\n border: 0,\r\n paddingLeft: 0,\r\n },\r\n },\r\n headerRow: {\r\n height: theme.spacing(4),\r\n },\r\n headerCell: {\r\n padding: 0,\r\n fontSize: theme.typography.subtitle2.fontSize,\r\n fontWeight: theme.typography.subtitle2.fontWeight,\r\n color: theme.palette.text.primary,\r\n borderBottomColor: theme.palette.secondary.main,\r\n },\r\n row: {\r\n height: theme.spacing(8),\r\n borderBottom: theme.borders.normal,\r\n cursor: 'pointer',\r\n\r\n '&:hover': {\r\n background: theme.palette.grey[100],\r\n borderBottomColor: theme.palette.secondary.main,\r\n },\r\n },\r\n hiddenOnSmall: {\r\n [theme.breakpoints.down('xs')]: {\r\n display: 'none',\r\n },\r\n },\r\n mainNameText: {\r\n fontSize: theme.typography.subtitle2.fontSize,\r\n fontWeight: theme.typography.subtitle2.fontWeight,\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n chip: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n icon: {\r\n marginLeft: theme.spacing(1),\r\n color: theme.palette.text.secondary,\r\n },\r\n spacingCell: {\r\n width: theme.spacing(8),\r\n padding: 0,\r\n\r\n [theme.breakpoints.down('md')]: {\r\n width: theme.spacing(4),\r\n },\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: theme.spacing(2),\r\n },\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: 0,\r\n },\r\n },\r\n paginationSelect: {\r\n paddingRight: theme.spacing(3),\r\n },\r\n filter: {\r\n marginTop: theme.spacing(2),\r\n marginBottom: theme.spacing(4),\r\n },\r\n actions: {\r\n marginTop: theme.spacing(6),\r\n },\r\n});\r\n\r\n\r\nclass UserList extends React.Component {\r\n handleChangePage = (event, page) => {\r\n this.props.setUserPage(page);\r\n }\r\n\r\n handleChangeRowsPerPage = (event) => {\r\n this.props.setUserRowsPerPage(event.target.value);\r\n }\r\n\r\n redirect = to => () => {\r\n this.props.redirect(to);\r\n }\r\n\r\n onfilterUpdate = (filter) => {\r\n this.props.setUserFilter(filter);\r\n }\r\n\r\n filterUsers = (user) => {\r\n const { filter } = this.props;\r\n if (!filter) {\r\n return true;\r\n }\r\n if (filter.search) {\r\n let result = true;\r\n result = caseInsensitiveContains(user.name, filter.search.toLowerCase());\r\n if (!result) {\r\n return false;\r\n }\r\n }\r\n if (filter.role) {\r\n if (user.roles?.indexOf(filter.role) < 0) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n };\r\n\r\n render() {\r\n const {\r\n classes, translate, userList, rowsPerPage, page, sorting, filter,\r\n } = this.props;\r\n\r\n const filteredUsers = sortByColumn(userList, sorting)\r\n .filter(this.filterUsers);\r\n\r\n return (\r\n
\r\n \r\n\r\n {filteredUsers.length === 0 ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n {filteredUsers\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map(item => (\r\n \r\n \r\n \r\n \r\n {item.name}\r\n \r\n \r\n \r\n \r\n {item.roles?.map(role => translate(`user.appRoles_${role}`, null, { onMissingTranslation: () => '' })).join(', ')}\r\n \r\n \r\n \r\n \r\n {item.email}\r\n \r\n \r\n \r\n \r\n {item.phone}\r\n \r\n \r\n {/* \r\n \r\n {timestamp(item.updated)}\r\n \r\n */}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n {filteredUsers.length > defaultRowsPrPage && (\r\n translate('user.displayedRows', displayedRows)}\r\n classes={{ select: classes.paginationSelect }}\r\n />\r\n )}\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nUserList.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n userList: PropTypes.array,\r\n // clientConfig: PropTypes.object.isRequired,\r\n redirect: PropTypes.func.isRequired,\r\n rowsPerPage: PropTypes.number.isRequired,\r\n setUserRowsPerPage: PropTypes.func.isRequired,\r\n setUserSorting: PropTypes.func.isRequired,\r\n setUserFilter: PropTypes.func.isRequired,\r\n page: PropTypes.number.isRequired,\r\n setUserPage: PropTypes.func.isRequired,\r\n sorting: PropTypes.object.isRequired,\r\n filter: PropTypes.object.isRequired,\r\n};\r\n\r\nUserList.defaultProps = {\r\n userList: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n userList: state.user.list,\r\n clientConfig: state.auth.clientConfig,\r\n rowsPerPage: state.pageSettings.userRowsPerPage,\r\n page: state.pageSettings.userPage,\r\n sorting: state.pageSettings.userSorting,\r\n filter: state.pageSettings.userFilter,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(PageSettingStore.actionCreators, dispatch),\r\n});\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(UserList));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as UserStore from '../../../app/store/UserStore';\r\n\r\nclass LoadUsers extends React.Component {\r\n componentDidMount() {\r\n if (!this.props.userList) {\r\n this.props.getList();\r\n }\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nLoadUsers.propTypes = {\r\n getList: PropTypes.func.isRequired,\r\n userList: PropTypes.array,\r\n};\r\n\r\nLoadUsers.defaultProps = {\r\n userList: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n userList: state.user.list,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(UserStore.actionCreators, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoadUsers);\r\n","import * as React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { Link, Prompt } from 'react-router-dom';\r\n\r\nimport {\r\n IconButton, Button, Typography, FormControlLabel, Checkbox,\r\n} from '@material-ui/core';\r\nimport * as UserStore from '../../../app/store/UserStore';\r\nimport {\r\n validateAllFields, validateField,\r\n} from '../../../youwell-common/validationUtils';\r\n\r\nimport { getValidators } from './validation';\r\nimport { VimoInput, Selector } from '../../../common/components';\r\nimport { appRoles, loginLevels } from '../../../youwell-common/constants';\r\nimport { SaveIcon, CancelIcon } from '../../../common/icons';\r\nimport { hasValue } from '../../../youwell-common/objectUtils';\r\nimport urls from '../../../app/urls';\r\nimport Auth from '../../../youwell-common/Auth';\r\nimport UserMenu from './UserMenu';\r\nimport { vimoCreateRoles } from '../../../common/constants';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n padding: theme.spacing(2),\r\n background: theme.palette.grey[50],\r\n },\r\n textFields: {\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n row: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n field: {\r\n margin: theme.spacing(1),\r\n flexGrow: 1,\r\n },\r\n actionContainer: {\r\n margin: theme.spacing(1),\r\n marginLeft: -theme.spacing(1),\r\n border: '2px solid transparent',\r\n background: theme.palette.common.white,\r\n },\r\n infoMessage: {\r\n flex: '1 1 auto',\r\n margin: theme.spacing(1),\r\n padding: theme.spacing(2),\r\n background: theme.palette.common.white,\r\n border: theme.borders.green,\r\n color: theme.colors.blue4,\r\n },\r\n actions: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n margin: `${theme.spacing(2)}px ${theme.spacing(1)}px`,\r\n },\r\n button: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n buttonIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n role: {\r\n display: 'flex',\r\n },\r\n});\r\n\r\n\r\nconst defaultState = {\r\n name: '',\r\n fnr: '',\r\n email: '',\r\n phone: '',\r\n extendedProperties: null,\r\n sendWelcomeEmail: true,\r\n};\r\n\r\nconst stateFromData = (data, clientConfig) => {\r\n const initialState = {\r\n ...defaultState,\r\n hasUnsavedChanges: false,\r\n rolesUpdated: false,\r\n mappedRoles: [],\r\n roleForNewUser: appRoles.therapist,\r\n editing: !data.id,\r\n validators: getValidators(clientConfig, !data?.id),\r\n validationErrors: {},\r\n };\r\n\r\n if (!data) {\r\n return initialState;\r\n }\r\n\r\n return Object.keys(defaultState).reduce(\r\n (obj, key) => (hasValue(data[key]) ? { ...obj, [key]: data[key] } : { ...obj }),\r\n {\r\n ...initialState,\r\n mappedRoles: data.roles?.map(d => ({ id: d })),\r\n },\r\n );\r\n};\r\n\r\nclass UserDetails extends React.Component {\r\n state = stateFromData(this.props.userData, this.props.clientConfig);\r\n\r\n handleChange = name => (event) => {\r\n this.setState({\r\n [name]: event.target.value,\r\n hasUnsavedChanges: true,\r\n }, () => {\r\n if (this.state.validators[name]) {\r\n const validationErrors = validateField(this.state, this.state.validators[name], name); // eslint-disable-line react/no-access-state-in-setstate\r\n this.setState({ validationErrors });\r\n }\r\n });\r\n }\r\n\r\n handleRolesChange = (event) => {\r\n this.setState({ mappedRoles: event.target.value, rolesUpdated: true }, () => {\r\n const validationErrors = validateField(this.state, this.state.validators.mappedRoles, 'mappedRoles'); // eslint-disable-line react/no-access-state-in-setstate\r\n this.setState({ validationErrors });\r\n });\r\n }\r\n\r\n toggleCheckedChange = name => (event) => {\r\n this.setState({\r\n [name]: event.target.checked,\r\n hasUnsavedChanges: true,\r\n });\r\n }\r\n\r\n handleExtendePropsChange = name => (event) => {\r\n const value = event.target.value;\r\n\r\n this.setState(prevState => ({\r\n extendedProperties: {\r\n ...prevState.extendedProperties,\r\n [name]: value,\r\n },\r\n hasUnsavedChanges: true,\r\n }));\r\n }\r\n\r\n startEdit = () => {\r\n this.setState({ editing: true });\r\n }\r\n\r\n cancel = () => {\r\n this.setState(stateFromData(this.props.userData, this.props.clientConfig));\r\n }\r\n\r\n saveChanges = () => {\r\n // eslint-disable-next-line react/no-access-state-in-setstate\r\n const validationErrors = validateAllFields(this.state, this.state.validators);\r\n\r\n if (!validationErrors.hasErrors) {\r\n const saveData = Object.keys(defaultState).reduce(\r\n (obj, key) => (this.state[key] ? { ...obj, [key]: this.state[key] } : { ...obj }),\r\n {\r\n id: this.props.userData.id,\r\n },\r\n );\r\n\r\n const callback = () => {\r\n this.setState({ editing: false, hasUnsavedChanges: false, rolesUpdated: false });\r\n };\r\n\r\n if (this.props.userData.id) {\r\n if (this.state.rolesUpdated) {\r\n saveData.updatedRoles = this.state.mappedRoles.map(d => d.id);\r\n }\r\n this.props.updateElement(saveData, { callback });\r\n } else {\r\n saveData.role = this.state.roleForNewUser;\r\n this.props.insertElement(saveData, { callback, redirectWithElementId: urls.inside.users.home });\r\n }\r\n }\r\n this.setState({ validationErrors });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, userData, translate, profileData,\r\n } = this.props;\r\n\r\n if (!userData || !profileData) {\r\n return null;\r\n }\r\n\r\n const roles = vimoCreateRoles\r\n .map(item => ({ id: item, name: translate(`user.appRoles_${item}`) }));\r\n\r\n const loginLevel = Auth.getLoginLevel();\r\n const isLoggedInLevel4 = loginLevel === loginLevels.level4;\r\n const readOnly = !this.state.editing;\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n {userData.id && !this.state.editing && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n\r\n {isLoggedInLevel4 && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n {userData.id ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n\r\n {!userData.id && (\r\n
\r\n \r\n )}\r\n label={translate('user.sendWelcomeEmail')}\r\n />\r\n
\r\n )}\r\n\r\n {this.state.extendedProperties && (\r\n
\r\n {Object.keys(this.state.extendedProperties).map(key => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n )}\r\n\r\n {userData.generatedPassword && (\r\n
\r\n \r\n {`${translate('user.temporaryPassword', { password: userData.generatedPassword })}`}\r\n \r\n
\r\n )}\r\n {userData.addedExistingUser && (\r\n
\r\n \r\n {`${translate('user.addedExistingUser')}`}\r\n \r\n
\r\n )}\r\n\r\n
\r\n {/* {!this.state.editing && (\r\n \r\n \r\n \r\n )} */}\r\n {this.state.editing && (\r\n userData.id ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )\r\n )}\r\n {this.state.editing && (\r\n userData.id ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nUserDetails.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n clientConfig: PropTypes.object.isRequired,\r\n profileData: PropTypes.object.isRequired,\r\n insertElement: PropTypes.func.isRequired,\r\n updateElement: PropTypes.func.isRequired,\r\n userData: PropTypes.object.isRequired,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n clientConfig: state.auth.clientConfig,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(UserStore.actionCreators, dispatch),\r\n});\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(UserDetails));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport { Selector } from '../../../common/components';\r\nimport { vimoRoles } from '../../../common/constants';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n },\r\n },\r\n filter: {\r\n marginRight: theme.spacing(2),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n },\r\n },\r\n flex: {\r\n flex: '1 1 auto',\r\n },\r\n addLinkIcon: {\r\n color: theme.palette.secondary.main,\r\n },\r\n action: {\r\n [theme.breakpoints.down('xs')]: {\r\n height: 30,\r\n minHeight: 30,\r\n width: 30,\r\n },\r\n },\r\n});\r\n\r\nclass UserListFilter extends React.Component {\r\n handleChange = name => (event) => {\r\n this.props.onUpdate({\r\n ...this.props.filter,\r\n [name]: event.target.value,\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, className, filter,\r\n } = this.props;\r\n\r\n const roles = vimoRoles.map(item => ({ id: item, name: translate(`user.appRoles_${item}`) }));\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nUserListFilter.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n filter: PropTypes.object.isRequired,\r\n onUpdate: PropTypes.func.isRequired,\r\n className: PropTypes.string,\r\n};\r\n\r\nUserListFilter.defaultProps = {\r\n className: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n profileData: state.auth.profileData,\r\n clientConfig: state.auth.clientConfig,\r\n});\r\n\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(UserListFilter));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport * as UserStore from '../../../app/store/UserStore';\r\nimport { VimoMenu } from '../../../common/components';\r\nimport urls from '../../../app/urls';\r\n\r\n\r\nclass UserMenu extends React.Component {\r\n deleteUser = (callback) => {\r\n this.props.deleteElement(this.props.userData, { callback, errorCallback: callback, redirect: urls.inside.users.home });\r\n }\r\n\r\n generateNewPassword = (callback) => {\r\n const saveData = {\r\n ...this.props.userData,\r\n generateNewPassword: true,\r\n };\r\n\r\n this.props.updateElement(saveData, { callback, errorCallback: callback });\r\n }\r\n\r\n render() {\r\n const {\r\n translate, clientConfig, className, startEditDetails,\r\n } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nUserMenu.propTypes = {\r\n translate: PropTypes.func.isRequired,\r\n clientConfig: PropTypes.object.isRequired,\r\n userData: PropTypes.object.isRequired,\r\n deleteElement: PropTypes.func.isRequired,\r\n updateElement: PropTypes.func.isRequired,\r\n startEditDetails: PropTypes.func.isRequired,\r\n className: PropTypes.string,\r\n};\r\n\r\nUserMenu.defaultProps = {\r\n className: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n clientConfig: state.auth.clientConfig,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n ...bindActionCreators(UserStore.actionCreators, dispatch),\r\n});\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserMenu);\r\n","import {\r\n validateRequired, validateEmail, validateFnr, validateRoleArray, validateRole,\r\n} from '../../../youwell-common/validationUtils';\r\n\r\n\r\nexport const defaultValidators = {\r\n name: validateRequired,\r\n email: [validateEmail, validateRequired],\r\n};\r\n\r\nexport const getValidators = (clientConfig, newUser) => (\r\n {\r\n ...defaultValidators,\r\n fnr: [validateFnr, clientConfig.u_FnrLogin && validateRequired],\r\n phone: clientConfig.u_AnonymousOnly ? null : validateRequired,\r\n mappedRoles: newUser ? null : validateRoleArray,\r\n roleForNewUser: newUser ? validateRole : null,\r\n }\r\n);\r\n","import 'core-js/stable';\r\nimport 'regenerator-runtime/runtime';\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { createBrowserHistory } from 'history';\r\nimport { MuiThemeProvider } from '@material-ui/core/styles';\r\nimport { LocalizeProvider } from 'react-localize-redux';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\n// import enLocale from \"date-fns/locale/en-US\";\r\nimport noLocale from 'date-fns/locale/nb';\r\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\r\n\r\nimport './app/style/styles.less';\r\nimport theme from './app/style/theme';\r\nimport App from './app/App';\r\nimport { actionCreators as PageSettingsActions } from './app/store/PageSettingStore';\r\nimport { setApiRoot } from './youwell-common/apiUrls';\r\nimport { configureStore, updateStore } from './youwell-common/reduxUtils';\r\nimport { reducers } from './app/store';\r\nimport { translateInitialization } from './app/localization';\r\n\r\n\r\nconst baseUrl = (window.serverParams && window.serverParams.baseUrl) || document.getElementById('react-app').getAttribute('data-base-url');\r\nconst apiUrl = (window.serverParams && window.serverParams.apiUrl) || document.getElementById('react-app').getAttribute('data-api-url');\r\nconst appVersion = (window.serverParams && window.serverParams.appVersion) || document.getElementById('react-app').getAttribute('data-app-version');\r\nconst appConfig = (window.serverParams && window.serverParams.appConfig) || JSON.parse(document.getElementById('react-app').getAttribute('data-app-config'));\r\n\r\nif (!apiUrl) {\r\n throw new Error('Missing asp-prerender parameter: data-apiUrl');\r\n}\r\nsetApiRoot(apiUrl);\r\n\r\n// globals set in server-side rendering\r\nconst initialState = window.initialReduxState;\r\n\r\n// Create browser history to use in the Redux store\r\nconst history = createBrowserHistory({ basename: baseUrl });\r\n\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\nconst store = configureStore(reducers, history, initialState);\r\n\r\nPageSettingsActions.setVersion(appVersion)(store.dispatch);\r\nPageSettingsActions.setAppConfig(appConfig)(store.dispatch);\r\n\r\n// Remove server-side generated jss\r\nconst jssStyles = document.getElementById('jss-server-side');\r\nif (jssStyles && jssStyles.parentNode) {\r\n jssStyles.parentNode.removeChild(jssStyles);\r\n}\r\n\r\nconst localizationInitialization = translateInitialization(appConfig.language);\r\n\r\nconst MainApp = () => (\r\n \r\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 renderApp = () => {\r\n ReactDOM.render(\r\n ,\r\n document.getElementById('react-app'),\r\n );\r\n};\r\n\r\nif (module.hot) {\r\n module.hot.accept('./app/store', () => {\r\n updateStore(store, reducers, history);\r\n });\r\n}\r\n\r\nrenderApp();\r\n","export const APPMessages = {\r\n LoggedInLevel: 'LoggedInLevel',\r\n CurrentLanguage: 'CurrentLanguage',\r\n};\r\n\r\nexport const PostAppMessage = (key, value) => {\r\n if (window.ywAppMessage?.postMessage) {\r\n window.ywAppMessage.postMessage(`${key}:${value}`);\r\n }\r\n};\r\n","import { APPMessages, PostAppMessage } from './AppUtil';\r\n\r\nconst LOGINLEVEL_KEY = 'yw_ll';\r\n\r\nexport const storageProviders = {\r\n App: 'App',\r\n Session: 'Session',\r\n Local: 'Local',\r\n};\r\n\r\nlet storageProvider = window.localStorage;\r\nconst storage = {};\r\n\r\nclass Auth {\r\n static setStorageProvider(provider) {\r\n switch (provider) {\r\n case storageProviders.App:\r\n storageProvider = {\r\n getItem: key => storage[key],\r\n setItem: (key, value) => { storage[key] = value; },\r\n };\r\n break;\r\n case storageProviders.Session:\r\n storageProvider = window.sessionStorage;\r\n break;\r\n case storageProviders.Local:\r\n storageProvider = window.localStorage;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n static isUserAuthenticated() {\r\n return this.getLoginLevel() > 0;\r\n }\r\n\r\n static deauthenticateUser() {\r\n this.setLoginInfo(0);\r\n }\r\n\r\n static getLoginLevel() {\r\n return Number(storageProvider.getItem(LOGINLEVEL_KEY));\r\n }\r\n\r\n static setLoginInfo(level) {\r\n storageProvider.setItem(LOGINLEVEL_KEY, level);\r\n\r\n PostAppMessage(APPMessages.LoggedInLevel, level);\r\n }\r\n}\r\n\r\nexport default Auth;\r\n","\r\nconst inMemoryCookies = {};\r\n\r\nexport const CookieNames = {\r\n csrf: '__Secure-yw_rf',\r\n};\r\n\r\nclass Cookie {\r\n /**\r\n * Gets the value of the given cookie.\r\n *\r\n * @param {string} cname Name of a cookie\r\n */\r\n static getValue(cname) {\r\n if (typeof document === 'undefined') {\r\n return inMemoryCookies[cname] ?? null;\r\n }\r\n const name = `${cname}=`;\r\n const decodedCookie = decodeURIComponent(document.cookie);\r\n const ca = decodedCookie.split(';');\r\n\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) === ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) === 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Deletes the given cookie.\r\n *\r\n * @param {string} cname Name of a cookie\r\n */\r\n static delete(cname) {\r\n if (typeof document === 'undefined') {\r\n delete inMemoryCookies[cname];\r\n } else {\r\n document.cookie = `${cname}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`;\r\n }\r\n }\r\n}\r\n\r\nexport default Cookie;\r\n","import { push, replace, LOCATION_CHANGE } from 'connected-react-router';\r\n\r\nimport apiUrls from './apiUrls';\r\nimport {\r\n fetchWithRefresh as fetch, dispatchError, handleErrors, json, blob, jsonHeader, downloadBlobAsFile, mapToQueryString,\r\n} from './fetchUtils';\r\nimport { mergePatchChangesInStore } from './objectUtils';\r\n\r\nexport const CLEAR_ERROR = 'APP/CLEAR_ERROR';\r\nexport const LOGOUT = 'APP/LOGOUT';\r\n\r\nexport const REQUEST_START = 'REQUEST_START';\r\nexport const REQUEST_FAILED = 'REQUEST_FAILED';\r\nexport const REQUEST_COMPLETE = 'REQUEST_COMPLETE';\r\nexport const LIST_RECIEVED = 'LIST_RECIEVED';\r\nexport const DETAILS_RECIEVED = 'DETAILS_RECIEVED';\r\nexport const INSERTED = 'INSERTED';\r\nexport const DELETED = 'DELETED';\r\nexport const UPDATED = 'UPDATED';\r\nexport const PATCHED = 'PATCHED';\r\n\r\nexport const handleOptions = (options, data, dispatch) => {\r\n if (!options) {\r\n return;\r\n }\r\n if (options.callback) {\r\n options.callback(data);\r\n }\r\n if (options.redirectWithElementId) {\r\n dispatch(push(`${options.redirectWithElementId}/${data.id}`));\r\n } else if (options.redirect) {\r\n dispatch(push(options.redirect));\r\n } else if (options.redirectExternal) {\r\n window.location = options.redirectExternal;\r\n }\r\n};\r\n\r\nconst handleCatch = (params, dispatch, storePrefix) => (error) => {\r\n if (params.onError) {\r\n params.onError(error);\r\n }\r\n\r\n dispatchError(dispatch, `${storePrefix}/${REQUEST_FAILED}`, params.options, params.requestId || params.completeAction, error, params.onUnauthorized);\r\n if (params.options && params.options.errorCallback) {\r\n params.options.errorCallback();\r\n }\r\n};\r\n\r\nconst handleData = (params, dispatch, storePrefix) => (responseData) => {\r\n if (params.completeAction) {\r\n dispatch({\r\n type: params.completeAction,\r\n data: responseData,\r\n reducerParams: params.options?.reducerParams,\r\n requestParams: params.options?.requestParams,\r\n inputData: params.body,\r\n });\r\n }\r\n\r\n if (params.onData) {\r\n params.onData(responseData);\r\n }\r\n\r\n dispatch({ type: `${storePrefix}/${REQUEST_COMPLETE}`, requestId: params.requestId || params.completeAction });\r\n handleOptions(params.options, responseData, dispatch);\r\n};\r\n\r\nconst requestParams = (options) => {\r\n if (!options || !options.requestParams) {\r\n return '';\r\n }\r\n\r\n return mapToQueryString(options.requestParams);\r\n};\r\n\r\nconst appendUrlData = (options) => {\r\n if (!options || !options.urlData) {\r\n return '';\r\n }\r\n\r\n return `/${options.urlData}`;\r\n};\r\n\r\nconst setRequests = (state, requestId, options, current) => {\r\n if (!requestId) {\r\n return { ...state };\r\n }\r\n\r\n const requests = {\r\n ...state.requests,\r\n [requestId]: {\r\n ...current,\r\n background: options && options.background,\r\n },\r\n };\r\n const errors = Object.values(requests).reduce((prev, curr) => (curr.error && !curr.background ? [...prev, curr.error] : prev), []);\r\n\r\n return {\r\n ...state,\r\n requests,\r\n errors: errors.length > 0 ? errors : null,\r\n loading: Object.values(requests).reduce((prev, curr) => prev || (curr.loading && !curr.background), false),\r\n };\r\n};\r\n\r\nconst clearErrors = state => ({\r\n ...state,\r\n requests: state.requests ? Object.keys(state.requests).reduce((prev, curr) => ({ ...prev, [curr]: { ...state.requests[curr], error: null } }), []) : {},\r\n errors: null,\r\n});\r\n\r\nexport default class ReduxStoreHelper {\r\n constructor(STORE_PREFIX) {\r\n this.STORE_PREFIX = STORE_PREFIX;\r\n }\r\n\r\n fetch = (dispatch, params) => {\r\n fetch(dispatch, `${apiUrls.baseUrl}/${params.url}${appendUrlData(params.options)}${requestParams(params.options)}`, {\r\n headers: { ...jsonHeader },\r\n method: params.method || 'GET',\r\n body: params.body ? JSON.stringify(params.body) : undefined,\r\n })\r\n .then(handleErrors(dispatch))\r\n .then(json)\r\n .then(handleData(params, dispatch, this.STORE_PREFIX))\r\n .catch(handleCatch(params, dispatch, this.STORE_PREFIX));\r\n\r\n dispatch({\r\n type: `${this.STORE_PREFIX}/${REQUEST_START}`, requestId: params.requestId || params.completeAction, options: params.options,\r\n });\r\n }\r\n\r\n fetchFile = (dispatch, params) => {\r\n const formData = new FormData();\r\n formData.append('file', params.file);\r\n\r\n fetch(dispatch, `${apiUrls.baseUrl}/${params.url}${appendUrlData(params.options)}${requestParams(params.options)}`, {\r\n headers: { },\r\n method: 'POST',\r\n body: formData,\r\n })\r\n .then(handleErrors(dispatch))\r\n .then(json)\r\n .then(handleData(params, dispatch, this.STORE_PREFIX))\r\n .catch(handleCatch(params, dispatch, this.STORE_PREFIX));\r\n\r\n dispatch({\r\n type: `${this.STORE_PREFIX}/${REQUEST_START}`, requestId: params.requestId || params.completeAction, options: params.options,\r\n });\r\n }\r\n\r\n fetchBlob = (dispatch, params) => {\r\n fetch(dispatch, `${apiUrls.baseUrl}/${params.url}${appendUrlData(params.options)}${requestParams(params.options)}`, {\r\n headers: { ...jsonHeader },\r\n method: params.method || 'GET',\r\n body: params.body ? JSON.stringify(params.body) : undefined,\r\n })\r\n .then(handleErrors(dispatch))\r\n .then(blob)\r\n .then(handleData(params, dispatch, this.STORE_PREFIX))\r\n .catch(handleCatch(params, dispatch, this.STORE_PREFIX));\r\n\r\n dispatch({\r\n type: `${this.STORE_PREFIX}/${REQUEST_START}`, requestId: params.requestId || params.completeAction, options: params.options,\r\n });\r\n }\r\n\r\n createGetListActionCreator = (urlPart, COMPLETE_ACTION, requestParameters) => options => (dispatch) => {\r\n this.fetch(dispatch, {\r\n url: urlPart,\r\n options: { ...options, requestParams: { ...requestParameters, ...options ? options.requestParams : {} } },\r\n completeAction: `${this.STORE_PREFIX}/${COMPLETE_ACTION}`,\r\n requestId: `${this.STORE_PREFIX}/${COMPLETE_ACTION}`,\r\n });\r\n };\r\n\r\n createGetElementActionCreator = (urlPart, COMPLETE_ACTION, requestParameters) => (elementId, options) => (dispatch) => {\r\n this.fetch(dispatch, {\r\n url: `${urlPart}/${elementId}`,\r\n options: { ...options, requestParams: { ...requestParameters, ...options ? options.requestParams : {} } },\r\n completeAction: `${this.STORE_PREFIX}/${COMPLETE_ACTION}`,\r\n requestId: `${this.STORE_PREFIX}/${COMPLETE_ACTION}/${elementId}`,\r\n });\r\n };\r\n\r\n createPatchActionCreator = (urlPart, COMPLETE_ACTION, requestParameters) => (body, options) => (dispatch) => {\r\n this.fetch(dispatch, {\r\n url: urlPart,\r\n options: {\r\n ...options,\r\n requestParams: { ...requestParameters, ...options ? options.requestParams : {} },\r\n reducerParams: { id: body.id, changes: body.changes, ...options ? options.reducerParams : {} },\r\n },\r\n completeAction: `${this.STORE_PREFIX}/${COMPLETE_ACTION}`,\r\n method: 'PATCH',\r\n body,\r\n });\r\n };\r\n\r\n createInsertActionCreator = (urlPart, COMPLETE_ACTION, requestParameters) => this.createActionCreator(urlPart, COMPLETE_ACTION, 'POST', requestParameters);\r\n\r\n createUpdateActionCreator = (urlPart, COMPLETE_ACTION, requestParameters) => this.createActionCreator(urlPart, COMPLETE_ACTION, 'PUT', requestParameters);\r\n\r\n\r\n createDeleteActionCreator = (urlPart, COMPLETE_ACTION, requestParameters) => (elementToDelete, options) => (dispatch) => {\r\n this.fetch(dispatch, {\r\n url: `${urlPart}/${elementToDelete.id}`,\r\n options: { ...options, requestParams: { ...requestParameters, ...options ? options.requestParams : {} } },\r\n method: 'DELETE',\r\n requestId: (options && options.requestId) || COMPLETE_ACTION,\r\n onData: () => {\r\n dispatch({ type: `${this.STORE_PREFIX}/${COMPLETE_ACTION}`, data: elementToDelete, reducerParams: options && options.reducerParams });\r\n },\r\n });\r\n };\r\n\r\n createFileUploadActionCreator = (urlPart, COMPLETE_ACTION) => (file, options) => (dispatch) => {\r\n this.fetchFile(dispatch, {\r\n url: urlPart,\r\n options,\r\n completeAction: `${this.STORE_PREFIX}/${COMPLETE_ACTION}`,\r\n file,\r\n });\r\n };\r\n\r\n createFileDownloadActionCreator = (urlPart, COMPLETE_ACTION, fileName) => options => (dispatch) => {\r\n this.fetchBlob(dispatch, {\r\n url: urlPart,\r\n completeAction: `${this.STORE_PREFIX}/${COMPLETE_ACTION}`,\r\n onData: (data) => {\r\n downloadBlobAsFile(fileName || data.filename || 'Unnamed export.zip_or_csv', data.contentType, data.blobData);\r\n },\r\n options,\r\n });\r\n };\r\n\r\n createActionCreator = (urlPart, COMPLETE_ACTION, method, requestParameters) => (body, options) => (dispatch) => {\r\n this.fetch(dispatch, {\r\n url: urlPart,\r\n options: { ...options, requestParams: { ...requestParameters, ...options ? options.requestParams : {} } },\r\n completeAction: `${this.STORE_PREFIX}/${COMPLETE_ACTION}`,\r\n method: method || 'POST',\r\n body,\r\n });\r\n };\r\n\r\n defaultActionCreators = urlPart => ({\r\n redirect: (url, replaceHistory) => (dispatch) => {\r\n if (replaceHistory) {\r\n dispatch(replace(url));\r\n } else {\r\n dispatch(push(url));\r\n }\r\n },\r\n getList: this.createGetListActionCreator(urlPart, LIST_RECIEVED),\r\n getElement: this.createGetElementActionCreator(urlPart, DETAILS_RECIEVED),\r\n insertElement: this.createActionCreator(urlPart, INSERTED),\r\n deleteElement: this.createDeleteActionCreator(urlPart, DELETED),\r\n updateElement: this.createUpdateActionCreator(urlPart, UPDATED),\r\n patchElement: this.createPatchActionCreator(urlPart, PATCHED),\r\n });\r\n\r\n defaultInitialState = {\r\n errors: [],\r\n loading: false,\r\n list: null,\r\n details: null,\r\n requests: {},\r\n };\r\n\r\n defaultReducer = (state, action, initialState) => {\r\n switch (action.type) {\r\n case LOCATION_CHANGE: {\r\n return clearErrors(state);\r\n }\r\n case CLEAR_ERROR: {\r\n return clearErrors(state);\r\n }\r\n case LOGOUT: {\r\n return initialState;\r\n }\r\n case `${this.STORE_PREFIX}/${REQUEST_START}`: {\r\n return setRequests(state, action.requestId, action.options, {\r\n loading: true,\r\n completed: false,\r\n error: null,\r\n });\r\n }\r\n case `${this.STORE_PREFIX}/${REQUEST_COMPLETE}`: {\r\n return setRequests(state, action.requestId, action.options, {\r\n loading: false,\r\n completed: true,\r\n error: null,\r\n });\r\n }\r\n case `${this.STORE_PREFIX}/${REQUEST_FAILED}`: {\r\n /* eslint-disable no-console */\r\n if (console?.error && action?.error) {\r\n console.error(action.error);\r\n }\r\n /* eslint-enable no-console */\r\n\r\n return setRequests(state, action.requestId, action.options, {\r\n loading: false,\r\n completed: true,\r\n error: action.error,\r\n });\r\n }\r\n case `${this.STORE_PREFIX}/${LIST_RECIEVED}`: {\r\n return {\r\n ...state,\r\n list: action.data,\r\n };\r\n }\r\n case `${this.STORE_PREFIX}/${DETAILS_RECIEVED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.data.id]: action.data,\r\n },\r\n };\r\n }\r\n case `${this.STORE_PREFIX}/${INSERTED}`: {\r\n return {\r\n ...state,\r\n list: state.list ? [...state.list, action.data] : null,\r\n details: {\r\n ...state.details || {},\r\n [action.data.id]: action.data,\r\n },\r\n };\r\n }\r\n case `${this.STORE_PREFIX}/${DELETED}`: {\r\n return {\r\n ...state,\r\n list: state.list ? state.list.filter(e => e.id !== action.data.id) : null,\r\n details: {\r\n ...state.details || {},\r\n [action.data.id]: undefined,\r\n },\r\n };\r\n }\r\n case `${this.STORE_PREFIX}/${UPDATED}`: {\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.data.id]: action.data,\r\n },\r\n list: state.list ? state.list.map(e => (e.id === action.data.id ? action.data : e)) : null,\r\n };\r\n }\r\n case `${this.STORE_PREFIX}/${PATCHED}`: {\r\n if (!action.reducerParams || !state.details || !state.details[action.reducerParams.id]) {\r\n return state || initialState;\r\n }\r\n const newData = mergePatchChangesInStore(state.details[action.reducerParams.id], action.reducerParams.changes, action.data);\r\n\r\n return {\r\n ...state,\r\n details: {\r\n ...state.details || {},\r\n [action.reducerParams.id]: {\r\n ...newData,\r\n __changes: {}, // Todo - must check which changes should be cleared!\r\n __hasChanges: false, // todo ...\r\n },\r\n },\r\n list: state.list ? state.list.map(e => (e.id === action.reducerParams.id ? newData : e)) : null,\r\n };\r\n }\r\n default: {\r\n return null;\r\n }\r\n }\r\n };\r\n}\r\n","const urlvalues = {\r\n baseUrl: '',\r\n admin: {\r\n admin: 'api/admin/admin',\r\n log: 'api/admin/log',\r\n organization: 'api/admin/organization',\r\n stats: 'api/admin/stats',\r\n taskEngine: 'api/admin/taskEngine',\r\n },\r\n app: {\r\n auth: 'api/app/auth',\r\n message: 'api/app/message',\r\n program: 'api/app/program',\r\n public: 'api/app/public',\r\n preview: 'api/app/preview',\r\n user: 'api/app/user',\r\n sensor: 'api/app/sensor',\r\n sleep: 'api/app/sleep',\r\n },\r\n fihr: {\r\n observation: 'api/fihr/observation',\r\n },\r\n portal: {\r\n patient: 'api/portal/patient',\r\n patientSensor: 'api/portal/patient/sensor',\r\n patientExport: 'api/portal/patient/export',\r\n patientFitbit: 'api/portal/patient/fitbit',\r\n patientGarmin: 'api/portal/patient/garmin',\r\n patientMessage: 'api/portal/patient/message',\r\n patientEvent: 'api/portal/patient/event',\r\n module: 'api/portal/program/module',\r\n program: 'api/portal/program/program',\r\n task: 'api/portal/program/task',\r\n import: 'api/portal/program/import',\r\n programExport: 'api/portal/program/export',\r\n auth: 'api/portal/auth',\r\n media: 'api/portal/media',\r\n registration: 'api/portal/registration',\r\n user: 'api/portal/user',\r\n users: 'api/portal/users',\r\n content: 'api/portal/content',\r\n analytics: 'api/portal/analytics',\r\n analyticsExport: 'api/portal/analytics/export',\r\n },\r\n public: {\r\n program: 'api/public/program',\r\n },\r\n media: {\r\n file: 'media/file',\r\n video: 'media/video',\r\n },\r\n route: {\r\n callback: 'route/callback',\r\n oauth: 'route/oauth',\r\n },\r\n socket: {\r\n videoChat: 'socket/videochat/hub',\r\n },\r\n};\r\n\r\nconst apiUrls = { ...urlvalues };\r\n\r\nexport const setApiRoot = (baseUrl) => {\r\n apiUrls.baseUrl = baseUrl;\r\n};\r\n\r\nexport const currentRoot = () => `${window.location.protocol}//${window.location.host}`;\r\nexport default apiUrls;\r\n","import { getLocalDate } from './dateUtils';\r\nimport { getValueByDotNotation } from './objectUtils';\r\n\r\nexport const toLookup = (array, keyName = 'id') => (array\r\n ? array.reduce((prev, curr) => (\r\n curr ? { ...prev, [getValueByDotNotation(curr, keyName)]: curr } : prev\r\n ), {}) : {}\r\n);\r\n\r\nexport const toLookupMultiple = (array, keyName = 'id', initialValue = {}) => (array\r\n ? array.reduce((prev, curr) => (\r\n { ...prev, [curr[keyName]]: [...prev[curr[keyName]] || [], curr] }\r\n ), initialValue || {}) : initialValue || {}\r\n);\r\n\r\nexport const toBoolLookup = (array, keyName = null) => (array\r\n ? array.reduce((prev, curr) => (\r\n { ...prev, [keyName ? curr[keyName] : curr]: true }\r\n ), {}) : {}\r\n);\r\n\r\nexport const GUID_LENGTH = 36;\r\n\r\nexport const toGuidLookup = (array, trimKey) => (array ? array.reduce((prev, curr) => (\r\n curr.startsWith(trimKey)\r\n ? { ...prev, [curr.slice(trimKey.length, GUID_LENGTH + trimKey.length)]: true }\r\n : prev\r\n), {}) : {});\r\n\r\nexport const toCommaList = (array, keyName = 'name') => (array\r\n ? array.reduce((prev, curr) => (curr ? `${prev ? `${prev}, ` : ''}${curr[keyName]}` : prev), '') : null\r\n);\r\n\r\nexport const findMax = (array, keyName, startValue = 0) => (array\r\n ? array.reduce((prev, curr) => (curr && curr[keyName] ? Math.max(prev, Number(curr[keyName]) || startValue) : prev), startValue) : startValue\r\n);\r\n\r\nexport const findMaxDate = (array, keyName = 'created', startValue = null) => (array\r\n ? array.reduce((prev, curr) => (curr && curr[keyName] ? Math.max(prev, getLocalDate(curr[keyName]) || startValue) : prev), startValue) : startValue\r\n);\r\n\r\nexport const reorderElements = (array, fromIndex, toIndex) => {\r\n const reordered = [...array];\r\n const [removed] = reordered.splice(fromIndex, 1);\r\n reordered.splice(toIndex, 0, removed);\r\n return reordered;\r\n};\r\n\r\nexport const insertAtIndex = (array, index, elementToInsert) => {\r\n const reordered = [...array];\r\n reordered.splice(index, 0, elementToInsert);\r\n return reordered;\r\n};\r\n\r\nexport const sortByDate = (array, propName = 'created') => (array ? array.sort((a, b) => new Date(b[propName]) - new Date(a[propName])) : null);\r\nexport const sortByDateAscending = (array, propName = 'created') => (array ? array.sort((a, b) => new Date(a[propName]) - new Date(b[propName])) : null);\r\nexport const sortByString = (array, propName = 'name') => (array ? array.sort((a, b) => `${a[propName] || ''}`.localeCompare(b[propName])) : null);\r\n\r\nconst sortComp = (a, b) => (a > b) - (a < b);\r\nconst sortCompDate = (a, b) => new Date(a) - new Date(b);\r\nexport const sortByMany = (array, ...sortProps) => (array ? array.sort((a, b) => sortProps.reduce((prev, curr) => prev || sortComp(a[curr], b[curr]), 0)) : null);\r\nexport const sortByManyAdvanced = (array, ...sortProps) => (array ? array.sort((a, b) => sortProps.reduce((prev, curr) => prev || ((p) => {\r\n switch (p.type) {\r\n case 'date':\r\n return p.desc ? sortCompDate(b[p.name], a[p.name]) : sortCompDate(a[p.name], b[p.name]);\r\n default:\r\n return p.desc ? sortComp(b[p.name], a[p.name]) : sortComp(a[p.name], b[p.name]);\r\n }\r\n})(curr),\r\n0)) : null);\r\n\r\nexport const distinct = (array, distinctBy = d => d.id) => {\r\n const set = {};\r\n return array?.filter((d) => { if (set[distinctBy(d)]) return false; set[distinctBy(d)] = true; return true; });\r\n};\r\n\r\n// Merge two arrays and filter out duplicates by key (item from B is preserved)\r\nexport const mergeWithFilter = (a, b, key = 'id') => {\r\n const bDict = toBoolLookup(b, key);\r\n return (a || []).filter(elem => !bDict[elem[key]])\r\n .concat(b || []);\r\n};\r\n\r\nexport const reverse = (array) => {\r\n const clone = [...array];\r\n clone.reverse();\r\n return clone;\r\n};\r\n","import { useState, useEffect, useCallback } from 'react';\r\n\r\nexport const isBrowser = typeof window === 'object';\r\n\r\nexport const isIe = isBrowser && !!document.documentMode;\r\n\r\nexport const isEdge = isBrowser && window.navigator.userAgent.indexOf('Edge') > -1;\r\n\r\nexport const isTouchDevice = isBrowser && (('ontouchstart' in window)\r\n|| (navigator.MaxTouchPoints > 0)\r\n|| (navigator.msMaxTouchPoints > 0));\r\n\r\nexport const useWindowSize = () => {\r\n const [windowSize, setWindowSize] = useState({\r\n width: undefined,\r\n hight: undefined,\r\n });\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWindowSize({\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n });\r\n }\r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n return windowSize;\r\n};\r\n\r\nexport const useElementSize = () => {\r\n const [elementSize, setElementSize] = useState({\r\n width: undefined,\r\n hight: undefined,\r\n });\r\n\r\n const elementRef = useCallback((node) => {\r\n function handleResize() {\r\n if (node !== null) {\r\n setElementSize({\r\n width: node.getBoundingClientRect().width,\r\n height: node.getBoundingClientRect().height,\r\n });\r\n }\r\n }\r\n\r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n return [elementRef, elementSize];\r\n};\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass DelayedFetch extends React.Component {\r\n componentDidMount() {\r\n this.setup();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.setup();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.clearTimeout();\r\n }\r\n\r\n clearTimeout = () => {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n\r\n setup = () => {\r\n if (!this.timer) {\r\n this.timer = setTimeout(() => {\r\n this.props.dataCall();\r\n }, this.props.delaySeconds * 1000);\r\n }\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nDelayedFetch.propTypes = {\r\n dataCall: PropTypes.func.isRequired,\r\n delaySeconds: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default DelayedFetch;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withStyles } from '@material-ui/core/styles';\r\n\r\nimport {\r\n Typography, Input, Button, Hidden,\r\n} from '@material-ui/core';\r\n\r\nexport const devbannerHeight = 50;\r\n\r\nconst styles = theme => ({\r\n root: {\r\n padding: theme.spacing(10),\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n banner: {\r\n width: '100%',\r\n height: devbannerHeight,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n background: theme.palette.warning.main,\r\n color: theme.palette.warning.contrastText,\r\n borderBottom: theme.borders.dim,\r\n\r\n '@media print': {\r\n display: 'none',\r\n },\r\n },\r\n login: {\r\n position: 'fixed',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n background: theme.palette.grey[100],\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n zIndex: 900, // Must be lower than \"loading\"\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n height: '150%', // To account for special scrolling on mobile..\r\n justifyContent: 'flex-start',\r\n },\r\n },\r\n loginBox: {\r\n background: theme.palette.common.white,\r\n borderRadius: theme.spacing(1),\r\n padding: theme.spacing(4),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: '50%',\r\n },\r\n },\r\n input: {\r\n margin: theme.spacing(2, 0),\r\n },\r\n});\r\n\r\n\r\nconst DEV_LOGIN_KEY = 'ywDL';\r\n\r\nclass DevelopmentBanner extends React.Component {\r\n state = {\r\n pw: '',\r\n }\r\n\r\n handleChange = name => (event) => {\r\n this.setState({ [name]: event.target.value });\r\n }\r\n\r\n login = () => {\r\n if (this.state.pw === this.props.password) {\r\n window.localStorage.setItem(DEV_LOGIN_KEY, Date.now());\r\n }\r\n\r\n this.setState({ pw: '' });\r\n }\r\n\r\n hasValidLogin = () => (window.localStorage.getItem(DEV_LOGIN_KEY) > (Date.now() - 7 * 24 * 60 * 60 * 1000))\r\n && (window.localStorage.getItem(DEV_LOGIN_KEY) > this.props.passwordDate)\r\n\r\n handleKeyPress = (e) => {\r\n if (e.key === 'Enter') {\r\n this.login();\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n classes, translate, password, disabled, showBanner,\r\n } = this.props;\r\n\r\n if (disabled) {\r\n return null;\r\n }\r\n const isOpen = !password || this.hasValidLogin();\r\n\r\n return (\r\n isOpen ? (\r\n <>\r\n {showBanner && (\r\n
\r\n \r\n \r\n {translate('dev.underDevelopment')}\r\n \r\n \r\n \r\n \r\n {translate('dev.underDevelopmentShort')}\r\n \r\n \r\n
\r\n )}\r\n \r\n ) : (\r\n
\r\n
\r\n \r\n {translate('dev.underDevelopment')}\r\n \r\n \r\n {translate('dev.pleaseLogInToContinue')}\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n )\r\n );\r\n }\r\n}\r\n\r\nDevelopmentBanner.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n password: PropTypes.string,\r\n passwordDate: PropTypes.number,\r\n disabled: PropTypes.bool,\r\n showBanner: PropTypes.bool,\r\n};\r\n\r\nDevelopmentBanner.defaultProps = {\r\n password: '',\r\n passwordDate: 0,\r\n disabled: false,\r\n showBanner: false,\r\n};\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(DevelopmentBanner));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n Button,\r\n Dialog,\r\n DialogContent,\r\n DialogTitle,\r\n DialogActions,\r\n} from '@material-ui/core';\r\n\r\n\r\nclass DialogButton extends React.Component {\r\n state = {\r\n isDialogOpen: false,\r\n }\r\n\r\n openDialog = () => {\r\n this.setState({ isDialogOpen: true });\r\n }\r\n\r\n closeDialog = () => {\r\n this.setState({ isDialogOpen: false });\r\n }\r\n\r\n ok = () => {\r\n this.setState({ isDialogOpen: false }, this.props.dialogOkAction);\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n buttonText, dialogTitle, dialogCancelText, buttonProps,\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n {buttonText}\r\n \r\n\r\n \r\n {dialogTitle}\r\n \r\n \r\n \r\n {buttonText}\r\n \r\n \r\n {dialogCancelText}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nDialogButton.propTypes = {\r\n dialogOkAction: PropTypes.func.isRequired,\r\n buttonText: PropTypes.string.isRequired,\r\n dialogTitle: PropTypes.string.isRequired,\r\n dialogCancelText: PropTypes.string.isRequired,\r\n buttonProps: PropTypes.object,\r\n};\r\n\r\nDialogButton.defaultProps = {\r\n buttonProps: null,\r\n};\r\n\r\nexport default DialogButton;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport classnames from 'classnames';\r\n\r\nimport { Typography, IconButton } from '@material-ui/core';\r\nimport { ClearIcon } from '../icons';\r\nimport { isBrowser } from '../browserUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n padding: theme.spacing(2),\r\n marginBottom: theme.spacing(2),\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n text: {\r\n flex: '1 1 auto',\r\n },\r\n icon: {\r\n height: 'auto',\r\n width: 'auto',\r\n },\r\n});\r\n\r\nclass ErrorMessage extends React.Component {\r\n errorElement = React.createRef();\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.message && this.props.message !== prevProps.message) {\r\n const scrollEl = this.errorElement.current;\r\n\r\n if (scrollEl && isBrowser && window.scrollY > 10) {\r\n setTimeout(() => {\r\n scrollEl.scrollIntoView({ behavior: 'smooth' });\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, message, onClear, className, muteErrors, scrollMarginTop,\r\n } = this.props;\r\n\r\n if (!message) {\r\n return null;\r\n }\r\n\r\n const filteredMessages = [...new Set(message.split('
'))].filter(d => !muteErrors?.includes(d));\r\n\r\n if (!filteredMessages.length) {\r\n return null;\r\n }\r\n return (\r\n
\r\n {filteredMessages.map(msg => (\r\n \r\n {translate(`errors.${msg}`, null, { onMissingTranslation: () => `System error (${msg})` })}\r\n \r\n ))}\r\n {onClear && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nErrorMessage.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n className: PropTypes.string,\r\n message: PropTypes.string,\r\n onClear: PropTypes.func,\r\n muteErrors: PropTypes.array,\r\n scrollMarginTop: PropTypes.number,\r\n};\r\n\r\nErrorMessage.defaultProps = {\r\n message: null,\r\n className: null,\r\n onClear: null,\r\n muteErrors: null,\r\n scrollMarginTop: null,\r\n};\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(ErrorMessage));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n Button,\r\n} from '@material-ui/core';\r\n\r\n\r\nclass FormLink extends React.Component {\r\n render() {\r\n const {\r\n buttonText, buttonProps, params, to,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n {params && params.map(p => (\r\n \r\n ))}\r\n \r\n {buttonText}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nFormLink.propTypes = {\r\n buttonText: PropTypes.string.isRequired,\r\n buttonProps: PropTypes.object,\r\n to: PropTypes.string.isRequired,\r\n params: PropTypes.arrayOf(PropTypes.shape({\r\n key: PropTypes.string.isRequired,\r\n value: PropTypes.string.isRequired,\r\n })),\r\n};\r\n\r\nFormLink.defaultProps = {\r\n buttonProps: null,\r\n params: null,\r\n};\r\n\r\nexport default FormLink;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\n\r\nimport { replaceEmbedContent, isEmptyHtml } from '../htmlUtils';\r\n\r\nexport const htmlContentClassName = 'htmlcontent';\r\n\r\nclass HtmlContent extends React.Component {\r\n render() {\r\n const {\r\n html, className, addNoContextForImages, style,\r\n } = this.props;\r\n\r\n if (isEmptyHtml(html)) {\r\n return null;\r\n }\r\n\r\n return (\r\n /* eslint-disable react/no-danger */\r\n
\r\n /* eslint-enable react/no-danger */\r\n );\r\n }\r\n}\r\n\r\n\r\nHtmlContent.propTypes = {\r\n html: PropTypes.string,\r\n className: PropTypes.string,\r\n addNoContextForImages: PropTypes.bool,\r\n style: PropTypes.object,\r\n};\r\n\r\nHtmlContent.defaultProps = {\r\n html: null,\r\n className: null,\r\n addNoContextForImages: false,\r\n style: null,\r\n};\r\n\r\nexport default HtmlContent;\r\n","// Stripped and adjusted from https://github.com/SupremeTechnopriest/react-idle-timer\r\n\r\nimport * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst IS_BROWSER = (typeof window === 'undefined' ? 'undefined' : typeof window) === 'object';\r\nconst DEFAULT_ELEMENT = IS_BROWSER ? document : {};\r\nconst DEFAULT_EVENTS = [\r\n 'mousemove',\r\n 'keydown',\r\n 'wheel',\r\n 'DOMMouseScroll',\r\n 'mouseWheel',\r\n 'mousedown',\r\n 'touchstart',\r\n 'touchmove',\r\n 'MSPointerDown',\r\n 'MSPointerMove',\r\n];\r\n\r\nexport default class IdleTimer extends React.Component {\r\n tId = null\r\n\r\n static propTypes = {\r\n timeoutInMinutes: PropTypes.number,\r\n onIdle: PropTypes.func,\r\n onActive: PropTypes.func,\r\n }\r\n\r\n static defaultProps = {\r\n timeoutInMinutes: 60,\r\n onIdle: () => {},\r\n onActive: () => {},\r\n }\r\n\r\n state = {\r\n idle: false,\r\n oldDate: +new Date(),\r\n lastActive: +new Date(),\r\n pageX: null,\r\n pageY: null,\r\n }\r\n\r\n componentDidMount() {\r\n if (!IS_BROWSER) return;\r\n\r\n DEFAULT_EVENTS.forEach((e) => {\r\n DEFAULT_ELEMENT.addEventListener(e, this.handleEvent, {\r\n capture: true,\r\n passive: true,\r\n });\r\n });\r\n\r\n this.reset();\r\n }\r\n\r\n componentWillUnmount() {\r\n clearTimeout(this.tId);\r\n if (!IS_BROWSER) return;\r\n DEFAULT_EVENTS.forEach((e) => {\r\n DEFAULT_ELEMENT.removeEventListener(e, this.handleEvent, {\r\n capture: true,\r\n passive: true,\r\n });\r\n });\r\n }\r\n\r\n toggleIdleState = (e) => {\r\n const { idle } = this.state;\r\n this.setState({\r\n idle: !idle,\r\n });\r\n\r\n const { onActive, onIdle } = this.props;\r\n if (idle) {\r\n onActive(e);\r\n } else {\r\n onIdle(e);\r\n }\r\n }\r\n\r\n handleEvent = (e) => {\r\n const { pageX, pageY } = this.state;\r\n\r\n // Mousemove event\r\n if (e.type === 'mousemove') {\r\n // If coord are same, it didn't move\r\n if (e.pageX === pageX && e.pageY === pageY) {\r\n return;\r\n }\r\n // If coord don't exist how could it move\r\n if (typeof e.pageX === 'undefined' && typeof e.pageY === 'undefined') {\r\n return;\r\n }\r\n // Under 200 ms is hard to do\r\n // continuous activity will bypass this\r\n const elapsed = this.getElapsedTime();\r\n if (elapsed < 200) {\r\n return;\r\n }\r\n }\r\n\r\n // Clear any existing timeout\r\n clearTimeout(this.tId);\r\n\r\n // If the idle timer is enabled, flip\r\n if (this.state.idle) {\r\n this.toggleIdleState(e);\r\n }\r\n\r\n // Store when the user was last active\r\n // and update the mouse coordinates\r\n this.setState({\r\n lastActive: +new Date(), // store when user was last active\r\n pageX: e.pageX, // update mouse coord\r\n pageY: e.pageY,\r\n });\r\n\r\n // Set a new timeout\r\n const { timeoutInMinutes } = this.props;\r\n this.tId = setTimeout(this.toggleIdleState, timeoutInMinutes * 60 * 1000); // set a new timeout\r\n }\r\n\r\n reset = () => {\r\n // Clear timeout\r\n clearTimeout(this.tId);\r\n\r\n // Reset state\r\n this.setState(prevState => ({\r\n idle: false,\r\n oldDate: +new Date(),\r\n lastActive: prevState.oldDate,\r\n }));\r\n\r\n // Set new timeout\r\n const { timeoutInMinutes } = this.props;\r\n this.tId = setTimeout(this.toggleIdleState, timeoutInMinutes * 60 * 1000); // set a new timeout\r\n }\r\n\r\n getRemainingTime = () => {\r\n const { idle, lastActive } = this.state;\r\n // If idle there is no time remaining\r\n if (idle) {\r\n return 0;\r\n }\r\n\r\n // Determine remaining, if negative idle didn't finish flipping, just return 0\r\n const { timeoutInMinutes } = this.props;\r\n let timeLeft = (timeoutInMinutes * 60 * 1000) - (+new Date() - lastActive);\r\n if (timeLeft < 0) {\r\n timeLeft = 0;\r\n }\r\n return timeLeft;\r\n }\r\n\r\n getElapsedTime = () => {\r\n const { oldDate } = this.state;\r\n return +new Date() - oldDate;\r\n }\r\n\r\n getLastActiveTime = () => {\r\n const { lastActive } = this.state;\r\n return lastActive;\r\n }\r\n\r\n isIdle = () => this.state.idle\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport classnames from 'classnames';\r\n\r\nimport { Typography } from '@material-ui/core';\r\n// import { placeHolderImage } from '../../common/image';\r\n\r\nconst styles = theme => ({\r\n error: {\r\n padding: theme.spacing(2),\r\n border: theme.borders.dim,\r\n background: theme.palette.grey[50],\r\n color: theme.palette.grey[500],\r\n wordBreak: 'break-word',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n overflow: 'hidden',\r\n },\r\n});\r\n\r\nclass Image extends React.Component {\r\n state = {\r\n fileNotFound: false,\r\n loaded: false,\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.src !== this.props.src) {\r\n // eslint-disable-next-line react/no-did-update-set-state\r\n this.setState({\r\n fileNotFound: false,\r\n loaded: false,\r\n });\r\n }\r\n }\r\n\r\n onImageNotFound = (e) => {\r\n e.target.onerror = null;\r\n // e.target.src = placeHolderImage;\r\n this.setState({ fileNotFound: true });\r\n }\r\n\r\n onImageLoaded = () => {\r\n this.setState({ loaded: true });\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translate, className, src, alt, hideOnNotFound,\r\n } = this.props;\r\n\r\n if (this.state.fileNotFound) {\r\n return hideOnNotFound ? null : (\r\n
\r\n \r\n {translate('common.fileNotFound')}\r\n \r\n {/* \r\n {`(${src})`}\r\n */}\r\n
\r\n );\r\n }\r\n\r\n const style = { opacity: this.state.loaded ? 1 : 0, transition: 'opacity 0.1s' };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nImage.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n src: PropTypes.string,\r\n alt: PropTypes.string,\r\n className: PropTypes.string,\r\n hideOnNotFound: PropTypes.bool,\r\n};\r\n\r\nImage.defaultProps = {\r\n src: '',\r\n alt: '',\r\n className: null,\r\n hideOnNotFound: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Image));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { withLocalize } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n IconButton,\r\n} from '@material-ui/core';\r\n\r\nimport flags from '../flags';\r\nimport Image from './Image';\r\n\r\nconst styles = () => ({\r\n root: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n opacity: '0.8',\r\n },\r\n flagIcon: {\r\n width: 20,\r\n },\r\n});\r\n\r\nconst LanguageToggle = ({\r\n languages, activeLanguage, setActiveLanguage, classes, className,\r\n}) => (\r\n
\r\n {languages.map(lang => (\r\n setActiveLanguage(lang.code)} disabled={activeLanguage && lang.code === activeLanguage.code}>\r\n {lang.name}\r\n \r\n ))}\r\n
\r\n);\r\n\r\nLanguageToggle.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n languages: PropTypes.array.isRequired,\r\n activeLanguage: PropTypes.object,\r\n setActiveLanguage: PropTypes.func.isRequired,\r\n className: PropTypes.string,\r\n};\r\n\r\nLanguageToggle.defaultProps = {\r\n activeLanguage: {},\r\n className: null,\r\n};\r\n\r\nexport default withLocalize(withStyles(styles)(LanguageToggle));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport classnames from 'classnames';\r\n\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport { Typography, CircularProgress, NoSsr } from '@material-ui/core';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n position: 'fixed',\r\n zIndex: 1500,\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n width: '100%',\r\n textAlign: 'center',\r\n backgroundColor: '#f0fbff82',\r\n color: '#05325a',\r\n },\r\n rootInline: {\r\n position: 'relative',\r\n width: '100%',\r\n minWidth: 100,\r\n height: '100%',\r\n minHeight: 100,\r\n textAlign: 'center',\r\n backgroundColor: '#f0fbff82',\r\n color: '#05325a',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n },\r\n progress: {\r\n color: '#05325a',\r\n },\r\n message: {\r\n marginTop: theme.spacing(1),\r\n },\r\n error: {\r\n marginTop: theme.spacing(1),\r\n },\r\n});\r\n\r\nclass Loading extends React.Component {\r\n state = {\r\n show: false,\r\n }\r\n\r\n componentDidMount() {\r\n this.timer = setTimeout(() => {\r\n this.setState({ show: true });\r\n }, 500);\r\n }\r\n\r\n componentWillUnmount() {\r\n clearTimeout(this.timer);\r\n }\r\n\r\n render() {\r\n const {\r\n classes, loadingMessage, loading, translate, className, inline,\r\n } = this.props;\r\n\r\n if (!loading || !this.state.show) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n {loadingMessage || translate('common.loading')}\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nLoading.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n loading: PropTypes.bool,\r\n loadingMessage: PropTypes.string,\r\n className: PropTypes.string,\r\n inline: PropTypes.bool,\r\n};\r\n\r\nLoading.defaultProps = {\r\n loading: false,\r\n loadingMessage: null,\r\n className: null,\r\n inline: false,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(Loading));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { withStyles } from '@material-ui/core/styles';\r\n\r\nimport { Typography } from '@material-ui/core';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n padding: theme.spacing(10),\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n text: {\r\n },\r\n});\r\n\r\nclass PageNotFound extends React.Component {\r\n render() {\r\n const {\r\n classes, translate,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n {translate('common.pageNotFound')}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nPageNotFound.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translate: PropTypes.func.isRequired,\r\n};\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\nexport default connect(mapStateToProps)(withStyles(styles)(PageNotFound));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass PollData extends React.Component {\r\n componentDidMount() {\r\n if (this.props.callImediately) {\r\n if (this.props.initialdataCall) {\r\n this.props.initialdataCall();\r\n } else {\r\n this.props.dataCall();\r\n }\r\n }\r\n\r\n this.pollState();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.pollState();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.clearTimeout();\r\n }\r\n\r\n clearTimeout = () => {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n\r\n pollState = () => {\r\n if (this.props.pollCondition && !this.timer) {\r\n this.timer = setTimeout(() => {\r\n this.clearTimeout();\r\n if (this.props.pollCondition) {\r\n this.props.dataCall();\r\n this.pollState();\r\n }\r\n }, this.props.pollingIntervalInMinutes * 60 * 1000);\r\n }\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nPollData.propTypes = {\r\n initialdataCall: PropTypes.func,\r\n dataCall: PropTypes.func.isRequired,\r\n pollCondition: PropTypes.bool,\r\n callImediately: PropTypes.bool,\r\n pollingIntervalInMinutes: PropTypes.number.isRequired,\r\n};\r\n\r\nPollData.defaultProps = {\r\n callImediately: true,\r\n initialdataCall: null,\r\n pollCondition: true,\r\n};\r\n\r\nexport default PollData;\r\n","import * as React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Auth from '../Auth';\r\nimport { logoutReasons } from '../constants';\r\n\r\nconst PrivateRoute = ({\r\n component: Component, loginUrl, roleLoginUrl, profileData, changeRole, ...rest\r\n}) => (\r\n {\r\n if (Auth.isUserAuthenticated()) { // `profileData` is included to trigger rerender on `/logoutrole`\r\n return roleLoginUrl && changeRole && profileData\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n );\r\n }\r\n return (\r\n \r\n );\r\n }}\r\n />\r\n);\r\n\r\nconst mapStateToProps = state => ({\r\n profileData: state.auth.profileData,\r\n changeRole: state.auth.logoutReason === logoutReasons.changeRole,\r\n});\r\n\r\n\r\nPrivateRoute.propTypes = {\r\n component: PropTypes.object.isRequired,\r\n location: PropTypes.object.isRequired,\r\n loginUrl: PropTypes.string.isRequired,\r\n roleLoginUrl: PropTypes.string,\r\n profileData: PropTypes.object,\r\n changeRole: PropTypes.bool,\r\n};\r\n\r\nPrivateRoute.defaultProps = {\r\n roleLoginUrl: null,\r\n profileData: null,\r\n changeRole: false,\r\n};\r\n\r\n\r\nexport default connect(mapStateToProps)(PrivateRoute);\r\n","import { useEffect, useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst ScrollToTop = ({ children, hardScroll }) => {\r\n const [locationKeys, setLocationKeys] = useState([]);\r\n const history = useHistory();\r\n\r\n useEffect(() => history.listen((loc) => {\r\n const scroll = () => {\r\n setTimeout(() => {\r\n const scrollEl = document.getElementById('scrollTop');\r\n if (scrollEl) {\r\n scrollEl.scrollIntoView({ behavior: hardScroll ? undefined : 'smooth' });\r\n } else {\r\n window.scrollTo({ top: 0, behavior: hardScroll ? undefined : 'smooth' }); // not supported by IE..\r\n }\r\n }, 0); // need timeout for iOs support\r\n };\r\n\r\n if (history.action === 'PUSH') {\r\n // Link event\r\n // console.log('link PUSH');\r\n scroll();\r\n setLocationKeys([loc.key]);\r\n } else if (history.action === 'REPLACE') {\r\n // Link event\r\n // console.log('link REPLACE');\r\n scroll();\r\n } else if (history.action === 'POP') {\r\n if (locationKeys[1] === loc.key) {\r\n // console.log('forward POP');\r\n // Forward event\r\n // eslint-disable-next-line no-unused-vars\r\n setLocationKeys(([_, ...keys]) => keys);\r\n } else {\r\n // console.log('backward POP');\r\n setLocationKeys(keys => [loc.key, ...keys]);\r\n // Back event\r\n }\r\n } else {\r\n // console.log('Unknown navigation', history.action);\r\n }\r\n }), [hardScroll, history, locationKeys]);\r\n\r\n return children;\r\n};\r\n\r\nScrollToTop.propTypes = {\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node,\r\n ]),\r\n hardScroll: PropTypes.bool,\r\n};\r\n\r\nScrollToTop.defaultProps = {\r\n children: null,\r\n hardScroll: false,\r\n};\r\n\r\nexport default ScrollToTop;\r\n","import React from 'react';\r\n\r\nexport const with1dArrowNavigation = Component => (props) => {\r\n let minX = Infinity;\r\n let maxX = -Infinity;\r\n const refs = {};\r\n\r\n const setRef = x => (ref) => {\r\n if (x < minX) minX = x;\r\n if (x > maxX) maxX = x;\r\n refs[x] = ref;\r\n };\r\n\r\n const [currentId, setCurrentId] = React.useState(minX);\r\n\r\n const handleArrowLeft = () => setCurrentId(x => Math.max(minX, x - 1));\r\n const handleArrowUp = () => setCurrentId(x => Math.min(maxX, x + 1));\r\n const handleArrowRight = () => setCurrentId(x => Math.min(maxX, x + 1));\r\n const handleArrowDown = () => setCurrentId(x => Math.max(minX, x - 1));\r\n\r\n const handleKeyDown = (event) => {\r\n if (event.ctrlKey || event.shiftKey || event.altKey || event.metaKey) {\r\n return undefined;\r\n }\r\n\r\n if (event.keyCode >= 37 && event.keyCode <= 40) {\r\n event.preventDefault();\r\n }\r\n\r\n switch (event.keyCode) {\r\n case 37: return handleArrowLeft();\r\n case 38: return handleArrowUp();\r\n case 39: return handleArrowRight();\r\n case 40: return handleArrowDown();\r\n default: return undefined;\r\n }\r\n };\r\n\r\n const handleMouseDown = x => () => setCurrentId(x);\r\n\r\n React.useEffect(() => {\r\n if (refs[currentId]) refs[currentId].focus();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentId]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const with2dArrowNavigation = Component => (props) => {\r\n let minX = Infinity;\r\n let maxX = -Infinity;\r\n let minY = Infinity;\r\n let maxY = -Infinity;\r\n const refs = {};\r\n\r\n const setRef = (y, x) => (ref) => {\r\n if (x < minX) minX = x;\r\n if (x > maxX) maxX = x;\r\n if (y < minY) minY = y;\r\n if (y > maxY) maxY = y;\r\n if (!refs[y]) refs[y] = {};\r\n refs[y][x] = ref;\r\n };\r\n\r\n const [currentId, setCurrentId] = React.useState([minX, minY]);\r\n\r\n const handleArrowLeft = () => setCurrentId(([y, x]) => [y, Math.max(minX, x - 1)]);\r\n const handleArrowUp = () => setCurrentId(([y, x]) => [Math.max(minY, y - 1), x]);\r\n const handleArrowRight = () => setCurrentId(([y, x]) => [y, Math.min(maxX, x + 1)]);\r\n const handleArrowDown = () => setCurrentId(([y, x]) => [Math.min(maxY, y + 1), x]);\r\n\r\n const handleKeyDown = (event) => {\r\n if (event.ctrlKey || event.shiftKey || event.altKey || event.metaKey) {\r\n return undefined;\r\n }\r\n\r\n if (event.keyCode >= 37 && event.keyCode <= 40) {\r\n event.preventDefault();\r\n }\r\n\r\n switch (event.keyCode) {\r\n case 37: return handleArrowLeft();\r\n case 38: return handleArrowUp();\r\n case 39: return handleArrowRight();\r\n case 40: return handleArrowDown();\r\n default: return undefined;\r\n }\r\n };\r\n\r\n const handleMouseDown = (y, x) => () => setCurrentId([y, x]);\r\n\r\n React.useEffect(() => {\r\n const [y, x] = currentId;\r\n const ref = refs[y]?.[x];\r\n if (ref) ref.focus();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentId]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default {\r\n with1dArrowNavigation,\r\n with2dArrowNavigation,\r\n};\r\n","export { default as ScrollToTop } from './ScrollToTop';\r\nexport { default as PrivateRoute } from './PrivateRoute';\r\nexport { default as LanguageToggle } from './LanguageToggle';\r\nexport { default as Loading } from './Loading';\r\nexport { default as ErrorMessage } from './ErrorMessage';\r\nexport { default as PageNotFound } from './PageNotFound';\r\nexport { default as IdleTimer } from './IdleTimer';\r\nexport { default as PollData } from './PollData';\r\nexport { default as DialogButton } from './DialogButton';\r\nexport { default as HtmlContent } from './HtmlContent';\r\nexport { default as DelayedFetch } from './DelayedFetch';\r\nexport { default as Image } from './Image';\r\nexport { default as FormLink } from './FormLink';\r\nexport { default as TaskContent } from './taskElements/TaskContent';\r\nexport { default as DevelopmentBanner } from './DevelopmentBanner';\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n FormControlLabel, FormGroup, Switch, makeStyles,\r\n} from '@material-ui/core';\r\n\r\nimport { hasValue, isEmpty } from '../../objectUtils';\r\nimport { formAnswerTypes } from '../../constants';\r\nimport HtmlContent from '../HtmlContent';\r\nimport TableResponse from './formResponseTypes/TableResponse';\r\nimport ScaleResponse from './formResponseTypes/ScaleResponse';\r\nimport FreetextResponse from './formResponseTypes/FreetextResponse';\r\nimport SingleChoice from './formResponseTypes/SingleChoice';\r\nimport MultipleChoice from './formResponseTypes/MultipleChoice';\r\nimport ActionButton from './formResponseTypes/ActionButton';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n '&+&': {\r\n marginTop: theme.spacing(5),\r\n },\r\n },\r\n questionText: {\r\n marginBottom: theme.spacing(1),\r\n fontSize: theme.typography.body1.fontSize,\r\n\r\n '&:empty': {\r\n marginBottom: 0,\r\n },\r\n },\r\n required: {\r\n border: `1px solid ${theme.palette.error.main}`,\r\n padding: theme.spacing(1),\r\n },\r\n switchResponse: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport const hasValueForQuestionType = (questionType, response) => {\r\n if (questionType === formAnswerTypes.action) {\r\n return true;\r\n }\r\n if (!response || isEmpty(response)) {\r\n return false;\r\n }\r\n switch (questionType) {\r\n case formAnswerTypes.freetext:\r\n return hasValue(response.freetextResponse);\r\n case formAnswerTypes.singleChoice:\r\n case formAnswerTypes.multipleChoice:\r\n return hasValue(response.choiceResponse);\r\n case formAnswerTypes.scale:\r\n return hasValue(response.scaleResponse);\r\n case formAnswerTypes.table:\r\n return hasValue(response.tableResponses);\r\n default:\r\n return true;\r\n }\r\n};\r\n\r\nconst FormQuestion = ({\r\n response, handleResponseUpdate, showScores, translations, question, showRequired, disabled, contentState, ScaleResponseProps, readOnly, elementSettings,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const handleValueChange = name => (value) => {\r\n handleResponseUpdate(name, value);\r\n };\r\n\r\n const handleClickResponse = (name, value) => () => {\r\n if (readOnly) return;\r\n handleResponseUpdate(name, value);\r\n };\r\n\r\n if (question === null) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {question.type !== formAnswerTypes.action && question.type !== formAnswerTypes.switch && (\r\n \r\n )}\r\n\r\n {question.type === formAnswerTypes.freetext && (\r\n \r\n )}\r\n\r\n {(question.type === formAnswerTypes.singleChoice || question.type === 'ActionChoice') && ( // ActionChoice is obsolete..\r\n \r\n )}\r\n\r\n {question.type === formAnswerTypes.multipleChoice && (\r\n \r\n )}\r\n\r\n {(question.type === formAnswerTypes.scale || question.type === 'ActionScale') && ( // ActionScale is obsolete..\r\n \r\n )}\r\n\r\n {question.type === formAnswerTypes.table && (\r\n \r\n )}\r\n\r\n {question.type === formAnswerTypes.action && (\r\n \r\n )}\r\n\r\n {question.type === formAnswerTypes.switch && (\r\n
\r\n \r\n \r\n )}\r\n label={}\r\n />\r\n \r\n
\r\n )}\r\n\r\n
\r\n );\r\n};\r\n\r\nFormQuestion.propTypes = {\r\n translations: PropTypes.object,\r\n handleResponseUpdate: PropTypes.func.isRequired,\r\n question: PropTypes.object.isRequired,\r\n response: PropTypes.object,\r\n showRequired: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n contentState: PropTypes.string,\r\n ScaleResponseProps: PropTypes.object,\r\n showScores: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n elementSettings: PropTypes.object,\r\n};\r\n\r\nFormQuestion.defaultProps = {\r\n response: null,\r\n showRequired: false,\r\n disabled: false,\r\n contentState: null,\r\n translations: null,\r\n ScaleResponseProps: null,\r\n showScores: false,\r\n readOnly: false,\r\n elementSettings: null,\r\n};\r\n\r\nexport default FormQuestion;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { Typography, withStyles } from '@material-ui/core';\r\nimport { hasValueForQuestionType } from './FormQuestion';\r\nimport { getElementConditionState } from '../../elementStateUtils';\r\nimport { elementConditionStates } from '../../constants';\r\n\r\nconst styles = theme => ({\r\n validationText: {\r\n marginTop: theme.spacing(4),\r\n textAlign: 'center',\r\n width: '100%',\r\n outline: 'none',\r\n },\r\n});\r\n\r\nclass FormValidation extends React.Component {\r\n state = {\r\n missingRequiredQuestions: false,\r\n }\r\n\r\n validationErrorRef = React.createRef()\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n // Focus on validation error when appearing\r\n if (!prevState.missingRequiredQuestions && this.state.missingRequiredQuestions) {\r\n if (this.validationErrorRef.current) this.validationErrorRef.current.focus();\r\n }\r\n }\r\n\r\n validate = () => {\r\n const {\r\n task, responses, getProgramItem, getSpecificTaskResponses,\r\n } = this.props;\r\n\r\n if (!task.contentElements?.length) {\r\n return true;\r\n }\r\n const missingRequiredQuestions = task.contentElements.map((e) => {\r\n const contentState = getElementConditionState(e, getSpecificTaskResponses, task, getProgramItem);\r\n if (contentState === elementConditionStates.hidden) {\r\n return false;\r\n }\r\n return e.questions?.reduce((prev, curr) => prev\r\n || (curr.required && (!responses || !hasValueForQuestionType(curr.type, responses[curr.id]?.response))),\r\n false\r\n );\r\n }).some(d => d);\r\n\r\n this.setState({ missingRequiredQuestions });\r\n return !missingRequiredQuestions;\r\n }\r\n\r\n render() {\r\n const {\r\n classes, task, translations, showValidations,\r\n } = this.props;\r\n\r\n if (!task) {\r\n return null;\r\n }\r\n\r\n if (!this.state.missingRequiredQuestions || !showValidations) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {translations?.answerAllRequiredQuestions || '*'}\r\n \r\n );\r\n }\r\n}\r\n\r\nFormValidation.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n task: PropTypes.object.isRequired,\r\n translations: PropTypes.object,\r\n showValidations: PropTypes.bool,\r\n responses: PropTypes.object,\r\n getProgramItem: PropTypes.func.isRequired,\r\n getSpecificTaskResponses: PropTypes.func.isRequired,\r\n};\r\n\r\nFormValidation.defaultProps = {\r\n translations: null,\r\n showValidations: false,\r\n responses: null,\r\n};\r\n\r\nexport default withStyles(styles)(FormValidation);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { Typography, withStyles } from '@material-ui/core';\r\nimport { updateAllOthersAreHiddenProperties } from '../../elementStateUtils';\r\nimport TaskElement from './TaskElement';\r\nimport FormValidation from './FormValidation';\r\n\r\nconst styles = theme => ({\r\n validationText: {\r\n marginTop: theme.spacing(4),\r\n textAlign: 'center',\r\n width: '100%',\r\n outline: 'none',\r\n },\r\n});\r\n\r\nclass TaskContent extends React.Component {\r\n state = {\r\n showValidationErrors: false,\r\n }\r\n\r\n validationRef = React.createRef()\r\n\r\n validate = () => {\r\n this.setState({ showValidationErrors: true });\r\n return this.validationRef.current.validate();\r\n }\r\n\r\n validateAndSave = (callback) => {\r\n if (this.validate()) {\r\n this.props.onSaveChanges(callback);\r\n }\r\n }\r\n\r\n saveWithoutValidation = (callback) => {\r\n this.props.onSaveChanges(callback);\r\n }\r\n\r\n render() {\r\n const {\r\n className, classes, task, taskResponses, noContent, TaskFormProps, LinkElementProps, showTitle, getProgramItem, getSpecificTaskResponses, translations, onResponse, TaskElementProps,\r\n } = this.props;\r\n\r\n if (!task) {\r\n return null;\r\n }\r\n\r\n const taskElements = task.contentElements || [];\r\n updateAllOthersAreHiddenProperties(task, getSpecificTaskResponses, getProgramItem);\r\n\r\n return (\r\n
\r\n {showTitle && (\r\n \r\n {task.name}\r\n \r\n )}\r\n\r\n {taskElements.length === 0\r\n ? noContent\r\n : taskElements.map((item, index) => (\r\n \r\n ))}\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nTaskContent.propTypes = {\r\n className: PropTypes.string,\r\n classes: PropTypes.object.isRequired,\r\n task: PropTypes.object,\r\n TaskFormProps: PropTypes.object,\r\n LinkElementProps: PropTypes.object,\r\n noContent: PropTypes.node,\r\n taskResponses: PropTypes.object,\r\n showTitle: PropTypes.bool,\r\n elementPreContent: PropTypes.func,\r\n getProgramItem: PropTypes.func.isRequired,\r\n getSpecificTaskResponses: PropTypes.func.isRequired,\r\n translations: PropTypes.object,\r\n onResponse: PropTypes.func.isRequired,\r\n onSaveChanges: PropTypes.func.isRequired,\r\n TaskElementProps: PropTypes.object,\r\n};\r\n\r\nTaskContent.defaultProps = {\r\n className: null,\r\n noContent: null,\r\n taskResponses: null,\r\n TaskFormProps: null,\r\n LinkElementProps: null,\r\n showTitle: false,\r\n elementPreContent: null,\r\n task: null,\r\n translations: null,\r\n TaskElementProps: null,\r\n};\r\n\r\nexport default withStyles(styles)(TaskContent);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n Typography,\r\n} from '@material-ui/core';\r\n\r\nimport HtmlContent from '../HtmlContent';\r\nimport {\r\n elementConditionStates, contentElemenIdPrefix, systemContentElementTypes,\r\n} from '../../constants';\r\n\r\nimport TaskForm from './TaskForm';\r\nimport TaskElementLink from './TaskElementLink';\r\nimport { getElementConditionState } from '../../elementStateUtils';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n position: 'relative',\r\n clear: 'both', // needed in case of 'float: left' from htmlcontent (image-alignment)\r\n width: '100%', // needed to allow sub-elements to overflow individualy (ex. table)\r\n flex: '0 0 100%', // Parent is Flex + Wrap but normal items should fill width\r\n\r\n '&+&': {\r\n marginTop: theme.spacing(8),\r\n },\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n wordBreak: 'break-word', // to avoid width overflow on small screens. (using overflow: hidden will break sticky headers)\r\n\r\n '&+&': {\r\n marginBottom: theme.spacing(6),\r\n },\r\n },\r\n\r\n '&$selected': {\r\n border: `2px solid ${theme.palette.primary.main}`,\r\n padding: theme.spacing(1),\r\n },\r\n\r\n [`&.et_${systemContentElementTypes.box}`]: {\r\n background: theme.colors.highlightBackground,\r\n boxShadow: theme.shadows[3],\r\n borderRadius: theme.spacing(0.5),\r\n padding: theme.spacing(2),\r\n alignSelf: 'flex-start',\r\n\r\n '&$collapsed $htmlContent': {\r\n '&:before': {\r\n background: `linear-gradient(transparent 120px, ${theme.colors.dimBackground})`,\r\n },\r\n },\r\n },\r\n\r\n [`&.et_${systemContentElementTypes.card}`]: {\r\n flex: '0 0 auto',\r\n width: '31%', // Does not work properly on all screens with just flex-basis 31%\r\n padding: theme.spacing(1),\r\n background: theme.colors.dimBackground,\r\n borderRadius: theme.spacing(0.5),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n flex: '0 0 100%',\r\n },\r\n },\r\n },\r\n hoveredElement: {\r\n visibility: 'hidden',\r\n '$root:hover &': {\r\n visibility: 'visible',\r\n },\r\n },\r\n header: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(2),\r\n },\r\n title: {\r\n fontSize: '1.25em',\r\n flex: '1 1 auto',\r\n },\r\n content: {\r\n '&+&': {\r\n marginTop: theme.spacing(4),\r\n '$collapsed &': {\r\n marginTop: 0,\r\n },\r\n },\r\n '&:empty': {\r\n display: 'none',\r\n },\r\n },\r\n htmlContent: {\r\n '$collapsed &': {\r\n maxHeight: 200,\r\n overflow: 'hidden',\r\n position: 'relative',\r\n\r\n '&:before': {\r\n content: '\"\"',\r\n width: '100%',\r\n height: '100%',\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n background: 'linear-gradient(transparent 120px, white)',\r\n },\r\n },\r\n },\r\n linkContent: {\r\n },\r\n taskForm: {\r\n },\r\n collapsed: {\r\n },\r\n expanded: {\r\n },\r\n accepted: {\r\n },\r\n rejected: {\r\n },\r\n selected: {\r\n },\r\n});\r\n\r\nexport const getStylesFromSettings = settings => Object.keys(settings || {}).reduce((prev, curr) => (\r\n curr.startsWith('style.') ? {\r\n ...prev,\r\n [curr.substring(6)]: settings[curr],\r\n } : prev), {});\r\n\r\nclass TaskElement extends React.Component {\r\n scrolled = false;\r\n\r\n componentDidMount() {\r\n this.checkScroll();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.checkScroll();\r\n }\r\n\r\n checkScroll = () => {\r\n if (window?.location?.hash && this.props.element) {\r\n if (`${this.props.element.id}` === window.location.hash.substring(1)) {\r\n const el = document.getElementById(`${contentElemenIdPrefix}${window.location.hash.substring(1)}`);\r\n if (el) {\r\n this.scrolled = true;\r\n setTimeout(() => {\r\n el.scrollIntoView();\r\n // el.scrollIntoView({ behavior: 'smooth' });\r\n }, 200);\r\n }\r\n }\r\n }\r\n }\r\n\r\n getLinkedElementReference = (settings) => {\r\n if (!settings?.linkedElementTaskId) {\r\n return null;\r\n }\r\n\r\n const refTask = this.props.getProgramItem(settings.linkedElementTaskId);\r\n const refElement = refTask.contentElements?.find(e => e.id === Number(settings.linkedElementElementId));\r\n const refTaskResponses = this.props.getSpecificTaskResponses(settings.linkedElementTaskId);\r\n\r\n return {\r\n element: refElement,\r\n taskResponses: refTaskResponses,\r\n };\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translations, task, taskResponses, element, TaskFormProps, customElementHandler, getSpecificTaskResponses, showValidationErrors, className,\r\n onResponse, LinkElementProps, getProgramItem, noHiddenStates, HoveredElement, selectedElementId, addNoContextForImages, elementPreContent, elementIndex,\r\n } = this.props;\r\n\r\n const contentState = getElementConditionState(element, getSpecificTaskResponses, task, getProgramItem);\r\n const customHandled = customElementHandler && customElementHandler(element, contentState);\r\n const linkedElementReference = this.getLinkedElementReference(element.settings);\r\n\r\n if (customHandled) {\r\n return customHandled;\r\n }\r\n\r\n if (contentState === elementConditionStates.hidden && !noHiddenStates) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n elementPreContent && elementPreContent(element, elementIndex)\r\n }\r\n \r\n {HoveredElement && (\r\n \r\n )}\r\n\r\n {element.title && (\r\n
\r\n \r\n {element.title}\r\n \r\n
\r\n )}\r\n\r\n {linkedElementReference && (\r\n
\r\n {}}\r\n translations={translations}\r\n getProgramItem={getProgramItem}\r\n getSpecificTaskResponses={getSpecificTaskResponses}\r\n taskId={task.id}\r\n readOnly\r\n />\r\n
\r\n )}\r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nTaskElement.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translations: PropTypes.object,\r\n element: PropTypes.object.isRequired,\r\n task: PropTypes.object.isRequired,\r\n TaskFormProps: PropTypes.object,\r\n customElementHandler: PropTypes.func,\r\n onResponse: PropTypes.func.isRequired,\r\n LinkElementProps: PropTypes.object,\r\n taskResponses: PropTypes.object,\r\n getProgramItem: PropTypes.func.isRequired,\r\n getSpecificTaskResponses: PropTypes.func.isRequired,\r\n noHiddenStates: PropTypes.bool,\r\n HoveredElement: PropTypes.object,\r\n selectedElementId: PropTypes.number,\r\n addNoContextForImages: PropTypes.bool,\r\n elementIndex: PropTypes.number.isRequired,\r\n elementPreContent: PropTypes.func,\r\n showValidationErrors: PropTypes.bool,\r\n className: PropTypes.string,\r\n};\r\n\r\nTaskElement.defaultProps = {\r\n TaskFormProps: null,\r\n customElementHandler: null,\r\n LinkElementProps: null,\r\n translations: null,\r\n taskResponses: null,\r\n noHiddenStates: false,\r\n HoveredElement: null,\r\n selectedElementId: null,\r\n addNoContextForImages: false,\r\n elementPreContent: null,\r\n showValidationErrors: false,\r\n className: null,\r\n};\r\n\r\n\r\nexport default withStyles(styles)(TaskElement);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport classnames from 'classnames';\r\n\r\nimport { Link } from 'react-router-dom';\r\nimport OpenInNewWindowIcon from '@material-ui/icons/OpenInNew';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport { linkTypes } from '../../constants';\r\nimport apiUrls from '../../apiUrls';\r\nimport Image from '../Image';\r\n\r\nconst styles = theme => ({\r\n image: {\r\n width: '100%',\r\n },\r\n audio: {\r\n width: '100%',\r\n },\r\n link: {\r\n display: 'inline',\r\n borderBottom: `1px solid ${theme.palette.grey[200]}`,\r\n },\r\n fileLink: {\r\n },\r\n internalLink: {\r\n },\r\n externalLink: {\r\n\r\n },\r\n icon: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n missingContent: {\r\n background: theme.palette.grey[100],\r\n padding: theme.spacing(2),\r\n },\r\n});\r\n\r\nconst getVideoFrameUrl = url => `${apiUrls.baseUrl}/${apiUrls.media.video}/${url}?referer=${window.location.origin}`;\r\n\r\nclass TaskElementLink extends React.Component {\r\n state = {\r\n paddingBottom: null,\r\n };\r\n\r\n componentDidMount() {\r\n window.addEventListener('message', this.handlePostMessage);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('message', this.handlePostMessage);\r\n }\r\n\r\n handlePostMessage = (event) => {\r\n if (event.origin === apiUrls.baseUrl && event.data?.source === 'yw@videoPlayer') {\r\n const aspectRatio = event.data.height / event.data.width;\r\n if (aspectRatio > 0) {\r\n this.setState({ paddingBottom: `${aspectRatio * 100}%` });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n classes, translations, link, className, getLinkUrl,\r\n } = this.props;\r\n\r\n if (!link || !link.url) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {getLinkUrl && (link.linkType === linkTypes.task || link.linkType === linkTypes.module || link.linkType === linkTypes.internal) && (\r\n \r\n \r\n {link.name }\r\n \r\n \r\n )}\r\n\r\n {link.linkType === linkTypes.image && (\r\n \r\n )}\r\n\r\n {link.linkType === linkTypes.audio && (\r\n \r\n )}\r\n\r\n {link.linkType === linkTypes.file && (\r\n \r\n \r\n {link.name || (translations && translations.openFile)}\r\n \r\n \r\n )}\r\n\r\n {link.linkType === linkTypes.url && (\r\n \r\n \r\n {link.name || (translations && translations.openLinkInNewWindow) }\r\n \r\n \r\n \r\n )}\r\n\r\n {link.linkType === linkTypes.video && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {link.linkType === linkTypes.vimeo && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {link.linkType === linkTypes.youtube && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nTaskElementLink.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translations: PropTypes.object,\r\n link: PropTypes.object,\r\n className: PropTypes.string,\r\n getLinkUrl: PropTypes.func,\r\n};\r\n\r\nTaskElementLink.defaultProps = {\r\n link: null,\r\n className: null,\r\n translations: null,\r\n getLinkUrl: null,\r\n};\r\n\r\nexport default withStyles(styles)(TaskElementLink);\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport FormQuestion from './FormQuestion';\r\nimport { systemContentElementTypes } from '../../constants';\r\nimport QuestionnaireTable from './customTypes/QuestionnaireTable';\r\nimport BullsEyeQuestions from './customTypes/BullsEyeQuestions';\r\nimport BubbleChoiceQuestions from './customTypes/BubbleChoiceQuestions';\r\nimport QuizResponse from './customTypes/QuizResponse';\r\nimport RouteSelection from './customTypes/RouteSelection';\r\n\r\nclass TaskForm extends React.Component {\r\n handleResponseUpdate = question => (responseName, value) => {\r\n if (this.props.readOnly) {\r\n return;\r\n }\r\n\r\n this.props.onResponse([{ questionId: question.id, [responseName]: value }]);\r\n }\r\n\r\n render() {\r\n const {\r\n translations, element, disabled, readOnly,\r\n FormQuestionProps, QuestionnaireTableProps, contentState, showValidationErrors,\r\n taskResponses, getProgramItem, getSpecificTaskResponses, taskId, small,\r\n } = this.props;\r\n\r\n const questions = element.questions || [];\r\n const responses = taskResponses || {};\r\n const elementSettings = element.settings || {};\r\n\r\n switch (element.elementType) {\r\n case systemContentElementTypes.bullseye:\r\n return (\r\n \r\n );\r\n case systemContentElementTypes.questionnaire:\r\n return (\r\n \r\n );\r\n case systemContentElementTypes.bubbleChoice:\r\n return questions.map(q => (\r\n \r\n ));\r\n case systemContentElementTypes.quizResponse:\r\n return (\r\n \r\n );\r\n case systemContentElementTypes.routeSelection:\r\n return (\r\n \r\n );\r\n default:\r\n return questions.map(q => (\r\n \r\n ));\r\n }\r\n }\r\n}\r\n\r\nTaskForm.propTypes = {\r\n translations: PropTypes.object,\r\n element: PropTypes.object.isRequired,\r\n onResponse: PropTypes.func.isRequired,\r\n getProgramItem: PropTypes.func.isRequired,\r\n getSpecificTaskResponses: PropTypes.func.isRequired,\r\n FormQuestionProps: PropTypes.object,\r\n QuestionnaireTableProps: PropTypes.object,\r\n taskResponses: PropTypes.object,\r\n disabled: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n contentState: PropTypes.string,\r\n taskId: PropTypes.string.isRequired,\r\n showValidationErrors: PropTypes.bool,\r\n small: PropTypes.bool,\r\n};\r\n\r\nTaskForm.defaultProps = {\r\n FormQuestionProps: {},\r\n QuestionnaireTableProps: {},\r\n taskResponses: null,\r\n disabled: false,\r\n contentState: null,\r\n translations: null,\r\n readOnly: false,\r\n showValidationErrors: false,\r\n small: false,\r\n};\r\n\r\nexport default TaskForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Button, createStyles } from '@material-ui/core';\r\nimport classnames from 'classnames';\r\n\r\nconst useStyles = makeStyles(theme => createStyles({\r\n buttonStyle: {\r\n borderRadius: '50%',\r\n margin: theme.spacing(1),\r\n width: 'calc(33% - 16px)',\r\n minHeight: 150,\r\n fontWeight: 500,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: 'calc(50% - 16px)',\r\n },\r\n },\r\n\r\n longText: {\r\n fontSize: '0.8rem',\r\n },\r\n}));\r\n\r\n\r\nconst BubbleChoiceQuestions = ({\r\n question, response, handleResponseUpdate,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const onBubbleClick = (answer, isChecked) => () => {\r\n const responses = (response?.choiceResponse || []).filter(d => d.id !== answer.id);\r\n handleResponseUpdate('choiceResponse', isChecked ? responses : [...responses, answer]);\r\n };\r\n\r\n const checkedResponses = response?.choiceResponse?.reduce((prev, curr) => (\r\n { ...prev, [curr.id]: curr.value }\r\n ), {}) || {};\r\n\r\n return (\r\n
\r\n {question.answers?.map(item => (\r\n 45 })}\r\n variant=\"contained\"\r\n color={checkedResponses[item.id] ? 'primary' : 'default'}\r\n onClick={onBubbleClick(item, checkedResponses[item.id])}\r\n key={item.id}\r\n >\r\n {item.value}\r\n \r\n ))}\r\n
\r\n );\r\n};\r\n\r\nBubbleChoiceQuestions.propTypes = {\r\n question: PropTypes.object.isRequired,\r\n response: PropTypes.object,\r\n handleResponseUpdate: PropTypes.func.isRequired,\r\n};\r\n\r\nBubbleChoiceQuestions.defaultProps = {\r\n response: null,\r\n};\r\n\r\nexport default BubbleChoiceQuestions;\r\n","import { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, createStyles, useMediaQuery } from '@material-ui/core';\r\nimport classnames from 'classnames';\r\nimport HtmlContent from '../../HtmlContent';\r\n\r\nconst useStyles = makeStyles(theme => createStyles({\r\n root: {\r\n position: 'relative',\r\n background: theme.palette.grey[100],\r\n },\r\n bullsEyeContainer: {\r\n display: 'flex',\r\n height: 550,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n margin: theme.spacing(1),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n height: 360,\r\n },\r\n\r\n '&$small': {\r\n height: 360,\r\n },\r\n },\r\n small: {},\r\n readOnly: {},\r\n bullsEye: {\r\n position: 'relative',\r\n padding: 0,\r\n width: 500,\r\n height: 500,\r\n borderRadius: '50%',\r\n cursor: 'crosshair',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: 300,\r\n height: 300,\r\n },\r\n\r\n '$small &': {\r\n width: 272,\r\n height: 272,\r\n },\r\n\r\n '$readOnly &': {\r\n cursor: 'default',\r\n },\r\n },\r\n questionLabel: {\r\n position: 'absolute',\r\n zIndex: 2,\r\n color: 'black',\r\n wordBreak: 'break-word',\r\n },\r\n scoreCircle: {\r\n position: 'absolute',\r\n background: theme.palette.grey[200],\r\n border: theme.borders.primary,\r\n borderRadius: '50%',\r\n },\r\n line: {\r\n position: 'absolute',\r\n background: 'black',\r\n border: '1px solid black',\r\n height: '50%',\r\n },\r\n scorePoint: {\r\n height: 25,\r\n width: 25,\r\n backgroundColor: 'black',\r\n borderRadius: '50%',\r\n transform: 'translate(-50%, 50%)',\r\n position: 'absolute',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: 16,\r\n height: 16,\r\n },\r\n\r\n '$small &': {\r\n width: 16,\r\n height: 16,\r\n },\r\n },\r\n}), { name: 'BullsEyeQuestion' });\r\n\r\nconst calculateScore = (xPos, yPos, width, numberOfCircles) => {\r\n const circleSize = (100 / numberOfCircles) / 100;\r\n const diagonalFromSenter = Math.sqrt((xPos ** 2) + (yPos ** 2));\r\n const radius = width / 2;\r\n let i;\r\n for (i = 0; i < numberOfCircles; i++) {\r\n const circleScoreWidth = circleSize * (i + 1);\r\n if (diagonalFromSenter <= circleScoreWidth * radius) {\r\n return numberOfCircles - i;\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nconst questionSeparatorLineTopPositions = ['25%', '50%', '0%', '25%'];\r\nconst questionSeparatorLineLeftPositions = ['25%', '50%', '50%', '75%'];\r\nconst questionSeparatorLineTransform = ['rotate(90deg)', 'rotate(0deg)', 'rotate(0deg)', 'rotate(90deg)'];\r\n\r\nconst createLines = questions => questions.map((q, index) => ({\r\n style: {\r\n top: questionSeparatorLineTopPositions[index],\r\n left: questionSeparatorLineLeftPositions[index],\r\n transform: questionSeparatorLineTransform[index],\r\n },\r\n key: q.id,\r\n}));\r\n\r\nconst createCircles = (numberOfCircles) => {\r\n const circles = [];\r\n const circleSize = 100 / numberOfCircles;\r\n let number = numberOfCircles;\r\n let i;\r\n for (i = 0; i < numberOfCircles; i++) {\r\n circles.push({\r\n style: {\r\n width: `${number * circleSize}%`,\r\n height: `${number * circleSize}%`,\r\n },\r\n key: i,\r\n });\r\n number -= 1;\r\n }\r\n return circles;\r\n};\r\n\r\nconst labelPositionOffset = 24;\r\nconst labelPositionOffsetSmall = 12;\r\n\r\nconst getQuestionLabelPositionStyle = offset => ({\r\n 0: { top: offset, right: offset },\r\n 1: { top: offset, left: offset },\r\n 2: { bottom: offset, left: offset },\r\n 3: { bottom: offset, right: offset },\r\n});\r\n\r\nconst getQuadrantPosition = (mouseClickX, mouseClickY, circleDiameter) => {\r\n const center = circleDiameter / 2;\r\n\r\n let index; let fromPosX; let fromPosY;\r\n if (mouseClickX > center && mouseClickY < center) {\r\n index = 0;\r\n fromPosX = mouseClickX - center;\r\n fromPosY = center - mouseClickY;\r\n } else if (mouseClickX < center && mouseClickY < center) {\r\n index = 1;\r\n fromPosX = center - mouseClickX;\r\n fromPosY = center - mouseClickY;\r\n } else if (mouseClickX < center && mouseClickY > center) {\r\n index = 2;\r\n fromPosX = center - mouseClickX;\r\n fromPosY = mouseClickY - center;\r\n } else if (mouseClickX > center && mouseClickY > center) {\r\n index = 3;\r\n fromPosX = mouseClickX - center;\r\n fromPosY = mouseClickY - center;\r\n }\r\n return { index, fromPosX, fromPosY };\r\n};\r\n\r\nconst BullsEyeQuestions = ({\r\n questions, handleResponseUpdate, responses, readOnly, small,\r\n}) => {\r\n const classes = useStyles();\r\n const [pointPositions, setPointPositions] = useState({});\r\n\r\n const theme = useTheme();\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'));\r\n const useSmallLayout = small || isMobile;\r\n\r\n if (questions?.length !== 4) return null;\r\n\r\n const numberOfCircles = questions[0].scaleConfig.max;\r\n\r\n const onSetPoint = (event) => {\r\n if (readOnly) return;\r\n\r\n const currentTargetRect = event.currentTarget.getBoundingClientRect();\r\n const circleDiameter = event.currentTarget.clientHeight;\r\n const mouseClickX = parseFloat(event.pageX - window.pageXOffset - currentTargetRect.left);\r\n const mouseClickY = parseFloat(event.pageY - window.pageYOffset - currentTargetRect.top);\r\n\r\n const quadrantPosition = getQuadrantPosition(mouseClickX, mouseClickY, circleDiameter);\r\n const score = calculateScore(quadrantPosition.fromPosX, quadrantPosition.fromPosY, circleDiameter, numberOfCircles);\r\n const question = questions[quadrantPosition.index];\r\n\r\n setPointPositions(prevState => ({\r\n ...prevState,\r\n [question.id]: {\r\n left: (mouseClickX / circleDiameter) * 100,\r\n bottom: ((circleDiameter - mouseClickY) / circleDiameter) * 100,\r\n },\r\n }));\r\n\r\n handleResponseUpdate(question)('scaleResponse', score);\r\n };\r\n\r\n const getPointPosition = (questionResponse) => {\r\n const scaleResponse = questionResponse.response.scaleResponse;\r\n if (!scaleResponse) {\r\n return null;\r\n }\r\n\r\n // if presice position exists, use this\r\n if (pointPositions[questionResponse.questionId]) {\r\n return {\r\n left: `${pointPositions[questionResponse.questionId].left}%`,\r\n bottom: `${pointPositions[questionResponse.questionId].bottom}%`,\r\n };\r\n }\r\n\r\n // Otherwise calculate center position for score\r\n const circleRadius = numberOfCircles;\r\n const circleDiameter = circleRadius * 2;\r\n const pointRadius = numberOfCircles - scaleResponse + 0.5; // half way between lines -> scaleResponse should be minimum 1 (not 0)\r\n\r\n const questionIndex = questions.findIndex(d => d.id === questionResponse.questionId);\r\n const angleInDegrees = 45 - (questionIndex * 90);\r\n const xPos = pointRadius * Math.sin(angleInDegrees * Math.PI / 180) + circleRadius;\r\n const yPos = pointRadius * Math.cos(angleInDegrees * Math.PI / 180) + circleRadius;\r\n\r\n return {\r\n left: `${(xPos / circleDiameter) * 100}%`,\r\n bottom: `${(yPos / circleDiameter) * 100}%`,\r\n };\r\n };\r\n\r\n const circles = createCircles(numberOfCircles);\r\n const lines = createLines(questions);\r\n const questionResponses = questions.map(q => ({ questionId: q.id, response: responses[q.id]?.response }))\r\n .filter(d => d.response);\r\n\r\n return (\r\n
\r\n {questions.map((question, i) => (\r\n \r\n ))}\r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nBullsEyeQuestions.propTypes = {\r\n questions: PropTypes.array.isRequired,\r\n handleResponseUpdate: PropTypes.func.isRequired,\r\n responses: PropTypes.object,\r\n readOnly: PropTypes.bool,\r\n small: PropTypes.bool,\r\n};\r\n\r\nBullsEyeQuestions.defaultProps = {\r\n responses: null,\r\n readOnly: false,\r\n small: false,\r\n};\r\n\r\nexport default BullsEyeQuestions;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n Typography, Table, TableHead, TableRow, TableCell, TableBody, ButtonBase, TextField,\r\n} from '@material-ui/core';\r\n\r\nimport HtmlContent from '../../HtmlContent';\r\nimport { CheckedIcon } from '../../../../common/icons';\r\nimport { isEmpty } from '../../../objectUtils';\r\nimport { isEdge } from '../../../browserUtils';\r\nimport { with2dArrowNavigation } from '../../accessibility/ArrowNavigation';\r\nimport { formAnswerTypes } from '../../../constants';\r\nimport { getInputType } from '../formResponseTypes/FreetextResponse';\r\n\r\nconst cellWidth = 40;\r\nconst cellWidthSmall = 30;\r\nconst maxContentWidth = 1080;\r\n\r\nconst styles = theme => ({\r\n table: {\r\n width: '100%',\r\n height: '100%',\r\n border: `1px solid ${theme.palette.grey[100]}`,\r\n background: theme.palette.common.white,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n tableLayout: 'fixed',\r\n },\r\n },\r\n stickyHeaderCell: {\r\n position: 'sticky',\r\n top: 49,\r\n background: theme.palette.common.white,\r\n boxShadow: `0 2px 2px -2px ${theme.palette.grey[600]}`,\r\n zIndex: 50,\r\n },\r\n headerCell: {\r\n border: `1px solid ${theme.palette.grey[200]}`,\r\n borderBottom: '1px solid #e0e0e0',\r\n padding: theme.spacing(1),\r\n textAlign: 'center',\r\n\r\n '$rotate &': {\r\n verticalAlign: 'bottom',\r\n width: cellWidth,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1, 0),\r\n width: cellWidthSmall,\r\n },\r\n },\r\n\r\n },\r\n answerTextCell: {\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1, 0.5),\r\n },\r\n overflowWrap: 'anywhere',\r\n },\r\n answerCell: {\r\n border: `1px solid ${theme.palette.grey[200]}`,\r\n borderBottom: '1px solid #e0e0e0',\r\n padding: theme.spacing(0.5),\r\n textAlign: 'center',\r\n height: '100%',\r\n\r\n '$rotate &': {\r\n width: cellWidth,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n padding: 1,\r\n width: cellWidthSmall,\r\n },\r\n },\r\n },\r\n scoreCell: {\r\n background: theme.palette.grey[300],\r\n },\r\n invalidRow: {\r\n borderLeft: `2px solid ${theme.palette.error.main}`,\r\n },\r\n answerOption: {\r\n\r\n '$rotate &': {\r\n display: 'inline-block',\r\n writingMode: 'vertical-lr',\r\n transform: 'rotate(180deg)',\r\n overflow: 'unset', // Fix for mac/safari on vertical text (when used in combination with \"noWrap\")\r\n },\r\n },\r\n rotate: {\r\n\r\n },\r\n answerButton: {\r\n // width: cellWidth,\r\n // height: cellWidth,\r\n width: '100%',\r\n height: '100%',\r\n\r\n '&:focus': {\r\n background: theme.palette.grey[200],\r\n },\r\n\r\n '&:hover': {\r\n background: theme.palette.grey[300],\r\n },\r\n\r\n // [theme.breakpoints.down('xs')]: {\r\n // width: cellWidthSmall - 2,\r\n // height: cellWidthSmall - 2,\r\n // },\r\n },\r\n cellMarker: {\r\n opacity: 0,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n opacity: 0.2,\r\n },\r\n },\r\n});\r\n\r\nclass QuestionnaireTable extends React.Component {\r\n selectAnswer = (question, value) => () => {\r\n this.props.onChange(question)('choiceResponse', [value]);\r\n }\r\n\r\n handleFreetextChange = question => (event) => {\r\n this.props.onChange(question)('freetextResponse', event.target.value);\r\n }\r\n\r\n render() {\r\n const {\r\n classes, questions, responses, disabled, showScoreMarks, validationError, navigation, elementSettings,\r\n } = this.props;\r\n\r\n if (!questions || questions.length < 1 || !questions[0].answers) {\r\n return null;\r\n }\r\n\r\n const answers = questions.reduce((prev, curr) => ({\r\n ...prev,\r\n [curr.id]: responses && responses[curr.id]\r\n && ((responses[curr.id].response?.choiceResponse && responses[curr.id].response.choiceResponse[0]?.id)\r\n || responses[curr.id].response?.freetextResponse),\r\n }), {});\r\n\r\n\r\n const verticalText = elementSettings?.flipLabels || document.documentElement.clientWidth < 930;\r\n const firstColWidth = verticalText ? document.documentElement.clientWidth - (questions[0].answers.length * cellWidthSmall) - 16 - 16\r\n : Number(elementSettings?.firstColWidth) || '';\r\n // Writing mode fix for Edge - until https://github.com/cssinjs/css-vendor/issues/172 is merged into Material UI/Jss\r\n const ieFix = verticalText && isEdge ? { 'writing-mode': 'vertical-lr' } : null;\r\n const answerCellMinWidth = verticalText ? null : Math.min(Math.min(document.documentElement.clientWidth, maxContentWidth) / (questions[0].answers.length * 2), 100);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {questions[0].answers.map(item => (\r\n \r\n \r\n {item.value}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n {questions.map((question, ri) => (\r\n \r\n \r\n \r\n \r\n {question.type === formAnswerTypes.singleChoice ? (\r\n <>\r\n {question.answers?.map((item, ci) => (\r\n 0 })}>\r\n \r\n {answers[question.id] === item.id ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nQuestionnaireTable.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n navigation: PropTypes.object.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n questions: PropTypes.array.isRequired,\r\n responses: PropTypes.object,\r\n disabled: PropTypes.bool,\r\n showScoreMarks: PropTypes.bool,\r\n validationError: PropTypes.bool,\r\n elementSettings: PropTypes.object,\r\n};\r\n\r\nQuestionnaireTable.defaultProps = {\r\n disabled: false,\r\n showScoreMarks: false,\r\n responses: null,\r\n validationError: false,\r\n elementSettings: null,\r\n};\r\n\r\nexport default withStyles(styles)(with2dArrowNavigation(QuestionnaireTable));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\n\r\nimport { Typography } from '@material-ui/core';\r\nimport FormQuestion from '../FormQuestion';\r\nimport { isEmpty } from '../../../objectUtils';\r\nimport { InfoMessage } from '../../../../common/components';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n\r\n },\r\n scoreHeading: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n});\r\n\r\n// How to use a Quiz\r\n// On the content-page:\r\n// 1. Add a default element with all the questions\r\n// 2. Add a default element with a Button-question. Text: \"Show answers\"\r\n// 3. Add a \"QuizResponse\"-element with no content\r\n// 4. Settings for element 3: elementId = id of element 1\r\n// 5. Set the following conditional states:\r\n// Element 1: Default visible, hidden when \"Show answers\" is activated\r\n// Element 2: same as above (or keep always visible..)\r\n// Element 3: Default hidden, visible when \"Show answers\" is activated\r\n\r\nclass QuizResponse extends React.Component {\r\n render() {\r\n const {\r\n classes, element, taskId, translations, getProgramItem, getSpecificTaskResponses, contentState,\r\n } = this.props;\r\n\r\n if (!element) {\r\n return null;\r\n }\r\n\r\n const elementSettings = element.settings || {};\r\n const quizTaskId = elementSettings.taskId || taskId;\r\n const quizTask = getProgramItem(quizTaskId);\r\n const elementId = elementSettings.elementId;\r\n\r\n if (!quizTask || !elementId) {\r\n return ;\r\n }\r\n\r\n const taskResponses = getSpecificTaskResponses(quizTaskId);\r\n const quizElement = quizTask.contentElements?.find(e => e.id === Number(elementId));\r\n const questions = quizElement?.questions;\r\n\r\n const questionsWithAnswers = questions?.filter(d => d.answers?.length);\r\n\r\n if (!questionsWithAnswers?.length > 0) {\r\n return ;\r\n }\r\n\r\n if (!taskResponses || isEmpty(taskResponses)) {\r\n return ;\r\n }\r\n\r\n const scoring = questionsWithAnswers.reduce((prev, curr) => (\r\n {\r\n score: prev.score + Number(taskResponses[curr.id]?.response?.choiceResponse?.reduce((pResp, cResp) => pResp + cResp.score || 0, 0) || 0),\r\n max: prev.max + Number(curr.answers.reduce((pAnswer, cAnswer) => pAnswer + cAnswer.score || 0, 0)),\r\n }\r\n ), { score: 0, max: 0 });\r\n\r\n return (\r\n
\r\n \r\n {translations && translations.youGotxOfXScore ? translations.youGotxOfXScore(scoring) : `Score: ${scoring.score} / ${scoring.max}`}\r\n \r\n\r\n {questionsWithAnswers.map(q => (\r\n {}}\r\n />\r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nQuizResponse.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n translations: PropTypes.object,\r\n element: PropTypes.object.isRequired,\r\n taskId: PropTypes.string.isRequired,\r\n getProgramItem: PropTypes.func.isRequired,\r\n getSpecificTaskResponses: PropTypes.func.isRequired,\r\n contentState: PropTypes.string,\r\n};\r\n\r\nQuizResponse.defaultProps = {\r\n contentState: null,\r\n translations: null,\r\n};\r\n\r\nexport default withStyles(styles)(QuizResponse);\r\n","import { makeStyles } from '@material-ui/core/styles';\r\nimport React, { useState } from 'react';\r\nimport { createStyles, Input, Typography } from '@material-ui/core';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { useSelector } from 'react-redux';\r\nimport { stripHtml } from '../../../htmlUtils';\r\n\r\nimport Arrow from '../../../../common/image/Arrow.png';\r\n\r\nconst useStyles = makeStyles(theme => createStyles({\r\n imageContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n },\r\n column: {\r\n margin: theme.spacing(1),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n },\r\n left: {\r\n backgroundColor: '#778689',\r\n },\r\n right: {\r\n backgroundColor: '#e94f11',\r\n },\r\n circle: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n borderRadius: '50%',\r\n alignItems: 'center',\r\n width: 190,\r\n height: 190,\r\n color: theme.palette.common.white,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n width: 155,\r\n height: 155,\r\n\r\n '& p': {\r\n fontSize: '1rem',\r\n },\r\n },\r\n },\r\n bottomContainer: {\r\n marginTop: theme.spacing(4),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n arrowImage: {\r\n margin: theme.spacing(4, 0, 0),\r\n },\r\n triangle: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n textAlign: 'center',\r\n position: 'relative',\r\n width: 200,\r\n height: 200,\r\n\r\n '&:after': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n borderLeft: '150px solid transparent',\r\n borderRight: '150px solid transparent',\r\n borderBottom: '200px solid #2b7b90',\r\n },\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n '& p': {\r\n fontSize: '1rem',\r\n },\r\n },\r\n\r\n '& + $input': {\r\n width: 300,\r\n },\r\n },\r\n triangleText: {\r\n zIndex: 1,\r\n marginTop: 100,\r\n color: theme.palette.common.white,\r\n },\r\n input: {\r\n marginTop: theme.spacing(2),\r\n background: theme.palette.grey[200],\r\n borderRadius: 8,\r\n padding: theme.spacing(1, 2),\r\n },\r\n}));\r\n\r\nconst RouteSelection = ({\r\n questions, handleResponseUpdate, responses, readOnly,\r\n}) => {\r\n const [leftValue, setLeftValue] = useState(null);\r\n const [rightValue, setRightValue] = useState(null);\r\n const [bottomValue, setBottomValue] = useState(null);\r\n const classes = useStyles();\r\n const updateAsyncTimer = React.useRef();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n\r\n if (questions?.length !== 3) return null;\r\n\r\n const handleChange = key => (event) => {\r\n if (readOnly) {\r\n return;\r\n }\r\n const value = event.target.value;\r\n switch (key) {\r\n case 0:\r\n setLeftValue(value);\r\n break;\r\n case 1:\r\n setRightValue(value);\r\n break;\r\n case 2:\r\n setBottomValue(value);\r\n break;\r\n default:\r\n return;\r\n }\r\n\r\n clearTimeout(updateAsyncTimer.current);\r\n updateAsyncTimer.current = setTimeout(() => {\r\n handleResponseUpdate(questions[key])('freetextResponse', value);\r\n }, 200);\r\n };\r\n\r\n const answerLeft = leftValue !== null ? leftValue : responses && responses[questions[0].id]?.response?.freetextResponse;\r\n const answerRight = rightValue !== null ? rightValue : responses && responses[questions[1].id]?.response?.freetextResponse;\r\n const answerBottom = bottomValue !== null ? bottomValue : responses && responses[questions[2].id]?.response?.freetextResponse;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
{translate('routeSelection.awayValues')}
\r\n \"routeSelection.leftArrow\"\r\n \r\n
\r\n
\r\n
{translate('routeSelection.towardsValues')}
\r\n {translate('routeSelection.rightArrow')}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
{translate('routeSelection.psychologicalFlex')}
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nRouteSelection.propTypes = {\r\n questions: PropTypes.array.isRequired,\r\n handleResponseUpdate: PropTypes.func.isRequired,\r\n responses: PropTypes.object,\r\n readOnly: PropTypes.bool,\r\n};\r\nRouteSelection.defaultProps = {\r\n responses: null,\r\n readOnly: false,\r\n};\r\n\r\nexport default RouteSelection;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n ButtonBase,\r\n makeStyles,\r\n} from '@material-ui/core';\r\n\r\nimport HtmlContent from '../../HtmlContent';\r\nimport { elementConditionStates } from '../../../constants';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n accepted: {\r\n },\r\n rejected: {\r\n },\r\n collapsed: {\r\n },\r\n expanded: {\r\n },\r\n actionButtonContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n\r\n // Disabled hiding when expanded.. Needs better functionality\r\n // '&$expanded': {\r\n // display: 'none',\r\n // },\r\n },\r\n actionButton: {\r\n width: '100%',\r\n padding: theme.spacing(2),\r\n boxShadow: theme.shadows[3],\r\n border: `4px solid ${theme.palette.primary.main}`,\r\n\r\n '$accepted &': {\r\n background: theme.palette.primary.main,\r\n borderColor: theme.palette.primary.main,\r\n color: theme.palette.common.white,\r\n },\r\n\r\n '$rejected &': {\r\n background: 'darkgrey',\r\n borderColor: 'transparent',\r\n color: 'whitesmoke',\r\n opacity: 1,\r\n },\r\n\r\n '$collapsed &, $expanded &': {\r\n padding: theme.spacing(1),\r\n borderWidth: 0,\r\n },\r\n },\r\n actionButtonHtml: {\r\n width: '100%',\r\n color: 'inherit',\r\n '$rejected &': {\r\n color: 'whitesmoke',\r\n\r\n '& > h2, & > h3, & > h4': {\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n },\r\n\r\n '$accepted &': {\r\n color: theme.palette.common.white,\r\n\r\n '& > h2, & > h3, & > h4': {\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n },\r\n },\r\n}));\r\n\r\nconst ActionButton = ({\r\n scaleResponse, contentState, handleResponseUpdate, question, disabled, readOnly,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const handleClickResponse = value => () => {\r\n if (readOnly) return;\r\n\r\n handleResponseUpdate(value);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nActionButton.propTypes = {\r\n handleResponseUpdate: PropTypes.func,\r\n question: PropTypes.object.isRequired,\r\n scaleResponse: PropTypes.number,\r\n disabled: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n contentState: PropTypes.string,\r\n};\r\n\r\nActionButton.defaultProps = {\r\n disabled: false,\r\n readOnly: false,\r\n handleResponseUpdate: null,\r\n scaleResponse: null,\r\n contentState: null,\r\n};\r\n\r\nexport default ActionButton;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\n\r\nimport {\r\n TextField, Typography, makeStyles,\r\n} from '@material-ui/core';\r\n\r\nimport {\r\n KeyboardTimePicker, KeyboardDateTimePicker, KeyboardDatePicker,\r\n} from '@material-ui/pickers';\r\nimport { TimeIcon, CalendarIcon } from '../../../../common/icons';\r\nimport { validateEmail } from '../../../validationUtils';\r\nimport { freetextInputTypes } from '../../../constants';\r\nimport { getLocalDate, isDateObject, pad2 } from '../../../dateUtils';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputResponse: {\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n padding: theme.spacing(2),\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n disabledReadonlyInput: {\r\n color: theme.palette.text.primary,\r\n },\r\n}));\r\n\r\nexport const getInputType = (inputType) => {\r\n switch (inputType) {\r\n case freetextInputTypes.email:\r\n return 'email';\r\n case freetextInputTypes.phone:\r\n return 'tel';\r\n case freetextInputTypes.number:\r\n return 'number';\r\n case freetextInputTypes.date:\r\n return 'date';\r\n case freetextInputTypes.dateAndTime:\r\n return 'datetime-local';\r\n case freetextInputTypes.time:\r\n return 'time';\r\n case freetextInputTypes.default:\r\n case freetextInputTypes.singleLineText:\r\n default:\r\n return 'text';\r\n }\r\n};\r\n\r\nconst validators = {\r\n [freetextInputTypes.email]: validateEmail,\r\n};\r\n\r\nconst FreetextResponse = ({\r\n freetextResponse, handleResponseUpdate, translations, freetextConfig, disabled, readOnly,\r\n}) => {\r\n const classes = useStyles();\r\n const translate = useSelector(state => getTranslate(state.localize));\r\n const [validationError, setValidationError] = React.useState(null);\r\n const [freetextStateValue, setFreetextStateValue] = React.useState(null);\r\n const [showValidation, setShowValidation] = React.useState(false);\r\n const updateAsyncTimer = React.useRef();\r\n\r\n const freetextType = (freetextConfig && freetextConfig.inputType) || freetextInputTypes.default;\r\n\r\n const validate = (value) => {\r\n if (validators[freetextType]) {\r\n const validation = validators[freetextType](value);\r\n setValidationError(validation.valid ? null : validation.errorTextKey);\r\n }\r\n };\r\n\r\n const handleChange = (event) => {\r\n if (readOnly) {\r\n return;\r\n }\r\n const value = event.target.value;\r\n setFreetextStateValue(value);\r\n\r\n if (showValidation) {\r\n validate(value);\r\n }\r\n clearTimeout(updateAsyncTimer.current);\r\n updateAsyncTimer.current = setTimeout(() => {\r\n handleResponseUpdate(value);\r\n }, 200);\r\n };\r\n\r\n const handleDateTimeChange = (date) => {\r\n if (readOnly) {\r\n return;\r\n }\r\n\r\n setFreetextStateValue(date);\r\n\r\n if (showValidation) {\r\n validate(date);\r\n }\r\n if (date === null || isDateObject(date)) {\r\n let valueString;\r\n if (date === null) {\r\n valueString = null;\r\n } else {\r\n switch (freetextType) {\r\n case freetextInputTypes.time:\r\n valueString = `${date.getHours()}:${date.getMinutes()}`;\r\n break;\r\n case freetextInputTypes.dateAndTime:\r\n valueString = `${date.getFullYear()}-${pad2(date.getMonth() + 1)}-${pad2(date.getDate())} ${date.getHours()}:${date.getMinutes()}`;\r\n break;\r\n case freetextInputTypes.date:\r\n default:\r\n valueString = `${date.getFullYear()}-${pad2(date.getMonth() + 1)}-${pad2(date.getDate())}`;\r\n break;\r\n }\r\n }\r\n\r\n handleResponseUpdate(valueString);\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n if (readOnly) {\r\n // reset text if switching from editing to readonly\r\n setFreetextStateValue(null);\r\n }\r\n }, [readOnly]);\r\n\r\n const value = freetextStateValue !== null ? freetextStateValue : freetextResponse; // comparing with null to keep empty ('') value\r\n\r\n const onBlur = () => {\r\n if (value) {\r\n setShowValidation(true);\r\n validate(value);\r\n }\r\n };\r\n\r\n const sharedPickerProps = {\r\n className: classes.inputResponse,\r\n onChange: handleDateTimeChange,\r\n fullWidth: true,\r\n autoOk: true,\r\n clearable: true,\r\n disableToolbar: true,\r\n ampm: false,\r\n minutesStep: 5,\r\n disabled,\r\n clearLabel: translate('clear'),\r\n cancelLabel: translate('cancel'),\r\n okLabel: translate('ok'),\r\n invalidDateMessage: translate('time.invalidFormat'),\r\n };\r\n\r\n switch (freetextType) {\r\n case freetextInputTypes.date:\r\n return (\r\n }\r\n KeyboardButtonProps={{\r\n 'aria-label': translate('time.setDate'),\r\n }}\r\n placeholder=\"dd.mm.yyyy\"\r\n format=\"dd.MM.yyyy\"\r\n disabled={disabled || readOnly}\r\n />\r\n );\r\n case freetextInputTypes.time:\r\n return (\r\n <>\r\n }\r\n KeyboardButtonProps={{\r\n 'aria-label': translate('time.setTime'),\r\n }}\r\n placeholder=\"00:00\"\r\n format=\"HH:mm\"\r\n disabled={disabled || readOnly}\r\n />\r\n \r\n );\r\n case freetextInputTypes.dateAndTime:\r\n return (\r\n <>\r\n }\r\n KeyboardButtonProps={{\r\n 'aria-label': translate('time.setDateAndTime'),\r\n }}\r\n placeholder=\"dd.mm.yyyy hh:mm\"\r\n format=\"dd.MM.yyyy HH:mm\"\r\n disabled={disabled || readOnly}\r\n />\r\n \r\n );\r\n default:\r\n return (\r\n <>\r\n \r\n {freetextConfig?.maxLength > 0 && (\r\n \r\n {translations?.youGotxOfXScore && translations.maxLengthXofY({ x: value?.length || 0, y: freetextConfig?.maxLength })}\r\n \r\n )}\r\n \r\n );\r\n }\r\n};\r\n\r\nFreetextResponse.propTypes = {\r\n translations: PropTypes.object,\r\n handleResponseUpdate: PropTypes.func,\r\n freetextConfig: PropTypes.object,\r\n freetextResponse: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n};\r\n\r\nFreetextResponse.defaultProps = {\r\n freetextResponse: null,\r\n disabled: false,\r\n translations: null,\r\n handleResponseUpdate: null,\r\n freetextConfig: null,\r\n readOnly: false,\r\n};\r\n\r\nexport default FreetextResponse;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n FormControlLabel, Input, Typography, makeStyles, FormGroup, Checkbox,\r\n} from '@material-ui/core';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n choiceResponse: {\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n padding: theme.spacing(2),\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n formControlRoot: {\r\n },\r\n formControlLabel: {\r\n margin: theme.spacing(1, 0),\r\n flex: '1 1 auto',\r\n\r\n '$correct &': {\r\n color: theme.colors.green,\r\n },\r\n '$inCorrect &': {\r\n color: theme.colors.red,\r\n },\r\n },\r\n freetextLabel: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n freetextLabelText: {\r\n marginRight: theme.spacing(1),\r\n minWidth: 80,\r\n },\r\n choiceFreetextInput: {\r\n border: `1px solid ${theme.palette.grey[200]}`,\r\n padding: theme.spacing(0, 1),\r\n },\r\n correct: {\r\n color: `${theme.colors.green}`,\r\n },\r\n inCorrect: {\r\n color: `${theme.colors.red}`,\r\n },\r\n checkBox: {\r\n color: theme.colors.primary,\r\n },\r\n}));\r\n\r\nconst MultipleChoice = ({\r\n choiceConfig, selectedChoices, handleResponseUpdate, showScores, translations, question, disabled,\r\n}) => {\r\n const classes = useStyles();\r\n const isDisabled = disabled || showScores;\r\n\r\n const handleMultiSelectFreetextChange = freetextId => (event) => {\r\n const responses = [...selectedChoices || []];\r\n const ix = responses.findIndex(d => d.id === freetextId);\r\n const updatedValue = { id: freetextId, score: 0, value: event.target.value };\r\n if (ix > -1) {\r\n responses[ix] = updatedValue;\r\n } else {\r\n responses.push(updatedValue);\r\n }\r\n\r\n handleResponseUpdate(responses);\r\n };\r\n\r\n const handleMultiSelectChange = answer => (event, checked) => {\r\n const responses = (selectedChoices || []).filter(d => d.id !== answer.id);\r\n const values = checked ? [...responses, answer] : responses;\r\n handleResponseUpdate(values);\r\n };\r\n\r\n const checkedResponses = selectedChoices?.reduce((prev, curr) => (\r\n { ...prev, [curr.id]: curr.value }\r\n ), {}) || {};\r\n\r\n return (\r\n
\r\n \r\n {question.answers?.map(item => (\r\n \r\n )}\r\n classes={{ label: classes.formControlLabel, root: classes.formControlRoot }}\r\n label={item.value}\r\n />\r\n ))}\r\n\r\n {choiceConfig?.freetextChoiceId && (\r\n \r\n )}\r\n classes={{ label: classes.formControlLabel, root: classes.formControlRoot }}\r\n label={(\r\n
\r\n \r\n {choiceConfig.freetextChoiceLabel || translations?.freetextChoiceLabel}\r\n \r\n \r\n
\r\n )}\r\n />\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nMultipleChoice.propTypes = {\r\n translations: PropTypes.object,\r\n handleResponseUpdate: PropTypes.func,\r\n question: PropTypes.object.isRequired,\r\n choiceConfig: PropTypes.object,\r\n selectedChoices: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n showScores: PropTypes.bool,\r\n};\r\n\r\nMultipleChoice.defaultProps = {\r\n choiceConfig: null,\r\n selectedChoices: null,\r\n disabled: false,\r\n translations: null,\r\n handleResponseUpdate: null,\r\n showScores: false,\r\n};\r\n\r\nexport default MultipleChoice;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n Typography, Button, Slider,\r\n} from '@material-ui/core';\r\n\r\nimport { hasValue } from '../../../objectUtils';\r\nimport { with1dArrowNavigation } from '../../accessibility/ArrowNavigation';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n display: 'flex',\r\n flexFlow: 'column-reverse', // labels are positioned first but displayed last. To help for screen readers\r\n flexWrap: 'wrap',\r\n '& div': {\r\n width: '100%',\r\n },\r\n backgroundColor: theme.palette.common.white,\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n padding: theme.spacing(2),\r\n },\r\n scale: {\r\n padding: theme.spacing(3, 0, 2),\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n divider: {\r\n flex: '1 1 auto',\r\n margin: theme.spacing(1),\r\n borderBottom: theme.borders.normal,\r\n\r\n [theme.breakpoints.down(700)]: {\r\n margin: 4,\r\n },\r\n [theme.breakpoints.down(650)]: {\r\n margin: 2,\r\n },\r\n [theme.breakpoints.down(620)]: {\r\n margin: 0,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n border: 0,\r\n margin: 0,\r\n },\r\n },\r\n dividerSmall: {\r\n margin: theme.spacing(0.5),\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n },\r\n noLine: {\r\n borderBottom: 'none',\r\n },\r\n step: {\r\n width: '100%',\r\n minWidth: 0,\r\n maxWidth: 64,\r\n wordBreak: 'normal', // override setting from TaskElement\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n maxWidth: 48,\r\n },\r\n },\r\n smallButtons: {\r\n },\r\n scaleLabels: {\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n },\r\n lastLabel: {\r\n marginLeft: theme.spacing(1),\r\n textAlign: 'right',\r\n },\r\n slider: {\r\n margin: theme.spacing(0, 1, 2),\r\n },\r\n showThumb: {\r\n display: 'block',\r\n },\r\n hideThumb: {\r\n display: 'none',\r\n },\r\n});\r\n\r\nclass ScaleResponse extends React.Component {\r\n state={\r\n sliderValue: undefined,\r\n }\r\n\r\n handleChange = value => () => {\r\n if (this.props.readOnly) return;\r\n\r\n this.props.handleResponseUpdate(value);\r\n }\r\n\r\n handleSliderChange = (event, value) => {\r\n if (this.props.readOnly) return;\r\n\r\n this.setState({ sliderValue: value }, () => {\r\n if (this.updateTimeout) {\r\n clearTimeout(this.updateTimeout);\r\n }\r\n this.updateTimeout = setTimeout(this.updateSliderValue, 500);\r\n });\r\n };\r\n\r\n updateSliderValue = () => {\r\n this.props.handleResponseUpdate(this.state.sliderValue);\r\n }\r\n\r\n renderLabels = (scaleConfig, classes) => {\r\n if (scaleConfig.minLabel && scaleConfig.maxLabel) {\r\n return (\r\n
\r\n \r\n {scaleConfig.minLabel}\r\n \r\n \r\n {scaleConfig.maxLabel}\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n const {\r\n classes, scaleConfig, response, disabled, navigation,\r\n } = this.props;\r\n\r\n const range = Math.abs(scaleConfig.max - scaleConfig.min);\r\n\r\n if (range >= 10) {\r\n const sliderValue = hasValue(this.state.sliderValue) ? this.state.sliderValue : response;\r\n const rangeStep = Math.ceil(range / 5);\r\n const marks = [];\r\n marks.push({ value: scaleConfig.min, label: scaleConfig.min });\r\n for (let value = rangeStep; value < scaleConfig.max; value += rangeStep) {\r\n marks.push({ value, label: value });\r\n }\r\n marks.push({ value: scaleConfig.max, label: scaleConfig.max });\r\n return (\r\n
\r\n {this.renderLabels(scaleConfig, classes)}\r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n const steps = [];\r\n for (let i = scaleConfig.min; i <= scaleConfig.max; i += scaleConfig.step) {\r\n steps.push(i);\r\n }\r\n\r\n const smallButtons = steps.length > 5;\r\n\r\n return (\r\n
\r\n {this.renderLabels(scaleConfig, classes)}\r\n\r\n
\r\n {steps.map((step, index) => (\r\n \r\n {index > 0 &&
}\r\n \r\n {step}\r\n \r\n \r\n ))}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nScaleResponse.propTypes = {\r\n navigation: PropTypes.object.isRequired,\r\n classes: PropTypes.object.isRequired,\r\n handleResponseUpdate: PropTypes.func.isRequired,\r\n scaleConfig: PropTypes.object.isRequired,\r\n response: PropTypes.number,\r\n disabled: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n};\r\n\r\nScaleResponse.defaultProps = {\r\n response: null,\r\n disabled: false,\r\n readOnly: false,\r\n};\r\n\r\nexport default withStyles(styles)(with1dArrowNavigation(ScaleResponse));\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n FormControlLabel, RadioGroup, Radio, Button, Input, Typography, makeStyles,\r\n} from '@material-ui/core';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n choiceResponse: {\r\n border: `1px solid ${theme.palette.primary.main}`,\r\n padding: theme.spacing(2),\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n formControlRoot: {\r\n },\r\n formControlLabel: {\r\n margin: theme.spacing(1, 0),\r\n flex: '1 1 auto',\r\n\r\n '$correct &': {\r\n color: theme.colors.green,\r\n },\r\n '$inCorrect &': {\r\n color: theme.colors.red,\r\n },\r\n },\r\n choiceButtonContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n choiceButton: {\r\n margin: theme.spacing(1, 2),\r\n },\r\n choiceFreetextInput: {\r\n border: `1px solid ${theme.palette.grey[200]}`,\r\n padding: theme.spacing(0, 1),\r\n },\r\n radio: {\r\n color: theme.colors.primary,\r\n '$correct &': {\r\n color: theme.colors.green,\r\n },\r\n '$inCorrect &': {\r\n color: theme.colors.red,\r\n },\r\n },\r\n correct: {\r\n color: `${theme.colors.green}`,\r\n },\r\n inCorrect: {\r\n color: `${theme.colors.red}`,\r\n },\r\n freetextLabel: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n freetextLabelText: {\r\n marginRight: theme.spacing(1),\r\n minWidth: 80,\r\n },\r\n}));\r\n\r\nconst SingleChoice = ({\r\n choiceConfig, selectedChoice, handleResponseUpdate, showScores, translations, question, disabled,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const isDisabled = disabled || showScores;\r\n\r\n const handleSingleSelectChange = answers => (event) => {\r\n const id = Number(event.target.value);\r\n const answer = answers.find(d => d.id === id) || { id, value: '' };\r\n\r\n handleResponseUpdate([answer]);\r\n };\r\n\r\n const handleSelectFreetextChange = freetextId => (event) => {\r\n handleResponseUpdate([{ id: Number(freetextId), score: 0, value: event.target.value }]);\r\n };\r\n\r\n const handleClickResponse = value => () => {\r\n handleResponseUpdate([value]);\r\n };\r\n\r\n const getScoreClass = (item) => {\r\n if (!showScores) {\r\n return null;\r\n }\r\n\r\n if (item.score > 0) {\r\n return classes.correct;\r\n }\r\n if (selectedChoice?.id === item.id) {\r\n return classes.inCorrect;\r\n }\r\n return null;\r\n };\r\n\r\n return (\r\n <>\r\n {question.type === 'ActionChoice' || choiceConfig?.showAsButtons ? (\r\n
\r\n {question.answers?.map(answer => (\r\n \r\n {answer.value}\r\n \r\n ))}\r\n
\r\n ) : (\r\n
\r\n \r\n {question.answers?.map(item => (\r\n }\r\n classes={{ label: classes.formControlLabel, root: classes.formControlRoot }}\r\n label={item.value}\r\n />\r\n ))}\r\n\r\n {choiceConfig?.freetextChoiceId && (\r\n }\r\n classes={{ label: classes.formControlLabel, root: classes.formControlRoot }}\r\n label={(\r\n
\r\n \r\n {choiceConfig.freetextChoiceLabel || translations?.freetextChoiceLabel}\r\n \r\n \r\n
\r\n )}\r\n />\r\n )}\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nSingleChoice.propTypes = {\r\n translations: PropTypes.object,\r\n handleResponseUpdate: PropTypes.func,\r\n question: PropTypes.object.isRequired,\r\n choiceConfig: PropTypes.object,\r\n selectedChoice: PropTypes.object,\r\n disabled: PropTypes.bool,\r\n showScores: PropTypes.bool,\r\n};\r\n\r\nSingleChoice.defaultProps = {\r\n choiceConfig: null,\r\n selectedChoice: null,\r\n disabled: false,\r\n translations: null,\r\n handleResponseUpdate: null,\r\n showScores: false,\r\n};\r\n\r\nexport default SingleChoice;\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { getTranslate } from 'react-localize-redux';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\r\nimport classnames from 'classnames';\r\n\r\nimport {\r\n Typography, Table, TableHead, TableBody, TableRow, TableCell, Input, Hidden, IconButton, TextField,\r\n} from '@material-ui/core';\r\nimport { AddIcon } from '../../../../common/icons';\r\n// import { with2dArrowNavigation } from '../accessibility/ArrowNavigation';\r\nimport { hasValue } from '../../../objectUtils';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n desktopTable: {\r\n '&$fixedWidth': {\r\n overflowX: 'auto',\r\n paddingBottom: theme.spacing(4),\r\n },\r\n '&$fixedHeight': {\r\n overflowY: 'auto',\r\n height: 600,\r\n },\r\n },\r\n fixedWidth: {\r\n },\r\n fixedHeight: {\r\n\r\n },\r\n table: {\r\n tableLayout: 'fixed',\r\n\r\n '$fixedWidth &': {\r\n tableLayout: 'auto',\r\n width: 1200,\r\n },\r\n '$fixedHeight &': {\r\n tableLayout: 'auto',\r\n },\r\n },\r\n mobileTable: {\r\n\r\n },\r\n mobileRow: {\r\n marginBottom: theme.spacing(2),\r\n border: `1px solid ${theme.palette.grey[400]}`,\r\n backgroundColor: theme.palette.grey[200],\r\n },\r\n mobileRowHeader: {\r\n padding: theme.spacing(1),\r\n backgroundColor: theme.palette.primary.light,\r\n color: theme.palette.common.white,\r\n },\r\n mobileCell: {\r\n marginBottom: theme.spacing(2),\r\n padding: theme.spacing(1),\r\n },\r\n tableRow: {\r\n height: theme.spacing(4),\r\n },\r\n tableHeaderRow: {\r\n },\r\n tableHeaderCell: {\r\n backgroundColor: theme.palette.grey[200],\r\n border: 0,\r\n borderRight: `1px solid ${theme.palette.grey[200]}`,\r\n fontSize: '1.1em',\r\n color: theme.palette.grey[900],\r\n padding: `0 ${theme.spacing(1)}px`,\r\n overflowWrap: 'anywhere',\r\n\r\n '&:last-child': {\r\n borderRight: `1px solid ${theme.palette.grey[300]}`,\r\n padding: `0 ${theme.spacing(1)}px`,\r\n },\r\n\r\n '$fixedWidth &': {\r\n overflowWrap: 'normal',\r\n },\r\n '$fixedHeight &': {\r\n position: 'sticky',\r\n top: 0,\r\n zIndex: 50,\r\n },\r\n },\r\n rowHeaderCell: {\r\n backgroundColor: theme.palette.grey[200],\r\n },\r\n tableCell: {\r\n padding: `0 ${theme.spacing(1)}px`,\r\n paddingTop: theme.spacing(1),\r\n verticalAlign: 'top',\r\n borderRight: `1px solid ${theme.palette.grey[300]}`,\r\n\r\n '&:first-child': {\r\n borderLeft: `1px solid ${theme.palette.grey[300]}`,\r\n },\r\n '&:last-child': {\r\n padding: `0 ${theme.spacing(1)}px`,\r\n paddingTop: theme.spacing(1),\r\n },\r\n },\r\n multiQuestionCell: {\r\n },\r\n multiInput: {\r\n marginBottom: theme.spacing(0.5),\r\n },\r\n addRowContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n addRowButton: {\r\n marginTop: theme.spacing(1),\r\n },\r\n disabledReadonlyInput: {\r\n color: theme.palette.text.primary,\r\n },\r\n}));\r\n\r\n\r\nconst padRow = (row, length) => row.concat(Array(length).fill('')).slice(0, length);\r\n\r\nfunction TableResponse({\r\n tableConfig, response, disabled, handleResponseUpdate, translate, elementSettings, readOnly,\r\n}) {\r\n const theme = useTheme();\r\n const classes = useStyles();\r\n const isMobile = useMediaQuery(theme.breakpoints.down('xs'));\r\n const [multiTableValues, setMultiTableValues] = React.useState({});\r\n const [updateIndex, setUpdateIndex] = React.useState({});\r\n const updateAsyncTimer = React.useRef();\r\n const [responseState, setResponseState] = React.useState({});\r\n\r\n const fixedNumberOfRows = tableConfig?.rowHeaders?.length;\r\n\r\n const emptyRows = () => {\r\n if (fixedNumberOfRows) {\r\n if (response?.length >= fixedNumberOfRows) {\r\n return [];\r\n }\r\n return [...Array(fixedNumberOfRows).keys()].map(() => tableConfig.columnHeaders.map(() => ''));\r\n }\r\n\r\n if (isMobile) {\r\n if (!response || response.length === 0) {\r\n return [tableConfig.columnHeaders.map(() => '')];\r\n }\r\n return [];\r\n }\r\n\r\n return [tableConfig.columnHeaders.map(() => '')];\r\n };\r\n\r\n const addRow = () => {\r\n const currResponse = [...response || [], ...emptyRows()];\r\n const addedResponse = [...currResponse, ...[tableConfig.columnHeaders.map(() => '')]];\r\n\r\n handleResponseUpdate(addedResponse);\r\n };\r\n\r\n const handleTableCellChange = (rowIndex, cellIndex) => (event) => {\r\n if (readOnly) return;\r\n\r\n let prevResponse = response || [];\r\n if (rowIndex >= prevResponse.length) {\r\n prevResponse = [...prevResponse, ...emptyRows()];\r\n }\r\n\r\n handleResponseUpdate(prevResponse.map((row, ri) => (\r\n ri === rowIndex ? padRow(row, tableConfig.columnHeaders.length).map((cell, ci) => (\r\n ci === cellIndex ? event.target.value : cell\r\n )) : row\r\n )));\r\n\r\n // Fix for text-fields. To avoid loosing marker-position value is copied to internal state on first change.\r\n // textfield has prop value={this.state.freetextResponse || response?.freetextResponse || ''}\r\n setResponseState(prevState => ({ ...prevState, [`${rowIndex}-${cellIndex}`]: event.target.value }));\r\n };\r\n\r\n const handleTableMultiCellChange = (rowIndex, cellIndex, questionIndex, curr) => (event) => {\r\n if (readOnly) return;\r\n\r\n const val = event.target.value;\r\n setMultiTableValues(prev => ({\r\n ...prev,\r\n [`${rowIndex}-${cellIndex}`]: {\r\n ...curr,\r\n ...prev && prev[`${rowIndex}-${cellIndex}`],\r\n [questionIndex]: val,\r\n },\r\n }));\r\n setUpdateIndex({ rowIndex, cellIndex });\r\n };\r\n\r\n React.useEffect(() => {\r\n if (hasValue(updateIndex)) {\r\n clearTimeout(updateAsyncTimer.current);\r\n updateAsyncTimer.current = setTimeout(() => {\r\n handleTableCellChange(updateIndex.rowIndex, updateIndex.cellIndex)({\r\n target: { value: JSON.stringify(multiTableValues[`${updateIndex.rowIndex}-${updateIndex.cellIndex}`]) },\r\n });\r\n }, 200);\r\n }\r\n // Only fire on updateIndex-change\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [updateIndex]);\r\n\r\n if (!tableConfig?.columnHeaders) {\r\n return null;\r\n }\r\n\r\n const getCellValue = (rowIndex, cellIndex, questionIndex, cell) => (multiTableValues[`${rowIndex}-${cellIndex}`] && multiTableValues[`${rowIndex}-${cellIndex}`][questionIndex])\r\n || (cell && JSON.parse(cell)[questionIndex])\r\n || '';\r\n\r\n const renderCells = (ri, ci, cell, mobile) => (\r\n tableConfig.cellQuestions ? (\r\n
\r\n {tableConfig.cellQuestions.map((q, qi) => (\r\n \r\n ))}\r\n
\r\n ) : (\r\n \r\n )\r\n );\r\n\r\n const tableResponses = [...response || [], ...emptyRows()];\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {tableConfig.rowHeaders && }\r\n {tableConfig.columnHeaders.map(item => (\r\n \r\n {item}\r\n \r\n ))}\r\n \r\n \r\n \r\n {tableResponses?.map((row, ri) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n \r\n {tableConfig.rowHeaders && (\r\n \r\n {tableConfig.rowHeaders[ri]}\r\n \r\n )}\r\n {padRow(row, tableConfig.columnHeaders.length).map((cell, ci) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n \r\n {renderCells(ri, ci, cell)}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n {tableResponses?.map((row, ri) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n
\r\n
\r\n \r\n {tableConfig.rowHeaders\r\n ? tableConfig.rowHeaders[ri]\r\n : `${ri + 1}.`\r\n }\r\n \r\n
\r\n {row.map((cell, ci) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n
\r\n
\r\n \r\n {`${tableConfig.columnHeaders[ci]}:`}\r\n \r\n
\r\n {renderCells(ri, ci, cell, true)}\r\n
\r\n ))}\r\n
\r\n ))}\r\n\r\n {!fixedNumberOfRows && !readOnly && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nTableResponse.propTypes = {\r\n // navigation: PropTypes.object.isRequired, // with2dArrowNavigation\r\n translate: PropTypes.func.isRequired,\r\n handleResponseUpdate: PropTypes.func.isRequired,\r\n tableConfig: PropTypes.object,\r\n response: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n elementSettings: PropTypes.object,\r\n};\r\n\r\nTableResponse.defaultProps = {\r\n response: null,\r\n disabled: false,\r\n readOnly: false,\r\n tableConfig: {},\r\n elementSettings: null,\r\n};\r\n\r\nconst mapStateToProps = state => ({\r\n translate: getTranslate(state.localize),\r\n});\r\n\r\n// export default connect(mapStateToProps)(with2dArrowNavigation(TableResponse));\r\nexport default connect(mapStateToProps)(TableResponse);\r\n","export const elementTypes = {\r\n html: 'Html',\r\n text: 'Text',\r\n audio: 'Audio',\r\n video: 'Video',\r\n image: 'Image',\r\n file: 'File',\r\n link: 'Link',\r\n form: 'Form',\r\n script: 'Script',\r\n reference: 'Reference',\r\n};\r\n\r\nexport const linkTypes = {\r\n internal: 'Internal',\r\n task: 'Task',\r\n module: 'Module',\r\n program: 'Program',\r\n file: 'File',\r\n url: 'ExternalPage',\r\n youtube: 'Youtube',\r\n vimeo: 'Vimeo',\r\n audio: 'Audio',\r\n video: 'Video',\r\n image: 'Image',\r\n};\r\n\r\nexport const formAnswerTypes = {\r\n freetext: 'Freetext',\r\n singleChoice: 'SingleChoice',\r\n multipleChoice: 'MultipleChoice',\r\n scale: 'Scale',\r\n table: 'Table',\r\n switch: 'Switch',\r\n action: 'Action',\r\n};\r\n\r\nexport const appRoles = {\r\n portalAdmin: 'PortalAdmin',\r\n organizationAdmin: 'OrganizationAdmin',\r\n patientAdmin: 'PatientAdmin',\r\n programAdmin: 'ProgramAdmin',\r\n userAdmin: 'UserAdmin',\r\n therapistAndCreator: 'TherapistAndCreator',\r\n therapist: 'Therapist',\r\n contentCreator: 'ContentCreator',\r\n user: 'User',\r\n contactPerson: 'ContactPerson',\r\n none: 'None',\r\n\r\n isTherapist: roles => roles?.reduce((prev, r) => prev\r\n || r === 'Therapist' || r === 'TherapistAndCreator' || r === 'PatientAdmin' || r === 'OrganizationAdmin' || r === 'PortalAdmin'\r\n , false),\r\n isEditor: roles => roles?.reduce((prev, r) => prev\r\n || r === 'ContentCreator' || r === 'TherapistAndCreator' || r === 'ProgramAdmin' || r === 'OrganizationAdmin' || r === 'PortalAdmin'\r\n , false),\r\n // eslint-disable-next-line no-use-before-define\r\n isLimitedPatientAccess: role => !(appRoleLevels[role] >= appRoleLevels[appRoles.therapist]),\r\n};\r\n\r\nexport const appRoleLevels = {\r\n [appRoles.portalAdmin]: 100,\r\n [appRoles.organizationAdmin]: 90,\r\n [appRoles.patientAdmin]: 60,\r\n [appRoles.programAdmin]: 50,\r\n [appRoles.userAdmin]: 40,\r\n [appRoles.therapistAndCreator]: 35,\r\n [appRoles.therapist]: 30,\r\n [appRoles.contentCreator]: 25,\r\n [appRoles.user]: 20,\r\n [appRoles.contactPerson]: 10,\r\n};\r\n\r\nexport const elementSizes = {\r\n default: 'Default',\r\n small: 'Small',\r\n medium: 'Medium',\r\n large: 'Large',\r\n};\r\n\r\nexport const loginLevels = {\r\n none: 0,\r\n key: 1,\r\n password: 2,\r\n twoFactor: 3,\r\n level4: 4,\r\n};\r\n\r\nexport const patientUserLevels = {\r\n none: 'None',\r\n anonymous: 'Anonymous',\r\n person: 'Person',\r\n patient: 'Patient',\r\n};\r\n\r\nexport const systemElementGroups = {\r\n main: 'Main',\r\n default: 'Default',\r\n app: 'App',\r\n therapist: 'Therapist',\r\n scheduled: 'Scheduled',\r\n consent: 'Consent',\r\n appointment: 'Appointment',\r\n};\r\n\r\nexport const scheduleRepeatPeriod = {\r\n day: 'Day',\r\n week: 'Week',\r\n month: 'Month',\r\n};\r\n\r\nexport const accessRoles = {\r\n none: 'None',\r\n read: 'Read',\r\n write: 'Write',\r\n owner: 'Owner',\r\n admin: 'Admin',\r\n isOwnPatient: role => role === 'Write' || role === 'Owner',\r\n hasWriteAccess: role => role === 'Write' || role === 'Owner' || role === 'Admin',\r\n};\r\n\r\nexport const logoutReasons = {\r\n tokenExpired: '910',\r\n idleTimeout: '911',\r\n changeRole: '10101',\r\n};\r\n\r\nexport const fileTypes = {\r\n file: 'File', // Any/Unknown..\r\n image: 'Image',\r\n audio: 'Audio',\r\n video: 'Video',\r\n document: 'Document',\r\n};\r\n\r\nexport const elementConditionStates = {\r\n none: 'None',\r\n visible: 'Visible',\r\n hidden: 'Hidden',\r\n accepted: 'Accepted',\r\n rejected: 'Rejected',\r\n collapsed: 'Collapsed',\r\n expanded: 'Expanded',\r\n};\r\n\r\nexport const sortDirection = {\r\n asc: 'asc',\r\n desc: 'desc',\r\n};\r\n\r\nexport const sortDataType = {\r\n default: 'default',\r\n number: 'number',\r\n date: 'date',\r\n};\r\n\r\nexport const patientFlagTypes = {\r\n criticalScore: 'CriticalScore',\r\n inactivePatient: 'InactivePatient',\r\n messageFollowup: 'MessageFollowup',\r\n responseFollowup: 'ResponseFollowup',\r\n};\r\n\r\nexport const sensorTypes = {\r\n unknown: 'Unknown',\r\n fitbit: 'Fitbit',\r\n garmin: 'Garmin',\r\n};\r\n\r\nexport const IdProviders = {\r\n youwell: 'Youwell',\r\n idPorten: 'IdPorten',\r\n};\r\n\r\nexport const loginTypes = {\r\n password: 'Password',\r\n idPorten: 'IdPorten',\r\n twoFactor: 'twoFactor',\r\n selfStart: 'SelfStart',\r\n};\r\n\r\nexport const freetextInputTypes = {\r\n default: 'Default',\r\n singleLineText: 'SingleLineText',\r\n email: 'Email',\r\n phone: 'Phone',\r\n number: 'Number',\r\n date: 'Date',\r\n dateAndTime: 'DateAndTime',\r\n time: 'Time',\r\n};\r\n\r\nexport const patientDialogChannels = {\r\n chat: 'YouwellChat',\r\n sms: 'Sms',\r\n};\r\n\r\nexport const patientPatchOperations = {\r\n addGroupMembership: 'AddGroupMembership',\r\n removeGroupMembership: 'RemoveGroupMembership',\r\n};\r\n\r\nexport const contentPatchOperations = {\r\n changeOwner: 'ChangeOwner',\r\n};\r\n\r\nexport const systemContentElementTypes = {\r\n default: 'Default',\r\n questionnaire: 'Questionnaire',\r\n bullseye: 'BullsEye',\r\n card: 'Card',\r\n box: 'Box',\r\n quizResponse: 'QuizResponse',\r\n bubbleChoice: 'BubbleChoice',\r\n routeSelection: 'RouteSelection',\r\n};\r\n\r\nexport const systemTaskLabels = {\r\n subtask: 'subtask',\r\n};\r\n\r\nexport const thresholdTypes = {\r\n lessThan: 'LessThan',\r\n moreThan: 'MoreThan',\r\n equals: 'Equals',\r\n none: 'None',\r\n};\r\n\r\nexport const workflowStatuses = {\r\n progress: 100,\r\n review: 300,\r\n ready: 500,\r\n\r\n parse: config => config?.map((item) => {\r\n const kv = item.split(':');\r\n return {\r\n id: Number(kv[0]),\r\n name: kv[1],\r\n };\r\n }) || [],\r\n};\r\n\r\nexport const contentElemenIdPrefix = 'ywE';\r\n\r\nexport const orgLicence = {\r\n None: 0,\r\n Trial: 5,\r\n Limited: 10,\r\n Unlimited: 100,\r\n};\r\n\r\nexport const systemProgramProfiles = {\r\n Default: 'Default',\r\n Empty: 'Empty',\r\n All: 'All',\r\n};\r\n\r\nexport const elementSettingKeys = {\r\n firstColWidth: '1st-col-width',\r\n};\r\n\r\nexport const taskSettingKeys = {\r\n exportLabel: 'export-label',\r\n};\r\n","import { textpart } from './htmlUtils';\r\n\r\nexport const findModule = (program, moduleId) => (program && moduleId ? program.modules.reduce((p, c) => (c.id === moduleId ? c : p), null) : null);\r\n\r\nexport const findTask = (program, moduleId, taskId) => (\r\n program && moduleId && taskId\r\n ? program.modules.reduce((p, module) => (module.id === moduleId\r\n ? module.tasks.reduce((pt, task) => (task.id === taskId ? task : pt), null)\r\n : p), null)\r\n : null\r\n);\r\n\r\nconst firstQuestionText = questions => (\r\n questions && questions.length > 0 ? textpart(questions[0].question) : null\r\n);\r\n\r\nconst firstHeaderOrText = (htmlContent, length = 50) => {\r\n const doc = new DOMParser().parseFromString(htmlContent, 'text/html');\r\n const t = doc.body.children[0]?.textContent || '';\r\n return t.length > length ? `${t.slice(0, length)}...` : t;\r\n};\r\n\r\nexport const getElementTitle = element => element.title\r\n || firstHeaderOrText(element.htmlContent)\r\n || firstQuestionText(element.questions)\r\n || '\\u00A0';\r\n","import { hasValue } from './objectUtils';\r\n\r\nexport const msInOneWeek = 1000 * 60 * 60 * 24 * 7;\r\nexport const msInOneDay = 1000 * 60 * 60 * 24;\r\nexport const minutesInOneDay = 60 * 24;\r\n\r\nexport const pad2 = number => (\r\n number < 10 ? `0${number}` : number\r\n);\r\n\r\n// Allow global isNaN to check for Invalid Date object type\r\n// eslint-disable-next-line no-restricted-globals\r\nexport const isDateObject = input => input?.getDate && !input.slice && !isNaN(input);\r\n\r\n// Get local datetime object from UTC-datetime string\r\nexport const getLocalDate = (dateString, inputIsUtc = true) => {\r\n if (!dateString) {\r\n return null;\r\n }\r\n\r\n if (isDateObject(dateString)) {\r\n return dateString; // dateString is actually Date\r\n }\r\n if (!dateString.slice) { // dateString is object or function..\r\n // eslint-disable-next-line no-console\r\n console.warn('Date-util: Invalid date object', dateString);\r\n return null;\r\n }\r\n\r\n const timeZonestring = inputIsUtc ? 'Z' : '';\r\n\r\n let date;\r\n if (dateString.slice(-1).toLowerCase() === 'z' || dateString.slice(-6, -5) === '+') {\r\n // datestring already contains Timezone-info -> create Date object\r\n date = new Date(dateString);\r\n } else if (dateString.includes('T')) {\r\n // full date and time string date. Set UTC timezone\r\n date = new Date(`${dateString}${timeZonestring}`);\r\n } else if (dateString.length === 10) { // yyyy-mm-dd\r\n // only date - Add timestamp and set UTC timezone\r\n date = new Date(`${dateString}T00:00:00${timeZonestring}`);\r\n } else if (dateString.length === 5) { // HH:MM\r\n // only time - Add date and set UTC timezone\r\n date = new Date(`1970-01-01T${dateString}${timeZonestring}`);\r\n } else {\r\n // unknown format - trying to parse directly\r\n date = new Date(`${dateString}${timeZonestring}`);\r\n }\r\n\r\n if (date && !date.getTime()) { // parsing has failed. invalid date\r\n // eslint-disable-next-line no-console\r\n console.warn('Date-util: Parsing datestring failed', dateString);\r\n return null;\r\n }\r\n\r\n return date;\r\n};\r\n\r\nexport const isoDateWithoutTimezone = date => `${date.getFullYear()}-${pad2(date.getMonth() + 1)}-${pad2(date.getDate())}`;\r\n\r\nexport const isoDate = date => getLocalDate(date)?.toISOString().substring(0, 10);\r\n\r\nexport const today = (hour = 0, minute = 0, second = 0) => {\r\n const d = new Date();\r\n d.setHours(hour, minute, second, 0);\r\n return d;\r\n};\r\n\r\nexport const tomorrow = (hour = 0, minute = 0, second = 0) => {\r\n const d = new Date();\r\n d.setHours(hour, minute, second, 0);\r\n d.setDate(d.getDate() + 1);\r\n return d;\r\n};\r\n\r\nexport const yesterday = (hour = 0, minute = 0, second = 0) => {\r\n const d = new Date();\r\n d.setHours(hour, minute, second, 0);\r\n d.setDate(d.getDate() - 1);\r\n return d;\r\n};\r\n\r\nexport const isSameDate = (datetime1, datetime2) => {\r\n if (!datetime1 || !datetime2) return false;\r\n const d1 = getLocalDate(datetime1);\r\n const d2 = getLocalDate(datetime2);\r\n\r\n return d1.toLocaleDateString() === d2.toLocaleDateString();\r\n};\r\n\r\nexport const isToday = dateString => isSameDate(dateString, today());\r\n\r\nexport const isYesterday = dateString => isSameDate(dateString, yesterday());\r\n\r\nexport const isFuture = (dateString, includeToday) => {\r\n const date = getLocalDate(dateString);\r\n\r\n if (!date) {\r\n return false;\r\n }\r\n\r\n if (includeToday) {\r\n return date.getTime() >= today().getTime();\r\n }\r\n\r\n return date.getTime() > Date.now();\r\n};\r\n\r\nexport const addDays = (initialDate, days) => {\r\n const date = initialDate ? new Date(initialDate) : new Date();\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n};\r\n\r\nexport const addMonths = (initialDate, months) => {\r\n const date = new Date(initialDate);\r\n date.setMonth(date.getMonth() + months);\r\n return date;\r\n};\r\n\r\nexport const fullDateTime = dateString => getLocalDate(dateString)?.toString();\r\n\r\nexport const timeOnly = (dateOrString, translate) => {\r\n const date = getLocalDate(dateOrString);\r\n\r\n if (!date) {\r\n return null;\r\n }\r\n return `${translate ? `${translate('time.at')} ` : ''}${pad2(date.getHours())}:${pad2(date.getMinutes())}`;\r\n};\r\n\r\nexport const getTimePartForInput = (datetime) => {\r\n if (!datetime) {\r\n return '';\r\n }\r\n if (datetime.length === 5 && datetime[2] === ':') {\r\n return datetime;\r\n }\r\n\r\n const date = new Date(datetime);\r\n return `${pad2(date.getHours())}:${pad2(date.getMinutes())}`;\r\n};\r\n\r\nexport const hasTime = (dateOrString) => {\r\n const date = getLocalDate(dateOrString);\r\n\r\n if (!date) {\r\n return false;\r\n }\r\n\r\n return date.getHours() !== 0 || date.getMinutes() !== 0;\r\n};\r\n\r\n// Get date or time-string from UTC-datetime string\r\nexport const timestamp = (dateOrString, translate) => {\r\n const date = getLocalDate(dateOrString);\r\n\r\n if (!date) {\r\n return null;\r\n }\r\n\r\n if (isToday(date)) {\r\n if (translate && date.getHours() === 0 && date.getMinutes() === 0) {\r\n return translate('time.today');\r\n }\r\n return `${translate ? translate('time.todayAt') : ''} ${pad2(date.getHours())}:${pad2(date.getMinutes())}`;\r\n }\r\n if (isYesterday(date)) {\r\n if (translate && date.getHours() === 0 && date.getMinutes() === 0) {\r\n return translate('time.yesterday');\r\n }\r\n return `${translate ? translate('time.yesterdayAt') : `${pad2(date.getDate())}.${pad2(date.getMonth() + 1)}`} ${pad2(date.getHours())}:${pad2(date.getMinutes())}`;\r\n }\r\n if (date.getFullYear() === new Date().getFullYear()) {\r\n if (date.getHours() === 0 && date.getMinutes() === 0) {\r\n return `${pad2(date.getDate())}.${pad2(date.getMonth() + 1)}`;\r\n }\r\n return `${pad2(date.getDate())}.${pad2(date.getMonth() + 1)} ${translate ? translate('time.at') : ''} ${pad2(date.getHours())}:${pad2(date.getMinutes())}`;\r\n }\r\n if (date.getHours() === 0 && date.getMinutes() === 0) {\r\n return `${pad2(date.getDate())}.${pad2(date.getMonth() + 1)}.${date.getFullYear()}`;\r\n }\r\n return `${pad2(date.getDate())}.${pad2(date.getMonth() + 1)}.${date.getFullYear()} ${translate ? translate('time.at') : ''} ${pad2(date.getHours())}:${pad2(date.getMinutes())}`;\r\n};\r\n\r\nexport const datestamp = (dateOrString) => {\r\n const date = getLocalDate(dateOrString);\r\n\r\n if (!date) {\r\n return null;\r\n }\r\n\r\n if (date.getFullYear() === new Date().getFullYear()) {\r\n return `${pad2(date.getDate())}.${pad2(date.getMonth() + 1)}`;\r\n }\r\n return `${pad2(date.getDate())}.${pad2(date.getMonth() + 1)}.${date.getFullYear()}`;\r\n};\r\n\r\nexport const longDate = (dateOrString, translate, alwaysIncludeYear = false) => {\r\n const date = getLocalDate(dateOrString);\r\n\r\n if (!date) {\r\n return null;\r\n }\r\n\r\n const year = alwaysIncludeYear || date.getFullYear() !== new Date().getFullYear() ? ` ${date.getFullYear()}` : '';\r\n\r\n return `${date.getDate()}. ${translate(`time.months.${date.getMonth()}`)}${year}`;\r\n};\r\n\r\nexport const shortDate = (dateOrString, translate) => {\r\n const date = getLocalDate(dateOrString);\r\n\r\n if (!date) {\r\n return null;\r\n }\r\n if (isToday(date)) {\r\n return translate('time.today');\r\n }\r\n if (isToday(addDays(date, 1))) {\r\n return translate('time.yesterday');\r\n }\r\n\r\n const year = date.getFullYear() === new Date().getFullYear() ? '' : ` ${date.getFullYear()}`;\r\n\r\n return `${date.getDate()}. ${translate(`time.months.${date.getMonth()}`)}${year}`;\r\n};\r\n\r\nexport const mondayZeroIndex = n => (((n - 1) % 7) + 7) % 7;\r\n\r\nexport const getTimeStringFromDayOfWeek = (day) => {\r\n const a = new Date();\r\n const dayOffset = (a.getDay() - day) * 1000 * 60 * 60 * 24 * -1;\r\n const d = new Date(a.getTime() + dayOffset);\r\n d.setHours(0, 0, 0, 0);\r\n return d.toISOString();\r\n};\r\n\r\nexport const dateWithOptionalTime = (dateOrString) => {\r\n const date = getLocalDate(dateOrString);\r\n\r\n if (!date) {\r\n return null;\r\n }\r\n\r\n if (date.getHours() === 0 && date.getMinutes() === 0) {\r\n return date.toLocaleDateString();\r\n }\r\n return date.toLocaleString().slice(0, -3);\r\n};\r\n\r\nexport const dateWithTimeIfToday = (dateOrString) => {\r\n const date = getLocalDate(dateOrString);\r\n\r\n if (!date) {\r\n return null;\r\n }\r\n\r\n // eslint-disable-next-line no-use-before-define\r\n if (!isToday(date)) {\r\n return date.toLocaleDateString();\r\n }\r\n return date.toLocaleString().slice(0, -3);\r\n};\r\n\r\n// returns string to set in input type=date\r\nexport const getTextfieldDateString = (dateOrString) => {\r\n const d = dateOrString ? getLocalDate(dateOrString) : new Date();\r\n return `${d.getFullYear()}-${pad2(d.getMonth() + 1)}-${pad2(d.getDate())}`;\r\n};\r\n\r\n// returns string to set in input type=datetime-local\r\nexport const getTextfieldDateTimeString = (dateOrString, setNoon = false) => {\r\n const d = dateOrString ? getLocalDate(dateOrString) : new Date();\r\n if (setNoon) {\r\n d.setHours(12, 0, 0, 0);\r\n }\r\n return `${d.getFullYear()}-${pad2(d.getMonth() + 1)}-${pad2(d.getDate())}T${pad2(d.getHours())}:${pad2(d.getMinutes())}`;\r\n};\r\n\r\n// returns string to save in database\r\nexport const getDateTimeSaveString = (date) => {\r\n let d;\r\n if (!date) {\r\n return null;\r\n }\r\n\r\n if (date.length === 10) {\r\n d = new Date(`${date}T00:00`);\r\n } else {\r\n d = new Date(date);\r\n }\r\n return d.toISOString();\r\n};\r\n\r\nexport const getWeekNumberFromDate = (dateIn) => {\r\n const date = dateIn ? new Date(Date.UTC(dateIn.getFullYear(), dateIn.getMonth(), dateIn.getDate())) : new Date();\r\n\r\n // Thursday in current week decides the year.\r\n date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\r\n // January 4 is always in week 1.\r\n const week1 = new Date(date.getFullYear(), 0, 4);\r\n // Adjust to Thursday in week 1 and count number of weeks from date to week1.\r\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + ((week1.getDay() + 6) % 7)) / 7);\r\n};\r\n\r\nexport const getWeekNumber = (dateString) => {\r\n const date = getLocalDate(dateString);\r\n\r\n return getWeekNumberFromDate(date);\r\n};\r\n\r\nexport const getNumberOfWeeks = (startTime, endTime) => {\r\n if (!startTime || !endTime) {\r\n return 0;\r\n }\r\n\r\n return Math.floor(Math.abs(new Date(startTime) - new Date(endTime)) / msInOneWeek) || 0;\r\n};\r\n\r\nexport const getNumberOfWeeksCeiled = (startTime, endTime) => {\r\n if (!startTime || !endTime) {\r\n return 0;\r\n }\r\n\r\n return Math.ceil(Math.abs(new Date(startTime) - new Date(endTime)) / msInOneWeek) || 0;\r\n};\r\n\r\nexport const getNumberOfDays = (startTime, endTime) => {\r\n if (!startTime || !endTime) {\r\n return 0;\r\n }\r\n\r\n return Math.floor(Math.abs(new Date(startTime) - new Date(endTime)) / msInOneDay);\r\n};\r\n\r\nexport const getWeekStartDate = (weekNumber, year) => {\r\n const weekYear = year || new Date().getFullYear();\r\n const simple = new Date(weekYear, 0, 1 + (weekNumber - 1) * 7);\r\n const dow = simple.getDay();\r\n const ISOweekStart = simple;\r\n if (dow <= 4) ISOweekStart.setDate(simple.getDate() - simple.getDay() + 1);\r\n else ISOweekStart.setDate(simple.getDate() + 8 - simple.getDay());\r\n return ISOweekStart;\r\n};\r\n\r\nexport const getNumberOfSeconds = (startTime, endTime) => {\r\n if (!startTime || !endTime) {\r\n return 0;\r\n }\r\n\r\n return Math.floor(Math.abs(new Date(startTime) - new Date(endTime)) / 1000);\r\n};\r\n\r\nexport const getNumberOfMinutes = (startTime, endTime) => getNumberOfSeconds(startTime, endTime) / 60;\r\n\r\nexport const getDatePart = (dateOrString) => {\r\n const d = getLocalDate(dateOrString);\r\n d.setHours(0, 0, 0, 0);\r\n return d;\r\n};\r\n\r\nexport const compareDates = (date, daysToAddForCompare) => {\r\n const date1 = getLocalDate(date) || { getTime: () => 0 };\r\n return date1.getTime() > addDays(Date.now(), daysToAddForCompare).getTime();\r\n};\r\n\r\nexport const getDateFormatted = (dateOrString, translateFunc) => {\r\n const d = getLocalDate(dateOrString);\r\n return `${translateFunc(`calendar.shortMonth${d.getMonth() + 1}`)}. ${d.getDate()}`;\r\n};\r\n\r\nexport const getMinsToMidnight = () => {\r\n const d = new Date();\r\n return (-d + d.setHours(24, 0, 0, 0)) / 6e4;\r\n};\r\n\r\nexport const getMillisecondsInADay = () => 1000 * 60 * 60 * 24;\r\n\r\nexport const hourCount = (minutes, translate, longLabels = false) => {\r\n if (!hasValue(minutes) || Number.isNaN(minutes) || minutes === 'NaN') return '';\r\n const minLabel = translate ? translate(longLabels ? 'time.minutes' : 'time.minutesShort') : 'm';\r\n if (minutes < 60) return `${Math.round(minutes % 60)} ${minLabel}`;\r\n\r\n const hours = Math.floor(minutes / 60);\r\n const hourLabel = translate ? translate(longLabels ? hours > 1 ? 'time.hours' : 'time.hour' : 'time.hoursShort') : 'h';\r\n if (minutes % 60 === 0) return `${hours} ${hourLabel}`;\r\n return `${hours} ${hourLabel} ${Math.round(minutes % 60)} ${minLabel}`;\r\n};\r\n","import { elementConditionStates, formAnswerTypes } from './constants';\r\nimport { hasValue, isEmpty } from './objectUtils';\r\nimport { calculateResponseScore } from './responseUtils';\r\n\r\n// Needed in IMMG? Set in app-config?\r\nconst dontUseConditionsFromHiddenElements = false;\r\n\r\nexport const ANY_ANSWER_CONDITION = 'ANY_ANSWER_CONDITION';\r\n\r\nconst getQuestionInCondition = (condition, currentTask, getProgramItem, getSpecificTaskResponses, currentElementId, parentElementId) => {\r\n // If question in condition is in a different task than currentTask we get this task here\r\n const taskInCondition = condition.taskId === currentTask.id || !condition.taskId // No taskId = current Task\r\n ? currentTask\r\n : getProgramItem ? getProgramItem(condition.taskId) : null;\r\n\r\n if (taskInCondition) {\r\n if (dontUseConditionsFromHiddenElements) {\r\n const elementInCondition = taskInCondition.contentElements\r\n .find(element => element.questions?.find(question => question.id === condition.questionId));\r\n\r\n if (elementInCondition && elementInCondition.id !== currentElementId && elementInCondition.id !== parentElementId) {\r\n // Dont include condition if elementInCondition is hidden\r\n\r\n // elementInCondition.id !== currentElementId\r\n // - don't check state if elementInCondition is same as currentElement -> Will get recursive loop..\r\n\r\n // elementInCondition.id !== parentElementId\r\n // - don't check state if elementInCondition is same as parentElement (looped conditions - exist in ADHD program..)\r\n // TODO - fix this.. Rewrite show/hide logic. Use separate label-logic for accepted/expanded/rejected/...\r\n\r\n // eslint-disable-next-line no-use-before-define\r\n const conditionForElementInCondition = getElementConditionState(elementInCondition, getSpecificTaskResponses, taskInCondition, getProgramItem, currentElementId);\r\n\r\n if (conditionForElementInCondition === elementConditionStates.hidden) {\r\n return null;\r\n }\r\n }\r\n }\r\n\r\n return taskInCondition.contentElements\r\n .reduce((prev, curr) => (\r\n prev != null ? prev : curr.questions?.find(question => question.id === condition.questionId)\r\n ), null);\r\n }\r\n return null;\r\n};\r\n\r\nconst meetsConditionForQuestion = (condition, questionResponse, currentTask, getProgramItem, getSpecificTaskResponses, currentElementId, parentElementId) => {\r\n const questionInCondition = getQuestionInCondition(condition, currentTask, getProgramItem, getSpecificTaskResponses, currentElementId, parentElementId);\r\n\r\n // If condition is a multiple- action or single choice question with no expected answers,\r\n // return true if no answers has been chosen for the question in the condition\r\n if (condition.questionId && !condition.expectedAnswers) {\r\n if (!questionInCondition) return false;\r\n\r\n if (questionInCondition.type === formAnswerTypes.multipleChoice\r\n || questionInCondition.type === formAnswerTypes.singleChoice) {\r\n return !questionResponse?.response?.choiceResponse?.length;\r\n }\r\n }\r\n\r\n if (!questionResponse) {\r\n // If question in the condition is one of the following:\r\n // - A switch toggle question\r\n // - An action question with toggle\r\n // - A scale/action scale\r\n // and the condition is \"inactive\" (for toggle questions) and \"min = 0\" for scale questions,\r\n // and we don't have a response for the question we return true.\r\n // Toggle is false = condition is met.\r\n // Scale is 0 = condition is met.\r\n // User has to toggle question on and off for questionResponse to be set.\r\n // User has to explicitly set scale to 0 for questionResponse to be set.\r\n if (questionInCondition) {\r\n if (questionInCondition.type === formAnswerTypes.switch) {\r\n return condition?.scoreMin === 0 && condition?.scoreMax === 0;\r\n }\r\n\r\n if (questionInCondition.type === formAnswerTypes.action) {\r\n return condition?.scoreMin === 0 && condition?.scoreMax === 0;\r\n }\r\n\r\n if (questionInCondition.type === formAnswerTypes.scale) {\r\n return condition?.scoreMin === 0;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n if (condition.expectedAnswers != null && condition.expectedAnswers.length > 0) {\r\n // If question in condition is hidden questionInCondition will be null and we return false.\r\n if (questionInCondition) {\r\n if (condition.expectedAnswers.length === 1 && condition.expectedAnswers[0] === ANY_ANSWER_CONDITION) {\r\n return questionResponse.response?.choiceResponse?.length > 0;\r\n }\r\n\r\n return questionResponse.response?.choiceResponse?.some(c => condition.expectedAnswers.filter(d => d === c.value).length > 0) || false;\r\n }\r\n return false;\r\n }\r\n\r\n if (hasValue(condition.scoreMin) || hasValue(condition.scoreMax)) {\r\n const score = calculateResponseScore(questionResponse.response);\r\n return hasValue(score)\r\n && ((isEmpty(condition.scoreMin) || score >= condition.scoreMin)\r\n && (isEmpty(condition.scoreMax) || score <= condition.scoreMax)\r\n );\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst meetsCondition = (condition, responsesForTaskInCondition, currentTask, getProgramItem, getSpecificTaskResponses, currentElementId, parentElementId) => {\r\n if (condition.questionId) {\r\n const responseForQuestion = responsesForTaskInCondition && responsesForTaskInCondition[condition.questionId];\r\n return meetsConditionForQuestion(condition, responseForQuestion, currentTask, getProgramItem, getSpecificTaskResponses, currentElementId, parentElementId);\r\n }\r\n\r\n if (condition.subtotalId) {\r\n const responseForSubtotal = responsesForTaskInCondition && responsesForTaskInCondition[condition.subtotalId];\r\n return meetsConditionForQuestion(condition, responseForSubtotal, currentTask, getProgramItem, getSpecificTaskResponses, currentElementId, parentElementId);\r\n }\r\n\r\n if (condition.ifAllOthersAreHidden) {\r\n return condition.allOthersAreHidden;\r\n }\r\n\r\n // Condition is met if any respons on task\r\n return hasValue(responsesForTaskInCondition);\r\n};\r\n\r\nconst checkConditions = (elementState, getSpecificTaskResponses, currentTask, getProgramItem, currentElementId, parentElementId) => {\r\n if (!elementState.conditions?.length) {\r\n return true; // default true if no conditions\r\n }\r\n\r\n return elementState.conditions.reduce((prev, curr) => {\r\n if (!prev) {\r\n // all conditions must be satisfied, no need to check the rest..\r\n return false;\r\n }\r\n\r\n // if no taskId is specified, assume current task\r\n const responsesForTaskInCondition = getSpecificTaskResponses(curr.taskId || currentTask.id);\r\n return meetsCondition(curr, responsesForTaskInCondition, currentTask, getProgramItem, getSpecificTaskResponses, currentElementId, parentElementId);\r\n }, true);\r\n};\r\n\r\n// eslint-disable-next-line arrow-body-style\r\nexport const getElementConditionState = (element, getSpecificTaskResponses, currentTask, getProgramItem, parentElementId) => {\r\n return element?.elementStates?.reduce((prev, curr) => {\r\n if (prev) { return prev; } // returns first condition that matches\r\n const isMet = checkConditions(curr, getSpecificTaskResponses, currentTask, getProgramItem, element.id, parentElementId);\r\n return isMet ? curr.state : null;\r\n }, null);\r\n};\r\n\r\nexport const updateAllOthersAreHiddenProperties = (currentTask, getSpecificTaskResponses, getProgramItem) => {\r\n if (!getSpecificTaskResponses) {\r\n return;\r\n }\r\n // Get elements with an element state which has a condition with ifAllOthersAreHidden === true\r\n const elementsWithAllOthersAreHiddenCondition = currentTask.contentElements?.filter(\r\n e => e.elementStates?.some(s => s?.conditions?.some(c => c.ifAllOthersAreHidden)),\r\n );\r\n\r\n if (elementsWithAllOthersAreHiddenCondition) {\r\n elementsWithAllOthersAreHiddenCondition.forEach((element) => {\r\n // Get the elementState which contains a condition with ifAllOthersAreHidden === true\r\n const elementState = element.elementStates?.find(\r\n state => state?.conditions?.some(c => c.ifAllOthersAreHidden));\r\n\r\n // Get the condition with ifAllOthersAreHidden === true\r\n const condition = elementState?.conditions?.find(c => c.ifAllOthersAreHidden);\r\n\r\n // The condition could be \"if all elements are hidden in another task than the current task\"\r\n // so we get the task in the condition\r\n const taskInCondition = condition?.taskId === currentTask.id\r\n ? currentTask\r\n : getProgramItem ? getProgramItem(condition.taskId) : null;\r\n\r\n // Get all elements in the task in the condition wich do not have a ifAllOthersAreHidden condition\r\n const allOtherElements = taskInCondition?.contentElements?.filter(\r\n e => !e.elementStates?.some(s => s?.conditions?.some(c => c.ifAllOthersAreHidden)),\r\n );\r\n\r\n if (allOtherElements\r\n .every(e => getElementConditionState(e, getSpecificTaskResponses, currentTask, getProgramItem) === elementConditionStates.hidden)) {\r\n // All other elements are currently hidden\r\n condition.allOthersAreHidden = true;\r\n } else {\r\n // All other elements are currently not hidden\r\n condition.allOthersAreHidden = false;\r\n }\r\n });\r\n }\r\n};\r\n","import Cookie, { CookieNames } from './Cookie';\r\nimport apiUrls from './apiUrls';\r\nimport { hasValue } from './objectUtils';\r\n\r\nconst HTTP_STATUS_CODES = {\r\n Unauthorized: 401,\r\n Forbidden: 403,\r\n NotFound: 404,\r\n TooManyRequests: 429,\r\n};\r\n\r\nconst YOUWELL_ERROR_CODES = {\r\n ElementNotFound: 1078,\r\n};\r\n\r\nexport const VERSION_EXPIRED = 'APP/VERSION_EXPIRED';\r\nexport const PAGE_NOTFOUND = 'APP/PAGE_NOTFOUND';\r\n\r\nconst appSettings = {};\r\n\r\nexport const setAppVersion = (version) => {\r\n appSettings.version = version;\r\n};\r\n\r\nclass FetchError extends Error {\r\n constructor(url, status, data) {\r\n super(data);\r\n this.url = url;\r\n this.status = status;\r\n\r\n if (!data) {\r\n this.errorCode = status;\r\n } else {\r\n try {\r\n const json = JSON.parse(data);\r\n this.errorCode = json.errorCode;\r\n } catch (e) {\r\n this.errorCode = status;\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const handleErrors = dispatch => (response) => {\r\n if (!response.ok) {\r\n return response.text().then(data => Promise.reject(new FetchError(response.url, response.status, data)));\r\n }\r\n\r\n if (dispatch) {\r\n const version = response && response.headers && response.headers.get('X-Portal-Version');\r\n if (version && version !== appSettings.version) {\r\n dispatch({ type: VERSION_EXPIRED, previous: appSettings.version, newAvailableVersion: version });\r\n }\r\n }\r\n return Promise.resolve(response);\r\n};\r\n\r\nexport const json = response => (response.status === 204 ? response.text() : response.json());\r\n\r\nexport const text = response => response.text();\r\n\r\nexport const blob = (response) => {\r\n const disposition = response.headers.get('content-disposition');\r\n const contentType = response.headers.get('content-type');\r\n const filenameValues = disposition && disposition.match(/filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/);\r\n const filename = filenameValues && filenameValues[1];\r\n\r\n return response.blob().then(blobData => Promise.resolve({ blobData, filename, contentType }));\r\n};\r\n\r\nexport const jsonHeader = {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n};\r\n\r\nexport const getErrorMessageOrKey = (error) => {\r\n if (!error) {\r\n return '901';\r\n }\r\n if (error.message === 'Failed to fetch') {\r\n return '920';\r\n }\r\n\r\n return error instanceof Error ? (error.errorCode && error.errorCode.toString()) || error.message || '903' : '902';\r\n};\r\n\r\nexport const dispatchError = (dispatch, type, options, requestId, error, onUnauthorized) => {\r\n const err = error?.error || error?.errorCode;\r\n\r\n if (err === HTTP_STATUS_CODES.Unauthorized) {\r\n dispatch({\r\n type, options, requestId, tokenExpired: true,\r\n }); // Not sending error with REQUEST_FAILED dispatch\r\n if (onUnauthorized) {\r\n onUnauthorized();\r\n }\r\n } else if (err === HTTP_STATUS_CODES.TooManyRequests) {\r\n dispatch({\r\n type, options, requestId, error: '921',\r\n });\r\n } else if (options?.isPage && (err === YOUWELL_ERROR_CODES.ElementNotFound || err === HTTP_STATUS_CODES.NotFound)) {\r\n dispatch({\r\n type, options, requestId, tokenExpired: true,\r\n }); // Not sending error with REQUEST_FAILED dispatch\r\n dispatch({ type: PAGE_NOTFOUND });\r\n } else {\r\n const errorMessageKey = getErrorMessageOrKey(error);\r\n\r\n dispatch({\r\n type, options, requestId, error: errorMessageKey,\r\n });\r\n }\r\n};\r\n\r\nexport const downloadBlobAsFile = (filename, contentType, blobData) => {\r\n // It is necessary to create a new blob object with mime-type explicitly set\r\n // otherwise only Chrome works like it should\r\n const newBlob = new Blob([blobData], { type: contentType });\r\n\r\n // IE doesn't allow using a blob object directly as link href\r\n // instead it is necessary to use msSaveOrOpenBlob\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(newBlob, filename);\r\n return;\r\n }\r\n\r\n // For other browsers:\r\n // Create a link pointing to the ObjectURL containing the blob.\r\n const data = window.URL.createObjectURL(newBlob);\r\n const link = document.createElement('a');\r\n link.href = data;\r\n link.download = filename;\r\n link.click();\r\n setTimeout(() => {\r\n // For Firefox it is necessary to delay revoking the ObjectURL\r\n window.URL.revokeObjectURL(data);\r\n }, 100);\r\n};\r\n\r\n// This prevents multiple simultaneous calls to `/refreshToken`\r\nlet refreshPromise = null;\r\nconst withRefreshToken = async (fetch, refreshUrl) => {\r\n if (refreshPromise == null) {\r\n refreshPromise = fetch(`${apiUrls.baseUrl}/${refreshUrl}`, {\r\n headers: jsonHeader,\r\n method: 'POST',\r\n });\r\n }\r\n const result = await refreshPromise;\r\n refreshPromise = null;\r\n return result;\r\n};\r\n\r\nconst fetchWithDefaults = async (url, { headers, ...options }) => fetch(url, {\r\n headers: {\r\n ...headers,\r\n 'X-CSRF-TOKEN': Cookie.getValue(CookieNames.csrf),\r\n },\r\n credentials: 'include',\r\n method: 'GET',\r\n ...options,\r\n});\r\n\r\nexport const fetchWithRefresh = async (dispatch, url, options) => {\r\n const response = await fetchWithDefaults(url, options);\r\n\r\n if (response.status === HTTP_STATUS_CODES.Unauthorized) {\r\n if (response.headers.has('X-REFRESH-TOKEN')) {\r\n const refresh = await withRefreshToken(fetchWithDefaults, response.headers.get('X-REFRESH-TOKEN'));\r\n\r\n if (refresh.ok) {\r\n return fetchWithDefaults(url, options);\r\n }\r\n }\r\n\r\n // handleCatch->dispatchError() is always called after this, so maybe this redirect should be there?\r\n // dispatch(push(`/logout/${logoutReasons.tokenExpired}`));\r\n }\r\n return response;\r\n};\r\n\r\nexport const mapToQueryString = requestParams => Object.keys(requestParams).reduce((prev, key) => (hasValue(requestParams[key]) ? `${prev || '?'}${key}=${requestParams[key]}&` : prev), '');\r\n","export const us = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAWCAYAAAChWZ5EAAABT0lEQVRIS2PMFlaJ3SwbPO8dqwgLAwgwM4Ephr//IDQRfCYONobqI7kQ9cSDl///M6QyyhmU/37LKAixnEzAyM7KUHummBzdLxl5TLv////zl2HnvBQGRkYGhpiGC2CDFtcbEM1nZmNhODXXgiQHTJm3FKwe7oBd81MYGBkYGKKhDljSYEA0n5mVheHUPHIdYNH7///P3wxi8iYk+xzmZVZudoZtpyJJCoG1959AQwDNAaT4HGYjGzc7w1ayHTCaBkbTwGgaQEsDJGVmqGKKygE+h8n///34xSAhZ8zA8J+BgYmNGVwC/v39l2g+Oy8Hw/q9gSS5HV4QNU2c+5+dnY0hNTqUJAMoVQyvCwbcAZ0soIBnYAhWlKHUUyTph0fBgDtgwKNgwB3QycLwgoGBQZykCKSe4meMHcwMvoyMDHMYGBjEqGcuUSY9+/+fIQMA7YEh8yRPGe0AAAAASUVORK5CYII=';\r\nexport const no = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAzUlEQVRIS2Ocyszg+5+RYTYDA4M4AxbwrncuWHTSitsosnkRqmC+UHEyNm3EiL1k/M+QyjiFheEFLstBptDQASDjX4Ic8B/ECmVjwepqtucfweIGaftR5C/McgTzf0nyE+NbDDWrf/0Bi406YDQEBj4EmibOBeeC3IQIvKkZVy4gKwswMDBMXrACkgsG3AEilhXgEOCWsyHXM2Tp+/roCCQERh0w4CEw4IlwwB0wWhuOhsBoCAxoo/Q/wzNGaLN8DgMDgxhdm+UgyxkYMgAjmNy/ZTS38QAAAABJRU5ErkJggg==';\r\nexport const en = 'data:image/png;base64,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';\r\n\r\nexport default { no, us, en };\r\n","// Logic adapted from CKEditor\r\n// https://github.com/ckeditor/ckeditor5-media-embed\r\n\r\n// const oembedRegex = /<\\/oembed>/g;\r\nconst oembedRegex = /<\\/oembed>/g;\r\nconst urlRegex = /url=\"([^\"]*)\".*?/;\r\nconst figureRegex = /
<\\/figure>/g;\r\nconst imgRegex = //g;\r\nconst srcRegex = /src=\"([^\"]*)\".*?/;\r\nconst internalLinkRegex = /]*>(.*?)<\\/a>/g;\r\nconst elementIdRegex = /data-elementid=\"([^\"]*)\".*?/;\r\nconst tableFigureRegex = /<\\/figure>/g;\r\nconst tableRegex = //g;\r\nconst firstStyleWidthRegex = /style=\"[^\"]*width:([^;]*);\"/;\r\nconst styleRegex = /style=\"([^\"]*)\"/;\r\n\r\nconst videoProviders = [\r\n {\r\n name: 'dailymotion',\r\n url: /^dailymotion\\.com\\/video\\/(\\w+)/,\r\n html: url => '
'\r\n + `'\r\n + '
'\r\n ,\r\n },\r\n {\r\n name: 'youtube',\r\n url: [\r\n /^youtube\\.com\\/watch\\?v=([\\w-]+)/,\r\n /^youtube\\.com\\/v\\/([\\w-]+)/,\r\n /^youtube\\.com\\/embed\\/([\\w-]+)/,\r\n /^youtu\\.be\\/([\\w-]+)/,\r\n ],\r\n html: url => '
'\r\n + `'\r\n + '
'\r\n ,\r\n },\r\n {\r\n name: 'vimeo',\r\n url: [\r\n /^vimeo\\.com\\/(\\d+)/,\r\n /^vimeo\\.com\\/[^/]+\\/[^/]+\\/video\\/(\\d+)/,\r\n /^vimeo\\.com\\/album\\/[^/]+\\/video\\/(\\d+)/,\r\n /^vimeo\\.com\\/channels\\/[^/]+\\/(\\d+)/,\r\n /^vimeo\\.com\\/groups\\/[^/]+\\/videos\\/(\\d+)/,\r\n /^vimeo\\.com\\/ondemand\\/[^/]+\\/(\\d+)/,\r\n /^player\\.vimeo\\.com\\/video\\/(\\d+)/,\r\n ],\r\n html: url => '
'\r\n + `'\r\n + '
'\r\n ,\r\n },\r\n // {\r\n // name: 'spotify',\r\n // url: [\r\n // /^open\\.spotify\\.com\\/(artist\\/\\w+)/,\r\n // /^open\\.spotify\\.com\\/(album\\/\\w+)/,\r\n // /^open\\.spotify\\.com\\/(track\\/\\w+)/,\r\n // ],\r\n // html: url => '
'\r\n // + `'\r\n // + '
'\r\n // ,\r\n // },\r\n // {\r\n // name: 'instagram',\r\n // url: /^instagram\\.com\\/p\\/(\\w+)/,\r\n // },\r\n // {\r\n // name: 'twitter',\r\n // url: /^twitter\\.com/,\r\n // },\r\n // {\r\n // name: 'googleMaps',\r\n // url: /^google\\.com\\/maps/,\r\n // },\r\n // {\r\n // name: 'flickr',\r\n // url: /^flickr\\.com/,\r\n // },\r\n // {\r\n // name: 'facebook',\r\n // url: /^facebook\\.com/,\r\n // },\r\n];\r\n\r\n/**\r\n * Tries to match `url` to `pattern`.\r\n *\r\n * @param {String} url The URL of the media.\r\n * @param {RegExp} pattern The pattern that should accept the media URL.\r\n * @returns {Array|null}\r\n */\r\nconst getUrlMatches = (url, pattern) => {\r\n // 1. Try to match without stripping the protocol and \"www\" subdomain.\r\n let match = url.match(pattern);\r\n\r\n if (match) {\r\n return match;\r\n }\r\n\r\n // 2. Try to match after stripping the protocol.\r\n let rawUrl = url.replace(/^https?:\\/\\//, '');\r\n match = rawUrl.match(pattern);\r\n\r\n if (match) {\r\n return match;\r\n }\r\n\r\n // 3. Try to match after stripping the \"www\" subdomain.\r\n rawUrl = rawUrl.replace(/^www\\./, '');\r\n match = rawUrl.match(pattern);\r\n\r\n if (match) {\r\n return match;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const detectPattern = (patterns, url) => {\r\n for (let i = 0; i < patterns.length; i++) {\r\n const match = getUrlMatches(url, patterns[i]);\r\n\r\n if (match) {\r\n return match;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nconst replaceVideo = (html) => {\r\n const match = html.match(oembedRegex);\r\n\r\n if (!match) {\r\n return html;\r\n }\r\n\r\n let replaced = html;\r\n\r\n for (let m = 0; m < match.length; m++) {\r\n const urlMatch = match[m].match(urlRegex);\r\n const url = urlMatch && urlMatch[1].trim();\r\n\r\n for (let i = 0; i < videoProviders.length; i++) {\r\n let pattern = videoProviders[i].url;\r\n\r\n if (!Array.isArray(pattern)) {\r\n pattern = [pattern];\r\n }\r\n\r\n const patternMatch = detectPattern(pattern, url);\r\n if (patternMatch) {\r\n replaced = replaced.replace(match[m], videoProviders[i].html(patternMatch[1]));\r\n }\r\n }\r\n }\r\n\r\n return replaced;\r\n};\r\n\r\nconst addNoContextMenu = (html) => {\r\n const match = html.match(imgRegex);\r\n\r\n if (!match) {\r\n return html;\r\n }\r\n let replaced = html;\r\n\r\n for (let m = 0; m < match.length; m++) {\r\n const withNoContext = match[m].replace(' {\r\n const match = html.match(tableFigureRegex);\r\n\r\n if (!match) {\r\n return html;\r\n }\r\n let replaced = html;\r\n\r\n for (let m = 0; m < match.length; m++) {\r\n const figureStyleMatch = match[m].match(firstStyleWidthRegex);\r\n\r\n if (figureStyleMatch) {\r\n const width = figureStyleMatch[1];\r\n const tableMatch = match[m].match(tableRegex);\r\n if (tableMatch) {\r\n const existingTableStyle = tableMatch[0].match(styleRegex);\r\n\r\n let tableReplaced = match[m].replace(firstStyleWidthRegex, figureStyleMatch[0].replace(`width:${width};`, ''));\r\n if (existingTableStyle) {\r\n tableReplaced = tableReplaced.replace(existingTableStyle[1], `${existingTableStyle[1]};width:${width};\" `);\r\n } else {\r\n tableReplaced = tableReplaced.replace(' {\r\n const match = html.match(internalLinkRegex);\r\n\r\n if (!match) {\r\n return html;\r\n }\r\n let replaced = html;\r\n\r\n for (let m = 0; m < match.length; m++) {\r\n const idMatch = match[m].match(elementIdRegex);\r\n if (idMatch) {\r\n const elementId = idMatch[1]?.trim();\r\n\r\n const withAction = match[m].replace(idMatch[0], `onclick=\"__clickInternalLink('${elementId}')\"`);\r\n replaced = replaced.replace(match[m], withAction);\r\n }\r\n }\r\n\r\n return replaced;\r\n};\r\n\r\nexport const replaceEmbedContent = (html, addNoContextForImages = false) => {\r\n let replaced = replaceVideo(html);\r\n if (addNoContextForImages) {\r\n replaced = addNoContextMenu(html);\r\n }\r\n replaced = fixTableWidthLayout(replaced);\r\n replaced = replaceInternalLinks(replaced);\r\n return replaced;\r\n};\r\n\r\nexport const isEmptyHtml = html => !html || html.trim() === '

 

';\r\n\r\nexport const findImageUrl = (html) => {\r\n if (!html) {\r\n return null;\r\n }\r\n\r\n const match = html.match(figureRegex);\r\n if (!match) {\r\n return null;\r\n }\r\n\r\n for (let m = 0; m < match.length; m++) {\r\n const urlMatch = match[m].match(srcRegex);\r\n if (urlMatch && urlMatch[1]) {\r\n return urlMatch[1].trim();\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nexport const findImageUrls = (html) => {\r\n if (!html) {\r\n return null;\r\n }\r\n\r\n const match = html.match(figureRegex);\r\n if (!match) {\r\n return null;\r\n }\r\n\r\n const urls = [];\r\n\r\n for (let m = 0; m < match.length; m++) {\r\n const urlMatch = match[m].match(srcRegex);\r\n if (urlMatch && urlMatch[1]) {\r\n urls.push(urlMatch[1].trim());\r\n }\r\n }\r\n return urls;\r\n};\r\n\r\nexport const stripHtml = (html, defaultText) => {\r\n if (!html) {\r\n return defaultText || '';\r\n }\r\n const doc = new DOMParser().parseFromString(html, 'text/html');\r\n return doc.body.textContent || defaultText || '';\r\n};\r\n\r\nexport const textpart = (html, length) => {\r\n const t = stripHtml(html);\r\n return t.length > length ? `${t.slice(0, length)}...` : t;\r\n};\r\n\r\nexport const getVideos = (html) => {\r\n const match = html && html.match(oembedRegex);\r\n const videoContent = [];\r\n\r\n if (match) {\r\n for (let m = 0; m < match.length; m++) {\r\n const urlMatch = match[m].match(urlRegex);\r\n const url = urlMatch && urlMatch[1].trim();\r\n\r\n for (let i = 0; i < videoProviders.length; i++) {\r\n let pattern = videoProviders[i].url;\r\n\r\n if (!Array.isArray(pattern)) {\r\n pattern = [pattern];\r\n }\r\n\r\n const patternMatch = detectPattern(pattern, url);\r\n if (patternMatch) {\r\n videoContent.push(videoProviders[i].html(patternMatch[1]));\r\n }\r\n }\r\n }\r\n }\r\n\r\n return videoContent;\r\n};\r\n","export { default as MenuIcon } from '@material-ui/icons/Menu';\r\nexport { default as MenuUpIcon } from '@material-ui/icons/KeyboardArrowUp';\r\nexport { default as LogoutIcon } from '@material-ui/icons/LockOpen';\r\nexport { default as BackIcon } from '@material-ui/icons/ArrowBack';\r\nexport { default as ExpandIcon } from '@material-ui/icons/ExpandMore';\r\nexport { default as CollapseIcon } from '@material-ui/icons/ExpandLess';\r\nexport { default as UncheckedIcon } from '@material-ui/icons/CheckBoxOutlineBlank';\r\nexport { default as CheckedIcon } from '@material-ui/icons/CheckBox';\r\nexport { default as SearchIcon } from '@material-ui/icons/Search';\r\nexport { default as ClearIcon } from '@material-ui/icons/Clear';\r\nexport { default as FowardIcon } from '@material-ui/icons/ArrowForward';\r\nexport { default as SeparatorIcon } from '@material-ui/icons/KeyboardArrowRight';\r\nexport { default as OpenInNewWindowIcon } from '@material-ui/icons/OpenInNew';\r\nexport { default as PrevIcon } from '@material-ui/icons/KeyboardArrowLeft';\r\nexport { default as NextIcon } from '@material-ui/icons/KeyboardArrowRight';\r\nexport { default as CompletedIcon } from '@material-ui/icons/Done';\r\nexport { default as CloseIcon } from '@material-ui/icons/Close';\r\nexport { default as EditIcon } from '@material-ui/icons/Edit';\r\nexport { default as CancelIcon } from '@material-ui/icons/Close';\r\nexport { default as SaveIcon } from '@material-ui/icons/Save';\r\nexport { default as ReplayIcon } from '@material-ui/icons/Replay';\r\nexport { default as FileCopyIcon } from '@material-ui/icons/FileCopy';\r\n","export const SORT_OPERATOR_PREFIX = '__sort[';\r\n\r\nexport const isEmpty = obj => obj === ''\r\n || obj === null\r\n || obj === undefined\r\n || (obj.constructor === Object && Object.keys(obj).length === 0)\r\n || (obj.constructor === Array && obj.length === 0);\r\n\r\nexport const hasValue = obj => !isEmpty(obj);\r\n\r\n\r\nexport const mergePatchChanges = (data, changes) => (\r\n changes\r\n ? Object.keys(changes).reduce((prev, curr) => {\r\n if (curr.startsWith(SORT_OPERATOR_PREFIX)) {\r\n const arrayKeyMarker = curr.indexOf('[');\r\n const sortKeyEnd = curr.indexOf(']', arrayKeyMarker);\r\n const arrayName = curr.substring(arrayKeyMarker + 1, sortKeyEnd);\r\n const prevArray = prev[arrayName] || [];\r\n const orderLookup = changes[curr];\r\n\r\n return {\r\n ...prev,\r\n [arrayName]: prevArray.map(d => ({ ...d, sorting: orderLookup[d.id] })).sort((a, b) => a.sorting - b.sorting),\r\n };\r\n }\r\n\r\n const arrayKeyMarker = curr.indexOf('[');\r\n if (arrayKeyMarker > -1) {\r\n const arrayKeySeparator = curr.indexOf(':', arrayKeyMarker);\r\n const arrayKeyEnd = curr.indexOf(']', arrayKeySeparator);\r\n const arrayName = curr.substring(0, arrayKeyMarker);\r\n const arrayKey = curr.substring(arrayKeyMarker + 1, arrayKeySeparator);\r\n const arrayKeyValue = curr.substring(arrayKeySeparator + 1, arrayKeyEnd);\r\n const prevArray = prev[arrayName] || [];\r\n const index = prevArray.findIndex(d => d[arrayKey].toString() === arrayKeyValue);\r\n\r\n return {\r\n ...prev,\r\n [arrayName]: (index > -1\r\n ? prevArray.map((e, i) => (i === index ? changes[curr] : e))\r\n : [...prevArray, changes[curr]])\r\n .filter(d => d),\r\n };\r\n }\r\n\r\n const objectDotIndex = curr.indexOf('.');\r\n if (objectDotIndex > -1) {\r\n const key = curr.substring(0, objectDotIndex);\r\n const subKey = curr.substring(objectDotIndex + 1);\r\n\r\n return {\r\n ...prev,\r\n [key]: {\r\n ...prev[key],\r\n [subKey]: changes[curr],\r\n },\r\n };\r\n }\r\n\r\n return { ...prev, [curr]: changes[curr] };\r\n }, data || {})\r\n : data\r\n);\r\n\r\nexport const mergePatchChangesInStore = (current, changes, update) => (\r\n {\r\n ...mergePatchChanges(current, changes),\r\n ...update,\r\n }\r\n);\r\n\r\nexport const getValueByDotNotation = (obj, propName) => {\r\n if (!obj || !propName) { return null; }\r\n return propName.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), obj);\r\n};\r\n","import {\r\n applyMiddleware, combineReducers, compose, createStore,\r\n} from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\r\n\r\nconst buildRootReducer = (allReducers, history) => combineReducers({ ...allReducers, router: connectRouter(history) });\r\n\r\nexport const updateStore = (store, reducers, history) => {\r\n store.replaceReducer(buildRootReducer(reducers, history));\r\n};\r\n\r\nexport const configureStore = (reducers, history, initialState) => {\r\n const composeEnhancers = (typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) // eslint-disable-line no-underscore-dangle\r\n || compose;\r\n\r\n const store = createStore(\r\n buildRootReducer(reducers, history),\r\n initialState,\r\n composeEnhancers(\r\n applyMiddleware(thunk, routerMiddleware(history)),\r\n ),\r\n );\r\n\r\n return store;\r\n};\r\n","import { hasValue } from './objectUtils';\r\n\r\nexport const calculateResponseScore = (response) => {\r\n if (hasValue(response.scaleResponse)) {\r\n return response.scaleResponse;\r\n }\r\n if (response.choiceResponse?.length > 0) {\r\n return response.choiceResponse.reduce((prev, curr) => prev + (curr.score || 0), 0);\r\n }\r\n return 0;\r\n};\r\n\r\nexport const calculateSubtotals = (taskResponses, taskSubtotals) => {\r\n const scoresByQuestionId = Object.keys(taskResponses)\r\n .filter(key => taskResponses[key]?.response && !taskResponses[key]?.isSubtotal)\r\n .reduce((prev, questionId) => ({ ...prev, [questionId]: calculateResponseScore(taskResponses[questionId].response) }), {});\r\n\r\n return taskSubtotals.map(({ id: taskSubtotalId, questionIds }) => {\r\n const subTotalSum = questionIds?.length > 0\r\n ? questionIds.reduce((sum, questionId) => sum + (scoresByQuestionId[questionId] || 0), 0)\r\n : Object.values(scoresByQuestionId).reduce((sum, score) => sum + score, 0);\r\n\r\n return {\r\n taskSubtotalId,\r\n response: { scaleResponse: subTotalSum },\r\n };\r\n });\r\n};\r\n\r\nexport const getResponseHash = response => (response ? JSON.stringify({\r\n f: response.freetextResponse,\r\n c: response.choiceResponse,\r\n s: response.scaleResponse,\r\n t: response.tableResponses,\r\n}) : null);\r\n\r\nconst reduceResponsesForTask = (newResponses, currentResponseList, taskId, taskVersion, patientProgramElementId, formId) => {\r\n if (!newResponses?.length) {\r\n return currentResponseList;\r\n }\r\n\r\n const existingResponsesForElement = (currentResponseList && currentResponseList[patientProgramElementId]) || {};\r\n const existingResponsesForTask = {\r\n ...existingResponsesForElement[taskId],\r\n patientProgramElementId,\r\n taskId,\r\n formId,\r\n taskVersion,\r\n };\r\n\r\n return {\r\n ...currentResponseList,\r\n [patientProgramElementId]: {\r\n ...existingResponsesForElement,\r\n [taskId]: {\r\n ...existingResponsesForTask,\r\n ...newResponses?.reduce((prev, curr) => ({\r\n ...prev,\r\n [curr.questionId || curr.taskSubtotalId]: {\r\n response: curr.response,\r\n isSubtotal: !!curr.taskSubtotalId,\r\n changeKey: curr.changeKey,\r\n },\r\n }), {}),\r\n },\r\n },\r\n };\r\n};\r\n\r\nexport const parseInsertedResponse = (inputData, subtotals, currentResponses) => {\r\n const {\r\n patientProgramElementId, taskId, taskVersion, responses, formId,\r\n } = inputData;\r\n\r\n const newResponses = responses.map(({ questionId, ...response }) => ({\r\n changeKey: getResponseHash(response),\r\n questionId,\r\n response,\r\n }));\r\n\r\n let responseList = reduceResponsesForTask(newResponses, currentResponses, taskId, taskVersion, patientProgramElementId, formId);\r\n\r\n if (subtotals.length && responseList[patientProgramElementId] && responseList[patientProgramElementId][taskId]) {\r\n const newTaskSubtotalResponses = calculateSubtotals(responseList[patientProgramElementId][taskId], subtotals);\r\n responseList = reduceResponsesForTask(newTaskSubtotalResponses, responseList, taskId, taskVersion, patientProgramElementId, formId);\r\n }\r\n\r\n return responseList;\r\n};\r\n\r\nexport const parseResponseSaveResult = (inputData, taskVisitResult, currentResponses) => {\r\n const {\r\n responses, taskVersion,\r\n } = inputData;\r\n const {\r\n newResponses, patientProgramElementId, taskId, formId,\r\n } = taskVisitResult;\r\n\r\n const savedResponses = responses?.map(({ questionId, ...response }) => ({\r\n changeKey: null,\r\n questionId,\r\n response,\r\n }))\r\n .filter((d) => { // avoid updating elements with \"new\" changes. Only include items with identical changeKey as in store\r\n if (!currentResponses || !currentResponses[patientProgramElementId] || !currentResponses[patientProgramElementId][taskId]\r\n || !currentResponses[patientProgramElementId][taskId][d.questionId]?.response) { return true; }\r\n if (currentResponses[patientProgramElementId][taskId][d.questionId].changeKey === getResponseHash(d.response)) { return true; }\r\n return false;\r\n })\r\n .concat(newResponses || []);\r\n\r\n return reduceResponsesForTask(savedResponses, currentResponses, taskId, taskVersion, patientProgramElementId, formId);\r\n};\r\n\r\nexport const buildResponseLookup = (responseList, existingResponseList) => responseList?.reduce((prev, form) => {\r\n // Structure:\r\n // currentProgramTaskResponses[ppeId][taskId]\r\n // currentProgramTaskResponses[ppeId][taskId].patientProgramElementId;\r\n // currentProgramTaskResponses[ppeId][taskId].taskId;\r\n // currentProgramTaskResponses[ppeId][taskId].formId;\r\n // currentProgramTaskResponses[ppeId][taskId].taskVersion;\r\n // currentProgramTaskResponses[ppeId][taskId].submitted\r\n // currentProgramTaskResponses[ppeId][questionOrSubtotalId].response.scaleResponse;\r\n const formProps = { ...form };\r\n delete formProps.responses; // remove responses-list from props -> this is spread out on [questionId]\r\n\r\n const formVm = {\r\n ...formProps, // includes {patientProgramElementId, taskId, taskVersion, formId, submitted}\r\n ...form.responses?.reduce((rPrev, rCurr) => ({ // [questionId || subtotalId] as direct property\r\n ...rPrev,\r\n [rCurr.questionId || rCurr.taskSubtotalId]: {\r\n // could remove \"response\" prop and decompose all subProps directly. But must remove .response references a lot of places..\r\n response: rCurr.response,\r\n isSubtotal: !!rCurr.taskSubtotalId,\r\n },\r\n }), {}),\r\n };\r\n\r\n return {\r\n ...prev,\r\n [form.patientProgramElementId]: {\r\n ...prev[form.patientProgramElementId],\r\n [form.taskId]: formVm,\r\n },\r\n };\r\n}, existingResponseList || {}) || existingResponseList || {};\r\n\r\nexport const getUpdatedResponsesForTask = (taskResponses, patientProgramElementId, taskId, taskVersion, formId) => {\r\n if (!taskResponses) { return null; }\r\n const updatedResponsesForTask = Object.keys(taskResponses).reduce((prevQuestions, currQuestionId) => (\r\n taskResponses[currQuestionId]?.changeKey && !taskResponses[currQuestionId].isSubtotal // Some keys in currTask are not subprops -> Can be null or undefined\r\n ? [...prevQuestions, {\r\n questionId: currQuestionId,\r\n ...taskResponses[currQuestionId].response,\r\n }] : prevQuestions\r\n ), []);\r\n\r\n if (updatedResponsesForTask.length) {\r\n const responseData = {\r\n patientProgramElementId,\r\n taskId,\r\n taskVersion,\r\n formId,\r\n responses: updatedResponsesForTask,\r\n };\r\n\r\n return responseData;\r\n }\r\n return null;\r\n};\r\n\r\nexport const getSpecificTaskResponses = (existingResponseList, currentTaskResponse) => (taskId) => {\r\n if (!existingResponseList || !taskId) {\r\n return null;\r\n }\r\n\r\n if (currentTaskResponse?.taskId === taskId) {\r\n return currentTaskResponse;\r\n }\r\n\r\n return Object.keys(existingResponseList).reduce((prevPpe, currPpeId) => prevPpe\r\n || Object.keys(existingResponseList[currPpeId]).reduce((prevTask, currTaskId) => prevTask\r\n || (currTaskId === taskId ? existingResponseList[currPpeId][currTaskId] : null),\r\n null),\r\n null);\r\n};\r\n","import { isEmptyHtml } from './htmlUtils';\r\n\r\nexport const newLineStringsFromList = list => (\r\n list ? list.reduce(\r\n (prev, curr) => (prev ? `${prev}\\r\\n${curr}` : curr),\r\n '',\r\n ) : ''\r\n);\r\n\r\nexport const commaStringsFromList = list => (\r\n list ? list.reduce(\r\n (prev, curr) => (prev ? `${prev}, ${curr}` : curr),\r\n '',\r\n ) : ''\r\n);\r\n\r\nexport const listFromNewLineStrings = string => (\r\n string ? string.split(/[\\r\\n]+/).map(d => d.trim()) : []\r\n);\r\n\r\nexport const listFromCommaStrings = (string, defaultValue = []) => (\r\n string ? string.split(',').map(d => d.trim()) : defaultValue\r\n);\r\n\r\nexport const isNullOrUndefined = string => !string || string === '' || string === 'null' || string === 'undefined';\r\nexport const trimIfString = (obj) => {\r\n if (typeof obj === 'string' || obj instanceof String) {\r\n if (isEmptyHtml(obj)) {\r\n return undefined;\r\n }\r\n return obj.trim();\r\n }\r\n return obj;\r\n};\r\n\r\nexport const firstLetterUp = string => (string ? string.charAt(0).toUpperCase() + string.slice(1) : null);\r\n\r\nexport const caseInsensitiveContains = (inputString, searchString) => inputString && inputString.toLowerCase().indexOf(searchString) > -1;\r\n\r\nexport const generateRandomString = (length = 8) => (+new Date() + Math.random().toString(36)).slice(-length);\r\n\r\nexport const trimDown = (str, maxLength) => (str.length > maxLength ? `${str.slice(0, maxLength)}...` : str);\r\n","import { sortDataType, sortDirection } from './constants';\r\n\r\nconst defaultSortValue = (dataType) => {\r\n switch (dataType) {\r\n case sortDataType.date:\r\n return new Date(0);\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nexport const toggleSortDirection = current => (!current || current === sortDirection.desc ? sortDirection.asc : sortDirection.desc);\r\n\r\nexport const getValueByDotNotation = (obj, propName, dataType) => {\r\n if (!obj || !propName) { return defaultSortValue(dataType); }\r\n return propName.split('.').reduce((prev, curr) => (prev ? prev[curr] || defaultSortValue(dataType) : defaultSortValue(dataType)), obj);\r\n};\r\n\r\nconst sortCompNumber = (a, b, sorting) => getValueByDotNotation(sorting.direction === sortDirection.asc ? a : b, sorting.columnName, sorting.dataType) - getValueByDotNotation(sorting.direction === sortDirection.asc ? b : a, sorting.columnName, sorting.dataType);\r\nconst sortCompString = (a, b, sorting) => getValueByDotNotation(sorting.direction === sortDirection.asc ? a : b, sorting.columnName, sorting.dataType).localeCompare(getValueByDotNotation(sorting.direction === sortDirection.asc ? b : a, sorting.columnName, sorting.dataType));\r\nconst sortCompDate = (a, b, sorting) => new Date(getValueByDotNotation(sorting.direction === sortDirection.asc ? b : a, sorting.columnName, sorting.dataType)) - new Date(getValueByDotNotation(sorting.direction === sortDirection.asc ? a : b, sorting.columnName, sorting.dataType));\r\nexport const sortByColumn = (array, sorting) => {\r\n if (!array || !sorting) {\r\n return array || [];\r\n }\r\n\r\n switch (sorting.dataType) {\r\n case sortDataType.date:\r\n return array.sort((a, b) => sortCompDate(a, b, sorting));\r\n case sortDataType.number:\r\n return array.sort((a, b) => sortCompNumber(a, b, sorting));\r\n default:\r\n return array.sort((a, b) => sortCompString(a, b, sorting));\r\n }\r\n};\r\n","import { findImageUrls } from './htmlUtils';\r\n\r\nexport const parseInternalLink = (link) => {\r\n const hashIndex = link.url.indexOf('#');\r\n let taskOrModuleId = link.url;\r\n let hash = '';\r\n\r\n if (hashIndex > -1) {\r\n taskOrModuleId = link.url.substring(0, hashIndex);\r\n hash = `#${link.url.substring(hashIndex + 1)}`;\r\n }\r\n return { taskOrModuleId, hash };\r\n};\r\n\r\nexport const getItemPositionInPatientProgram = (patientProgram, taskOrModuleId) => {\r\n let elementGroup;\r\n let elementIndex;\r\n let taskIndex;\r\n\r\n if (patientProgram) {\r\n const groups = Object.keys(patientProgram.groupedElements);\r\n for (let elementGroupIndex = 0; elementGroupIndex < groups.length; elementGroupIndex++) {\r\n const group = patientProgram.groupedElements[groups[elementGroupIndex]];\r\n for (elementIndex = 0; elementIndex < group.length; elementIndex++) {\r\n const el = group[elementIndex];\r\n elementGroup = el.elementGroup;\r\n if ((el.id === taskOrModuleId)\r\n || (el.module && el.module.id === taskOrModuleId)\r\n || (el.task && el.task.id === taskOrModuleId)) {\r\n return { elementGroup, elementIndex, taskIndex };\r\n }\r\n if (el.module && el.module.tasks) {\r\n for (taskIndex = 0; taskIndex < el.module.tasks.length; taskIndex++) {\r\n const task = el.module.tasks[taskIndex];\r\n if (task.id === taskOrModuleId) {\r\n return { elementGroup, elementIndex, taskIndex };\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return { };\r\n};\r\n\r\nexport const getItemFromPatientProgram = (patientProgram, elementId) => {\r\n if (patientProgram) {\r\n const groups = Object.keys(patientProgram.groupedElements);\r\n for (let elementGroupIndex = 0; elementGroupIndex < groups.length; elementGroupIndex++) {\r\n const group = patientProgram.groupedElements[groups[elementGroupIndex]];\r\n for (let elementIndex = 0; elementIndex < group.length; elementIndex++) {\r\n const el = group[elementIndex];\r\n if (el.id === elementId) return el;\r\n if (el.module && el.module.id === elementId) return el.module;\r\n if (el.task && el.task.id === elementId) return el.task;\r\n\r\n if (el.module && el.module.tasks) {\r\n for (let taskIndex = 0; taskIndex < el.module.tasks.length; taskIndex++) {\r\n if (el.module.tasks[taskIndex].id === elementId) {\r\n return el.module.tasks[taskIndex];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nexport const getItemPositionInProgram = (program, elementId) => {\r\n let moduleIndex;\r\n let taskIndex;\r\n\r\n if (program) {\r\n for (moduleIndex = 0; moduleIndex < program.modules.length; moduleIndex++) {\r\n const module = program.modules[moduleIndex];\r\n if (module.id === elementId) {\r\n return { moduleIndex, taskIndex };\r\n }\r\n if (module && module.tasks) {\r\n for (taskIndex = 0; taskIndex < module.tasks.length; taskIndex++) {\r\n const task = module.tasks[taskIndex];\r\n if (task.id === elementId) {\r\n return { moduleIndex, taskIndex };\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return {};\r\n};\r\n\r\nexport const getItemFromProgram = (program, elementId) => {\r\n if (program) {\r\n for (let moduleIndex = 0; moduleIndex < program.modules.length; moduleIndex++) {\r\n const module = program.modules[moduleIndex];\r\n if (module?.id === elementId) {\r\n return module;\r\n }\r\n for (let taskIndex = 0; taskIndex < module?.tasks?.length; taskIndex++) {\r\n const task = module.tasks[taskIndex];\r\n if (task?.id === elementId) {\r\n return task;\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nexport const getImages = task => task.contentElements?.reduce((prev, curr) => [\r\n ...prev,\r\n ...findImageUrls(curr.htmlContent),\r\n], []) || [];\r\n\r\nexport const preloadImagesInModule = module => module?.tasks?.map(t => getImages(t).map((id) => {\r\n const img = new Image();\r\n img.src = id;\r\n return id;\r\n}));\r\n","import { useState, useEffect } from 'react';\r\n\r\nconst validateField = (values, validatorFunction, fieldName) => {\r\n const validatorFunctions = validatorFunction ? [].concat(validatorFunction) : [];\r\n\r\n const validation = validatorFunctions.reduce((prev, currentFunction) => {\r\n if (!currentFunction) return prev;\r\n const currentValidation = currentFunction(values[fieldName], values, fieldName);\r\n return (\r\n {\r\n valid: prev.valid && currentValidation.valid,\r\n errorTextKey: prev.valid ? currentValidation.errorTextKey : prev.errorTextKey,\r\n }\r\n );\r\n }, { valid: true });\r\n\r\n return validation.valid ? null : validation.errorTextKey;\r\n};\r\n\r\nconst validateAllFields = (values, validators) => Object.keys(validators).reduce(\r\n (prev, key) => ({ ...prev, [key]: validateField(values, validators[key], key) }),\r\n {},\r\n);\r\n\r\nconst checkHasErrors = errors => Object.keys(errors).reduce(\r\n (prev, key) => prev || (errors[key] !== null),\r\n false,\r\n);\r\n\r\nconst useForm = (onSubmit, validations, defaultValues = {}) => {\r\n const [formValues, setValues] = useState(defaultValues);\r\n const [errors, setErrors] = useState({});\r\n const [hasErrors, setHasErrors] = useState(false);\r\n const [shouldValidate, setShouldValidate] = useState(false);\r\n const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n setHasErrors(checkHasErrors(errors));\r\n }, [errors]);\r\n\r\n const handleSubmit = (event) => {\r\n if (event) event.preventDefault();\r\n const validationErrors = validateAllFields(formValues, validations);\r\n\r\n if (!checkHasErrors(validationErrors)) {\r\n onSubmit(formValues, setValues, setHasUnsavedChanges);\r\n }\r\n\r\n setErrors(validationErrors);\r\n setShouldValidate(true);\r\n };\r\n\r\n const handleChange = name => (event) => {\r\n const value = event.target.value;\r\n setValues(prevValues => ({ ...prevValues, [name]: value }));\r\n setHasUnsavedChanges(true);\r\n\r\n if (shouldValidate) {\r\n const err = validateField({ [name]: value }, validations[name], name);\r\n setErrors(prevErrors => ({ ...prevErrors, [name]: err }));\r\n }\r\n };\r\n\r\n const handleCheckedChange = name => (event) => {\r\n handleChange(name)({ target: { value: event.target.checked } });\r\n };\r\n\r\n const resetForm = () => {\r\n setHasUnsavedChanges(false);\r\n setValues(defaultValues);\r\n };\r\n\r\n return {\r\n handleChange,\r\n handleCheckedChange,\r\n handleSubmit,\r\n formValues,\r\n errors,\r\n hasErrors,\r\n hasUnsavedChanges,\r\n resetForm,\r\n };\r\n};\r\n\r\nexport default useForm;\r\n","import { hasValue } from './objectUtils';\r\n\r\nexport const validateRequired = text => ({\r\n valid: !!text && (!text.trim || text.trim().length >= 1),\r\n errorTextKey: 'validations.mandatory',\r\n});\r\n\r\nexport const validateChars = maxChars => text => ({\r\n valid: !text || text.length < maxChars,\r\n errorTextKey: 'validations.text_too_long',\r\n});\r\n\r\nconst rfcEmail = /^(([^<>()\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\nexport const validateEmail = email => ({\r\n valid: !email || rfcEmail.test(email),\r\n errorTextKey: 'validations.not_valid_email',\r\n});\r\n\r\nexport const validateRole = role => ({\r\n valid: !!role && role.trim().length >= 1,\r\n errorTextKey: 'validations.please_select_role',\r\n});\r\n\r\nexport const validateRoleArray = role => ({\r\n valid: role?.length >= 1,\r\n errorTextKey: 'validations.please_select_role',\r\n});\r\n\r\nexport const validateDate = date => ({\r\n valid: !date || Date.parse(date) < 4102444800000, // Max date: 2100-01-01\r\n errorTextKey: 'validations.noAValidDate',\r\n});\r\n\r\nexport const validatePassword = password => ({\r\n valid: !password || password.trim().length >= 8,\r\n errorTextKey: 'validations.password_must_be_at_least_eight_characters',\r\n});\r\n\r\nexport const validatePasswordConfirm = (passwordConfirm, allFields, fieldName) => ({\r\n valid: (!passwordConfirm && !allFields[fieldName.slice(0, -'Confirm'.length)]) || passwordConfirm === allFields[fieldName.slice(0, -'Confirm'.length)],\r\n errorTextKey: 'validations.passwords_does_not_match',\r\n});\r\n\r\nexport const validateFnr = (fnr) => {\r\n if (!hasValue(fnr)) {\r\n return {\r\n valid: true,\r\n };\r\n }\r\n const birthNumber = fnr.toString();\r\n if (!birthNumber || birthNumber.length !== 11) {\r\n return {\r\n valid: false,\r\n errorTextKey: 'validations.notValidFnr',\r\n };\r\n }\r\n\r\n const calculate = (number, factors) => {\r\n let sum = 0;\r\n for (let i = 0, l = factors.length; i < l; ++i) {\r\n sum += parseInt(number.charAt(i), 10) * factors[i];\r\n }\r\n return sum;\r\n };\r\n\r\n let checksum1 = 11 - (calculate(birthNumber, [3, 7, 6, 1, 8, 9, 4, 5, 2]) % 11);\r\n if (checksum1 === 11) checksum1 = 0;\r\n let checksum2 = 11 - (calculate(birthNumber, [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]) % 11);\r\n if (checksum2 === 11) checksum2 = 0;\r\n\r\n return {\r\n valid: checksum1 === parseInt(birthNumber.charAt(9), 10)\r\n && checksum2 === parseInt(birthNumber.charAt(10), 10),\r\n errorTextKey: 'validations.notValidFnr',\r\n };\r\n};\r\n\r\nexport const validateField = (state, validatorFunction, fieldName) => {\r\n const validatorFunctions = validatorFunction ? [].concat(validatorFunction) : [];\r\n\r\n const validation = validatorFunctions.reduce((prev, currentFunction) => {\r\n if (!currentFunction) return prev;\r\n const currentValidation = currentFunction(state[fieldName], state, fieldName);\r\n return (\r\n {\r\n valid: prev.valid && currentValidation.valid,\r\n errorTextKey: prev.valid ? currentValidation.errorTextKey : prev.errorTextKey,\r\n }\r\n );\r\n }, { valid: true });\r\n\r\n const validationErrors = {\r\n ...state.validationErrors, [fieldName]: validation.valid ? null : validation.errorTextKey,\r\n };\r\n\r\n const hasErrors = Object.keys(validationErrors).reduce(\r\n (prev, key) => prev || (key !== 'hasErrors' && validationErrors[key] !== null),\r\n false,\r\n );\r\n\r\n return { ...validationErrors, hasErrors };\r\n};\r\n\r\nexport const validateAllFields = (state, validators) => {\r\n const validatedState = Object.keys(validators).reduce(\r\n (prev, key) => ({ ...prev, validationErrors: validateField(prev, validators[key], key) }),\r\n state,\r\n );\r\n\r\n return validatedState.validationErrors;\r\n};\r\n\r\nexport const addValidator = (validators, target, ...newValidators) => ({\r\n ...validators,\r\n [target]: validators[target] ? [].concat(validators[target], newValidators) : newValidators,\r\n});\r\n"],"sourceRoot":""}