{"version":3,"sources":["img/androidstore.png","img/applestore.png","utils/Utils.js","components/SafeSimpleEvent.js","components/filterAndPagination/FilterHandler.js","components/contexts.js","utils/AxiosHelper.js","utils/AjaxHelper.js","components/ObjectWrapper.js","components/PageState.js","form/Form.js","form/FormFileld.js","form/FormEntry.js","components/InputComponent.js","components/LoginForm.js","components/NotificationsComponent.js","components/SiteState.js","pages/LoginPage.js","pages/LoadingPage.js","components/filterAndPagination/components/PaginationPanel.js","components/filterAndPagination/PaginationHandler.js","components/filterAndPagination/components/TextFilterEntry.js","pages/ChooseHospitalsPage.js","pages/ChooseSurgeonsPage.js","components/tabs/components/TabHeader.js","components/tabs/Tabs.js","components/tabs/components/Tab.js","components/DatePickerComponent.js","components/Select2Component.js","components/EntitySelect2Component.js","components/EntitySelectComponent.js","components/dialogs/SaveTagDialog.js","components/EventProxy.js","components/buttons/PrimaryButton.js","components/dialogs/NewCategoryDialog.js","components/DialogManager.js","components/forms/SavePatientForm.js","components/Flyout.js","components/SavePatientDialogComponent.js","components/SavePatientAnswersComponent.js","components/UpdateStatusDialogComponent.js","components/MoreActions.js","components/table/PatientTable.js","components/filterAndPagination/components/DateFilterEntry.js","components/filterAndPagination/components/MultiselectTagsFilterEntry.js","components/table/PatientTableWithFilter.js","components/PageHeading.js","components/CreateEntityComponent.js","pages/PatientsPage.js","components/ListingTagsView.js","components/ConfirmModule.js","components/table/PathwayTable.js","components/SavePathwayDialog.js","pages/PathwaysPage.js","components/TextAreaComponent.js","components/questionnaire/QuestionOption.js","components/questionnaire/QuestionnaireQuestion.js","components/questionnaire/QuestionnaireCategory.js","pages/QuestionnaireDetails.js","components/table/GeneralInformationTable.js","components/ImageUpload.js","components/GalleryImageComponent.js","components/gallery/ImageTab.js","components/GalleryVideoComponent.js","components/gallery/VideoTab.js","components/GalleryDialogComponent.js","components/VideoUpload.js","components/GalleryItemPickerComponent.js","components/GeneralInformationResources.js","components/SaveFaqItemDialogComponent.js","pages/GeneralInformationPage.js","components/TimePickerComponent.js","components/SaveInformationCardDialogComponent.js","components/table/InformationCardTable.js","components/CreateQuestionnaireInfoCardDialog.js","pages/PathwayDetails.js","components/table/QuestionnaireTable.js","components/filterAndPagination/components/FilterEntryWrapper.js","components/table/QuestionnaireTableWithFilter.js","pages/QuestionnairesPage.js","components/table/QuestionnairesAnswersTable.js","components/table/QuestionnairesAnswersTableWithFilter.js","pages/QuestionnairesAnswerPage.js","AppConstants.js","components/SurgeonProfileForm.js","pages/MyProfilePage.js","components/forms/SaveGalleryItemFrom.js","components/table/GalleryGrid.js","pages/GalleryPage.js","pages/ForgotPasswordPage.js","pages/PageNotFound.js","components/UserMenu.js","components/TranslationSwitch.js","components/ThemeSwitch.js","pages/Header.js","pages/Footer.js","components/menu/MenuItem.js","components/menu/Menu.js","Root.js","components/translations.js","pages/ResetPasswordPage.js","pages/ActivateAcountPage.js","App.js","serviceWorker.js","index.js"],"names":["module","exports","DATE_PATTERN","ToArray","element","Array","isArray","EntityStatus","Deleted","Active","Rejected","UserStatus","Pending","Approved","GalleryItemType","Image","Video","EntityAccessibility","Everyone","OnlySurgeon","Take","array","count","startIndex","arguments","length","undefined","result","remaining","i","push","ValidResult","Success","SafeSimpleEvent","subscribers","unsubscribe","id","_delete","subscriber","find","t","index","indexOf","splice","callback","riseEvent","payload","forEach","clear","subscribe","uuid","defferedRiseEvent","setTimeout","riseUnsubscribeEvent","toUnsubscribe","sub","riseEventCheckSpecificResult","specificResult","outResult","riseEventGetFirstDefinedResult","unsubscribeByName","name","_contains","fn","Where","_FilterHandler","props","_useReducer","useReducer","state","formData","_useReducer2","Object","slicedToArray","initEvent","context","useContext","collectEvent","clearEvent","filterEvent","externalEvent","_ref","type","onFilter","data","objectSpread","children","react_default","a","createElement","className","map","React","cloneElement","key","listChildren","value","onClick","FilterHandler","main","componentDidMount","_this","this","Component","BuildContextValue","defaultFormData","SiteContext","createContext","PatientTableContext","QuestionnaireTableContext","GalleryGridContext","settings","baseURL","window","ENVIRONMENT_URL","withCredentials","crossDomain","axios","create","AjaxHelper","postFile","url","successCallback","failureCallBack","$","ajax","dataType","contentType","xhrFields","processData","success","failure","ObjectWrapper","obj","out","setObject","_obj","prop","ex","keys","safeCall","fnName","_obj2","_len","args","_key","apply","PageStateHandler","SetTo","SetLoading","SetReady","PageState","_Component","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","currentState","setStateEvent","location","setStateEventHandler","setState","pageStateRenderHandlers","error","inherits","createClass","Fragment","isvisible","data-z-index","FormPanel","_reducer","formValidationData","_Form","_renderMap","internalEvents","externalEvents","dispatch","collectDataEvent","validateEvent","clearDataEvent","formContext","validationsUpdated","$form","jQuery","formRef","current","unbind","changeValidationsBegin","validator","unobtrusive","parse","validate","changeValidationsEnd","didMountEvent","isReadonly","AxiosHelper","get","concat","then","response","catch","err","console","log","willUnmountEvent","_ref2","onSubmit","_ref3","isValid","valid","collectIfNotValid","c","ev","hiddenData","onSubmitStart","containsFile","finalData","FormData","append","dontClear","onError","post","render1Col","translateValidations","renderMap","defineProperty","noOfColumns","itemsPerColumn","Math","floor","restItemsCount","colsItems","col","entry","e","preventDefault","ref","style","data-align","align","Provider","Form","createRef","componentWillUnmount","_this2","Consumer","_ref4","assign","validationMessage","FormField","setValidationMessageEvent","text","action","data-valmsg-for","data-valmsg-replace","FormEntry","validationData","getAndTranslateValidation","validations","rules","field","v","FiledName","validationName","ValidationRules","Rules","render","_this$getAndTranslate","child","placeholder","InputComponent","handleEvents","collectData","clearData","reasone","onChange","target","componentWillReceiveProps","onKeyPress","handleKeyPress","subType","readOnly","LoginForm","onLogin","toastr","ShowSuccess","onSuccess","Email","Data","Name","ProfilePictureUrl","HospitalCount","SurgonCount","PracticeId","ShowError","email","password","Form_Form","form_FormEntry","components_InputComponent","Notifications","_notification","isActive","_this$props","delay","remove","notification","_this$props2","data-type","data-isactive","title","message","_NotificationsComponent","NotificationsComponent","notifications","idPool","RemoveNotification","prevState","filter","node","AddNotification","toConsumableArray","_this3","NotificationsComponent_notification","SiteState","LoggedIn","LoggedOut","Loading","ChooseHospital","AfterChooseHospital","RessetPasswordPage","ForgotPassword","ChooseSurgeon","AfterChooseSurgeon","_LoginPage","LoginPage","goToForgotPassword","SetSiteState","isAuthenticated","Redirect","to","components_LoginForm","OnLoginSuccess","LoadingPage","PaginationButton","_props","loadpage","page","PaginationPanel","loadNextPage","pageCount","loadPage","loadPrevPage","loadFirstPage","loadLastPage","takeCountChange","takeCount","parseInt","gotoPage","takeCountVector","outElements","isactive","currentPage","defaultValue","val","isNumber","isNaN","CurrentPage","totalElements","TotalElementsCount","totalPageCount","TotalPages","_PaginationHandler","activeIndex","mountedEvent","init","unmountedEvent","setCurrentState","filterData","setData","stateRenderMapping","processor","dontShowPanel","showPanelIfNeeded","components_PaginationPanel","PaginationHandler","TextFilterEntry","friendlyName","ChooseHospitalTableContext","hospitals","screenIsReady","_ChooseHospitalsPage","userData","SurgeonId","surgeonId","filterAndPagination_FilterHandler","filterAndPagination_PaginationHandler","items","hospital","hospitalId","Id","siteState","showSwapHospital","showSwapSurgeon","Phone","Address","ChooseHospitalsPage","rel","href","ChooseSurgeonTableContext","surgeons","_ChooseSurgeonsPage","practiceId","ActiveIndex","surgeon","surgeonAspnetId","AspnetUserId","ChooseSurgeonsPage","TabHeader","setActive","setActiveTabIdHandler","activeTabId","Tabs","setActiveTabId","initActiveTabId","startTabId","firstChild","tabs","processedTabs","tab","activeTab","tabHeaders","fullTabTitle","components_TabHeader","isDynamic","entityName","Tab","DatePickerComponent","format","date","dateStr","moment","date_picker","Select2Component","options","multiple","Dropdown","disabled","onAddItem","fluid","search","selection","clearable","EntitiesSelect2Component","handleEvent","onChangeEx","validateEntry","requiredRule","r","ValidationType","notMultiple","ErrorMessage","optionsForDropdown","entity","FirstName","LastName","components_Select2Component","EntitiesSelectComponent","selectedOptions","handleChangeTags","getData","tags","entityKey","changeTagsEvent","SaveTagDialog","clearAndClose","isVisible","isEdit","handleEevent","hide","onSaveCallback","eventProxy","setEvent","EventProxy","event","pendingSubscribers","getEvent","PrimaryButton","click","NewCategoryDialog","onCreate","buttons_PrimaryButton","DialogManager","Show","_DialogManagerComponent","DialogManagerComponent","handler","dialogHandle","dialogs","currentDialogName","proxy","HandleDialogEvent","none","tag_dialog","new_category_dialog","dialogs_SaveTagDialog","dialogs_NewCategoryDialog","SavePatientForm","patient","formEvents","ActivePathwayId","activePathwayId","Code","code","firstName","lastName","phone","dateOfBirth","components_DatePickerComponent","dateOfSurgery","timeOfSurgery","EntitySelect2Component","EntitySelectComponent","FlyoutHead","showCloseButton","close","FlyoutBody","FlyoutFooter","_Flyout","Children","Flyout","closeFlyout","isOpen","onClose","openFlyout","startVisible","isopen","data-size","size","SavePatientDialogComponent","_patient","handleClose","surgeryTime","showEditPatientModal","components_Flyout","forms_SavePatientForm","SavePatientAnswersComponent","downloadAnswers","answerTime","method","responseType","headers","Accept","URL","createObjectURL","Blob","link","document","setAttribute","body","appendChild","questionnaires","showPatientAnswer","data-more-actions","item","QuestionnaireId","QuestionnaireName","dist_default","AnswerTimeDate","AnswerTimeString","UpdateStatusDialogComponent","Modal","open","showRemoveEntityModal","closeIcon","basic","Header_Header","content","Content","toLowerCase","legend","Actions","Button","color","inverted","updateEntity","Icon","cancelUpdate","MoreActionsItem","MoreActionsLinkItem","Link","MoreActionsMenu","onItemClick","itemId","closeOnActionClick","handleClick","contains","addEventListener","removeEventListener","patients","patientId","patientName","showUpdateEntityModal","updateDialogAction","patientToUpdate","_PatientTable","patientTableContext","handleEditPatient","Tags","tag","PhoneNumber","DateOfBirth","DateOfSurgery","SurgeryTime","willMoundEvent","surgeonTableContext","handleMenuItemClick","menuItemId","handleActivatePatient","handleRemovePatient","renderPatientsTable","Age","Surgery","Pathway","MoreActions_MoreActionsMenu","tabs_Tabs","components_Tab","PaginationHandler_PaginationHandler","components_SavePatientDialogComponent","components_SavePatientAnswersComponent","components_UpdateStatusDialogComponent","PatientTable","DateFilterEntry","MultiselectFilterEntry","PatientTableWithFilter","table_PatientTable","ActionGroup","PageTitle","PageHeading","CreateEntityComponent","StatusCode","showCreateModal","handleOpen","_PatientPage","setStateEventWrapper","components_PageHeading","components_CreateEntityComponent","table_PatientTableWithFilter","PatientsPage","ListingTagsView","leftoverCount","showLeftover","slice","Confirm","ConfirmModule","PathwayTableContext","_PathwayTable","tableContext","PathwayTable","onMenuItemClick","confirmHandler","duplicatePathway","deletePathawy","Value","history","renderPathwaysTable","pathway","data-issystem","IsTemplate","width","components_ListingTagsView","withRouter","showModal","SavePathwayDialog","Type","TagIds","Types","show","edit","savePathwayProxy","ids","d","pathwayId","_PathwaysPage","table_PathwayTable","PathwaysPage","TextAreaComponent","QuestionOption","InternalId","Title","Weight","Message","components_TextAreaComponent","QuestionnaireQuestion","addNewOption","updateInternalState","option","updatedData","newOption","questionData","QuestionChoices","handleInternalEvents","o","forceUpdate","handleConfirm","questionTitle","q","QuestionOption_QuestionOption","QuestionnaireCategory","updateCategoryData","update","questions","qq","Desc","OrderIndex","addEmptyQuestion","componentDidUpdate","Questions","deleteThis","questionnaireId","questionnaire_QuestionnaireQuestion","_QuestionnaireDetails","QuestionnaireDetails","componentWillMount","refreshData","updateCurrentCategoryData","category","IsValid","categories","cat","updateFormData","PathwayIds","createNewCategory","newCategory","activeCategoryId","QuestionnaireCategories","qc","EstimatedCompletionTime","JSON","stringify","dest","Url","pushState","counter","params","QueryString","questionnaire_QuestionnaireCategory","GeneralInformationTableContext","GeneralInformationTable","contextValue","editEvent","renderFAQTable","paginationId","faqEntry","Description","events","ImageUpload","onShow","file","imagePreviewUrl","showEvent","reader","FileReader","files","onloadend","handleImageChange","readAsDataURL","$imagePreview","src","accept","GalleryImageComponent","useRef","source","class","alt","deleteResource","galleryGrid","editItem","ImageTab","components_GalleryImageComponent","AccessibleTo","GalleryVideoComponent","controls","VideoTab","components_GalleryVideoComponent","GalleryDialogComponent","handleShowGallery","currentSrc","handleClickCallBack","showGalleryEvent","centered","Header","dialogTitle","gallery_ImageTab","gallery_VideoTab","VideoUpload","videoPreviewUrl","handleVideoChange","GalleryItemPickerComponent","urlPostName","postBas64","isRequired","validateCallback","errMessage","trim","handleClickCallbackCover","hideModal","showUploadEvent","showPickFromGallery","internalEventHandler","components_GalleryDialogComponent","components_ImageUpload","components_VideoUpload","hasRemove","RemoveDiv","GeneralInformationResources","resources","collectDataAsObject","j","resourcesArray","jsonArray","computeListOfResources","addResourceUrl","list","removeResourceUrl","elementToRemove","cancelDelete","removeId","resource","SaveFaqItemDialogComponent","onEdit","coverUrl","CoverUrl","description","parentId","ParentId","GeneralResources","clearState","coverFile","resourcesUrl","hidden","components_GalleryItemPickerComponent","components_GeneralInformationResources","_GeneralInformationPage","GeneralInformationPage","saveFAQFlyoutEvents","table_GeneralInformationTable","components_SaveFaqItemDialogComponent","editFaqItemEvent","TimePickerComponent","time_picker","defaultOpenValue","SaveInformationCardDialogComponent","_this$state","showFlyout","getInfoCardData","handleClickCallbackVideoCover","videoCoverFile","videoCoverUrl","handleClickCallbackExternalVideoCover","externalVideoCoverFile","externalVideoCoverUrl","handleChangeDays","days","handleChangeInfo","info","handleChangeMessage","handleChangeVideoUrl","videoUrl","handleChangeExternalUrl","externalUrl","handleChangeExternalResourceUrl","externalResourceUrl","handleChangeTime","_time","time","externalVideoFile","externalResourceName","str","valStr","match","unix","StrDateToMoment","Time","ImageUrl","VideoCaptionUrl","ResourceCaptionUrl","Day","Info","VideoUrl","ResourceUrl","ResourceName","components_TimePickerComponent","InformationCardTableContext","InformationCardTable","moreActionsItemClick","HasQuestionnaire","saveQuestionnaireInfoCardProxy","saveInfoCardProxy","deleteInfoCard","renderInformationCardTable","infoCard","data-isquestionnaire","SimpleLink","CreateQuestionnaireInfoCardDialog","clearInfCardData","visible","InfoCard","PathwayId","_PathwayDetails","queryParams","isTemplate","tableEvents","LoadPathway","tooltip","table_InformationCardTable","components_SaveInformationCardDialogComponent","pageState","components_CreateQuestionnaireInfoCardDialog","PathwayDetails","questionnaireToUpdateId","_QuestionnaireTable","questionnaireTableContext","handleRemoveQuestionnaire","duplicate","deleteQuestionnaire","questionnaire","QuestionnaireTable","FilterEntryWrapper","label","QuestionnaireTableWithFilter","components_FilterEntryWrapper","table_QuestionnaireTable","_QuestionnairesPage","table_QuestionnaireTableWithFilter","QuestionnairesPage","_QuestionnairesAnswersTable","answer","PatientName","SurgeryDate","PathwayName","SurgeonName","AnswerTime","QuestionnairesAnswersTable","QuestionnairesAnswersTableWithFilter","downloadAllQuestionnaireAnswers","table_QuestionnairesAnswersTable","_QuestionnairesAnswerPage","table_QuestionnairesAnswersTableWithFilter","QuestionnairesAnswerPage","DEFAULT_USER_PICTURE_URL","DEFAULT_USER_PICTURE_URL_ABSOLUTE","origin","ProfilePictureComponent","handleChange","fileAsUrl","pickerRef","SurgeonProfileForm","SITE_EVENTS","Website","SurgeonProfileForm_ProfilePictureComponent","_MyProfilePage","siteContext","components_SurgeonProfileForm","MyProfilePage","SaveGalleryItemFrom","showDeleteModal","itemToDelete","showEditModal","itemToUpdate","_GalleryGrid","galleryGridContainer","tagToDelete","forms_SaveGalleryItemFrom","GalleryGrid","willMountEvent","_GalleryPage","table_GalleryGrid","GalleryPage","ForgotPasswordPage","onSubmitSuccess","PageNotFound","UserMenuItem","_getPrototypeOf2","onClickHandler","UserMenu","_Component2","handleSiteEvents","handleDocumentClick","imgUrl","timestamp","Date","getTime","LogOut","LogOutAction","profilePictureUrl","translate","components_UserMenu","UserMenu_UserMenuItem","routerEvents","Footer","MenuItem","setActiveId","isLogo","activeId","pathname","includedLocaitons","l","isselected","itemClass","Menu","handleRouterEvents","itemsKeyPool","_Root","pages_Header","BrowserRouter","menu_Menu","menu_MenuItem","Switch","Route","path","exact","component","pages_Footer","Root","objectDestructuringEmpty","Root_Root","jp","locale","General","EmailLabel","PassowrdLabel","ChooseLanguageLabel","DarkThemeLabel","ContrastThemeLabel","NameLabel","WelcomeTitleLabel","LogOutLabel","Login","ThisIsLoginPageLabel","HomeLabel","TabsExampleLabel","FilterAndPaginationExampleLabel","FirstNameLabel","LastNameLabel","AddressLabel","Address2Label","Validations","_Validations","defaultLanguage","translations","active","all","_Validations2","ResetPasswordPage","_renderers","splitByQ","split","parts","ExtractParamsFromQueryString","onRessetPassword","renderSuccess","renderFail","renderInvalidData","renderers","ActivateAccount","queryString","userId","renderActivating","androidstore","applestore","THEME_LINKS","SiteReducer","newTranslation","version","activeTranslation","Theme","auth","SiteWrapper","Themes","_siteState","HospitalId","RenderActivateAccount","RenderLoggedIn","src_Root","pages_ChooseHospitalsPage","RenderLoading","pages_LoadingPage","components_NotificationsComponent","components_ConfirmModule","DialogManager_DialogManagerComponent","components_PageState","pages_LoginPage","pages_ResetPasswordPage","ActivateAcountPage","pages_ForgotPasswordPage","pages_ChooseSurgeonsPage","Render","App","Boolean","hostname","ReactDOM","src_App","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.1506f691.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK8AAAAyCAYAAAAqaovoAAAAAXNSR0IArs4c6QAAFLdJREFUeAHtnQWUHcUShpvgwd0hSHB3DxDc3SW468E1OAQ/uCW4u3twd9cQCO7u0O//Kql5vbP37l6ZJZswdc5s35lpra6uLuvZEP4P3fXzXF3f6orlVeKgk9EAdAl9zqirBayhu0G6SqItcdDZaQA6XRPqHUHXTLru1zWFrhJKDAwLGPhEnew5ov700dVjWOhx2ccSA0MwMJbSrnBeZIlxhzwskxIDwwoGvoN4kXFKKDEwzGGgS2fq8SijjBJGGIH1VEKJgfYx0CmId7HFFgunnnpquPPOO8P000/ffq/ryDHuuOOGmWaaKcw999xhlllmCWOOOWYdpYvLOsEEE4R99tkndOvWrbhKh9S05pprhs0226zwemupsGvXrmGbbbYJPXoMHbVpqJlGxhtvvHjGGWfEn376KQLffPNNnHbaaQvrz4gjjhhPPvnk+MEHH8RXXnklvvzyy5YeccQRcYwxxiisHU1yu3XNPvvsNsaVV1653by11JfmueOOO+Krr75aeL1pG/57rLHGipNNNlnW1qSTTho/+uijKOaTPfO8HZ2OpAaGCohww/XXXx+WXnrprH0hIXAVBYgg00wzTfj888/DeuutF0SwYfnllw8iXnveq1evIIoqqrk26/nnn3/s/d9//91mvkZe/vLLL+HXX39tpGjdZcQMwuSTTx5WWWUVKwv+/s320w4PNbFhv/32a0G4dOqmm24Kf/75Z9q/pn9DNOLoQdw3vP766yaeHHXUUWH99dc3UYIGkLXZ+vr37x8efvjhsOeeewa2Q2CTTTYJTBh5RhpppHDwwQeHrbbayt4hApx99tlh/vnnN3HkhBNOsO374osvDk899VTYYYcdgri/5a30h62WBfzEE0+E0047zRaU51thhRXCbbfdFh577LFw4YUXthCnxP1sAT777LOhX79+YYoppghtLYru3buH8847Lzz55JPhqquuCgsssIA3EzbccMPQp0+fsP3221s/LrvsMhOvsgzJj+222y6su+66YeGFFw7XXnut1cN8/fXXX2GqqaYKZ555po171113DSOPPHJWcuaZZw5XXHFFePTRR22ciFBFwb/O7jWY+OWXX9o26n8GDhwYRQyF9kXEFoXkeM8997Sod8EFF4y///573GCDDez5QQcdFH/88ce4yy67xJ133jmKi8VjjjnG3mmyrIv0je3yt99+iyIae0d58rJ1TjzxxJExfPzxx/HAAw+MIrioiY3aWSzvrLPOavWIKO1+oYUWit99910UUcW11147vvHGG1FEHDWx9n611VaLWmCxZ8+eJurceuutUQRh7xC16O9uu+0WDz/88KgFGrXo7J2IokU6ySSTxDfffDPedddd1s6NN94Yv/jiiyj53/IdffTR1q+rr746iujip59+avgabbTRWtRDvYssskh87bXXrD4t4CiCtf6KKcTPPvssHnDAAfGcc86xcS+33HJWHpwxNi0Qw4UWUNSCa1V3vt813rccbI2FmmocIkkBmdcJqcj2qxHvvPPOa0QHcTBJ77//frzooouyMYmDxK+//jqK+9oEMaHiUHHjjTe2yUN2nm222eLpp58eb7/9disH8b733nvZxHAPcYqL23snXoktdi+ObcQujm73jB9YccUV7R48iMNFiTZR3De+9dZbRijjjz++ES6E4ri677774tNPP53d+3PSnXbaKWpbt/5yLy4cf/jhhwjRct+7d2/rpxPzscceGz/55BNbjGk9/pvx0p7fszjefffdDH/oMYx7//33tzw77rhj/P777w13yyyzTDzrrLOs/8jOXkej6VCReeebbz71dzC8/fbbARECkeHfAqwOyMPilGGiiSYyWXjAgAFZ8+IuJgZMOOGEJoO/9NJLpk2POuqo4brrrguLLrpoWHzxxS1lq3RARBGh2604tMmh6fbp+UjFyYMmPfzxxx/2+J133rEU60iXLl3CSSedFMR9wwMPPGAyJf3luRZF0IIL4qaWnz8iljDOOONk9+kP2hGnDd9+iy8qmAglLmmiBvfUK+YRRNDcBi1aa4e2KgFiEGVSYNzoFYB2tMDY6SNA+4hb2267rYk2lBfxWxuWoYk/lXvYRIVpUQaZHyjvpRmHyy+/PGy99dYmP0G45GNg1ZCW1lvvbzG0rIg4ZhC3MflPHNQmk8nHlOawxBJLBG3/NulMzIMPPmjyuSwG4eabbzaC2mijjYzokUlT8PF6mrad5hMnDXPOOWdAcQUkytjksqCQYcENsihy5gsvvGAEAG7o188//xwwLwKjjz66EQj9rAQQOfWhuAKkU089dZD1JctOX72/nmYvcz8YD4s4D17OU38P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\"","import moment from \"moment\";\r\n\r\nconst DATE_PATTERN = /(\\d+)/g //used to capture the time from \"/Date(1234567)/\" formated dates\r\n\r\nconst ToArray = element => {\r\n if (!Array.isArray(element)) {\r\n return [element];\r\n }\r\n return element;\r\n}\r\n\r\nconst EntityStatus = {\r\n Deleted: -1,\r\n Active: 0,\r\n Rejected: 1\r\n}\r\n\r\nconst UserStatus = {\r\n Rejected : -1,\r\n Pending : 0,\r\n Approved : 1,\r\n Deleted : 2\r\n}\r\n\r\nconst GalleryItemType = {\r\n Image: 0,\r\n Video: 1\r\n}\r\n\r\nconst EntityAccessibility = {\r\n Everyone: 0,\r\n OnlySurgeon: 1\r\n}\r\n\r\nexport function Take(array, count, startIndex = 0) {\r\n if (!Array.isArray(array)) {\r\n return []\r\n }\r\n\r\n const result = []\r\n const remaining = (array.length - startIndex) - count\r\n if (remaining < 0) {\r\n count -= remaining\r\n if (!count) {\r\n return []\r\n }\r\n }\r\n\r\n for (let i = 0; i < count; i++) {\r\n result.push(array[startIndex + i])\r\n }\r\n\r\n return result\r\n}\r\n\r\nexport function All(array, fn) {\r\n if (!Array.isArray(array)) {\r\n return false\r\n }\r\n\r\n array.forEach((i) => {\r\n if (!fn(i)) {\r\n return false\r\n }\r\n })\r\n\r\n return true\r\n}\r\n\r\n function ExtractParamsFromQueryString(url) {\r\n var params = {};\r\n if (!url) {\r\n return params;\r\n }\r\n var splitByQ = url.split('?');\r\n if (!splitByQ[1]) {\r\n return params;\r\n }\r\n var splitByA = splitByQ[1].split('&');\r\n splitByA.forEach(t => {\r\n const parts = t.split('=');\r\n params[parts[0]] = parts[1];\r\n })\r\n return params;\r\n }\r\n\r\nexport function Where(array, fn) {\r\n if (!Array.isArray(array)) {\r\n return false\r\n }\r\n\r\n const result = []\r\n array.forEach((i) => {\r\n if (fn(i)) {\r\n result.push(i)\r\n }\r\n })\r\n\r\n return result\r\n}\r\n\r\nexport function SelectArray(array, fn) {\r\n\r\n}\r\n\r\nexport function ExtractIds(entityList) {\r\n let entityIds = entityList.map(entity => {\r\n return entity.Id;\r\n });\r\n return entityIds;\r\n}\r\n\r\nexport function ValidResult(result) {\r\n return result && result.Success;\r\n}\r\n\r\nexport function StrDateToMoment(str) {\r\n const valStr = str.match(DATE_PATTERN)[0]\r\n if (!valStr) {\r\n return null\r\n }\r\n\r\n return moment.unix(parseInt(valStr) / 1000)\r\n}\r\n\r\n function StopPropagation(ev) {\r\n ev.stopPropagation();\r\n }\r\n\r\nexport { ToArray, EntityStatus, GalleryItemType, StopPropagation, ExtractParamsFromQueryString, UserStatus, EntityAccessibility }\r\n","import uuid from \"uuid\"\r\nimport { Where } from \"../utils/Utils\";\r\n\r\nexport default function SafeSimpleEvent() {\r\n const subscribers = []\r\n\r\n const subscribe = (callback, id) => {\r\n if (!id) {\r\n id = uuid();\r\n subscribers.push({\r\n id,\r\n callback\r\n })\r\n return;\r\n }\r\n\r\n let subscriber = subscribers.find((t) => t.id === id)\r\n if (subscriber) {\r\n subscriber.callback = callback\r\n }\r\n else {\r\n subscriber = {\r\n id,\r\n callback\r\n }\r\n\r\n subscribers.push(subscriber)\r\n }\r\n\r\n return id;\r\n }\r\n\r\n const clear = ()=>{\r\n subscribers.length = 0\r\n }\r\n\r\n const unsubscribeByName = (name, _contains = false, _delete = false) => {\r\n const toDelete = Where(subscribers, (t) => {\r\n return _contains ? (t.id.indexOf(name) !== -1) : (t.id === name)\r\n })\r\n\r\n toDelete.forEach(subscriber => {\r\n if (!subscriber) {\r\n return\r\n }\r\n\r\n if (!_delete) {\r\n subscriber.callback = null\r\n }\r\n else {\r\n const index = subscribers.indexOf(subscriber)\r\n if (index >= 0) {\r\n subscribers.splice(index, 1)\r\n }\r\n }\r\n })\r\n }\r\n\r\n const unsubscribe = (id, _delete = false) => {\r\n let subscriber = subscribers.find((t) => t.id === id)\r\n if (subscriber) {\r\n if (!_delete) {\r\n subscriber.callback = null\r\n }\r\n else {\r\n const index = subscribers.indexOf(subscriber)\r\n if (index >= 0) {\r\n subscribers.splice(index, 1)\r\n }\r\n }\r\n }\r\n }\r\n\r\n const riseEvent = (payload) => {\r\n subscribers.forEach(subscriber => {\r\n if (typeof (subscriber.callback) !== \"function\") {\r\n return\r\n }\r\n subscriber.callback(payload)\r\n });\r\n }\r\n\r\n const riseUnsubscribeEvent = (payload) => {\r\n const toUnsubscribe = []\r\n \r\n subscribers.forEach(subscriber => {\r\n if (typeof (subscriber.callback) !== \"function\") {\r\n return\r\n }\r\n if(subscriber.callback(payload)){\r\n toUnsubscribe.push(subscriber)\r\n }\r\n });\r\n\r\n toUnsubscribe.forEach(sub => unsubscribe(sub.id, true))\r\n }\r\n\r\n const defferedRiseEvent = (payload) => {\r\n setTimeout(() => {\r\n subscribers.forEach(subscriber => {\r\n subscriber.callback && subscriber.callback(payload)\r\n });\r\n }, 1);\r\n }\r\n\r\n const riseEventCheckSpecificResult = (payload, specificResult) => {\r\n if (specificResult === undefined) {\r\n\r\n riseEvent(payload)\r\n\r\n return null\r\n }\r\n\r\n let outResult = null\r\n for (let index = 0; index < subscribers.length; index++) {\r\n const subscriber = subscribers[index];\r\n\r\n if (typeof (subscriber.callback) !== \"function\") {\r\n continue\r\n }\r\n\r\n const result = subscriber.callback(payload)\r\n if (result === specificResult && outResult === null) {\r\n outResult = subscriber\r\n }\r\n }\r\n\r\n return outResult\r\n }\r\n\r\n const riseEventGetFirstDefinedResult = (payload) => {\r\n for (let index = 0; index < subscribers.length; index++) {\r\n const subscriber = subscribers[index];\r\n\r\n if (typeof (subscriber.callback) !== \"function\") {\r\n continue\r\n }\r\n\r\n const result = subscriber.callback(payload)\r\n if (result !== undefined) {\r\n return result\r\n }\r\n }\r\n }\r\n\r\n return {\r\n clear,\r\n subscribers,\r\n subscribe,\r\n riseEvent,\r\n defferedRiseEvent,\r\n riseUnsubscribeEvent,\r\n unsubscribe,\r\n riseEventCheckSpecificResult,\r\n riseEventGetFirstDefinedResult,\r\n unsubscribeByName\r\n }\r\n}","import React, { Component, useReducer, useContext } from 'react'\r\nimport uuid from \"uuid\"\r\n\r\nimport \"../../css/basicFilterHandler.css\"\r\n\r\nimport SafeSimpleEvent from \"../SafeSimpleEvent\"\r\nimport { ToArray } from '../../utils/Utils';\r\n\r\nfunction _FilterHandler(props) {\r\n const [state, dispatch] = useReducer((state) => state, {\r\n formData: {},\r\n })\r\n\r\n props.initEvent.subscribe(() => {\r\n //onFilter()\r\n })\r\n\r\n const context = useContext(props.context);\r\n\r\n const collectEvent = SafeSimpleEvent()\r\n const clearEvent = SafeSimpleEvent()\r\n const filterEvent = SafeSimpleEvent()\r\n\r\n const onExternalEvent = ({ type, payload }) => {\r\n if (type == 'collect') {\r\n collectEvent.riseEvent(payload)\r\n }\r\n }\r\n\r\n if (props.externalEvent) {\r\n props.externalEvent.subscribe(onExternalEvent);\r\n }\r\n\r\n const onFilter = (data) => {\r\n let formData = {}\r\n collectEvent.riseEvent(formData)\r\n\r\n if (data) { \r\n formData = {\r\n ...formData,\r\n ...data\r\n }\r\n }\r\n context.formData = formData;\r\n context.filterEvent.defferedRiseEvent(formData)\r\n }\r\n\r\n filterEvent.subscribe((data) => {\r\n onFilter(data);\r\n }\r\n )\r\n\r\n const onClear = () => {\r\n clearEvent.riseEvent()\r\n context.formData = {}\r\n context.filterEvent.defferedRiseEvent()\r\n }\r\n\r\n const listChildren = (children) => {\r\n if (!Array.isArray(children)) {\r\n children = [children];\r\n }\r\n return children.map((element, i) => (\r\n React.cloneElement(element, { collectEvent, clearEvent, key: uuid(), filterEvent })\r\n ));\r\n }\r\n\r\n const children = ToArray(props.children)\r\n return (\r\n
\r\n {\r\n children.length ? (< div className=\"d-filter-entries\">\r\n {\r\n listChildren(children)\r\n }\r\n
) : null\r\n }\r\n \r\n { return onFilter() }} />\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nclass FilterHandler extends Component {\r\n state = {\r\n initEvent: SafeSimpleEvent(),\r\n main: null\r\n }\r\n\r\n componentDidMount = () => {\r\n setTimeout((state) => {\r\n state.initEvent.riseEvent()\r\n }, 300, this.state);\r\n }\r\n\r\n render() {\r\n const props = { ...this.props, initEvent: this.state.initEvent }\r\n\r\n return (\r\n <_FilterHandler {...props} />\r\n )\r\n }\r\n}\r\n\r\nFilterHandler.BuildContextValue = (defaultFormData) => {\r\n if (!defaultFormData) {\r\n defaultFormData = {}\r\n }\r\n\r\n return {\r\n formData: {\r\n ...defaultFormData\r\n },\r\n filterEvent: SafeSimpleEvent(),\r\n }\r\n}\r\n\r\nexport default FilterHandler\r\n","import React from \"react\"\r\nimport FilterHandler from \"./filterAndPagination/FilterHandler\";\r\n\r\n\r\nexport const SiteContext = React.createContext();\r\nexport const PaginationContext = React.createContext();\r\nexport const HospitalTableContext = React.createContext(FilterHandler.BuildContextValue());\r\nexport const SurgeonTableContext = React.createContext(FilterHandler.BuildContextValue());\r\nexport const PatientTableContext = React.createContext(FilterHandler.BuildContextValue());\r\nexport const QuestionnaireTableContext = React.createContext(FilterHandler.BuildContextValue());\r\nexport const GalleryGridContext = React.createContext(FilterHandler.BuildContextValue());\r\n\r\nexport default function dummy() {}\r\n // HospitalTableContext = React.createContext()\r\n // PatientsContext : React.createContext()\r\n // PathwaysContext : React.createContext()\r\n // QuestionnairesContext : React.createContext()\r\n// GeneralInformationContext : React.createContext()\r\n//module.exports = {\r\n// SiteContext : React.createContext(),\r\n// PaginationContext : React.createContext(),\r\n// HospitalTableContext : React.createContext(FilterHandler.BuildContextValue()),\r\n// SurgeonTableContext : React.createContext(FilterHandler.BuildContextValue()),\r\n//}\r\n\r\n//export { SiteContext, TestPaginationContext, PatientsContext, PathwaysContext, QuestionnairesContext, GeneralInformationContext }","import axios from \"axios\";\r\n\r\n//window.ENVIRONMENT_URL = \"http://suxeed.surgeon/api\";\r\nconst settings = {\r\n baseURL: window.ENVIRONMENT_URL,\r\n withCredentials: true,\r\n crossDomain: true,\r\n};\r\n\r\nexport default axios.create(settings);\r\n","import $ from 'jquery';\r\n//window.ENVIRONMENT_URL = 'http://suxeed.surgeon/api/'\r\n\r\nvar AjaxHelper = function () {\r\n function postFile(url, formData, successCallback, failureCallBack) {\r\n $.ajax({\r\n type: \"POST\",\r\n url: window.ENVIRONMENT_URL + url,\r\n data: formData,\r\n dataType: \"json\",\r\n contentType: false,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n crossDomain: true,\r\n processData: false,\r\n success: successCallback,\r\n failure: failureCallBack\r\n });\r\n }\r\n\r\n return {\r\n postFile: postFile\r\n };\r\n}();\r\n\r\nexport default AjaxHelper;","export default function ObjectWrapper(obj = null) {\r\n const props = []\r\n const out = () => { return obj }\r\n\r\n const collectProps = () => {\r\n Object.keys(obj).forEach((key) => {\r\n out[key] = obj[key]\r\n\r\n props.push(key)\r\n })\r\n }\r\n\r\n const clearProps = () => {\r\n props.forEach((prop) => {\r\n try {\r\n delete out[prop]\r\n }\r\n catch (ex) { }\r\n })\r\n }\r\n\r\n const setObject = (_obj) => {\r\n obj = _obj\r\n if (!obj) {\r\n clearProps()\r\n props.length = 0\r\n return\r\n }\r\n\r\n collectProps()\r\n }\r\n\r\n const safeCall = (fnName, ...args) => {\r\n if (obj && typeof (obj[fnName]) === \"function\") {\r\n return obj[fnName](...args)\r\n }\r\n\r\n return null\r\n }\r\n\r\n out.setObject = setObject\r\n out.safeCall = safeCall\r\n\r\n return out\r\n}","import React, { Component } from 'react'\r\nimport \"../css/siteState.css\"\r\nimport \"../css/loading.css\"\r\nimport SafeSimpleEvent from './SafeSimpleEvent';\r\nimport ObjectWrapper from \"./ObjectWrapper\"\r\n\r\nexport const PageStateContext = React.createContext()\r\nexport const PageStateHandler = ObjectWrapper({\r\n SetTo: () => { },\r\n SetLoading: () => { },\r\n SetReady: () => { }\r\n})\r\n\r\nexport class PageState extends Component {\r\n state = {\r\n currentState: \"READY\",\r\n setStateEvent: SafeSimpleEvent(),\r\n location: this.props.location ? this.props.location : \"site\",\r\n\r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n const pageStateRenderHandlers = {}\r\n\r\n pageStateRenderHandlers[\"LOADING\"] = () => {\r\n return (\r\n \r\n )\r\n }\r\n pageStateRenderHandlers[\"ERROR\"] = () => {\r\n return (\r\n \r\n \r\n {\r\n (props.error ? props.error : \"An error occurred.\")\r\n }\r\n \r\n
\r\n )\r\n }\r\n pageStateRenderHandlers[\"FAILED\"] = () => {\r\n return (\r\n \r\n \r\n {\r\n (props.error ? props.error : \"Operation failed.\")\r\n }\r\n \r\n
\r\n )\r\n }\r\n\r\n this.pageStateRenderHandlers = pageStateRenderHandlers\r\n\r\n PageStateHandler.setObject({\r\n SetTo: this.SetTo,\r\n SetLoading: () => { this.SetTo(\"LOADING\") },\r\n SetReady: () => { this.SetTo(\"READY\") }\r\n })\r\n }\r\n\r\n SetTo = (currentState, location) => {\r\n this.setStateEventHandler({ currentState, location })\r\n }\r\n\r\n setStateEventHandler = ({ currentState, location }) => {\r\n !location && (location = this.state.location)\r\n this.setState({ currentState, location })\r\n }\r\n\r\n render() {\r\n const state = this.state\r\n const pageStateRenderHandlers = this.pageStateRenderHandlers\r\n\r\n return (\r\n <>\r\n \r\n {\r\n state.currentState === \"READY\" ? null :\r\n ((typeof (pageStateRenderHandlers[state.currentState]) === \"function\") ? (pageStateRenderHandlers[state.currentState]()) : null)\r\n }\r\n
\r\n {\r\n this.props.children\r\n }\r\n >\r\n )\r\n }\r\n}\r\n\r\nexport default PageState\r\n","import React, { Component, useRef, useReducer, useContext } from \"react\";\r\n\r\nimport * as jqValidation from \"jquery-validation-unobtrusive\";\r\nimport * as jQuery from \"jquery\";\r\n\r\nimport \"../css/simpleForm.css\";\r\nimport AxiosHelper from \"../utils/AxiosHelper\";\r\n\r\nimport { SiteContext } from \"../components/contexts\";\r\nimport SafeSimpleEvent from \"../components/SafeSimpleEvent\";\r\nimport { ToArray, Take } from \"../utils/Utils\";\r\nimport AjaxHelper from \"../utils/AjaxHelper\";\r\nimport { PageStateHandler } from \"../components/PageState\";\r\n\r\nfunction FormPanel(props) {\r\n return {props.children}
;\r\n}\r\n\r\nfunction _reducer(state, { type, payload }) {\r\n switch (type) {\r\n case \"SET_FORM_DATA\":\r\n return {\r\n ...state,\r\n formValidationData: payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nfunction _Form(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n formValidationData: [],\r\n internalEvents: props.externalEvents\r\n ? props.externalEvents\r\n : SafeSimpleEvent(),\r\n });\r\n\r\n const collectDataEvent = SafeSimpleEvent();\r\n const validateEvent = SafeSimpleEvent();\r\n const clearDataEvent = SafeSimpleEvent();\r\n const formContext = React.createContext({ state, dispatch });\r\n const clearEvent = SafeSimpleEvent();\r\n\r\n const changeValidationsBegin = () => {\r\n const $ = jQuery;\r\n const $form = $(props.formRef.current);\r\n\r\n $form.unbind();\r\n $form.data(\"validator\", null);\r\n };\r\n\r\n const changeValidationsEnd = () => {\r\n const $ = jQuery;\r\n const $form = $(props.formRef.current);\r\n $.validator.unobtrusive.parse($form);\r\n $form.validate();\r\n };\r\n\r\n const validationsUpdated = () => {\r\n changeValidationsBegin();\r\n changeValidationsEnd();\r\n };\r\n\r\n props.didMountEvent.subscribe(() => {\r\n if (props.isReadonly) {\r\n return;\r\n }\r\n\r\n AxiosHelper.get(`Form/GetFormValidationRules?formName=${props.name}`)\r\n .then((response) => {\r\n if (response) {\r\n dispatch({\r\n type: \"SET_FORM_DATA\",\r\n payload: response.data,\r\n });\r\n\r\n validationsUpdated();\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }, `_FORM_${props.id}`);\r\n\r\n props.willUnmountEvent.subscribe(() => {}, `_FORM_${props.id}`);\r\n const handleInternalEvents = ({ type, payload }) => {\r\n if (type === \"submit\") {\r\n onSubmit();\r\n }\r\n };\r\n const handleExternalEvents = ({ type, payload }) => {\r\n if (type === `${props.name}_collect_data`) {\r\n const $ = jQuery;\r\n\r\n let isValid = true;\r\n const $form = $(`#${props.id}`);\r\n const subscriber = validateEvent.riseEventCheckSpecificResult(\r\n payload,\r\n false\r\n );\r\n const validResult = $form.valid();\r\n if (!validResult || subscriber) {\r\n isValid = false;\r\n\r\n if (!props.collectIfNotValid) {\r\n return false;\r\n }\r\n }\r\n\r\n collectDataEvent.riseEvent(payload);\r\n return isValid;\r\n }\r\n if (type === `${props.name}_collect_data_no_validation`) {\r\n collectDataEvent.riseEvent(payload);\r\n } else if (type === `${props.name}_collect_by_name`) {\r\n const child = ToArray(props.children).find(\r\n (c) => c.props.name === payload\r\n );\r\n if (child) {\r\n const result = state.internalEvents.riseEventGetFirstDefinedResult({\r\n type: \"collect_by_name\",\r\n payload,\r\n });\r\n\r\n if (result !== undefined) {\r\n return result;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n };\r\n if (state.internalEvents && !props.externalEvents) {\r\n state.internalEvents.subscribe(handleInternalEvents, \"ME\");\r\n }\r\n\r\n if (props.externalEvents) {\r\n props.externalEvents.subscribe(handleExternalEvents, props.name);\r\n }\r\n\r\n const onSubmit = (ev) => {\r\n if (!props.url || props.isReadonly) {\r\n return;\r\n }\r\n\r\n let formData = {};\r\n const $ = jQuery;\r\n const $form = $(props.formRef.current);\r\n const subscriber = validateEvent.riseEventCheckSpecificResult(\r\n formData,\r\n false\r\n );\r\n const validResult = $form.valid();\r\n if (!validResult || subscriber) {\r\n return;\r\n }\r\n\r\n if (props.hiddenData) {\r\n Object.keys(props.hiddenData).forEach((key) => {\r\n formData[key] = props.hiddenData[key];\r\n });\r\n }\r\n\r\n collectDataEvent.riseEvent(formData);\r\n\r\n //#######################################\r\n PageStateHandler.SetLoading();\r\n if (props.onSubmitStart) {\r\n props.onSubmitStart(formData);\r\n }\r\n const containsFile = props.containsFile;\r\n if (!containsFile) {\r\n AxiosHelper.post(props.url, formData)\r\n .then((result) => {\r\n !props.dontClear && clearEvent.riseEvent();\r\n if (props.callback) {\r\n props.callback(result.data);\r\n }\r\n PageStateHandler.SetReady();\r\n })\r\n .catch((err) => {\r\n if (props.onError) {\r\n props.onError(err);\r\n }\r\n PageStateHandler.SetReady();\r\n });\r\n return;\r\n }\r\n\r\n const finalData = new FormData();\r\n Object.keys(formData).forEach((key) => {\r\n if (formData[key] != null && formData[key] != undefined) {\r\n if (Array.isArray(formData[key])) {\r\n finalData.append(key + \"[]\", formData[key]);\r\n } else {\r\n finalData.append(key, formData[key]);\r\n }\r\n }\r\n });\r\n AjaxHelper.postFile(\r\n props.url,\r\n finalData,\r\n (result) => {\r\n !props.dontClear && clearDataEvent.riseEvent();\r\n if (props.callback) {\r\n props.callback(result);\r\n }\r\n PageStateHandler.SetReady();\r\n },\r\n (err) => {\r\n if (props.onError) {\r\n props.onError(err);\r\n }\r\n PageStateHandler.SetReady();\r\n }\r\n );\r\n };\r\n\r\n const render2Col = (noOfColumns = 2) => {\r\n const children = ToArray(props.children);\r\n\r\n const itemsPerColumn = Math.floor(children.length / noOfColumns);\r\n const restItemsCount = children.length % noOfColumns;\r\n\r\n const colsItems = [];\r\n\r\n //for (let i = 0; i < noOfColumns; i++) {\r\n // colsItems.push(Take(children, itemsPerColumn, (i * itemsPerColumn)))\r\n //}\r\n\r\n colsItems.push(Take(children, itemsPerColumn + 1, 0 * itemsPerColumn));\r\n colsItems.push(Take(children, itemsPerColumn - 1, 1 * itemsPerColumn + 1));\r\n\r\n if (restItemsCount) {\r\n const restItems = Take(\r\n children,\r\n restItemsCount,\r\n children.length - restItemsCount\r\n );\r\n restItems.forEach((t) => colsItems[0].push(t));\r\n }\r\n\r\n return colsItems.map((col) => (\r\n \r\n {col.map((entry) =>\r\n React.cloneElement(entry, {\r\n formContext,\r\n translateValidations: props.translateValidations,\r\n collectDataEvent,\r\n clearEvent,\r\n validateEvent,\r\n externalEvents: state.internalEvents,\r\n isReadonly: props.isReadonly,\r\n })\r\n )}\r\n
\r\n ));\r\n };\r\n\r\n const render1Col = () => {\r\n return ToArray(props.children).map((c) =>\r\n React.cloneElement(c, {\r\n formContext,\r\n translateValidations: props.translateValidations,\r\n collectDataEvent,\r\n clearEvent,\r\n validateEvent,\r\n externalEvents: state.internalEvents,\r\n isReadonly: props.isReadonly,\r\n })\r\n );\r\n };\r\n\r\n const renderMap = {\r\n [\"1-col\"]: render1Col,\r\n [\"2-col\"]: render2Col,\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nclass Form extends Component {\r\n state = {\r\n didMountEvent: SafeSimpleEvent(),\r\n willUnmountEvent: SafeSimpleEvent(),\r\n formRef: React.createRef(),\r\n };\r\n\r\n componentDidMount() {\r\n this.state.didMountEvent.riseEvent();\r\n }\r\n\r\n componentWillUnmount = () => {\r\n this.state.willUnmountEvent.riseEvent();\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {({ translateValidations }) => {\r\n return (\r\n <_Form\r\n {...this.props}\r\n formRef={this.state.formRef}\r\n willUnmountEvent={this.state.willUnmountEvent}\r\n didMountEvent={this.state.didMountEvent}\r\n translateValidations={translateValidations}\r\n externalEvent={this.props.externalEvent}\r\n >\r\n {this.props.children}\r\n \r\n );\r\n }}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport { Form, FormPanel };\r\n","import React, { useReducer } from 'react'\r\n\r\nfunction _reducer(state, { type, payload }) {\r\n if (type === \"SET_VALIDATION_MESSAGE\") {\r\n return {\r\n ...state,\r\n validationMessage: payload\r\n }\r\n }\r\n\r\n return state\r\n}\r\nexport default function FormField(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n validationMessage: \"\"\r\n })\r\n\r\n const setValidationMessage = (val) => {\r\n dispatch({\r\n type: \"SET_VALIDATION_MESSAGE\",\r\n payload: val\r\n })\r\n }\r\n\r\n if (props.setValidationMessageEvent) {\r\n props.setValidationMessageEvent.subscribe((data) => {\r\n setValidationMessage(data)\r\n }, props.name)\r\n }\r\n\r\n return (\r\n \r\n
{props.text} \r\n {\r\n props.action ? (
\r\n {\r\n props.action\r\n }\r\n ) : null\r\n }\r\n
\r\n {props.children}\r\n {state.validationMessage} \r\n
\r\n
\r\n )\r\n}\r\n","import React, { Component } from 'react'\r\nimport FormField from './FormFileld';\r\nimport { ToArray } from '../utils/Utils'\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\n\r\nclass FormEntry extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.formContext = this.props.formContext\r\n }\r\n state = {\r\n value: this.props.value,\r\n validationData: {},\r\n setValidationMessageEvent: SafeSimpleEvent()\r\n }\r\n\r\n componentWillReceiveProps({ formData }) {\r\n if (!Array.isArray(formData)) {\r\n return\r\n }\r\n\r\n const validationData = formData.find(\r\n (v) => v.FiledName === this.props.name\r\n )\r\n\r\n this.setState({ validationData })\r\n }\r\n\r\n getAndTranslateValidation = (state) => {\r\n let validations = {}\r\n let rules = {}\r\n if (Array.isArray(state.formValidationData)) {\r\n let field = state.formValidationData.find(\r\n (v) => v.FiledName === (this.props.validationName ? this.props.validationName : this.props.name)\r\n )\r\n\r\n if (field) {\r\n if (this.props.translateValidations) {\r\n validations = this.props.translateValidations(field, this.props.text)\r\n }\r\n else {\r\n validations = field.ValidationRules\r\n }\r\n\r\n if (validations[\"data-val-date\"]) {\r\n delete validations[\"data-val-date\"]\r\n }\r\n\r\n rules = field.Rules\r\n }\r\n }\r\n\r\n\r\n return { validations, rules };\r\n };\r\n\r\n render = () => {\r\n const { Consumer } = this.props.formContext\r\n\r\n return (\r\n \r\n {\r\n ({ state, dispatch }) => {\r\n const { validations, rules } = this.getAndTranslateValidation(state);\r\n return (\r\n \r\n {\r\n ToArray(this.props.children).map(child => React.cloneElement(child,\r\n {\r\n formContext: this.props.formContext,\r\n value: this.props.value,\r\n name: this.props.name,\r\n collectDataEvent: this.props.collectDataEvent,\r\n clearEvent: this.props.clearEvent,\r\n validateEvent: this.props.validateEvent,\r\n validations,\r\n rules,\r\n onSubmit: this.props.onSubmit,\r\n setValidationMessageEvent: this.state.setValidationMessageEvent,\r\n isReadonly: this.props.isReadonly,\r\n externalEvents: this.props.externalEvents,\r\n placeholder: this.props.placeholder\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 FormEntry\r\n","import React, { Component } from 'react';\r\n\r\nclass InputComponent extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.type = \"text\"\r\n if (props.type) {\r\n this.type = props.type;\r\n }\r\n\r\n this.state = {\r\n value: (this.props.value != undefined && this.props.value != null) ? this.props.value : \"\"\r\n }\r\n\r\n if (this.props.collectDataEvent) {\r\n this.props.collectDataEvent.subscribe(this.collectData, this.props.name)\r\n }\r\n\r\n if (this.props.clearEvent) {\r\n this.props.clearEvent.subscribe(this.clearData, this.props.name)\r\n }\r\n\r\n if (this.props.externalEvents) {\r\n this.props.externalEvents.subscribe(this.handleEvents, this.props.name)\r\n }\r\n }\r\n\r\n handleEvents = ({ type, payload }) => {\r\n if (type === \"collect_by_name\") {\r\n if (this.props.name === payload) {\r\n return this.state.value\r\n }\r\n\r\n return undefined\r\n }\r\n }\r\n\r\n collectData = (formData) => {\r\n //here we process the value so we set the final version to the form(the version of the value that is posted to the server)\r\n //(eg. if this is a datepicker, set the iso-string or moment or actual js date)\r\n\r\n formData[this.props.name] = this.state.value\r\n }\r\n\r\n clearData = (reasone) => {\r\n this.setState({ value: \"\" })\r\n }\r\n\r\n onChange = ev => {\r\n this.setState({\r\n value: ev.target.value\r\n });\r\n }\r\n\r\n componentWillReceiveProps = ({ value }) => {\r\n this.setState({ value })\r\n }\r\n\r\n onKeyPress = (ev) => {\r\n if (this.props.handleKeyPress) {\r\n this.props.handleKeyPress();\r\n }\r\n if (ev.key === 'Enter') {\r\n this.props.externalEvents.riseEvent({ type: \"submit\" });\r\n }\r\n }\r\n\r\n render() {\r\n const state = this.state;\r\n //TODO: move this in a better place to avoid this for multiple calls, the validations will not change?!\r\n const validations = this.props.validations ? this.props.validations : {}\r\n\r\n let className = \"\"\r\n\r\n switch (this.props.type) {\r\n case \"text\":\r\n className = \"primary-textbox\"\r\n break;\r\n case \"button\":\r\n if (this.props.subType == \"secondary\") {\r\n className = \"primary-button\"\r\n }\r\n else if (this.props.subType == \"tertiary\") {\r\n className = \"tertiary-button\"\r\n }\r\n else if (this.props.subType == \"small\") {\r\n className = \"small-button\"\r\n }\r\n else {\r\n className = \"primary-button\"\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default InputComponent;","import React, { Component } from \"react\";\r\nimport { Form } from \"../form/Form\";\r\nimport FormEntry from \"../form/FormEntry\";\r\nimport InputComponent from \"./InputComponent\";\r\nimport { ValidResult } from \"../utils/Utils\";\r\n\r\nexport class LoginForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n email: \"\",\r\n password: \"\",\r\n };\r\n }\r\n\r\n onLogin = (result) => {\r\n if (ValidResult(result)) {\r\n this.props.toastr.ShowSuccess(\"Logged in successfully\");\r\n this.props.onSuccess({\r\n Email: result.Data.Email,\r\n Name: result.Data.Name,\r\n ProfilePictureUrl: result.Data.ProfilePictureUrl,\r\n HospitalCount: result.Data.HospitalCount,\r\n SurgonCount: result.Data.SurgonCount,\r\n PracticeId: result.Data.PracticeId,\r\n });\r\n } else {\r\n this.props.toastr.ShowError(\"Login failed\");\r\n }\r\n };\r\n\r\n onError = (err) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\");\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default LoginForm;\r\n","import React, { useReducer, useContext, Component } from 'react'\r\n\r\nimport uuid from \"uuid\"\r\n\r\nimport \"../css/notifications.css\"\r\n\r\nexport const Notifications = React.createContext({\r\n ShowSuccess: null,\r\n ShowError: null\r\n});\r\n\r\nclass _notification extends Component {\r\n state = {\r\n isActive: false\r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n }\r\n\r\n componentDidMount = () => {\r\n setTimeout(() => {\r\n this.setState({\r\n isActive: true\r\n })\r\n\r\n const { delay, remove, notification } = this.props\r\n setTimeout(() => {\r\n\r\n remove(notification.id)\r\n\r\n }, delay);\r\n\r\n }, 100);\r\n }\r\n\r\n render() {\r\n const { notification, remove } = this.props\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
{\r\n notification.title\r\n } \r\n
\r\n \r\n {\r\n notification.message\r\n }\r\n \r\n
\r\n
\r\n
{\r\n remove(notification.id)\r\n }} title=\"Dismiss\">x \r\n
\r\n )\r\n }\r\n}\r\n\r\nfunction _NotificationsComponent(props) {\r\n\r\n const context = useContext(Notifications)\r\n\r\n if (!context.ShowSuccess)\r\n context.ShowSuccess = props.ShowSuccess\r\n\r\n if (!context.ShowError)\r\n context.ShowError = props.ShowError\r\n\r\n return (<>>)\r\n}\r\n\r\nclass NotificationsComponent extends Component {\r\n state = {\r\n notifications: [],\r\n idPool: 0\r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n }\r\n\r\n RemoveNotification = (id) => {\r\n console.log(`REMOVE id ${id}`)\r\n this.setState(prevState => ({\r\n notifications: prevState.notifications.filter(t => t.node.id !== id)\r\n }))\r\n }\r\n\r\n AddNotification = (node, delay) => {\r\n\r\n this.setState(prevState => ({\r\n notifications: [\r\n ...prevState.notifications,\r\n {\r\n node: {\r\n ...node,\r\n id: prevState.idPool\r\n },\r\n delay\r\n }\r\n ],\r\n idPool: prevState.idPool + 1\r\n }))\r\n }\r\n\r\n ShowSuccess = (message, title = \"Success\", delay = 2500) => {\r\n this.AddNotification({\r\n title,\r\n message: message,\r\n type: \"SUCCESS\"\r\n }, delay)\r\n }\r\n\r\n ShowError = (message, title = \"Error\", delay = 2500) => {\r\n this.AddNotification({\r\n title,\r\n message: message,\r\n type: \"ERROR\"\r\n }, delay)\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <_NotificationsComponent ShowError={this.ShowError} ShowSuccess={this.ShowSuccess} />\r\n {\r\n this.state.notifications.length ? (\r\n\r\n \r\n {\r\n this.state.notifications.map((node) => (\r\n <_notification notification={node.node} delay={node.delay} remove={this.RemoveNotification} />\r\n ))\r\n }\r\n
\r\n ) : null\r\n }\r\n >\r\n )\r\n }\r\n}\r\n\r\nexport default NotificationsComponent\r\n","const SiteState = {\r\n LoggedIn: \"LOGGED_IN\",\r\n LoggedOut: \"LOGGED_OUT\",\r\n Loading: \"LOADING\",\r\n ChooseHospital: \"CHOOSE_HOSPITAL\",\r\n AfterChooseHospital: \"AFTER_CHOOSE_HOSPITAL\",\r\n RessetPasswordPage: \"RESSET_PASSWORD\",\r\n ForgotPassword: \"FORGOT_PASSWORD\",\r\n ChooseSurgeon: \"CHOOSE_SURGEON\",\r\n AfterChooseSurgeon: \"After_CHOOSE_SURGEON\",\r\n};\r\n\r\nexport default SiteState;\r\n","import React, { Component, useContext } from \"react\"\r\nimport { Redirect } from 'react-router'\r\nimport LoginForm from \"../components/LoginForm\";\r\nimport { SiteContext } from \"../components/contexts\";\r\nimport { Notifications } from \"../components/NotificationsComponent\";\r\nimport ObjectWrapper from \"../components/ObjectWrapper\";\r\nimport SiteState from '../components/SiteState';\r\n\r\nfunction _LoginPage(props) {\r\n const toastr = useContext(Notifications)\r\n\r\n props.toastr.setObject(toastr)\r\n\r\n return (null)\r\n}\r\n\r\nclass LoginPage extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.toastr = ObjectWrapper()\r\n }\r\n\r\n goToForgotPassword = () => {\r\n this.props.SetSiteState(SiteState.ForgotPassword)\r\n }\r\n render() {\r\n return (\r\n <>\r\n <_LoginPage toastr={this.toastr} />\r\n \r\n {\r\n (value) => (\r\n value.state.isAuthenticated ?\r\n ( ) :\r\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 LoginPage","import React, { Component } from 'react'\r\n\r\nexport class LoadingPage extends Component {\r\n render() {\r\n return (\r\n \r\n
...Loading... \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default LoadingPage\r\n","import React, { Component, useReducer, useContext } from 'react'\r\nimport { isNumber } from 'util';\r\n\r\nfunction _reducer(state, action) {\r\n if (action.type === \"UPDATE\") {\r\n return {\r\n ...state,\r\n page: action.page,\r\n pageCount: action.pageCount,\r\n takeCount: action.takeCount,\r\n }\r\n }\r\n\r\n return state\r\n}\r\n\r\nfunction PaginationButton(props) {\r\n const onClick = (ev) => {\r\n props.loadpage(props.page)\r\n }\r\n\r\n const _props = { ...props, loadpage: null }\r\n return (\r\n \r\n {props.text} \r\n
\r\n )\r\n}\r\n\r\nexport class PaginationPanel extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n page: props.page,\r\n pageCount: props.pageCount,\r\n takeCount: props.takeCount,\r\n gotoPage: props.page + 1\r\n }\r\n\r\n this.takeCountVector = [1, 5, 10, 20, 50, 100]\r\n\r\n }\r\n\r\n loadNextPage = () => {\r\n if (this.state.page + 1 >= this.state.pageCount) {\r\n return\r\n }\r\n\r\n this.props.loadPage(this.state.page + 1)\r\n }\r\n\r\n loadPrevPage = () => {\r\n if (this.state.page == 0) {\r\n return\r\n }\r\n\r\n this.props.loadPage(this.state.page - 1)\r\n }\r\n\r\n loadFirstPage = () => {\r\n this.props.loadPage(0)\r\n }\r\n\r\n loadLastPage = () => {\r\n this.props.loadPage(this.state.pageCount - 1)\r\n }\r\n\r\n takeCountChange = (ev) => {\r\n this.setState({ takeCount: parseInt(ev.target.value) })\r\n\r\n this.props.loadPage(this.state.page, parseInt(ev.target.value))\r\n }\r\n\r\n componentWillReceiveProps({ page, pageCount, takeCount }) {\r\n this.setState({ ...this.state, page, pageCount, takeCount })\r\n }\r\n\r\n loadPage = (ev) => {\r\n if (ev.key === 'Enter') {\r\n this.props.loadPage(this.state.gotoPage - 1)\r\n }\r\n }\r\n\r\n render() {\r\n let outElements = []\r\n\r\n for (let i = this.state.page - 2; i <= this.state.page - 1; i++) {\r\n if (i < 0) {\r\n continue\r\n }\r\n\r\n outElements.push(\r\n \r\n )\r\n }\r\n\r\n outElements.push(\r\n \r\n )\r\n\r\n for (let i = this.state.page + 1; i <= this.state.page + 2; i++) {\r\n if (i >= this.state.pageCount) {\r\n break\r\n }\r\n\r\n outElements.push(\r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n First \r\n Previous \r\n \r\n {outElements}\r\n
\r\n Next \r\n Last \r\n {this.state.currentPage} \r\n\r\n \r\n Page Size \r\n \r\n {\r\n this.takeCountVector.map(c =>\r\n {c} \r\n )\r\n }\r\n \r\n\r\n\r\n {\r\n const val = parseInt(ev.target.value)\r\n if (isNumber(val) && !isNaN(val)) {\r\n this.setState({ gotoPage: val })\r\n }\r\n else {\r\n this.setState({ gotoPage: \"\" })\r\n }\r\n }} />\r\n {\r\n const val = this.state.gotoPage\r\n this.props.loadPage(this.state.gotoPage - 1)\r\n }} />\r\n\r\n | \r\n {this.state.pageCount} Pages \r\n
\r\n >\r\n )\r\n }\r\n}\r\n\r\nexport default PaginationPanel\r\n","import React, { Component, useContext, useReducer } from 'react'\r\nimport uuid from \"uuid\"\r\n\r\nimport \"../../css/basicPaginationHandler.css\"\r\n\r\nimport AxiosHelper from \"../../utils/AxiosHelper\"\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport PaginationPanel from './components/PaginationPanel';\r\n\r\nconst _reducer = function (state, { type, payload }) {\r\n switch (type) {\r\n case 'SET_DATA': {\r\n const { data, currentState } = payload\r\n\r\n return {\r\n ...state,\r\n data: data.Data,\r\n currentPage: data.CurrentPage,\r\n totalElements: data.TotalElementsCount,\r\n totalPageCount: data.TotalPages,\r\n currentState\r\n }\r\n }\r\n case \"SET_CURRENT_STATE\": {\r\n return {\r\n ...state,\r\n currentState: payload\r\n }\r\n }\r\n case 'UPDATE_TAKE_COUNT': {\r\n return {\r\n ...state,\r\n takeCount: payload\r\n }\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nfunction _PaginationHandler(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n data: [],\r\n id: props.id,\r\n url: props.url,\r\n activeIndex: props.activeIndex,\r\n totalPageCount: 0,\r\n takeCount: props.takeCount ? props.takeCount : 20,\r\n currentPage: props.currentPage ? props.currentPage : 0,\r\n\r\n currentState: \"LOADING\"\r\n })\r\n\r\n const context = useContext(props.context);\r\n context.filterEvent.subscribe(() => {\r\n loadPage()\r\n }, props.id)\r\n\r\n props.mountedEvent.subscribe(() => {\r\n init()\r\n }, props.id)\r\n\r\n props.unmountedEvent.subscribe(() => {\r\n context.filterEvent.unsubscribe(props.id)\r\n }, props.id)\r\n\r\n const init = () => {\r\n loadPage()\r\n }\r\n\r\n const onPageGet = (json) => {\r\n dispatch({\r\n type: \"SET_DATA\",\r\n payload: json\r\n })\r\n }\r\n\r\n const setCurrentState = (state) => {\r\n dispatch({\r\n type: \"SET_CURRENT_STATE\",\r\n payload: state\r\n })\r\n }\r\n\r\n const setData = (data, currentState) => {\r\n if (!currentState) {\r\n currentState = state.currentState\r\n }\r\n\r\n dispatch({\r\n type: \"SET_DATA\",\r\n payload: {\r\n currentState,\r\n data\r\n }\r\n })\r\n }\r\n\r\n const loadPage = (page, takeCount) => {\r\n if (!page) {\r\n page = 0\r\n }\r\n\r\n if (!takeCount) {\r\n takeCount = state.takeCount\r\n }\r\n else if (takeCount != state.takeCount) {\r\n dispatch({\r\n type: 'UPDATE_TAKE_COUNT',\r\n payload: takeCount\r\n })\r\n }\r\n\r\n setCurrentState(\"LOADING\")\r\n let filterData = context.formData;\r\n if (page > state.totalPageCount || page == state.totalPageCount) {\r\n page = state.totalPageCount-1;\r\n }\r\n if (page < 0) {\r\n page = 0;\r\n }\r\n filterData.page = page;\r\n filterData.takeCount = takeCount;\r\n filterData.activeIndex = state.activeIndex;\r\n\r\n if (props.hiddenData) {\r\n Object.keys(props.hiddenData).forEach(key => {\r\n if (key) {\r\n filterData[key] = props.hiddenData[key]\r\n }\r\n })\r\n }\r\n\r\n AxiosHelper.post(state.url, filterData)\r\n .then(({ data }) => {\r\n const response = data;\r\n\r\n if (response && response.Success) {\r\n setData(response.Data, \"READY\")\r\n }\r\n else {\r\n setCurrentState(\"FAILED\")\r\n }\r\n\r\n }).catch(function (err) {\r\n setCurrentState(\"ERROR\")\r\n console.log(err);\r\n });\r\n }\r\n\r\n const stateRenderMapping = {}\r\n\r\n stateRenderMapping[\"READY\"] = () => {\r\n return (\r\n <>\r\n \r\n {\r\n (() => {\r\n const data = state.data\r\n return props.processor(data, props.id, state.activeIndex)\r\n })()\r\n }\r\n
\r\n {\r\n (state.data && state.data.length && !props.dontShowPanel && (!props.showPanelIfNeeded || state.totalPageCount > 1)) ?\r\n () : null\r\n }\r\n >\r\n )\r\n }\r\n\r\n stateRenderMapping[\"ERROR\"] = () => {\r\n return (\r\n \r\n An error occurred. \r\n
\r\n )\r\n }\r\n\r\n stateRenderMapping[\"FAILED\"] = () => {\r\n return (\r\n \r\n Failed to get the data. \r\n
\r\n )\r\n }\r\n\r\n stateRenderMapping[\"LOADING\"] = () => {\r\n return (\r\n \r\n Loading... \r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n {\r\n (typeof (stateRenderMapping[state.currentState]) === \"function\") ?\r\n (stateRenderMapping[state.currentState]()) :\r\n (\r\n
\r\n Internal error! \r\n
\r\n )\r\n }\r\n
\r\n )\r\n}\r\n\r\nexport class PaginationHandler extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.mountedEvent = SafeSimpleEvent();\r\n this.unmountedEvent = SafeSimpleEvent();\r\n this.state = {\r\n\r\n }\r\n\r\n }\r\n componentDidMount() {\r\n this.mountedEvent.riseEvent()\r\n }\r\n\r\n componentWillUnmount() {\r\n this.unmountedEvent.riseEvent()\r\n }\r\n\r\n componentWillReceiveProps(props) {\r\n this.setState({\r\n hiddenData: props.hiddenData\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {React.cloneElement(<_PaginationHandler />, {\r\n ...this.props,\r\n mountedEvent: this.mountedEvent,\r\n unmountedEvent: this.unmountedEvent,\r\n })}\r\n >\r\n )\r\n }\r\n}\r\n\r\nexport default PaginationHandler\r\n","import React, { Component, useReducer, useContext } from 'react'\r\n\r\nfunction _reducer(state, action) {\r\n switch (action.type) {\r\n case 'CLEAR': {\r\n return {\r\n ...state,\r\n value: \"\"\r\n }\r\n }\r\n case 'VALUE_CHANGED': {\r\n return {\r\n ...state,\r\n value: action.value\r\n }\r\n }\r\n }\r\n\r\n return state\r\n}\r\n\r\nexport default function TextFilterEntry(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n name: props.name,\r\n value: props.value ? props.value : \"\",\r\n })\r\n\r\n const { collectEvent, clearEvent, filterEvent } = props\r\n\r\n collectEvent.subscribe((formData) => {\r\n formData[state.name] = state.value\r\n }, props.name)\r\n\r\n const onValueChanged = (ev) => {\r\n dispatch({\r\n type: 'VALUE_CHANGED',\r\n value: ev.target.value\r\n })\r\n }\r\n\r\n const clear = () => {\r\n dispatch({\r\n type: 'CLEAR'\r\n })\r\n }\r\n\r\n clearEvent.subscribe(() => {\r\n clear()\r\n }, props.name);\r\n\r\n const filter = (e) => {\r\n if (e.key === 'Enter') {\r\n filterEvent.riseEvent();\r\n }\r\n }\r\n\r\n return (\r\n \r\n {props.friendlyName ? props.friendlyName : props.name} \r\n \r\n
\r\n )\r\n}\r\n","import React, { Component, useContext, useReducer } from \"react\";\r\nimport AxiosHelper from \"../utils/AxiosHelper\";\r\nimport SiteState from \"../components/SiteState\";\r\nimport { Notifications } from \"../components/NotificationsComponent\";\r\nimport { PageStateHandler } from \"../components/PageState\";\r\n\r\nimport PaginationHandler from \"../components/filterAndPagination/PaginationHandler\";\r\nimport FilterHandler from \"../components/filterAndPagination/FilterHandler\";\r\nimport TextFilterEntry from \"../components/filterAndPagination/components/TextFilterEntry\";\r\n\r\n// import \"../css/chooseHospital.css\"\r\n\r\nconst ChooseHospitalTableContext = React.createContext(\r\n FilterHandler.BuildContextValue()\r\n);\r\n\r\nconst _reducer = function (state, action) {\r\n switch (action.type) {\r\n case \"SET_DATA\": {\r\n return {\r\n ...state,\r\n hospitals: action.payload.hospitals,\r\n screenIsReady: true,\r\n };\r\n }\r\n }\r\n};\r\n\r\nfunction _ChooseHospitalsPage(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n hospitals: props.userData.hospitals ? props.userData.hospitals : [],\r\n screenIsReady: true,\r\n });\r\n\r\n if (state.hospitals.length == 0) {\r\n //getHospitals();\r\n }\r\n\r\n const hiddenData = {\r\n SurgeonId: props.userData.surgeonId ? props.userData.surgeonId : \"\",\r\n };\r\n\r\n const toastr = useContext(Notifications);\r\n\r\n const setHospital = (hospitalId) => {\r\n PageStateHandler.SetLoading();\r\n AxiosHelper.post(\"/Account/SetHospital?hospitalId=\" + hospitalId)\r\n .then((response) => {\r\n debugger;\r\n console.log(props);\r\n props.dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n siteState: SiteState.AfterChooseHospital,\r\n screenIsReady: true,\r\n showSwapHospital: props.showSwapSurgeon\r\n ? false\r\n : props.showSwapHospital,\r\n showSwapSurgeon: props.showSwapSurgeon,\r\n userData: {\r\n ...props.userData,\r\n hospitalId: hospitalId,\r\n surgeonId: 0,\r\n },\r\n },\r\n });\r\n toastr.ShowSuccess(\"All data will be saved on the choosen hospital\");\r\n PageStateHandler.SetReady();\r\n })\r\n .catch((error) => {\r\n PageStateHandler.SetTo(\"ERROR\");\r\n });\r\n };\r\n\r\n function getHospitals() {\r\n PageStateHandler.SetLoading();\r\n AxiosHelper.post(\"/Hospital/GetHospitalsPage\", {\r\n ActiveIndex: 0,\r\n })\r\n .then((response) => {\r\n dispatch({\r\n type: \"SET_DATA\",\r\n payload: {\r\n hospitals: response.data.Data.Data,\r\n },\r\n });\r\n PageStateHandler.SetReady();\r\n })\r\n .catch((error) => {\r\n PageStateHandler.SetTo(\"ERROR\");\r\n });\r\n }\r\n\r\n const renderHospitalsTable = (items) => {\r\n return (\r\n <>\r\n {/* \r\n < \r\n
*/}\r\n \r\n {items.map((hospital) => {\r\n return (\r\n
{\r\n setHospital(hospital.Id);\r\n }}\r\n key={hospital.Id}\r\n id={hospital.Id}\r\n >\r\n {hospital.Name} \r\n {hospital.Email} \r\n {hospital.Phone} \r\n {hospital.Address} \r\n
\r\n );\r\n })}\r\n
\r\n {/* \r\n > \r\n
*/}\r\n >\r\n );\r\n };\r\n\r\n return state.screenIsReady ? (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n >\r\n ) : null;\r\n}\r\n\r\nclass ChooseHospitalsPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n {<_ChooseHospitalsPage {...this.props} />}\r\n >\r\n );\r\n }\r\n}\r\n\r\nexport default ChooseHospitalsPage;\r\n","import React, { Component, useContext, useReducer } from \"react\";\r\nimport AxiosHelper from \"../utils/AxiosHelper\";\r\nimport SiteState from \"../components/SiteState\";\r\nimport { Notifications } from \"../components/NotificationsComponent\";\r\nimport { PageStateHandler } from \"../components/PageState\";\r\n\r\nimport PaginationHandler from \"../components/filterAndPagination/PaginationHandler\";\r\nimport FilterHandler from \"../components/filterAndPagination/FilterHandler\";\r\nimport TextFilterEntry from \"../components/filterAndPagination/components/TextFilterEntry\";\r\n\r\nconst ChooseSurgeonTableContext = React.createContext(\r\n FilterHandler.BuildContextValue()\r\n);\r\n\r\nconst _reducer = function (state, action) {\r\n switch (action.type) {\r\n case \"SET_DATA\": {\r\n return {\r\n ...state,\r\n surgeons: action.payload.surgeons,\r\n screenIsReady: true,\r\n };\r\n }\r\n }\r\n};\r\n\r\nfunction _ChooseSurgeonsPage(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n surgeons: props.userData.surgeons ? props.userData.surgeons : [],\r\n screenIsReady: true,\r\n practiceId: props.userData.practiceId ? props.userData.practiceId : \"\",\r\n });\r\n\r\n // if (state.surgeons.length == 0) {\r\n // getSurgeons();\r\n // }\r\n\r\n const hiddenData = {\r\n ActiveIndex: 1,\r\n PracticeId: props.userData.practiceId ? props.userData.practiceId : \"\",\r\n };\r\n\r\n const toastr = useContext(Notifications);\r\n\r\n function getSurgeons() {\r\n PageStateHandler.SetLoading();\r\n AxiosHelper.post(\"/Surgeon/GetSurgeonsPage\", {\r\n ActiveIndex: 1,\r\n PracticeId: state.practiceId,\r\n })\r\n .then((response) => {\r\n dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n surgeons: response.data.Data.Data,\r\n },\r\n });\r\n PageStateHandler.SetReady();\r\n })\r\n .catch((error) => {\r\n PageStateHandler.SetTo(\"ERROR\");\r\n });\r\n }\r\n\r\n const setSurgeon = (surgeonId, surgeonAspnetId) => {\r\n PageStateHandler.SetLoading();\r\n AxiosHelper.post(\r\n `Account/SetSurgeon?surgeonId=${surgeonId}&surgeonAspnetId=${surgeonAspnetId}`\r\n )\r\n .then((response) => {\r\n if (response && !response.Success) {\r\n PageStateHandler.SetTo(\"ERROR\");\r\n }\r\n\r\n var data = response ? response.data.Data : undefined;\r\n\r\n props.dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n siteState:\r\n data && data.HospitalCount > 1\r\n ? SiteState.AfterChooseSurgeon\r\n : SiteState.LoggedIn,\r\n screenIsReady: true,\r\n showSwapSurgeon: props.showSwapSurgeon,\r\n showSwapHospital: false,\r\n userData: {\r\n ...props.userData,\r\n surgeonId: surgeonId,\r\n hospitalId: 0,\r\n },\r\n },\r\n });\r\n toastr.ShowSuccess(\"All data will be saved on the choosen surgeon\");\r\n PageStateHandler.SetReady();\r\n })\r\n .catch((error) => {\r\n PageStateHandler.SetTo(\"ERROR\");\r\n });\r\n };\r\n\r\n const renderSurgeonsTable = (items) => {\r\n return (\r\n <>\r\n \r\n {items.map((surgeon) => {\r\n return (\r\n
{\r\n setSurgeon(surgeon.Id, surgeon.AspnetUserId);\r\n }}\r\n key={surgeon.Id}\r\n id={surgeon.Id}\r\n >\r\n {surgeon.Name} \r\n {surgeon.Email} \r\n {surgeon.Phone} \r\n {surgeon.Address} \r\n
\r\n );\r\n })}\r\n
\r\n >\r\n );\r\n };\r\n\r\n return state.screenIsReady ? (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n >\r\n ) : null;\r\n}\r\n\r\nclass ChooseSurgeonsPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n {<_ChooseSurgeonsPage {...this.props} />}\r\n >\r\n );\r\n }\r\n}\r\n\r\nexport default ChooseSurgeonsPage;\r\n","import React, { Component } from 'react'\r\n\r\nexport class TabHeader extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n id: props.id,\r\n activeTabId : props.activeTabId\r\n }\r\n }\r\n\r\n setActive = () => {\r\n this.props.setActiveTabIdHandler(this.props.id)\r\n }\r\n\r\n componentWillReceiveProps({ activeTabId }) {\r\n this.setState({ activeTabId })\r\n }\r\n\r\n isActive = () => this.state.activeTabId === this.props.id\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.text } \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default TabHeader\r\n","import React, { Component } from 'react'\r\nimport uuid from \"uuid\"\r\n\r\nimport { ToArray } from \"../../utils/Utils\"\r\nimport \"../../css/basicTabs.css\"\r\n\r\nimport TabHeader from './components/TabHeader';\r\n\r\nexport class Tabs extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n let activeTabId = this.props.activeTabId\r\n const children = ToArray(this.props.children)\r\n\r\n if (!activeTabId) {\r\n activeTabId = children.length ? children[0].props.id : null\r\n }\r\n\r\n this.state = {\r\n activeTabId\r\n }\r\n\r\n if (this.props.externalEvents) {\r\n this.props.externalEvents.subscribe(this.handleEvents, this.props.name)\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n\r\n }\r\n\r\n handleEvents = ({ type, payload }) => {\r\n if (type === `${this.props.name}_select_tab`) {\r\n if (payload) {\r\n this.setActiveTabId(payload)\r\n }\r\n else {\r\n const children = ToArray(this.props.children)\r\n if (children.length) {\r\n this.setActiveTabId(children[0].props.id)\r\n }\r\n }\r\n }\r\n else if (type === `${this.props.name}_set_selected_tab`) {\r\n //this.state.activeTabId = payload\r\n this.setState({ activeTabId: payload })\r\n }\r\n }\r\n\r\n initActiveTabId = (activeTabId) => {\r\n if (!this.state.activeTabId) {\r\n this.setState({ activeTabId })\r\n }\r\n }\r\n\r\n setActiveTabId = (activeTabId) => {\r\n if (this.state.activeTabId == activeTabId) {\r\n return;\r\n }\r\n\r\n if (this.props.externalEvents) {\r\n var result = this.props.externalEvents.riseEventCheckSpecificResult({\r\n type: `${this.props.name}_on_tab_will_change`,\r\n payload: activeTabId\r\n }, false)\r\n if (result) {\r\n return\r\n }\r\n }\r\n\r\n this.setState({ activeTabId })\r\n\r\n if (this.props.externalEvents) {\r\n setTimeout(\r\n () => {\r\n this.props.externalEvents.riseEvent({\r\n type: `${this.props.name}_on_tab_did_change`,\r\n payload: activeTabId\r\n })\r\n }, 1)\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n if (!ToArray(this.props.children).length) {\r\n return\r\n }\r\n\r\n if (this.props.startTabId) {\r\n this.setState({ activeTabId: this.props.startTabId })\r\n } else {\r\n const firstChild = this.props.children.length ? this.props.children[0] : this.props.children;\r\n this.setState({ activeTabId: firstChild.props.id })\r\n }\r\n }\r\n\r\n render() {\r\n const tabs = ToArray(this.props.children)\r\n const processedTabs = []\r\n\r\n for (let index = 0; index < tabs.length; index++) {\r\n const tab = tabs[index]\r\n\r\n if (!tab) {\r\n continue\r\n }\r\n\r\n const id = tab.props.id ? tab.props.id : uuid()\r\n\r\n processedTabs.push(\r\n React.cloneElement(tab, { id, key: id })\r\n )\r\n }\r\n\r\n const activeTab = processedTabs.find(e => {\r\n return e.props.id === this.state.activeTabId\r\n })\r\n\r\n const tabHeaders = processedTabs.map((e, i) => {\r\n var fullTabTitle = e.props.friendlyName;\r\n\r\n return (\r\n \r\n )\r\n })\r\n\r\n return (\r\n \r\n
\r\n {tabHeaders}\r\n {\r\n this.props.isDynamic ? (\r\n \r\n {\r\n this.props.externalEvents.riseEvent({\r\n type: `${this.props.name}_on_new_tab`\r\n })\r\n }} > \r\n \r\n ) : null\r\n }\r\n
\r\n
{activeTab ? activeTab : null}
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Tabs","import React, { Component } from 'react'\r\n\r\nexport class Tab extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n id: props.id\r\n }\r\n }\r\n\r\n isActive = () => {\r\n return this.props.activeTabId == this.state.id\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this.props.children}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Tab\r\n","import React, { Component } from 'react';\r\nimport { DatePicker } from 'antd';\r\nimport moment from 'moment'\r\n\r\nclass DatePickerComponent extends Component {\r\n constructor(props) {\r\n super(props)\r\n var date = moment(props.value);\r\n this.state = {\r\n value: props.value ? date : \"\"\r\n }\r\n\r\n if (this.props.collectDataEvent) {\r\n this.props.collectDataEvent.subscribe(this.collectData, this.props.name)\r\n }\r\n\r\n if (this.props.clearEvent) {\r\n this.props.clearEvent.subscribe(this.clearData, this.props.name)\r\n }\r\n }\r\n\r\n collectData = (formData) => {\r\n //here we process the value so we set the final version to the form(the version of the value that is posted to the server)\r\n //(eg. if this is a datepicker, set the iso-string or moment or actual js date)\r\n if (this.state.value) {\r\n formData[this.props.name] = this.state.value.format()\r\n }\r\n }\r\n\r\n clearData = (reasone) => {\r\n this.setState({ value: null })\r\n }\r\n\r\n onChange = (date, dateStr) => {\r\n this.setState({ value: date });\r\n }\r\n\r\n componentWillReceiveProps = ({ value }) => {\r\n //var moment = moment(value);\r\n this.setState({ value: value })\r\n }\r\n\r\n render() {\r\n const state = this.state;\r\n //TODO: move this in a better place to avoid this for multiple calls, the validations will not change?!\r\n const validations = this.props.validations ? this.props.validations : {}\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DatePickerComponent;","import React from 'react'\r\nimport { Dropdown } from 'semantic-ui-react'\r\n\r\nclass Select2Component extends React.Component {\r\n state = {\r\n value: this.props.value ? this.props.value : []\r\n }\r\n\r\n componentWillReceiveProps = ({ value }) => {\r\n this.setState({ value })\r\n }\r\n\r\n render() {\r\n const options = {}\r\n\r\n if (this.props.multiple) {\r\n options[\"multiple\"] = \"multiple\"\r\n }\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nexport default Select2Component;","import React from 'react'\r\nimport AxiosHelper from '../utils/AxiosHelper';\r\nimport Select2Component from './Select2Component';\r\nimport { ToArray } from '../utils/Utils';\r\n\r\nclass EntitiesSelect2Component extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n placeholder: this.props.placeholder ? this.props.placeholder : '',\r\n url: this.props.url ? this.props.url : '',\r\n options: this.props.options ? this.props.options : [],\r\n value: this.props.value != undefined && this.props.value != null ? this.props.value : (!this.props.notMultiple ? [] : null)\r\n };\r\n\r\n if (this.props.collectDataEvent) {\r\n this.props.collectDataEvent.subscribe(this.collectData, this.props.name)\r\n }\r\n\r\n if (this.props.validateEvent) {\r\n this.props.validateEvent.subscribe(this.validateEntry, this.props.name)\r\n }\r\n\r\n if (this.props.clearEvent) {\r\n this.props.clearEvent.subscribe(this.clearData, this.props.name)\r\n }\r\n\r\n if (this.props.externalEvents) {\r\n this.props.externalEvents.subscribe(this.handleEvent, this.props.name)\r\n }\r\n }\r\n\r\n handleEvent = ({ type, payload }) => {\r\n if (type === `${this.props.name}_add_option`) {\r\n this.setState({\r\n options: [...this.state.options, payload],\r\n value: [...this.state.value, payload.value]\r\n })\r\n\r\n this.props.onChangeEx && this.props.onChangeEx(null, [...this.state.value, payload.value])\r\n }\r\n else if (type === `${this.props.name}_set_value`) {\r\n this.setState({\r\n value: payload\r\n })\r\n }\r\n }\r\n\r\n onChange = (e, { value }) => {\r\n if (!this.props.onChangeEx) {\r\n this.props.onChange ? this.props.onChange(e, { value }) : this.setState({ value });\r\n }\r\n else {\r\n this.props.onChangeEx(e, value)\r\n this.setState({ value })\r\n }\r\n };\r\n\r\n validateEntry = (formData) => {\r\n if (this.props.setValidationMessageEvent) {\r\n var rulesArray = ToArray(this.props.rules)\r\n var requiredRule = rulesArray.find((r) => r.ValidationType === \"required\");\r\n if (requiredRule) {\r\n if (\r\n (this.props.notMultiple == true && (this.state.value == null || this.state.value == undefined )) ||\r\n ((!this.props.notMultiple && (!this.state.value || !this.state.value.length)))\r\n ) {\r\n this.props.setValidationMessageEvent.riseEvent(requiredRule.ErrorMessage)\r\n return false\r\n }\r\n }\r\n }\r\n\r\n return true\r\n }\r\n\r\n collectData = (formData) => {\r\n formData[this.props.name] = this.state.value;\r\n }\r\n\r\n clearData = (reasone) => {\r\n this.setState({ value: [] })\r\n }\r\n\r\n componentWillReceiveProps = ({ value, placeholder, url }) => {\r\n this.setState({\r\n value,\r\n placeholder,\r\n url\r\n })\r\n }\r\n\r\n componentDidMount = () => {\r\n if (this.state.options != undefined && this.state.options != null && this.state.options.length > 0) {\r\n return;\r\n }\r\n\r\n AxiosHelper.get(this.state.url)\r\n .then(result => {\r\n let optionsForDropdown = result.data.map(entity => {\r\n return {\r\n key: entity.Id,\r\n text: entity.Name ? entity.Name : (entity.FirstName + ' ' + entity.LastName),\r\n value: entity.Id\r\n }\r\n });\r\n this.setState({\r\n options: optionsForDropdown,\r\n });\r\n }).catch((err) => {\r\n\r\n });\r\n }\r\n render = () => {\r\n const props = this.props\r\n return (\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default EntitiesSelect2Component;","import React from 'react'\r\nimport AxiosHelper from '../utils/AxiosHelper';\r\nimport { Dropdown } from 'semantic-ui-react'\r\nimport { debuglog } from 'util';\r\nimport { ToArray } from '../utils/Utils';\r\n\r\nclass EntitiesSelectComponent extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n screenIsReady: false,\r\n placeholder: this.props.placeholder ? this.props.placeholder : '',\r\n url: this.props.url ? this.props.url : '',\r\n options: this.props.options ? this.props.options : [],\r\n selectedOptions: this.props.value !== undefined ? this.props.value : null,\r\n entityKey: this.props.entityKey ? this.props.entityKey : ''\r\n };\r\n\r\n if (this.props.collectDataEvent) {\r\n this.props.collectDataEvent.subscribe(this.collectData, this.props.name)\r\n }\r\n\r\n if (this.props.validateEvent) {\r\n this.props.validateEvent.subscribe(this.validateEntry, this.props.name)\r\n }\r\n\r\n if (this.props.clearEvent) {\r\n this.props.clearEvent.subscribe(this.clearData, this.props.name)\r\n }\r\n\r\n if (this.props.changeTagsEvent) {\r\n this.props.changeTagsEvent.subscribe(this.handleChangeTags, this.props.name)\r\n }\r\n }\r\n\r\n onChange = (e, { value }) => {\r\n this.props.onChange ? this.props.onChange(e, { value }) : this.setState({ selectedOptions: value });\r\n };\r\n\r\n validateEntry = (formData) => {\r\n if (this.props.setValidationMessageEvent) {\r\n var rulesArray = ToArray(this.props.rules)\r\n var requiredRule = rulesArray.find((r) => r.ValidationType === \"required\");\r\n if (requiredRule) {\r\n if (this.state.selectedOptions === null || this.state.selectedOptions === undefined) {\r\n this.props.setValidationMessageEvent.riseEvent(requiredRule.ErrorMessage)\r\n return false\r\n }\r\n }\r\n }\r\n\r\n return true\r\n }\r\n\r\n collectData = (formData) => {\r\n formData[this.props.name] = this.state.selectedOptions;\r\n }\r\n\r\n clearData = (reasone) => {\r\n this.setState({ selectedOptions: [] })\r\n }\r\n\r\n handleChangeTags = ({ type, payload }) => {\r\n if (type == \"tags_changed\") {\r\n this.getData(payload)\r\n }\r\n }\r\n\r\n componentWillReceiveProps(props) {\r\n this.setState({\r\n selectedOptions: props.value,\r\n placeholder: props.placeholder,\r\n url: props.url,\r\n entityKey: props.entityKey\r\n })\r\n }\r\n\r\n getData = (tags) => {\r\n AxiosHelper.post(this.state.url,\r\n {\r\n [\"tagIds\"]: tags ? tags : []\r\n })\r\n .then(response => {\r\n let optionsForDropdown = response.data.map(entity => {\r\n return {\r\n key: entity.Id,\r\n text: entity[this.state.entityKey] ? entity[this.state.entityKey] : \"Invalid key\",\r\n value: entity.Id\r\n }\r\n });\r\n\r\n const value = this.state.selectedOptions ? (optionsForDropdown.find((t) => t.value === this.state.selectedOptions) ? this.state.selectedOptions : null) : null\r\n\r\n this.setState({\r\n options: optionsForDropdown,\r\n screenIsReady: true,\r\n selectedOptions: value\r\n });\r\n }).catch(function (err) {\r\n\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.url) {\r\n this.getData();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n )\r\n }\r\n\r\n}\r\n\r\nexport default EntitiesSelectComponent;","import React, { Component } from 'react'\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport { Form } from \"../../form/Form\"\r\nimport FormEntry from '../../form/FormEntry';\r\nimport { ValidResult } from '../../utils/Utils';\r\nimport InputComponent from '../InputComponent';\r\n\r\nexport class SaveTagDialog extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n isVisible: false,\r\n isEdit: false,\r\n internalEvents: SafeSimpleEvent(),\r\n\r\n data: {}\r\n }\r\n\r\n this.state.internalEvents.subscribe(this.handleEevent, \"ME\")\r\n\r\n if (this.props.eventProxy) {\r\n this.props.eventProxy.setEvent(this.state.internalEvents)\r\n }\r\n }\r\n\r\n clearAndClose = () => {\r\n this.setState({\r\n isVisible: false,\r\n isEdit: false,\r\n data: {}\r\n })\r\n }\r\n\r\n handleEevent = ({ type, payload }) => {\r\n if (type === \"show_tag_dialog\") {\r\n this.setState({ isVisible: true, isEdit: false })\r\n }\r\n else if (type === \"show_tag_dialog_edit\") {\r\n this.setState({\r\n isVisible: true,\r\n isEdit: true,\r\n data: {\r\n ...payload\r\n }\r\n })\r\n }\r\n else if (type === \"hide_tag_dialog\") {\r\n this.clearAndClose()\r\n }\r\n }\r\n\r\n hide = (payload) => {\r\n this.state.internalEvents.riseEvent({ type: \"hide_tag_dialog\", payload: null })\r\n }\r\n\r\n onSaveCallback = (result) => {\r\n if (ValidResult(result)) {\r\n this.props.toastr.ShowSuccess(`Successfully created tag \"${result.Data.Name}\"`)\r\n \r\n this.state.internalEvents.riseEvent({\r\n type:\"save_tag_success\",\r\n payload: result.Data\r\n })\r\n\r\n this.hide(result)\r\n }\r\n else {\r\n this.props.toastr.ShowError(`Failed to create the tag`)\r\n }\r\n }\r\n\r\n onError = (err) => {\r\n this.props.toastr.ShowError(`An error occurred, please try again`)\r\n }\r\n\r\n render() {\r\n const hiddenData = {}\r\n\r\n if (this.state.isEdit) {\r\n hiddenData[\"Id\"] = this.state.data.Id\r\n }\r\n\r\n return this.state.isVisible ? (\r\n \r\n
\r\n
\r\n {`${this.state.isEdit ? \"Edit\" : \"Create\"} Tag`} \r\n {\r\n this.hide()\r\n }}>X \r\n
\r\n
\r\n \r\n
\r\n {/*
\r\n\r\n
*/}\r\n
\r\n
\r\n ) : null\r\n }\r\n}\r\n\r\nexport default SaveTagDialog\r\n","import uuid from \"uuid\"\r\n\r\nexport default function EventProxy() {\r\n let event = null\r\n let pendingSubscribers = []\r\n\r\n const riseEvent = (payload) => {\r\n return event && event.riseEvent(payload)\r\n }\r\n \r\n const defferedRiseEvent = (payload) => {\r\n return event && event.defferedRiseEvent(payload)\r\n }\r\n\r\n const riseEventCheckSpecificResult = (payload, specificResult) => {\r\n return event && event.riseEventCheckSpecificResult(payload, specificResult)\r\n }\r\n\r\n const setEvent = (e) => {\r\n event = e\r\n\r\n pendingSubscribers.forEach((sub) => {\r\n event.subscribe(sub.callback, sub.id)\r\n })\r\n\r\n pendingSubscribers = []\r\n }\r\n\r\n const getEvent = () => {\r\n return event\r\n }\r\n\r\n const subscribe = (callback, id) => {\r\n if (event) {\r\n return event.subscribe(callback, id)\r\n }\r\n\r\n if (!id) {\r\n id = uuid();\r\n pendingSubscribers.push({\r\n id,\r\n callback\r\n })\r\n\r\n return;\r\n }\r\n\r\n let subscriber = pendingSubscribers.find((t) => t.id === id)\r\n if (subscriber) {\r\n subscriber.callback = callback\r\n }\r\n else {\r\n subscriber = {\r\n id,\r\n callback\r\n }\r\n\r\n pendingSubscribers.push(subscriber)\r\n }\r\n\r\n\r\n return id;\r\n }\r\n\r\n const unsubscribe = (id) => {\r\n if (event) {\r\n return event.unsubscribe(id)\r\n }\r\n\r\n let subscriber = pendingSubscribers.find((t) => t.id === id)\r\n if (subscriber) {\r\n subscriber.callback = null\r\n }\r\n\r\n }\r\n\r\n return {\r\n setEvent,\r\n riseEvent,\r\n defferedRiseEvent,\r\n riseEventCheckSpecificResult,\r\n getEvent,\r\n subscribe,\r\n unsubscribe\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nclass PrimaryButton extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default PrimaryButton;\r\n","import React, { Component } from 'react'\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport { Form, FormPanel } from \"../../form/Form\"\r\nimport FormEntry from '../../form/FormEntry';\r\nimport InputComponent from '../InputComponent';\r\nimport uuid from \"uuid\"\r\nimport PrimaryButton from '../buttons/PrimaryButton';\r\n\r\nexport class NewCategoryDialog extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n isVisible: false,\r\n isEdit: false,\r\n internalEvents: SafeSimpleEvent(),\r\n\r\n data: {}\r\n }\r\n\r\n this.state.internalEvents.subscribe(this.handleEevent, \"ME\")\r\n\r\n if (this.props.eventProxy) {\r\n this.props.eventProxy.setEvent(this.state.internalEvents)\r\n }\r\n }\r\n\r\n clearAndClose = () => {\r\n this.setState({\r\n isVisible: false,\r\n isEdit: false,\r\n data: {}\r\n })\r\n }\r\n\r\n handleEevent = ({ type, payload }) => {\r\n if (type === \"show_new_category_dialog\") {\r\n this.setState({ isVisible: true, isEdit: false })\r\n }\r\n else if (type === \"show_new_category_dialog_edit\") {\r\n this.setState({\r\n isVisible: true,\r\n isEdit: true,\r\n data: {\r\n ...payload\r\n }\r\n })\r\n }\r\n else if (type === \"hide_new_category_dialog\") {\r\n this.clearAndClose()\r\n }\r\n }\r\n\r\n hide = (payload) => {\r\n this.state.internalEvents.riseEvent({ type: \"hide_new_category_dialog\", payload: null })\r\n }\r\n\r\n onCreate = () => {\r\n const data = {}\r\n var result = this.state.internalEvents.riseEventCheckSpecificResult({\r\n type: \"QuestionnaireCategoryForm_collect_data\",\r\n payload: data\r\n }, false)\r\n if (result) {\r\n return\r\n }\r\n\r\n this.state.internalEvents.riseEvent({\r\n type: \"on_submit_success\",\r\n payload: data\r\n })\r\n \r\n this.hide();\r\n }\r\n\r\n render() {\r\n const hiddenData = {}\r\n\r\n if (this.state.isEdit) {\r\n hiddenData[\"Id\"] = this.state.data.Id\r\n }\r\n\r\n return this.state.isVisible ? (\r\n \r\n
\r\n
\r\n New Category \r\n {\r\n this.hide()\r\n }}>X \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n ) : null\r\n }\r\n}\r\n\r\nexport default NewCategoryDialog\r\n","\r\nimport React, { Component, useContext } from 'react'\r\nimport SaveTagDialog from './dialogs/SaveTagDialog';\r\n\r\nimport \"../css/dDialog.css\"\r\nimport { Notifications } from './NotificationsComponent';\r\nimport ObjectWrapper from './ObjectWrapper';\r\nimport EventProxy from './EventProxy';\r\nimport NewCategoryDialog from './dialogs/NewCategoryDialog';\r\n\r\nexport const DialogManager = {\r\n Show: () => { }\r\n}\r\n\r\nfunction _DialogManagerComponent(props) {\r\n const toastr = useContext(Notifications)\r\n\r\n props.toastr.setObject(toastr)\r\n\r\n return null\r\n}\r\n\r\nexport class DialogManagerComponent extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n DialogManager.Show = this.Show\r\n\r\n this.state = {\r\n toastr: ObjectWrapper(),\r\n currentDialogName: \"none\",\r\n }\r\n\r\n this.dialogs = {\r\n \"none\": {},\r\n \"tag_dialog\": {\r\n proxy: EventProxy(),\r\n },\r\n \"new_category_dialog\": {\r\n proxy: EventProxy(),\r\n }\r\n }\r\n\r\n this.dialogs[\"tag_dialog\"].proxy.subscribe(this.HandleDialogEvent, \"DIALOG_MANAGER\")\r\n this.dialogs[\"new_category_dialog\"].proxy.subscribe(this.HandleDialogEvent, \"DIALOG_MANAGER\")\r\n }\r\n\r\n Show = (name, handler, payload) => {\r\n const dialogHandle = this.dialogs[name]\r\n if (!dialogHandle) {\r\n return false\r\n }\r\n\r\n this.currentDialogName = name\r\n\r\n dialogHandle.proxy.subscribe(handler, \"DIALOG_MANAGER_USER\")\r\n\r\n if (!payload) {\r\n dialogHandle.proxy.riseEvent({ type: `show_${name}` })\r\n }\r\n else {\r\n dialogHandle.proxy.riseEvent({ type: `show_${name}_edit`, payload })\r\n }\r\n\r\n return true\r\n }\r\n\r\n clear = () => {\r\n this.dialogs[this.currentDialogName].proxy.unsubscribe(\"DIALOG_MANAGER_USER\")\r\n this.currentDialogName = \"none\"\r\n }\r\n\r\n HandleDialogEvent = ({ type, payload }) => {\r\n switch (type) {\r\n case \"hide_new_category_dialog\":\r\n case \"hide_tag_dialog\": {\r\n this.clear()\r\n } break;\r\n default: { } break\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <_DialogManagerComponent toastr={this.state.toastr} />\r\n \r\n \r\n >\r\n )\r\n }\r\n}\r\n\r\nexport default DialogManager\r\n","import React, { Component } from 'react';\r\nimport FormEntry from '../../form/FormEntry';\r\nimport { Form } from '../../form/Form';\r\nimport InputComponent from '../../components/InputComponent';\r\nimport DatePickerComponent from '../../components/DatePickerComponent';\r\nimport EntitiesSelect2Component from '../EntitySelect2Component';\r\nimport EntitiesSelectComponent from '../EntitySelectComponent';\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport DialogManager from \"../DialogManager\"\r\n\r\nclass SavePatientForm extends Component {\r\n constructor(props) {\r\n super(props)\r\n let options = [{ text: 'AM', key: 0, value: 0 }, { text: 'PM', key: 1, value: 1 }]\r\n this.state = {\r\n patient: props.patient,\r\n changeTagsEvent: SafeSimpleEvent(),\r\n formEvents: SafeSimpleEvent(),\r\n options: options\r\n }\r\n }\r\n render() {\r\n const patient = this.state.patient;\r\n\r\n const hiddenData = {\r\n Id: patient ? patient.id : null,\r\n ActivePathwayId: patient ? patient.activePathwayId : null,\r\n Code: patient ? patient.code : null\r\n }\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default SavePatientForm","import React, { Component, useReducer } from 'react'\r\nimport SafeSimpleEvent from './SafeSimpleEvent';\r\n\r\nimport \"../css/flyout.css\"\r\n\r\nexport function FlyoutHead(props) {\r\n return (\r\n \r\n {\r\n props.showCloseButton ? (<>\r\n
\r\n >) : (<>>)\r\n }\r\n
\r\n {props.children}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport function FlyoutBody(props) {\r\n return (\r\n \r\n {props.children}\r\n
\r\n )\r\n}\r\n\r\nexport function FlyoutFooter(props) {\r\n return (\r\n \r\n {props.children}\r\n
\r\n )\r\n}\r\n\r\nfunction _reducer(state, { type, payload }) {\r\n switch (type) {\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nfunction _Flyout(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n\r\n })\r\n\r\n const didMountSubId = props.didMountEvent.subscribe(() => {\r\n //on didMount\r\n }, props.id ? props.id : null)\r\n\r\n const _props = { ...props }\r\n delete _props.children;\r\n\r\n return (\r\n \r\n {\r\n React.Children.map(props.children, (c) =>\r\n React.cloneElement(c, { ..._props })\r\n )\r\n }\r\n
\r\n )\r\n}\r\nclass Flyout extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.didMountEvent = SafeSimpleEvent();\r\n\r\n this.state = {\r\n isVisible: props.startVisible ? props.startVisible : false,\r\n isOpen: false\r\n }\r\n }\r\n\r\n closeFlyout = () => {\r\n this.setState({\r\n isVisible: false,\r\n isOpen: false\r\n })\r\n\r\n if (this.props.onClose) {\r\n this.props.onClose()\r\n }\r\n }\r\n\r\n openFlyout = () => {\r\n this.setState({ isOpen: true })\r\n }\r\n\r\n componentWillReceiveProps({ isVisible }) {\r\n this.setState({ isVisible })\r\n\r\n if (isVisible) {\r\n setTimeout(() => { this.openFlyout() }, 1);\r\n }\r\n else {\r\n this.setState({ isOpen: false })\r\n }\r\n }\r\n\r\n render() {\r\n const props = { ...this.props, didMountEvent: this.didMountEvent }\r\n\r\n return this.state.isVisible ? (\r\n \r\n <_Flyout {...props} close={this.closeFlyout} />\r\n
\r\n ) : (null)\r\n }\r\n}\r\n\r\nexport default Flyout","import React, { Component } from 'react'\r\nimport SavePatientForm from './forms/SavePatientForm'\r\nimport Flyout, { FlyoutHead, FlyoutBody, FlyoutFooter } from '../components/Flyout';\r\nimport { ValidResult } from '../utils/Utils';\r\n\r\n//const surgeryOptions = [\r\n// { key: '0', text: 'AM', value: 0 },\r\n// { key: '1', text: 'PM', value: 1 },\r\n//]\r\n\r\nclass SavePatientDialogComponent extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n patient: {\r\n id: \"\",\r\n surgeonId: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n code: \"\",\r\n dateOfBirth: \"\",\r\n dateOfSurgery: \"\",\r\n surgeryTime: \"\",\r\n activePathwayId: \"\",\r\n code: \"\",\r\n tags: []\r\n }\r\n };\r\n };\r\n\r\n componentWillReceiveProps(props) {\r\n if (props.patient) {\r\n this.setState({\r\n patient: props.patient,\r\n showEditPatientModal: props.showEditPatientModal\r\n\r\n });\r\n }\r\n }\r\n\r\n onSaveCallback = (result) => {\r\n if (ValidResult(result)) {\r\n this.props.toastr.ShowSuccess(\"Successfuly updated the patient\")\r\n }\r\n else {\r\n this.props.toastr.ShowError(\"Failed to updated the patient\")\r\n }\r\n\r\n this.props.handleClose();\r\n }\r\n\r\n onError = () => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n }\r\n render() {\r\n var props = this.props;\r\n return (\r\n { props.handleClose() }} isVisible={props.showEditPatientModal} id=\"edit-hospital-flout\" showCloseButton={true} size=\"small\">\r\n Edit Patient \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default SavePatientDialogComponent","import React, { Component } from 'react'\r\nimport Flyout, { FlyoutHead, FlyoutBody, FlyoutFooter } from '../components/Flyout';\r\nimport AxiosHelper from '../utils/AxiosHelper';\r\nimport Moment from 'react-moment';\r\nimport axios from 'axios';\r\nimport moment from 'moment'\r\n\r\nclass SavePatientAnswersComponent extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n patient: {\r\n id: \"\",\r\n name: \"\",\r\n },\r\n questionnaires: []\r\n };\r\n };\r\n\r\n componentWillReceiveProps(props) {\r\n if (props.patient) {\r\n this.setState({\r\n patient: props.patient,\r\n showEditPatientModal: props.showEditPatientModal\r\n\r\n });\r\n AxiosHelper(\"PatientQuestionnaireAnswer/GetQuestionnaireDetailsForPatient?patientId=\" + props.patient.id)\r\n .then((result) => {\r\n if (result.data.Success == true) {\r\n this.setState({\r\n questionnaires: result.data.Data\r\n })\r\n }\r\n }).catch((ex) => {\r\n\r\n })\r\n }\r\n }\r\n\r\n downloadAnswers = (id, answerTime) => {\r\n axios({\r\n baseURL: window.ENVIRONMENT_URL,\r\n url: '/PatientQuestionnaireAnswer/DownloadQuestionnaireAnswers?questionnaireId=' + id + '&patientId=' + this.state.patient.id + \"&answerTime=\" + answerTime,\r\n method: 'GET',\r\n responseType: 'blob', // important\r\n withCredentials: true,\r\n crossDomain: true,\r\n headers: {\r\n 'Accept': 'application/csv',\r\n },\r\n }).then((response) => {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'answers-' + id + '-' + this.state.patient.id + '.csv');\r\n document.body.appendChild(link);\r\n link.click();\r\n });\r\n }\r\n\r\n\r\n\r\n render() {\r\n var props = this.props;\r\n return (\r\n { props.handleClose() }} isVisible={props.showPatientAnswer} id=\"show-patient-answer-flyout\" showCloseButton={true} size=\"save-answers\">\r\n {this.state.patient.name ? this.state.patient.name : \"\"} Questionnaires \r\n \r\n {\r\n this.state.questionnaires.length == 0 ?\r\n \r\n No results. \r\n
\r\n :\r\n \r\n \r\n \r\n Name \r\n Date \r\n Answers \r\n \r\n \r\n \r\n {\r\n this.state.questionnaires.map((item) =>\r\n (\r\n \r\n {item.QuestionnaireName} \r\n \r\n {item.AnswerTimeDate}\r\n \r\n this.downloadAnswers(item.QuestionnaireId, item.AnswerTimeString)}>\r\n
\r\n \r\n \r\n )\r\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 SavePatientAnswersComponent","import React from 'react'\r\nimport { Button, Header, Icon, Modal } from 'semantic-ui-react'\r\n\r\nconst UpdateStatusDialogComponent = (props) => (\r\n \r\n \r\n \r\n \r\n Are you sure you want to {props.action.toLowerCase()} the {props.entity.toLowerCase()} ?\r\n
\r\n {props.legend}
\r\n \r\n \r\n \r\n Yes\r\n \r\n \r\n No\r\n \r\n \r\n \r\n)\r\n\r\nexport default UpdateStatusDialogComponent","import React, { Component } from 'react'\r\nimport { ToArray } from '../utils/Utils';\r\n\r\nimport { Link } from \"react-router-dom\"\r\n\r\nfunction MoreActionsItem(props) {\r\n return (\r\n props.onClick(props.id, props.obj)} className=\"d-more-action-item\">\r\n {props.text} \r\n
\r\n )\r\n}\r\n\r\nfunction MoreActionsLinkItem(props) {\r\n return (\r\n \r\n \r\n {props.text} \r\n
\r\n \r\n )\r\n}\r\n\r\nclass MoreActionsMenu extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.ref = React.createRef(null)\r\n }\r\n\r\n state = {\r\n isVisible: false\r\n }\r\n\r\n onItemClick = (itemId, obj) => {\r\n if (this.props.callback) {\r\n this.props.callback(itemId, obj, this.props.activeIndex)\r\n }\r\n\r\n if (this.props.closeOnActionClick) {\r\n return\r\n }\r\n\r\n this.setState({ isVisible: false })\r\n }\r\n\r\n onClick = (ev) => {\r\n this.setState({ isVisible: !this.state.isVisible })\r\n }\r\n\r\n componentWillMount() {\r\n document.addEventListener('mousedown', this.handleClick, false);\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.handleClick, false);\r\n }\r\n\r\n handleClick = (e) => {\r\n if (this.state.isVisible) {\r\n if (!this.ref.current.contains(e.target)) {\r\n this.setState({ isVisible: false })\r\n return;\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const title = this.props.title ? this.props.title : \"More Actions\"\r\n\r\n return (\r\n \r\n
\r\n {\r\n /*this.state.isVisible ?\r\n (*/\r\n
\r\n {\r\n ToArray(this.props.children).map(c =>\r\n React.cloneElement(c, { onClick: this.onItemClick })\r\n )\r\n }\r\n
\r\n /*) :\r\n (<>>)*/\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport { MoreActionsMenu, MoreActionsItem, MoreActionsLinkItem }\r\n","import React, { Component, useReducer, useContext } from 'react';\r\nimport Tabs from '../tabs/Tabs';\r\nimport Tab from '../tabs/components/Tab';\r\nimport { PaginationHandler } from '../filterAndPagination/PaginationHandler';\r\nimport { UserStatus } from '../../utils/Utils';\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport { PatientTableContext } from \"../contexts\"\r\nimport AxiosHelper from '../../utils/AxiosHelper';\r\nimport SavePatientDialogComponent from '../SavePatientDialogComponent';\r\nimport SavePatientAnswersComponent from '../SavePatientAnswersComponent';\r\nimport UpdateStatusDialogComponent from '../UpdateStatusDialogComponent';\r\nimport { MoreAction, MoreActionsMenu, MoreActionsItem } from '../MoreActions';\r\nimport \"../../css/base/basicTable.css\";\r\nimport { Notifications } from '../NotificationsComponent';\r\n\r\nfunction _reducer(state, action) {\r\n switch (action.type) {\r\n case 'SET_DATA': {\r\n return {\r\n ...state,\r\n patients: action.payload.data,\r\n screenIsReady: true\r\n }\r\n }\r\n case 'EDIT_PATIENT': {\r\n return {\r\n ...state,\r\n showEditPatientModal: true,\r\n patientId: action.payload.patientId,\r\n patient: action.payload.patient\r\n }\r\n }\r\n\r\n case 'SHOW_PATIENT_ANSWER_MODAL' : {\r\n return {\r\n ...state,\r\n showPatientAnswer: true,\r\n patient: {\r\n \"id\": action.payload.patientId,\r\n \"name\":action.payload.patientName,\r\n }\r\n }\r\n }\r\n case 'CLOSE_PATIENT_ANSWER': {\r\n return {\r\n ...state,\r\n showPatientAnswer: false\r\n }\r\n }\r\n case 'CLOSE_EDIT_PATIENT': {\r\n return {\r\n ...state,\r\n patientId: '',\r\n showEditPatientModal: false\r\n }\r\n }\r\n case 'UPDATE_STATUS_PATIENT': {\r\n return {\r\n ...state,\r\n showUpdateEntityModal: true,\r\n updateDialogAction: action.payload.updateDialogAction,\r\n patientToUpdate: action.payload.patientToUpdate,\r\n }\r\n }\r\n case 'CLOSE_UPDATE_STATUS_PATIENT': {\r\n return {\r\n ...state,\r\n patientToUpdate: '',\r\n showUpdateEntityModal: false\r\n }\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\nfunction _PatientTable(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n showEditPatientModal: false,\r\n patient: null,\r\n patientId: '',\r\n patientToUpdate: '',\r\n updateDialogAction: '',\r\n showPatientAnswer: false,\r\n showUpdateEntityModal: false\r\n })\r\n\r\n const patientTableContext = useContext(PatientTableContext);\r\n const toastr = useContext(Notifications)\r\n\r\n const handleEditPatient = (id) => {\r\n var patientId = id;\r\n AxiosHelper.get(\"Patient/GetPatient?id=\" + patientId).then(response => {\r\n let tags = response.data.Tags.map(tag => {\r\n return tag.Id;\r\n });\r\n dispatch({\r\n type: \"EDIT_PATIENT\",\r\n payload: {\r\n patientId: patientId,\r\n patient: {\r\n id: response.data.Id,\r\n surgeonId: response.data.SurgeonId,\r\n firstName: response.data.FirstName,\r\n lastName: response.data.LastName,\r\n email: response.data.Email,\r\n phone: response.data.PhoneNumber,\r\n dateOfBirth: response.data.DateOfBirth,\r\n dateOfSurgery: response.data.DateOfSurgery,\r\n timeOfSurgery: response.data.SurgeryTime,\r\n activePathwayId: response.data.ActivePathwayId,\r\n code: response.data.Code,\r\n tags: tags\r\n }\r\n },\r\n });\r\n }).catch(function (err) {\r\n\r\n });\r\n }\r\n\r\n const cancelUpdate = () => {\r\n dispatch({\r\n type: \"CLOSE_UPDATE_STATUS_PATIENT\"\r\n });\r\n }\r\n\r\n const updateEntity = () => {\r\n if (state.updateDialogAction == 'Deactivate') {\r\n AxiosHelper.get(\"Patient/DeletePatient?id=\" + state.patientToUpdate).then(response => {\r\n toastr.ShowSuccess(\"Successfully deactivated the patient\")\r\n patientTableContext.filterEvent.riseEvent();\r\n }).catch(function (err) {\r\n toastr.ShowError(\"Failed to deactivate the patient\")\r\n this.setState({\r\n });\r\n });\r\n }\r\n if (state.updateDialogAction == 'Activate') {\r\n AxiosHelper.get(\"Patient/ActivatePatient?id=\" + state.patientToUpdate).then(response => {\r\n toastr.ShowSuccess(\"Successfully activated the patient\")\r\n patientTableContext.filterEvent.riseEvent();\r\n }).catch(function (err) {\r\n toastr.ShowError(\"Failed to activate the patient\")\r\n this.setState({\r\n });\r\n });\r\n }\r\n\r\n dispatch({\r\n type: \"CLOSE_UPDATE_STATUS_PATIENT\"\r\n });\r\n }\r\n\r\n const handleCloseUpdateEntityModal = () => {\r\n dispatch({\r\n type: \"CLOSE_UPDATE_STATUS_PATIENT\"\r\n });\r\n }\r\n\r\n const handleCloseEditPatientModal = () => {\r\n dispatch({\r\n type: \"CLOSE_EDIT_PATIENT\"\r\n });\r\n patientTableContext.filterEvent.riseEvent();\r\n };\r\n\r\n const handleClosePatientAnswer = () => {\r\n dispatch({\r\n type: \"CLOSE_PATIENT_ANSWER\"\r\n });\r\n };\r\n\r\n const handleRemovePatient = (patientId) => {\r\n dispatch({\r\n type: \"UPDATE_STATUS_PATIENT\",\r\n payload: {\r\n updateDialogAction: \"Deactivate\",\r\n patientToUpdate: patientId,\r\n }\r\n })\r\n }\r\n\r\n const handleActivatePatient = (patientId) => {\r\n dispatch({\r\n type: \"UPDATE_STATUS_PATIENT\",\r\n payload: {\r\n updateDialogAction: \"Activate\",\r\n patientToUpdate: patientId,\r\n }\r\n })\r\n }\r\n\r\n const handleShowPatientAnswer = (patientId, name) => {\r\n dispatch({\r\n type: \"SHOW_PATIENT_ANSWER_MODAL\",\r\n payload: {\r\n patientId: patientId,\r\n patientName: name\r\n }\r\n })\r\n }\r\n\r\n props.willMoundEvent.subscribe(() => {\r\n patientTableContext.formData = {\r\n ...props.surgeonTableContext.formData\r\n }\r\n })\r\n\r\n const handleMenuItemClick = (menuItemId, obj, activeIndex) => {\r\n if (menuItemId == \"questionnaires\") {\r\n handleShowPatientAnswer(obj.Id, obj.Name)\r\n }\r\n else if (menuItemId == \"edit\") {\r\n handleEditPatient(obj.Id)\r\n }\r\n else if (menuItemId == \"remove\") {\r\n if (activeIndex == UserStatus.Deleted || activeIndex == UserStatus.Pending) {\r\n handleActivatePatient(obj.Id)\r\n }\r\n else {\r\n handleRemovePatient(obj.Id)\r\n }\r\n\r\n }\r\n }\r\n\r\n const renderPatientsTable = (items, id, activeIndex) => {\r\n if (!items || !items.length) {\r\n return (\r\n \r\n No results. \r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n Name \r\n Age \r\n Surgery date \r\n Pathway \r\n Code \r\n Email \r\n Phone \r\n \r\n \r\n \r\n \r\n {\r\n items.map((item, i) =>\r\n (\r\n \r\n { handleEditPatient(item.Id) }} >{item.Name} \r\n {item.Age} \r\n {item.Surgery} \r\n {item.Pathway} \r\n {item.Code} \r\n {item.Email} \r\n {item.Phone} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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\n \r\n \r\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 PatientTable extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.willMoundEvent = SafeSimpleEvent()\r\n }\r\n\r\n\r\n componentWillMount(props) {\r\n this.willMoundEvent.riseEvent()\r\n }\r\n\r\n render() {\r\n return (\r\n <_PatientTable {...this.props} willMoundEvent={this.willMoundEvent} />\r\n );\r\n }\r\n}\r\n\r\nexport default PatientTable;","import React, { Component, useReducer, useContext } from 'react'\r\nimport { DatePicker } from 'antd';\r\n\r\nfunction _reducer(state, action) {\r\n switch (action.type) {\r\n case 'CLEAR': {\r\n return {\r\n ...state,\r\n value: \"\"\r\n }\r\n }\r\n case 'VALUE_CHANGED': {\r\n return {\r\n ...state,\r\n value: action.value\r\n }\r\n }\r\n }\r\n\r\n return state\r\n}\r\n\r\nexport default function DateFilterEntry(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n name: props.name,\r\n value: props.value ? props.value : \"\",\r\n })\r\n\r\n const { collectEvent, clearEvent, filterEvent } = props\r\n\r\n collectEvent.subscribe((formData) => {\r\n formData[state.name] = state.value\r\n }, props.name)\r\n\r\n\r\n const onValueChanged = (date, dateStr) => {\r\n dispatch({\r\n type: 'VALUE_CHANGED',\r\n value: date\r\n })\r\n filterEvent.riseEvent({ [state.name]: date })\r\n }\r\n\r\n const clear = () => {\r\n dispatch({\r\n type: 'CLEAR'\r\n })\r\n }\r\n\r\n clearEvent.subscribe(() => {\r\n clear()\r\n }, props.name);\r\n\r\n return (\r\n \r\n
\r\n {props.friendlyName ? props.friendlyName : props.name} \r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React, { Component, useReducer, useContext } from 'react'\r\nimport Select2Component from '../../Select2Component';\r\nimport EntitiesSelect2Component from '../../EntitySelect2Component';\r\nimport { stat } from 'fs';\r\n//import Select2Component from '.../'\r\n\r\nfunction _reducer(state, action) {\r\n switch (action.type) {\r\n case 'CLEAR': {\r\n return {\r\n ...state,\r\n value: []\r\n }\r\n }\r\n case 'VALUE_CHANGED': {\r\n return {\r\n ...state,\r\n value: action.value\r\n }\r\n }\r\n }\r\n\r\n return state\r\n}\r\n\r\nexport default function MultiselectFilterEntry(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n name: props.name,\r\n value: [],\r\n })\r\n\r\n const { collectEvent, clearEvent } = props\r\n\r\n collectEvent.subscribe((formData) => {\r\n formData[state.name] = state.value\r\n })\r\n\r\n const onValueChanged = (ev, { value }) => {\r\n dispatch({\r\n type: 'VALUE_CHANGED',\r\n value: value\r\n })\r\n }\r\n\r\n const clear = () => {\r\n dispatch({\r\n type: 'CLEAR'\r\n })\r\n }\r\n\r\n clearEvent.subscribe(() => {\r\n clear()\r\n }, props.name);\r\n\r\n return (\r\n \r\n {props.friendlyName ? props.friendlyName : props.name} \r\n \r\n
\r\n )\r\n}\r\n","import React, { Component } from 'react';\r\nimport PatientTable from './PatientTable';\r\nimport TextFilterEntry from '../filterAndPagination/components/TextFilterEntry';\r\nimport FilterHandler from '../filterAndPagination/FilterHandler';\r\nimport DateFilterEntry from '../filterAndPagination/components/DateFilterEntry';\r\nimport MultiselectTagsFilterEntry from '../filterAndPagination/components/MultiselectTagsFilterEntry';\r\n\r\nclass PatientTableWithFilter extends Component {\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\nexport default PatientTableWithFilter;","import React, { Component } from 'react'\r\n\r\nexport function ActionGroup(props) {\r\n return (\r\n \r\n {props.children}\r\n
\r\n )\r\n}\r\n\r\nexport function PageTitle(props) {\r\n return (\r\n \r\n {props.text} \r\n
\r\n )\r\n}\r\n\r\nexport class PageHeading extends Component {\r\n render() {\r\n return (\r\n \r\n {this.props.children}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default PageHeading\r\n","import React from 'react'\r\nimport Flyout, { FlyoutHead, FlyoutBody, FlyoutFooter } from '../components/Flyout';\r\nimport { ToArray } from '../utils/Utils';\r\nimport { ValidResult } from '../utils/Utils';\r\nimport PrimaryButton from \"./buttons/PrimaryButton\"\r\n\r\nclass CreateEntityComponent extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n showCreateModal: false,\r\n };\r\n };\r\n\r\n onSaveCallback = (result) => {\r\n if (ValidResult(result)) {\r\n this.props.toastr.ShowSuccess(\"Successfully created the \" + this.props.entity.toLowerCase())\r\n this.props.context.filterEvent.riseEvent();\r\n this.handleClose()\r\n\r\n }\r\n else if (result.StatusCode == 9) {\r\n this.props.toastr.ShowError(\"This email is already taken\")\r\n }\r\n else {\r\n this.props.toastr.ShowError(\"Failed to create \" + this.props.entity.toLowerCase())\r\n }\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({\r\n showCreateModal: false\r\n })\r\n }\r\n\r\n handleOpen = () => {\r\n this.setState({\r\n showCreateModal: true\r\n })\r\n }\r\n\r\n componentWillMount(props) {\r\n\r\n }\r\n\r\n render() {\r\n var props = this.props;\r\n var state = this.state;\r\n\r\n var children = ToArray(props.children);\r\n\r\n return (\r\n <>\r\n { this.handleOpen() }} />\r\n { this.handleClose() }} isVisible={state.showCreateModal} id=\"edit-hospital-flout\" showCloseButton={true} size=\"small\">\r\n Create {props.entity} \r\n \r\n {\r\n children.map((element, i) => (\r\n React.cloneElement(element, { ...props, onSaveCallback: this.onSaveCallback, onError: props.onError })\r\n ))\r\n }\r\n \r\n \r\n \r\n >\r\n )\r\n }\r\n}\r\n\r\nexport default CreateEntityComponent","import React, { Component, useContext, useReducer } from 'react';\r\nimport { PatientTableContext, HospitalTableContext } from '../components/contexts'\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\nimport PatientTableWithFilter from '../components/table/PatientTableWithFilter';\r\nimport PageHeading, { PageTitle, ActionGroup } from '../components/PageHeading';\r\nimport CreateEntityComponent from '../components/CreateEntityComponent';\r\nimport SavePatientForm from '../components/forms/SavePatientForm';\r\nimport EventProxy from \"../components/EventProxy\"\r\nimport { Notifications } from '../components/NotificationsComponent';\r\n\r\nconst _reducer = function (state, action) {\r\n switch (action.type) {\r\n case \"SET_DATA\": {\r\n return {\r\n ...state,\r\n patients: action.payload.data,\r\n screenIsReady: true\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction _PatientPage(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n patients: [],\r\n screenIsReady: true,\r\n setStateEventWrapper: EventProxy()\r\n })\r\n\r\n const toastr = useContext(Notifications)\r\n\r\n const patientTableContext = useContext(PatientTableContext);\r\n\r\n return (state.screenIsReady ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n >\r\n\r\n ) : null)\r\n}\r\n\r\nclass PatientsPage extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.didMountEvent = new SafeSimpleEvent();\r\n };\r\n\r\n componentDidMount() {\r\n this.didMountEvent.riseEvent();\r\n }\r\n\r\n render() {\r\n return (<_PatientPage {...this.props} didMountEvent={this.didMountEvent} />)\r\n }\r\n}\r\n\r\nexport default PatientsPage;","import React, { Component } from 'react'\r\nimport { Take, ToArray } from '../utils/Utils';\r\n\r\nimport \"../css/listingTagsView.css\"\r\n\r\nexport class ListingTagsView extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n }\r\n\r\n render() {\r\n const props = this.props\r\n const tags = Take(props.tags, 2)\r\n const leftoverCount = props.tags.length - tags.length\r\n const showLeftover = leftoverCount > 0\r\n\r\n return (\r\n \r\n {\r\n tags.map(tag => { return tag ? (
{tag.Name}
): null })\r\n }\r\n {\r\n showLeftover ?\r\n (\r\n
\r\n {\" +\" + leftoverCount}\r\n \r\n {\r\n props.tags.slice(2, props.tags.length).map(tag => { return
{tag.Name}
})\r\n }\r\n
\r\n \r\n ) : null\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ListingTagsView\r\n","import React, { Component } from 'react'\r\nimport PrimaryButton from './buttons/PrimaryButton';\r\n\r\nimport \"../css/confirmModule.css\"\r\n\r\nexport const Confirm = {\r\n Show: () => { }\r\n}\r\n\r\nexport class ConfirmModule extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n isVisible: false,\r\n payload: null,\r\n handler: () => { },\r\n data: {\r\n title: \"Are you sure\",\r\n message: \"Do you wnat to delete asdasdasdasdasasasd?\"\r\n }\r\n }\r\n\r\n Confirm.Show = this.Show\r\n }\r\n\r\n Show = (title, message, handler, payload) => {\r\n this.state.handler = handler\r\n\r\n this.setState({\r\n isVisible: true,\r\n payload,\r\n data: {\r\n message,\r\n title\r\n }\r\n })\r\n }\r\n\r\n clear = () => {\r\n this.state.handler = () => { }\r\n this.state.payload = null\r\n this.state.data = {}\r\n }\r\n\r\n render() {\r\n return this.state.isVisible ? (\r\n \r\n
\r\n
\r\n {this.state.data.title} \r\n
\r\n
\r\n {this.state.data.message} \r\n
\r\n
\r\n
{\r\n this.state.handler({ type: \"ok\", payload: this.state.payload })\r\n\r\n this.setState({\r\n isVisible: false\r\n })\r\n this.clear()\r\n }} />\r\n {\r\n this.state.handler({ type: \"cancel\", payload: this.state.payload })\r\n\r\n this.setState({\r\n isVisible: false\r\n })\r\n this.clear()\r\n }} />\r\n \r\n
\r\n
\r\n ) : null\r\n }\r\n}\r\n\r\nexport default ConfirmModule\r\n","import React, { Component, useContext } from 'react';\r\n\r\nimport TextFilterEntry from '../filterAndPagination/components/TextFilterEntry';\r\nimport { PaginationHandler } from '../filterAndPagination/PaginationHandler';\r\nimport FilterHandler from '../filterAndPagination/FilterHandler';\r\nimport { MoreActionsMenu, MoreActionsItem, MoreActionsLinkItem } from '../MoreActions';\r\nimport ListingTagsView from '../ListingTagsView';\r\nimport MultiselectFilterEntry from '../filterAndPagination/components/MultiselectTagsFilterEntry';\r\nimport AxiosHelper from '../../utils/AxiosHelper';\r\nimport { ValidResult } from '../../utils/Utils';\r\nimport { PageStateHandler } from '../PageState';\r\nimport { Confirm } from \"../ConfirmModule\"\r\nimport ObjectWrapper from '../ObjectWrapper';\r\nimport { withRouter } from \"react-router\";\r\n\r\nimport \"../../css/tableWithLegend.css\"\r\n\r\n\r\nconst PathwayTableContext = React.createContext(FilterHandler.BuildContextValue());\r\nfunction _PathwayTable(props) {\r\n const tableContext = useContext(PathwayTableContext)\r\n\r\n props.tableContext.setObject(tableContext)\r\n\r\n return null\r\n}\r\nclass PathwayTable extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n tableContext: ObjectWrapper()\r\n }\r\n }\r\n\r\n onMenuItemClick = (menuItemId, obj) => {\r\n if (menuItemId === \"duplicate\") {\r\n Confirm.Show(\r\n `Confirm`,\r\n `Are you sure you want to duplicate pathway \"${obj.Name}\"?`,\r\n this.confirmHandler,\r\n { subType: \"duplicate\", obj }\r\n )\r\n }\r\n else if (menuItemId === \"delete\") {\r\n Confirm.Show(\r\n `Confirm`,\r\n `Are you sure you want to delete pathway \"${obj.Name}\"?`,\r\n this.confirmHandler,\r\n { subType: \"delete\", obj }\r\n )\r\n }\r\n }\r\n\r\n confirmHandler = ({ type, payload }) => {\r\n const { subType, obj } = payload\r\n\r\n if (type === \"ok\") {\r\n if (subType === \"duplicate\") {\r\n this.duplicatePathway(obj.Id, obj.Name)\r\n }\r\n else if (subType === \"delete\") {\r\n this.deletePathawy(obj.Id, obj.Name)\r\n }\r\n }\r\n }\r\n\r\n duplicatePathway = (id, name) => {\r\n PageStateHandler.SetLoading()\r\n\r\n AxiosHelper\r\n .post(`/Pathway/Duplicate?id=${id}`)\r\n .then((result) => {\r\n if (ValidResult(result.data)) {\r\n this.props.toastr.ShowSuccess(`Successfully duplicated pathawy \"${name}\"`)\r\n\r\n const { Value } = result.data.Data\r\n\r\n this.props.history.push(`/pathways/pathwaydetails?pathwayId=${Value}`)\r\n }\r\n else {\r\n this.props.toastr.ShowError(`Failed to duplicate pathawy \"${name}\"`)\r\n }\r\n\r\n PageStateHandler.SetReady()\r\n })\r\n .catch((err) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n PageStateHandler.SetReady()\r\n })\r\n }\r\n\r\n deletePathawy = (id, name) => {\r\n PageStateHandler.SetLoading()\r\n\r\n AxiosHelper\r\n .post(`/Pathway/Delete?id=${id}`)\r\n .then((result) => {\r\n if (ValidResult(result.data)) {\r\n this.props.toastr.ShowSuccess(`Successfully deleted pathawy \"${name}\"`)\r\n\r\n this.state.tableContext.filterEvent.riseEvent();\r\n }\r\n else {\r\n this.props.toastr.ShowError(`Failed to delete pathawy \"${name}\"`)\r\n }\r\n\r\n PageStateHandler.SetReady()\r\n })\r\n .catch((err) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n PageStateHandler.SetReady()\r\n })\r\n }\r\n\r\n renderPathwaysTable = (items) => {\r\n if (!items || !items.length) {\r\n return (\r\n \r\n No results. \r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Name \r\n Tags \r\n \r\n \r\n \r\n \r\n {\r\n items.map(pathway => {\r\n return (\r\n \r\n \r\n \r\n {\r\n this.props.history.push(`/pathways/pathwaydetails?pathwayId=${pathway.Id}&isTemplate=${pathway.IsTemplate}`);\r\n }}>{pathway.Name} \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!pathway.IsTemplate ? \r\n \r\n : <>>\r\n }\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n }\r\n \r\n
\r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <_PathwayTable tableContext={this.state.tableContext} />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
Created by user \r\n
\r\n
\r\n
\r\n \r\n >\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(PathwayTable);","import React, { useReducer, useContext } from \"react\";\r\nimport { Form } from \"../form/Form\";\r\nimport FormEntry from \"../form/FormEntry\";\r\nimport InputComponent from \"./InputComponent\";\r\nimport EntitiesSelect2Component from \"./EntitySelect2Component\";\r\n\r\nimport Flyout, {\r\n FlyoutHead,\r\n FlyoutBody,\r\n FlyoutFooter,\r\n} from \"../components/Flyout\";\r\nimport SafeSimpleEvent from \"./SafeSimpleEvent\";\r\nimport { Notifications } from \"./NotificationsComponent\";\r\nimport { ValidResult } from \"../utils/Utils\";\r\nimport EntitiesSelectComponent from \"./EntitySelectComponent\";\r\nimport DialogManager from \"./DialogManager\";\r\nimport { debug } from \"util\";\r\n\r\nfunction _reducer(state, { type, payload }) {\r\n switch (type) {\r\n case \"SET_VISIBLE\":\r\n return {\r\n ...state,\r\n showModal: payload,\r\n };\r\n case \"SET_DATA\": {\r\n return {\r\n ...state,\r\n ...payload,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\nexport default function SavePathwayDialog(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n showModal: false,\r\n isEdit: props.isEdit ? props.isEdit : false,\r\n isReadonly: props.isReadonly ? props.isReadonly : false,\r\n Id: props.id ? props.id : null,\r\n Name: \"\",\r\n IsTemplate: false,\r\n Type: 0,\r\n TagIds: [],\r\n\r\n Types: [\r\n { key: 0, text: \"Bronze\", value: 0 },\r\n { key: 1, text: \"Silver\", value: 1 },\r\n { key: 2, text: \"Gold\", value: 2 },\r\n ],\r\n internalEvents: SafeSimpleEvent(),\r\n formEvents: SafeSimpleEvent(),\r\n });\r\n\r\n const toastr = useContext(Notifications);\r\n\r\n state.internalEvents.subscribe(({ type, payload }) => {\r\n if (type === \"show\") {\r\n !state.showModal && show();\r\n } else if (type === \"hide\") {\r\n state.showModal && hide();\r\n } else if (type === \"edit\") {\r\n !state.showModal && edit(payload);\r\n }\r\n }, \"SAVE_PATHWAY_DIALOG\");\r\n\r\n if (props.savePathwayProxy) {\r\n props.savePathwayProxy.setEvent(state.internalEvents);\r\n }\r\n\r\n const edit = (data) => {\r\n const ids = data.Tags.map((d) => d.Id);\r\n dispatch({\r\n type: \"SET_DATA\",\r\n payload: {\r\n ...data,\r\n TagIds: ids,\r\n },\r\n });\r\n\r\n show();\r\n };\r\n\r\n const hide = () => {\r\n dispatch({ type: \"SET_VISIBLE\", payload: false });\r\n };\r\n\r\n const show = () => {\r\n dispatch({ type: \"SET_VISIBLE\", payload: true });\r\n };\r\n\r\n const clearState = () => {};\r\n\r\n const handleClose = () => {\r\n hide();\r\n if (props.onClose) {\r\n props.onClose();\r\n }\r\n };\r\n\r\n const onSaveCallback = (result) => {\r\n if (ValidResult(result)) {\r\n toastr.ShowSuccess(\r\n `Successfuly ${state.isEdit ? \"saved\" : \"created\"} the pathway`\r\n );\r\n const { Data } = result;\r\n\r\n !state.isEdit &&\r\n props.history.push(`/pathways/pathwaydetails?pathwayId=${Data}`);\r\n } else {\r\n toastr.ShowError(\r\n `Failed to ${state.isEdit ? \"save\" : \"create\"} the pathway`\r\n );\r\n }\r\n\r\n handleClose();\r\n };\r\n\r\n const onError = (err) => {\r\n toastr.ShowError(\"An error occurred, please try again\");\r\n };\r\n return (\r\n {\r\n handleClose();\r\n }}\r\n >\r\n \r\n {`${\r\n state.isEdit ? \"Edit\" : \"Create\"\r\n } Pathway`} \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { Component, useReducer, useContext } from 'react';\r\nimport PathwayTable from '../components/table/PathwayTable';\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\nimport SavePathwayDialog from '../components/SavePathwayDialog';\r\nimport PageHeading, { PageTitle, ActionGroup } from '../components/PageHeading';\r\nimport PrimaryButton from \"../components/buttons/PrimaryButton\"\r\n\r\nimport \"../css/base/basicTable.css\"\r\nimport EventProxy from '../components/EventProxy';\r\nimport { Notifications } from '../components/NotificationsComponent';\r\nfunction _reducer(state, { type, payload }) {\r\n return state\r\n}\r\nfunction _PathwaysPage(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n savePathwayProxy: EventProxy()\r\n })\r\n\r\n const toastr = useContext(Notifications)\r\n\r\n props.didMountEvent.subscribe(() => {\r\n\r\n })\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n { state.savePathwayProxy.riseEvent({ type: \"show\" }) }} value=\"Create Pathway\" />\r\n \r\n \r\n \r\n \r\n >\r\n )\r\n}\r\n\r\nclass PathwaysPage extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.didMountEvent = SafeSimpleEvent()\r\n }\r\n\r\n componentDidMount = () => {\r\n this.didMountEvent.riseEvent()\r\n }\r\n\r\n render() {\r\n return (<_PathwaysPage {...this.props} didMountEvent={this.didMountEvent} />);\r\n }\r\n}\r\n\r\nexport default PathwaysPage;\r\n","import React, { Component } from 'react'\r\n\r\nexport class TextAreaComponent extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n value: props.value ? props.value : \"\",\r\n placeholder: props.placeholder ? props.placeholder : \"\"\r\n }\r\n\r\n if (this.props.collectDataEvent) {\r\n this.props.collectDataEvent.subscribe(this.collectData, this.props.name)\r\n }\r\n\r\n if (this.props.validateEvent) {\r\n this.props.validateEvent.subscribe(this.validateEntry, this.props.name)\r\n }\r\n\r\n if (this.props.clearEvent) {\r\n this.props.clearEvent.subscribe(this.clearData, this.props.name)\r\n }\r\n\r\n }\r\n\r\n validateEntry = (formData) => {\r\n if (this.props.setValidationMessageEvent && Array.isArray(this.props.rules)) {\r\n var requiredRule = this.props.rules.find((r) => r.ValidationType === \"required\");\r\n if (requiredRule) {\r\n if (!this.state.value || !this.state.value.length) {\r\n this.props.setValidationMessageEvent.riseEvent(requiredRule.ErrorMessage)\r\n return false\r\n }\r\n }\r\n }\r\n\r\n return true\r\n }\r\n\r\n collectData = (formData) => {\r\n //here we process the value so we set the final version to the form(the version of the value that is posted to the server)\r\n //(eg. if this is a datepicker, set the iso-string or moment or actual js date)\r\n\r\n formData[this.props.name] = this.state.value\r\n }\r\n\r\n clearData = (reasone) => {\r\n this.setState({ value: \"\" })\r\n }\r\n\r\n onChange = (ev) => {\r\n this.setState({ value: ev.target.value })\r\n }\r\n\r\n render() {\r\n const validations = this.props.validations ? this.props.validations : {}\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default TextAreaComponent\r\n","import React, { Component } from 'react'\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport InputComponent from '../InputComponent';\r\nimport { Form } from '../../form/Form';\r\nimport FormEntry from '../../form/FormEntry';\r\nimport TextAreaComponent from '../TextAreaComponent';\r\nimport uuid from \"uuid\"\r\n\r\nexport class QuestionOption extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n isEdit: false,\r\n IsTemplate: this.props.value.IsTemplate,\r\n internalEvents: SafeSimpleEvent(),\r\n }\r\n\r\n if (this.props.externalEvents) {\r\n this.props.externalEvents.subscribe(this.handleEvents, `${this.props.value.InternalId}_option`)\r\n }\r\n\r\n this.state.internalEvents.subscribe(this.handleEvents, \"ME\")\r\n }\r\n\r\n handleEvents = ({ type, payload }) => {\r\n switch (type) {\r\n case \"option_collect_data\": {\r\n const data = {}\r\n let isValid = true\r\n\r\n var result = this.state.internalEvents.riseEventCheckSpecificResult({\r\n type: \"QuestionnaireOptionForm_collect_data\",\r\n payload: {}\r\n }, false)\r\n if (result) {\r\n isValid = false\r\n }\r\n\r\n this.state.internalEvents.riseEvent({\r\n type: \"QuestionnaireOptionForm_collect_data_no_validation\",\r\n payload: data\r\n })\r\n\r\n data.Id = this.props.value.Id\r\n data.InternalId = this.props.value.InternalId\r\n\r\n payload.push(data)\r\n return isValid\r\n }\r\n case \"on_will_destroy_option\": {\r\n if (payload && payload !== this.props.value.InternalId) {\r\n return false\r\n }\r\n this.state.internalEvents.clear()\r\n return true\r\n } break\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {!this.state.IsTemplate ?\r\n {\r\n this.props.externalEvents.riseEvent({\r\n type: \"remove_option\",\r\n payload: this.props.value.InternalId\r\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 QuestionOption\r\n","import React, { Component } from 'react'\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport { QuestionOption } from './QuestionOption';\r\nimport uuid from \"uuid\"\r\nimport { Form } from '../../form/Form';\r\nimport FormEntry from '../../form/FormEntry';\r\nimport TextAreaComponent from '../TextAreaComponent';\r\nimport { Confirm } from '../ConfirmModule';\r\n\r\nexport class QuestionnaireQuestion extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n isEdit: false,\r\n\r\n internalEvents: SafeSimpleEvent(),\r\n IsTemplate: this.props.value.IsTemplate,\r\n Title: this.props.value.Title,\r\n options: this.props.value.QuestionChoices\r\n }\r\n\r\n this.state.internalEvents.subscribe(this.handleInternalEvents, \"ME\")\r\n this.props.externalEvents.subscribe(this.handleEvents, `${this.props.value.InternalId}_question`)\r\n }\r\n\r\n addNewOption = () => {\r\n this.updateInternalState()\r\n this.setState(prevState => ({\r\n options: [...prevState.options, {\r\n InternalId: uuid(),\r\n Id: null,\r\n Title: \"\",\r\n Weight: 1.0,\r\n Message: \"\"\r\n }]\r\n }))\r\n }\r\n\r\n updateInternalState = () => {\r\n const data = {}\r\n const options = []\r\n\r\n this.state.internalEvents.riseEvent({\r\n type: \"QuestionnaireQuestionForm_collect_data_no_validation\",\r\n payload: data\r\n })\r\n\r\n this.state.internalEvents.riseEvent({\r\n type: \"option_collect_data\",\r\n payload: options\r\n })\r\n\r\n this.state.options = this.state.options.map(option => {\r\n const updatedData = options.find(newOption => newOption.InternalId === option.InternalId)\r\n if (updatedData) {\r\n return {\r\n ...option,\r\n ...updatedData\r\n }\r\n }\r\n\r\n return option\r\n })\r\n\r\n this.state.Title = data.Title\r\n }\r\n\r\n handleEvents = ({ type, payload }) => {\r\n switch (type) {\r\n case \"question_collect_data\": {\r\n const data = {}\r\n const options = []\r\n let isValid = true\r\n\r\n var result = this.state.internalEvents.riseEventCheckSpecificResult({\r\n type: \"QuestionnaireQuestionForm_collect_data\",\r\n payload: {}\r\n }, false)\r\n if (result) {\r\n isValid = false\r\n }\r\n\r\n this.state.internalEvents.riseEvent({\r\n type: \"QuestionnaireQuestionForm_collect_data_no_validation\",\r\n payload: data\r\n })\r\n\r\n result = this.state.internalEvents.riseEventCheckSpecificResult({\r\n type: \"option_collect_data\",\r\n payload: options\r\n }, false)\r\n if (result) {\r\n isValid = false\r\n }\r\n\r\n this.state.options = this.state.options.map(option => {\r\n const updatedData = options.find(newOption => newOption.InternalId === option.InternalId)\r\n if (updatedData) {\r\n return {\r\n ...option,\r\n ...updatedData\r\n }\r\n }\r\n\r\n return option\r\n })\r\n\r\n if (this.state.options.length === 0) {\r\n isValid = false\r\n }\r\n\r\n const questionData = {\r\n InternalId: this.props.value.InternalId,\r\n Id: this.props.value.Id,\r\n Title: data.Title,\r\n QuestionChoices: this.state.options\r\n }\r\n\r\n this.state.Title = data.Title\r\n\r\n payload.push(questionData)\r\n\r\n return isValid\r\n }\r\n case \"on_will_destroy_question\": {\r\n if (payload && payload !== this.props.value.InternalId) {\r\n return false\r\n }\r\n\r\n this.state.internalEvents.riseUnsubscribeEvent({\r\n type: \"on_will_destroy_option\"\r\n })\r\n\r\n this.state.internalEvents.clear()\r\n\r\n return true\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n handleInternalEvents = ({ type, payload }) => {\r\n switch (type) {\r\n case \"remove_option\": {\r\n this.state.options = this.state.options.filter(o => o.InternalId !== payload)\r\n\r\n this.state.internalEvents.riseUnsubscribeEvent({\r\n type: \"on_will_destroy_option\",\r\n payload\r\n })\r\n\r\n this.updateInternalState()\r\n\r\n this.forceUpdate()\r\n } break\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n\r\n }\r\n\r\n handleConfirm = ({ type, payload }) => {\r\n if (type !== \"ok\") {\r\n return\r\n }\r\n\r\n const { subType, obj } = payload\r\n\r\n if (subType === \"remove_question\") {\r\n this.props.externalEvents.riseEvent({\r\n type: \"remove_question\",\r\n payload: this.props.value.InternalId\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n {!this.state.IsTemplate ?\r\n {\r\n const questionTitle = this.state.internalEvents.riseEventGetFirstDefinedResult({\r\n type: \"QuestionnaireQuestionForm_collect_by_name\",\r\n payload: \"Title\"\r\n })\r\n\r\n Confirm.Show(\r\n \"Confirm\",\r\n `Are you sure you want to delete question \"${questionTitle}\"?`,\r\n this.handleConfirm,\r\n { subType: \"remove_question\" })\r\n }\r\n }> :\r\n <>>\r\n }\r\n
\r\n
\r\n {\r\n this.state.options.map((q, i) => (\r\n \r\n ))\r\n }\r\n
\r\n {!this.state.IsTemplate ?\r\n
\r\n {\r\n this.addNewOption()\r\n }}>+ New Option \r\n
\r\n :\r\n <>>\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default QuestionnaireQuestion\r\n","import React, { Component } from 'react'\r\nimport FormEntry from '../../form/FormEntry';\r\nimport { Form } from '../../form/Form';\r\nimport InputComponent from '../InputComponent';\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport { Confirm } from \"../ConfirmModule\"\r\nimport QuestionnaireQuestion from './QuestionnaireQuestion';\r\nimport uuid from \"uuid\"\r\n\r\nexport class QuestionnaireCategory extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n isEdit: false,\r\n questionnaireId: '',\r\n\r\n Name: this.props.value.Name,\r\n Desc: this.props.value.Desc,\r\n OrderIndex: this.props.value.OrderIndex,\r\n questions: this.props.value.Questions ? this.props.value.Questions : [],\r\n\r\n internalEvents: SafeSimpleEvent(),\r\n }\r\n\r\n this.state.internalEvents.subscribe(this.handleEvents, \"ME\")\r\n\r\n }\r\n\r\n updateCategoryData = (update) => {\r\n const data = {}\r\n this.state.internalEvents.riseEvent({\r\n type: \"collect_category_data\",\r\n payload: data\r\n })\r\n\r\n data.Id = this.props.value.Id\r\n data.InternalId = this.props.value.InternalId\r\n\r\n if (update) {\r\n this.props.externalEvents.riseEvent({\r\n type: `set_category_data_update`,\r\n payload: data\r\n })\r\n }\r\n else {\r\n this.props.externalEvents.riseEvent({\r\n type: `set_category_data`,\r\n payload: data\r\n })\r\n }\r\n }\r\n\r\n updateInternalState = () => {\r\n const questions = []\r\n this.state.internalEvents.riseEvent({\r\n type: \"question_collect_data\",\r\n payload: questions\r\n })\r\n\r\n this.state.questions = this.state.questions\r\n .filter(q => questions.find(qq => qq.InternalId === q.InternalId))\r\n .map(q => {\r\n const updatedData = questions.find(qq => qq.InternalId === q.InternalId)\r\n if (updatedData) {\r\n return {\r\n ...q,\r\n ...updatedData\r\n }\r\n }\r\n\r\n return q\r\n })\r\n\r\n const data = {}\r\n this.state.internalEvents.riseEvent({\r\n type: \"QuestionnaireCategoryForm_collect_data_no_validation\",\r\n payload: data\r\n })\r\n\r\n this.state.Name = data.Name\r\n this.state.Desc = data.Desc\r\n this.state.OrderIndex = parseInt(data.OrderIndex)\r\n }\r\n\r\n addEmptyQuestion = () => {\r\n this.updateInternalState()\r\n\r\n this.state.questions.push({\r\n InternalId: uuid(),\r\n Id: null,\r\n Title: \"\",\r\n QuestionChoices: []\r\n })\r\n\r\n this.forceUpdate()\r\n }\r\n\r\n componentDidUpdate = () => {\r\n }\r\n\r\n handleEvents = ({ type, payload }) => {\r\n switch (type) {\r\n case \"collect_category_data\":\r\n const data = {}\r\n const questions = []\r\n let isValid = true\r\n\r\n var result = this.state.internalEvents.riseEventCheckSpecificResult({\r\n type: \"QuestionnaireCategoryForm_collect_data\",\r\n payload: {}\r\n }, false)\r\n if (result) {\r\n isValid = false\r\n }\r\n\r\n this.state.internalEvents.riseEvent({\r\n type: \"QuestionnaireCategoryForm_collect_data_no_validation\",\r\n payload: data\r\n })\r\n\r\n result = this.state.internalEvents.riseEventCheckSpecificResult({\r\n type: \"question_collect_data\",\r\n payload: questions\r\n }, false)\r\n if (result) {\r\n isValid = false\r\n }\r\n\r\n this.state.questions = this.state.questions\r\n .map(q => {\r\n const updatedData = questions.find(qq => qq.InternalId === q.InternalId)\r\n if (updatedData) {\r\n return {\r\n ...q,\r\n ...updatedData\r\n }\r\n }\r\n\r\n return q\r\n })\r\n\r\n if (this.state.questions.length === 0) {\r\n isValid = false\r\n }\r\n\r\n payload.InternalId = this.props.value.InternalId\r\n payload.Id = this.props.value.Id\r\n payload.Name = data.Name\r\n payload.Desc = data.Desc\r\n payload.OrderIndex = parseInt(data.OrderIndex)\r\n payload.Questions = [...this.state.questions]\r\n\r\n this.state.Name = data.Name\r\n this.state.Desc = data.Desc\r\n this.state.OrderIndex = payload.OrderIndex\r\n\r\n return isValid\r\n case \"remove_question\": {\r\n this.state.internalEvents.riseUnsubscribeEvent({\r\n type: \"on_will_destroy_question\",\r\n payload\r\n })\r\n\r\n this.props.externalEvents.riseEvent({\r\n type: \"on_question_removed\"\r\n })\r\n\r\n this.setState(prevState => ({\r\n questions: prevState.questions.filter(q => q.InternalId !== payload)\r\n }))\r\n } break;\r\n case \"get_active_category_id\": {\r\n return this.props.value.InternalId\r\n } break\r\n case \"category_update\": {\r\n this.forceUpdate()\r\n\r\n } break\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n this.props.externalEvents.subscribe(this.handleEvents, `Questionnaire_${this.props.value.InternalId}`)\r\n }\r\n\r\n componentWillUnmount = () => {\r\n this.props.externalEvents.riseEvent({\r\n type: \"set_active_category_id\",\r\n payload: this.props.value.InternalId\r\n })\r\n this.props.externalEvents.unsubscribe(`Questionnaire_${this.props.value.InternalId}`)\r\n }\r\n\r\n deleteThis = () => {\r\n this.props.externalEvents.riseEvent({\r\n type: \"delete_questionnaire_category\",\r\n payload: this.props.value.InternalId\r\n })\r\n }\r\n\r\n handleConfirm = ({ type, payload }) => {\r\n const { subType, obj } = payload\r\n\r\n if (type === \"ok\") {\r\n if (subType === \"delete\") {\r\n this.deleteThis()\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n {!this.props.isReadonly ?\r\n
\r\n Add Question \r\n {\r\n Confirm.Show(\r\n `Confirm`,\r\n `Are you sure you want to delete this questionnaire category?`,\r\n this.handleConfirm,\r\n { subType: \"delete\" }\r\n )\r\n }} > Delete Categoy \r\n
\r\n : <>>\r\n }\r\n
\r\n
\r\n {\r\n this.state.questions.map((q, i) => (\r\n \r\n ))\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default QuestionnaireCategory\r\n","import React, { Component, useContext } from 'react';\r\nimport AxiosHelper from '../utils/AxiosHelper';\r\n\r\nimport QueryString from 'query-string';\r\nimport PageHeading, { PageTitle, ActionGroup } from '../components/PageHeading';\r\nimport { Form } from '../form/Form';\r\nimport FormEntry from '../form/FormEntry';\r\nimport InputComponent from '../components/InputComponent';\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\nimport PrimaryButton from '../components/buttons/PrimaryButton';\r\nimport Tabs from '../components/tabs/Tabs';\r\nimport QuestionnaireCategory from '../components/questionnaire/QuestionnaireCategory';\r\nimport Tab from '../components/tabs/components/Tab';\r\n\r\nimport uuid from \"uuid\"\r\n\r\nimport \"../css/categoryDetails.css\"\r\nimport DialogManager from '../components/DialogManager';\r\nimport { Notifications } from '../components/NotificationsComponent';\r\nimport ObjectWrapper from '../components/ObjectWrapper';\r\nimport { ValidResult } from '../utils/Utils';\r\nimport EntitiesSelect2Component from '../components/EntitySelect2Component';\r\nimport { PageStateHandler } from '../components/PageState';\r\nimport { Link } from \"react-router-dom\"\r\n\r\nfunction _QuestionnaireDetails(props) {\r\n const toastr = useContext(Notifications)\r\n\r\n props.toastr.setObject(toastr)\r\n\r\n return null\r\n}\r\nclass QuestionnaireDetails extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n isEdit: false,\r\n questionnaireId: '',\r\n activeCategoryId: null,\r\n internalEvents: SafeSimpleEvent(),\r\n\r\n Id: null,\r\n TagIds: [],\r\n PathwayIds: [],\r\n IsTemplate: false,\r\n Name: \"\",\r\n categories: [],\r\n counter: 0,\r\n toastr: ObjectWrapper()\r\n }\r\n\r\n const params = QueryString.parse(this.props.location.search)\r\n if (params.questionnaireId) {\r\n this.state.isEdit = true\r\n this.state.Id = params.questionnaireId\r\n this.state.questionnaireId = params.questionnaireId\r\n }\r\n else {\r\n this.state.categories.push(this.createNewCategory(\"Simple\"))\r\n this.state.activeCategoryId = this.state.categories[0].InternalId\r\n }\r\n\r\n this.state.internalEvents.subscribe(this.handleEvents, \"ME\")\r\n }\r\n\r\n componentWillMount = () => {\r\n this.refreshData()\r\n }\r\n\r\n updateCurrentCategoryData = (update) => {\r\n if (update) {\r\n\r\n }\r\n else {\r\n const category = { IsValid: true }\r\n var result = this.state.internalEvents.riseEventCheckSpecificResult({\r\n type: \"collect_category_data\",\r\n payload: category\r\n }, false)\r\n if (result) {\r\n category.IsValid = false\r\n }\r\n\r\n this.state.categories = this.state.categories.map(cat => {\r\n if (cat.InternalId === category.InternalId) {\r\n\r\n const result = { ...cat, ...category }\r\n\r\n result.Questions = category.Questions\r\n\r\n return result\r\n }\r\n\r\n return cat\r\n })\r\n\r\n console.log(this.state.categories)\r\n }\r\n }\r\n\r\n updateFormData = (update) => {\r\n if (update) {\r\n\r\n }\r\n else {\r\n const data = {}\r\n this.state.internalEvents.riseEvent({ type: \"QuestionnaireForm_collect_data_no_validation\", payload: data })\r\n\r\n this.state.Name = data.Name\r\n this.state.PathwayIds = data.PathwayIds\r\n\r\n return data\r\n }\r\n }\r\n\r\n createNewCategory = (name) => {\r\n return {\r\n InternalId: uuid(),\r\n Id: null,\r\n Name: name,\r\n Desc: \"\",\r\n OrderIndex: 0,\r\n Questions: [],\r\n IsValid: false\r\n }\r\n }\r\n\r\n handleEvents = ({ type, payload }) => {\r\n switch (type) {\r\n case \"Categories_on_new_tab\": {\r\n DialogManager.Show(\r\n \"new_category_dialog\",\r\n ({ type, payload }) => {\r\n if (type === \"on_submit_success\") {\r\n const newCategory = this.createNewCategory(payload.Name)\r\n\r\n this.updateCurrentCategoryData()\r\n this.updateFormData()\r\n this.state.categories.push(newCategory)\r\n\r\n this.setActiveTabId(newCategory.InternalId)\r\n this.forceUpdate()\r\n }\r\n })\r\n } break;\r\n case \"Categories_on_tab_will_change\": {\r\n this.updateFormData()\r\n this.updateCurrentCategoryData()\r\n return true\r\n }\r\n case \"Categories_on_tab_did_change\": {\r\n const activeCategoryId = this.state.internalEvents.riseEventGetFirstDefinedResult({\r\n type: \"get_active_category_id\"\r\n })\r\n\r\n this.setActiveTabId(activeCategoryId)\r\n this.forceUpdate()\r\n } break;\r\n case \"set_category_data_update\":\r\n const update = true\r\n case \"set_category_data\": {\r\n this.state.categories.forEach(cat => {\r\n if (cat.InternalId === payload.InternalId) {\r\n cat.Id = payload.Id\r\n cat.Name = payload.Name\r\n cat.OrderIndex = payload.OrderIndex\r\n cat.IsValid = payload.IsValid\r\n\r\n cat.Questions = payload.Questions\r\n }\r\n })\r\n\r\n if (update) {\r\n console.log(this.state.categories)\r\n this.forceUpdate()\r\n }\r\n }\r\n case \"delete_questionnaire_category\": {\r\n this.setState(prevState => ({\r\n categories: prevState.categories.filter(cat => cat.InternalId !== payload)\r\n }))\r\n\r\n this.state.internalEvents.defferedRiseEvent({\r\n type: \"Categories_select_tab\"\r\n })\r\n } break\r\n case \"set_active_category_id\": {\r\n this.state.activeCategoryId = payload\r\n } break;\r\n case \"on_question_removed\": {\r\n this.updateCurrentCategoryData()\r\n } break;\r\n default: { } break\r\n }\r\n }\r\n\r\n setData = (data) => {\r\n this.state.Name = data.Name\r\n this.state.PathwayIds = data.PathwayIds\r\n this.state.categories = data.QuestionnaireCategories\r\n this.state.IsTemplate = data.IsTemplate\r\n\r\n if(data.IsTemplate){\r\n data.QuestionnaireCategories.forEach(q => {\r\n q.IsTemplate = true\r\n\r\n q.Questions.forEach(qq => {\r\n qq.IsTemplate = true\r\n\r\n qq.QuestionChoices.forEach(c =>{\r\n c.IsTemplate = true\r\n })\r\n })\r\n }) \r\n }\r\n this.state.categories.forEach(cat => {\r\n cat.InternalId = cat.Id\r\n cat.IsValid = true\r\n if (cat.Questions) {\r\n cat.Questions.forEach(q => {\r\n q.InternalId = q.Id\r\n if (q.QuestionChoices) {\r\n q.QuestionChoices.forEach(qc => {\r\n qc.InternalId = qc.Id\r\n })\r\n }\r\n })\r\n }\r\n })\r\n\r\n if (this.state.categories.length) {\r\n this.setActiveTabId(this.state.categories[0].InternalId)\r\n }\r\n\r\n this.forceUpdate()\r\n }\r\n\r\n setActiveTabId = (id) => {\r\n this.state.activeCategoryId = id\r\n this.state.internalEvents.defferedRiseEvent({\r\n type: \"Categories_set_selected_tab\",\r\n payload: `${id}_tab`\r\n })\r\n }\r\n\r\n refreshData = () => {\r\n if (!this.state.isEdit) {\r\n return\r\n }\r\n\r\n PageStateHandler.SetLoading()\r\n AxiosHelper\r\n .get(\"/Questionnaire/GetQuestionnaire?id=\" + this.state.Id)\r\n .then(({ data }) => {\r\n if (ValidResult(data)) {\r\n this.setData(data.Data)\r\n }\r\n else {\r\n this.state.toastr.ShowError(\"Failed to get the questionnaire data\")\r\n }\r\n PageStateHandler.SetReady()\r\n })\r\n .catch((err) => {\r\n this.state.toastr.ShowError(\"Failed to get the questionnaire data\")\r\n PageStateHandler.SetReady()\r\n })\r\n }\r\n\r\n componentWillMount() {\r\n\r\n };\r\n\r\n onSubmit = () => {\r\n const data = {}\r\n var result = this.state.internalEvents.riseEventCheckSpecificResult({ type: \"QuestionnaireForm_collect_data\", payload: data }, false)\r\n if (result) {\r\n this.state.toastr.ShowError(\"Please fill all required fields before sumbmiting\")\r\n return false\r\n }\r\n\r\n this.state.PathwayIds = data.PathwayIds\r\n\r\n this.updateCurrentCategoryData()\r\n\r\n var invalidCategory = this.state.categories.find(t => !t.IsValid)\r\n if (invalidCategory) {\r\n\r\n this.state.toastr.ShowError(\"Please fill all required fields before sumbmiting\")\r\n\r\n return false\r\n }\r\n\r\n data.EstimatedCompletionTime = 0\r\n data.TagIds = []\r\n data.QuestionnaireCategories = this.state.categories\r\n let copy = null\r\n\r\n if (!this.state.isEdit) {\r\n copy = JSON.parse(JSON.stringify(data))\r\n\r\n copy.QuestionnaireCategories.forEach(cat => {\r\n cat.Id = null\r\n\r\n cat.Questions.forEach(q => {\r\n q.Id = null\r\n\r\n q.QuestionChoices.forEach(o => {\r\n o.Id = null\r\n })\r\n })\r\n })\r\n }\r\n else {\r\n data.Id = this.state.Id\r\n copy = data\r\n }\r\n\r\n PageStateHandler.SetLoading();\r\n AxiosHelper\r\n .post(\"Questionnaire/Save\", data)\r\n .then(({ data }) => {\r\n if (ValidResult(data)) {\r\n this.state.toastr.ShowSuccess(`Successfully ${!this.state.isEdit ? \"created\" : \"saved\"} the questionnaire`)\r\n\r\n if (!this.state.isEdit) {\r\n const dest = {\r\n Title: \"Edit Questionnaire\",\r\n Url: `${document.location.href}?questionnaireId=${data.Data.Value}`\r\n }\r\n\r\n window.history.pushState(dest, dest.Title, dest.Url)\r\n\r\n this.state.Id = data.Data.Value\r\n\r\n this.updateFormData()\r\n this.setState({ isEdit: true })\r\n }\r\n }\r\n else {\r\n this.state.toastr.ShowError(`Failed to ${!this.state.isEdit ? \"create\" : \"save\"} the questionnaire`)\r\n }\r\n PageStateHandler.SetReady();\r\n })\r\n .catch(err => {\r\n this.state.toastr.ShowError(\"An error occurred, please try again\")\r\n PageStateHandler.SetReady();\r\n })\r\n\r\n return true\r\n }\r\n\r\n render() {\r\n const tabs = this.state.categories.map((cat) => (\r\n \r\n \r\n \r\n ))\r\n\r\n return (\r\n <>\r\n <_QuestionnaireDetails toastr={this.state.toastr} />\r\n \r\n Back \r\n \r\n \r\n \r\n \r\n {\r\n tabs\r\n }\r\n \r\n {!this.state.IsTemplate ?\r\n \r\n
{\r\n this.onSubmit()\r\n }} />\r\n \r\n :\r\n <>>\r\n }\r\n >\r\n );\r\n }\r\n}\r\n\r\nexport default QuestionnaireDetails;\r\n","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport Tabs from '../tabs/Tabs';\r\nimport Tab from '../tabs/components/Tab';\r\nimport TextFilterEntry from '../filterAndPagination/components/TextFilterEntry';\r\nimport InputComponent from '../InputComponent';\r\nimport { PaginationHandler } from '../filterAndPagination/PaginationHandler';\r\nimport FilterHandler from '../filterAndPagination/FilterHandler';\r\nimport { MoreAction, MoreActionsMenu, MoreActionsItem } from '../MoreActions';\r\nimport MultiselectFilterEntry from '../filterAndPagination/components/MultiselectTagsFilterEntry';\r\nimport ListingTagsView from '../ListingTagsView';\r\n\r\nexport const GeneralInformationTableContext = React.createContext();\r\nclass GeneralInformationTable extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n contextValue: FilterHandler.BuildContextValue()\r\n }\r\n\r\n this.props.events.subscribe(this.handleEvent, \"INFO_TABLE\")\r\n }\r\n\r\n handleEvent = ({ type, payload }) => {\r\n if (type === \"filter\") {\r\n this.state.contextValue.filterEvent.riseEvent()\r\n }\r\n }\r\n\r\n onMenuItemClick = (menuItemId, obj) => {\r\n if (menuItemId === \"edit\") {\r\n if (this.props.editEvent) {\r\n this.props.editEvent.riseEvent({ type: \"edit\", payload: { menuItemId, obj } })\r\n }\r\n }\r\n }\r\n\r\n renderFAQTable = (items, paginationId) => {\r\n if (!items || !items.length) {\r\n return (\r\n \r\n No results. \r\n
\r\n )\r\n }\r\n return (\r\n \r\n \r\n \r\n TITLE \r\n DESCRIPTION \r\n TAGS \r\n \r\n \r\n \r\n \r\n {items.map(faqEntry => {\r\n return (\r\n \r\n { this.onMenuItemClick(\"edit\", faqEntry) }}>{faqEntry.Title} \r\n \r\n {\r\n faqEntry.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\n )\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\nexport default GeneralInformationTable;","import React, { Component } from 'react';\r\n\r\nclass ImageUpload extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n file: '',\r\n imagePreviewUrl: props.url ? props.url : \"\",\r\n ref: React.createRef(null)\r\n };\r\n\r\n if (this.props.showEvent) {\r\n this.props.showEvent.subscribe(\r\n this.onShow,\r\n \"IMAGE_UPLOAD\"\r\n )\r\n }\r\n }\r\n\r\n onShow = (val) => {\r\n this.state.ref.current && (\r\n this.state.ref.current.click()\r\n )\r\n }\r\n\r\n handleImageChange(e) {\r\n e.preventDefault();\r\n\r\n let reader = new FileReader();\r\n let file = e.target.files[0];\r\n\r\n reader.onloadend = () => {\r\n this.setState({\r\n file: file,\r\n imagePreviewUrl: reader.result\r\n },\r\n () => {\r\n this.props.handleImageChange(this.state.imagePreviewUrl, this.state.file);\r\n });\r\n }\r\n\r\n reader.readAsDataURL(file)\r\n }\r\n\r\n componentWillUpdate(props) {\r\n if (props.url != this.state.imagePreviewUrl) {\r\n this.setState({\r\n imagePreviewUrl: props.url\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n let { imagePreviewUrl } = this.state;\r\n let $imagePreview = null;\r\n if (imagePreviewUrl) {\r\n $imagePreview = ( );\r\n }\r\n // else {\r\n // $imagePreview = (Please select an Image for Preview
);\r\n // }\r\n\r\n return (\r\n \r\n {$imagePreview}\r\n
\r\n this.handleImageChange(e)} style={{ [\"display\"]: \"none\" }}\r\n accept=\".png,.jpg,.jpeg,.bmp\"/>\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ImageUpload;","import React, { useRef } from 'react';\r\nimport \"../css/gallery.css\";\r\nimport { GalleryItemType } from '../utils/Utils'\r\n\r\nfunction GalleryImageComponent(props) {\r\n const ref = useRef(null)\r\n\r\n const onClick = () => {\r\n props.editItem(props.id,props.name, props.source, GalleryItemType.Image)\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\r\n ref && ref.current.click()\r\n }} className=\"gallery-item-title\">{props.name}\r\n \r\n { props.deleteResource && props.galleryGrid?\r\n \r\n : <>>\r\n }\r\n {\r\n props.galleryGrid && props.galleryGrid? \r\n \r\n : <>>\r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default GalleryImageComponent;","import React from 'react';\r\nimport { PaginationHandler } from '../filterAndPagination/PaginationHandler';\r\nimport GalleryImageComponent from '../GalleryImageComponent';\r\nimport { GalleryItemType, EntityAccessibility } from '../../utils/Utils';\r\nimport { GalleryGridContext } from \"../contexts\"\r\n\r\nfunction ImageTab(props) {\r\n const renderGalleryImages = (items, id, activeIndex) => {\r\n if (!items || !items.length) {\r\n return (\r\n \r\n No results. \r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n {\r\n items.map(item =>\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\n\r\nexport default ImageTab;","import React, { useRef } from 'react';\r\nimport { GalleryItemType } from '../utils/Utils'\r\n\r\nfunction GalleryVideoComponent(props) {\r\n const ref = useRef(null)\r\n\r\n const onClick = () => {\r\n props.editItem(props.id, props.name, props.source, GalleryItemType.Video)\r\n }\r\n \r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n {\r\n ref && ref.current.click()\r\n }} className=\"gallery-item-title\">{props.name} \r\n {props.deleteResource && props.galleryGrid ?\r\n \r\n : <>>\r\n }\r\n {\r\n props.galleryGrid && props.galleryGrid ?\r\n \r\n : <>>\r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default GalleryVideoComponent;","import React from 'react';\r\nimport { PaginationHandler } from '../filterAndPagination/PaginationHandler';\r\nimport GalleryVideoComponent from '../GalleryVideoComponent';\r\nimport { GalleryItemType, EntityAccessibility} from '../../utils/Utils';\r\nimport { GalleryGridContext } from \"../contexts\"\r\n\r\nfunction VideoTab(props) {\r\n\r\n const renderGalleryVideos = (items, id, activeIndex) => {\r\n if (!items || !items.length) {\r\n return (\r\n \r\n No results. \r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n {\r\n items.map(item =>\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\n\r\nexport default VideoTab;","import React, { Component } from 'react';\r\nimport { Modal } from 'semantic-ui-react'\r\nimport ImageTab from './gallery/ImageTab';\r\nimport VideoTab from './gallery/VideoTab';\r\nimport { GalleryItemType } from '../utils/Utils'\r\n\r\nimport \"../css/gallery.css\"\r\n\r\nclass GalleryDialogComponent extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n showModal: false,\r\n url: ''\r\n }\r\n\r\n if (this.props.showGalleryEvent) {\r\n this.props.showGalleryEvent.subscribe(this.handleShowGallery, \"GALLERY_DIALOG\")\r\n }\r\n }\r\n\r\n handleShowGallery = (val) => {\r\n this.setState({\r\n showModal: val\r\n })\r\n }\r\n\r\n handleClick = ev => {\r\n this.setState({\r\n showModal: false,\r\n url: ev.target.src ? ev.target.src : ev.target.currentSrc ? ev.target.currentSrc : null\r\n }, () => {\r\n this.props.handleClickCallBack(this.state.url);\r\n });\r\n };\r\n\r\n handleClose = () => {\r\n this.setState({\r\n showModal: false\r\n })\r\n }\r\n\r\n render() {\r\n const state = this.state;\r\n const props = this.props;\r\n return (\r\n \r\n {props.dialogTitle} \r\n \r\n {props.type == GalleryItemType.Image ?\r\n <>Click the title to select the image
\r\n > :\r\n props.type == GalleryItemType.Video ?\r\n <>Click the title to select the video
\r\n > : null\r\n }\r\n\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default GalleryDialogComponent;","import React, { Component } from 'react';\r\n\r\nclass VideoUpload extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n file: '',\r\n videoPreviewUrl: props.url ? props.url : \"\",\r\n ref: React.createRef(null)\r\n };\r\n\r\n if (this.props.showEvent) {\r\n this.props.showEvent.subscribe(\r\n this.onShow,\r\n \"VOIDEO_UPLOAD\"\r\n )\r\n }\r\n }\r\n\r\n onShow = (val) => {\r\n this.state.ref.current && (\r\n this.state.ref.current.click()\r\n )\r\n }\r\n\r\n handleVideoChange(e) {\r\n e.preventDefault();\r\n\r\n let reader = new FileReader();\r\n let file = e.target.files[0];\r\n\r\n reader.onloadend = () => {\r\n this.setState({\r\n file: file,\r\n videoPreviewUrl: URL.createObjectURL(file)\r\n },\r\n () => {\r\n this.props.handleVideoChange(this.state.videoPreviewUrl, this.state.file);\r\n });\r\n }\r\n\r\n reader.readAsDataURL(file)\r\n }\r\n\r\n componentWillUpdate(props) {\r\n if (props.url != this.state.videoPreviewUrl) {\r\n this.setState({\r\n videoPreviewUrl: props.url\r\n });\r\n }\r\n }\r\n \r\n render() {\r\n let { videoPreviewUrl } = this.state;\r\n let $imagePreview = null;\r\n if (videoPreviewUrl) {\r\n $imagePreview = (\r\n );\r\n }\r\n \r\n\r\n return (\r\n \r\n {$imagePreview}\r\n
\r\n this.handleVideoChange(e)} style={{ [\"display\"]: \"none\" }}\r\n accept=\".mkv,.avi,.m4v\"/>\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default VideoUpload;","import React, { Component } from 'react';\r\nimport ImageUpload from './ImageUpload';\r\nimport GalleryDialogComponent from './GalleryDialogComponent';\r\nimport SafeSimpleEvent from './SafeSimpleEvent';\r\nimport { ToArray, GalleryItemType } from '../utils/Utils';\r\nimport VideoUpload from './VideoUpload';\r\nimport UpdateStatusDialogComponent from '../components/UpdateStatusDialogComponent';\r\n\r\nimport \"../css/basicGalleryPicker.css\"\r\n\r\nclass GalleryItemPickerComponent extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n url: this.props.url ? this.props.url : (this.props.value ? this.props.value : \"\"),\r\n file: null,\r\n showGalleryEvent: SafeSimpleEvent(),\r\n showUploadEvent: SafeSimpleEvent(),\r\n showPickFromGallery: props.showPickFromGallery !== undefined ? props.showPickFromGallery : true,\r\n showUpdateEntityModal: false,\r\n internalEventHandler: SafeSimpleEvent(),\r\n name: this.props.name\r\n\r\n }\r\n\r\n if (this.props.collectDataEvent) {\r\n this.props.collectDataEvent.subscribe(this.collectData, this.props.name)\r\n }\r\n\r\n if (this.props.validateEvent) {\r\n this.props.validateEvent.subscribe(this.validateCallback, this.props.name)\r\n }\r\n\r\n if (this.props.externalEvents) {\r\n props.externalEvents.subscribe(this.handleEvent, this.props.name)\r\n }\r\n }\r\n\r\n handleEvent = ({ type, payload }) => {\r\n switch (type) {\r\n case \"REMOVE_VIDEO_COVER\": {\r\n if (this.state.name == \"VideoCaption\") {\r\n this.setState({ url: \"\" })\r\n }\r\n }\r\n break\r\n default: { } break\r\n }\r\n }\r\n\r\n collectData = (formData) => {\r\n const urlPostName = this.props.urlPostName ? this.props.urlPostName : `${this.props.name}Url`\r\n\r\n if (this.state.file) {\r\n if (this.props.postBas64) {\r\n formData[`${this.props.name}File`] = this.state.url;\r\n }\r\n else {\r\n formData[`${this.props.name}File`] = this.state.file;\r\n }\r\n\r\n if (this.isRequired) {\r\n\r\n formData[urlPostName] = \"dummy\";\r\n }\r\n else {\r\n formData[urlPostName] = null;\r\n }\r\n }\r\n else {\r\n formData[`${this.props.name}File`] = null;\r\n formData[urlPostName] = this.state.url;\r\n }\r\n }\r\n\r\n validateCallback = () => {\r\n if (this.props.setValidationMessageEvent && Array.isArray(this.props.rules)) {\r\n\r\n var requiredRule = this.props.rules.find((r) => r.ValidationType === \"required\");\r\n if (requiredRule) {\r\n\r\n this.isRequired = true\r\n\r\n const errMessage = `Please select ${this.props.type === GalleryItemType.Image ? \"an image\" : \"a video\"}`\r\n\r\n if (!this.state.file && (!this.state.url || this.state.url.trim() === \"\")) {\r\n this.props.setValidationMessageEvent.riseEvent(errMessage)\r\n return false\r\n }\r\n }\r\n }\r\n\r\n this.props.setValidationMessageEvent.riseEvent(\"\")\r\n return true\r\n }\r\n\r\n handleClickCallbackCover = (url, file) => {\r\n this.setState({\r\n url,\r\n file,\r\n });\r\n\r\n if (url) {\r\n\r\n }\r\n };\r\n\r\n hideModal = () => {\r\n this.setState({\r\n showUpdateEntityModal: false\r\n })\r\n }\r\n\r\n updateEntity = () => {\r\n if (this.state.name == \"Video\") {\r\n this.props.externalEvents.riseEvent({ type: \"REMOVE_VIDEO_COVER\" })\r\n }\r\n\r\n this.setState({\r\n url: \"\",\r\n showUpdateEntityModal: false,\r\n })\r\n }\r\n\r\n showModal = () => {\r\n this.setState({\r\n showUpdateEntityModal: true\r\n })\r\n }\r\n\r\n render() {\r\n const state = this.state;\r\n const props = this.props;\r\n return (\r\n <>\r\n \r\n\r\n \r\n
\r\n {props.type == GalleryItemType.Image ?\r\n
\r\n :\r\n props.type == GalleryItemType.Video ?\r\n
:\r\n <>>\r\n }\r\n {\r\n !this.props.isReadonly ?\r\n
\r\n : <>>\r\n\r\n }\r\n
\r\n >\r\n )\r\n }\r\n}\r\n\r\nexport default GalleryItemPickerComponent;","import React, { Component } from 'react'\r\nimport InputComponent from './InputComponent';\r\nimport FormEntry from '../form/FormEntry';\r\nimport uuid from \"uuid\";\r\nimport UpdateStatusDialogComponent from \"../components/UpdateStatusDialogComponent\"\r\n\r\nfunction RemoveDiv(props) {\r\n return ( props.remove(props.id)} id={props.id} >
)\r\n}\r\n\r\nclass GeneralInformationResources extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n i: this.props.value ? this.props.value.length + 1 : 1,\r\n resources: this.props.value ? this.props.value : [],\r\n showModal: false,\r\n elementToRemove : 0\r\n }\r\n\r\n if (this.props.collectDataEvent) {\r\n this.props.collectDataEvent.subscribe(this.collectData, \"Resource\")\r\n }\r\n\r\n if (this.props.clearEvent) {\r\n this.props.clearEvent.subscribe(this.clearData, this.props.name)\r\n }\r\n\r\n if (this.props.externalEvents) {\r\n this.props.externalEvents.subscribe(this.handleEvents, this.props.name)\r\n }\r\n }\r\n\r\n clearData = (reasone) => {\r\n this.setState({ resources: [] })\r\n }\r\n\r\n collectDataAsObject = () => {\r\n var resourcesArray = [];\r\n var j;\r\n for (j = 1; j < this.state.i; j++) {\r\n var name = this.props.externalEvents.riseEventGetFirstDefinedResult({ type: 'collect_by_name', payload: 'Resource-Name-' + j });\r\n var url = this.props.externalEvents.riseEventGetFirstDefinedResult({ type: 'collect_by_name', payload: 'Resource-Url-' + j });\r\n resourcesArray.push({ Url: url, Name: name });\r\n }\r\n return resourcesArray;\r\n }\r\n\r\n collectData = (formData) => {\r\n var resourcesArray = this.collectDataAsObject();\r\n var jsonArray = JSON.stringify(resourcesArray)\r\n formData[this.props.name] = jsonArray\r\n }\r\n\r\n computeListOfResources = (formData) => {\r\n if (formData[this.props.name] && formData[this.props.name].length > 0 && formData[this.props.name][0] != undefined) {\r\n return [...formData[this.props.name]];\r\n }\r\n else return [];\r\n }\r\n\r\n addResourceUrl = () => {\r\n var list = this.collectDataAsObject();\r\n \r\n list.push({ Url: '', Name: '' });\r\n\r\n this.setState({\r\n resources: list,\r\n i: this.state.i + 1\r\n })\r\n }\r\n\r\n removeResourceUrl = () => {\r\n var i = this.state.elementToRemove;\r\n let list = this.collectDataAsObject();;\r\n list.splice(i - 1, 1);\r\n\r\n this.setState({\r\n resources: list,\r\n i: this.state.i - 1,\r\n showModal: false\r\n })\r\n }\r\n\r\n cancelDelete = () => {\r\n this.setState({ showModal: false })\r\n }\r\n\r\n showModal = (removeId) => {\r\n let list = this.collectDataAsObject();;\r\n this.setState({\r\n resources: list,\r\n showModal: true,\r\n elementToRemove: removeId\r\n })\r\n }\r\n\r\n render() {\r\n let i = 0;\r\n return (\r\n <>\r\n \r\n\r\n {\r\n !this.state.resources ? <>> :\r\n this.state.resources.map((resource) => {\r\n i = i + 1;\r\n return (\r\n <>\r\n \r\n Resource {i} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n >\r\n )\r\n })\r\n }\r\n \r\n +Add resource \r\n \r\n >)\r\n\r\n }\r\n\r\n}\r\n\r\nexport default GeneralInformationResources;","import React from \"react\";\r\nimport InputComponent from \"./InputComponent\";\r\nimport EntitiesSelect2Component from \"./EntitySelect2Component\";\r\nimport FormEntry from \"../form/FormEntry\";\r\nimport { Form } from \"../form/Form\";\r\nimport GalleryItemPickerComponent from \"./GalleryItemPickerComponent\";\r\nimport Flyout, {\r\n FlyoutHead,\r\n FlyoutBody,\r\n FlyoutFooter,\r\n} from \"../components/Flyout\";\r\nimport SafeSimpleEvent from \"./SafeSimpleEvent\";\r\nimport { ValidResult, ToArray } from \"../utils/Utils\";\r\nimport EntitiesSelectComponent from \"../components/EntitySelectComponent\";\r\nimport { GalleryItemType } from \"../utils/Utils\";\r\nimport { DialogManager } from \"./DialogManager\";\r\nimport GeneralInformationResources from \"../components/GeneralInformationResources\";\r\n\r\nclass SaveFaqItemDialogComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n id: \"\",\r\n coverUrl: \"\",\r\n coverFile: \"\",\r\n title: \"\",\r\n description: \"\",\r\n parentId: \"\",\r\n tags: [],\r\n showCreateModal: false,\r\n resourcesUrl: [],\r\n\r\n events: SafeSimpleEvent(),\r\n isEdit: false,\r\n };\r\n\r\n if (this.props.events) {\r\n this.props.events.setEvent(this.state.events);\r\n }\r\n\r\n this.state.events.subscribe(this.handleEvent, \"SAVE_FAQ_DIALOG\");\r\n }\r\n\r\n handleEvent = ({ type, payload }) => {\r\n if (type === \"edit\") {\r\n this.onEdit(payload);\r\n } else if (type === \"open\") {\r\n this.handleOpen(payload);\r\n } else if (type === \"close\") {\r\n this.handleClose(payload);\r\n }\r\n };\r\n\r\n onEdit = ({ menuItemId, obj }) => {\r\n const tags = obj.TagIds;\r\n\r\n this.setState({\r\n title: obj.Title,\r\n coverUrl: obj.CoverUrl,\r\n description: obj.Description,\r\n id: obj.Id,\r\n parentId: obj.ParentId,\r\n tags,\r\n showCreateModal: true,\r\n resources: obj.GeneralResources,\r\n isEdit: true,\r\n });\r\n };\r\n\r\n onSaveCallback = (result) => {\r\n if (ValidResult(result)) {\r\n this.props.toastr.ShowSuccess(\r\n \"Successfully created the general information entry\"\r\n );\r\n this.handleClose();\r\n } else {\r\n this.props.toastr.ShowError(\"Failed to create general information entry\");\r\n }\r\n };\r\n\r\n handleClose = () => {\r\n this.setState({ showCreateModal: false });\r\n this.props.onClose();\r\n };\r\n\r\n handleOpen = () => {\r\n this.clearState(true);\r\n };\r\n\r\n onError = (err) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\");\r\n };\r\n\r\n clearState = (show = false, isEdit = false) => {\r\n this.setState({\r\n id: \"\",\r\n coverUrl: \"\",\r\n coverFile: \"\",\r\n title: \"\",\r\n description: \"\",\r\n parentId: \"\",\r\n tags: [],\r\n resources: [],\r\n showCreateModal: show,\r\n isEdit,\r\n\r\n formEvents: SafeSimpleEvent(),\r\n });\r\n };\r\n\r\n render() {\r\n var state = this.state;\r\n\r\n const hidden = {};\r\n if (this.state.isEdit) {\r\n hidden[\"Id\"] = this.state.id;\r\n }\r\n return (\r\n <>\r\n {\r\n this.handleClose();\r\n }}\r\n isVisible={state.showCreateModal}\r\n id=\"edit-hospital-flout\"\r\n showCloseButton={true}\r\n size=\"small\"\r\n >\r\n \r\n {`${\r\n this.state.isEdit ? \"Edit\" : \"Create\"\r\n } General Information`} \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 SaveFaqItemDialogComponent;\r\n","import React, { Component, useContext, useReducer } from 'react';\r\nimport GeneralInformationTable, { GeneralInformationTableContext } from '../components/table/GeneralInformationTable';\r\nimport SaveFaqItemDialogComponent from '../components/SaveFaqItemDialogComponent';\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\nimport PageHeading, { PageTitle, ActionGroup } from '../components/PageHeading';\r\n\r\n\r\nimport { Notifications } from \"../components/NotificationsComponent\"\r\nimport PrimaryButton from '../components/buttons/PrimaryButton';\r\nimport EventProxy from \"../components/EventProxy\"\r\nimport ObjectWrapper from '../components/ObjectWrapper';\r\n\r\n\r\nfunction _GeneralInformationPage(props) {\r\n\r\n const toastr = useContext(Notifications)\r\n const tableContext = useContext(GeneralInformationTableContext)\r\n\r\n props.toastr.setObject(toastr)\r\n\r\n return (null)\r\n}\r\n\r\nclass GeneralInformationPage extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n saveFAQFlyoutEvents: EventProxy()\r\n }\r\n\r\n this.toastr = ObjectWrapper()\r\n this.tableContext = ObjectWrapper()\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n { this.state.saveFAQFlyoutEvents.riseEvent({ type: \"open\" }) }} />\r\n \r\n \r\n \r\n {\r\n this.state.saveFAQFlyoutEvents.riseEvent({ type: \"filter\" })\r\n }} toastr={this.toastr} events={this.state.saveFAQFlyoutEvents} editEvent={this.editFaqItemEvent} />\r\n <_GeneralInformationPage toastr={this.toastr} />\r\n >);\r\n }\r\n}\r\n\r\nexport default GeneralInformationPage;\r\n","import React, { Component } from 'react';\r\nimport { TimePicker } from 'antd';\r\nimport moment from 'moment'\r\n\r\nclass TimePickerComponent extends Component {\r\n constructor(props) {\r\n super(props)\r\n var date = moment(props.value);\r\n this.state = {\r\n value: props.value ? date : \"\"\r\n }\r\n\r\n if (this.props.collectDataEvent) {\r\n this.props.collectDataEvent.subscribe(this.collectData, this.props.name)\r\n }\r\n\r\n if (this.props.clearEvent) {\r\n this.props.clearEvent.subscribe(this.clearData, this.props.name)\r\n }\r\n }\r\n\r\n collectData = (formData) => {\r\n //here we process the value so we set the final version to the form(the version of the value that is posted to the server)\r\n //(eg. if this is a datepicker, set the iso-string or moment or actual js date)\r\n\r\n formData[this.props.name] = this.state.value.format()\r\n }\r\n\r\n clearData = (reasone) => {\r\n this.setState({ value: null })\r\n }\r\n\r\n onChange = (date, dateStr) => {\r\n this.setState({ value: date });\r\n }\r\n\r\n componentWillReceiveProps = ({ value }) => {\r\n //var moment = moment(value);\r\n this.setState({ value: value })\r\n }\r\n\r\n render() {\r\n const state = this.state;\r\n //TODO: move this in a better place to avoid this for multiple calls, the validations will not change?!\r\n const validations = this.props.validations ? this.props.validations : {}\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TimePickerComponent;","import React from \"react\";\r\nimport InputComponent from \"./InputComponent\";\r\nimport GalleryItemPickerComponent from \"./GalleryItemPickerComponent\";\r\nimport { Form } from \"../form/Form\";\r\nimport FormEntry from \"../form/FormEntry\";\r\nimport Flyout, { FlyoutHead, FlyoutBody, FlyoutFooter } from \"./Flyout\";\r\nimport TextAreaComponent from \"./TextAreaComponent\";\r\nimport { ValidResult, StrDateToMoment } from \"../utils/Utils\";\r\nimport SafeSimpleEvent from \"./SafeSimpleEvent\";\r\nimport AxiosHelper from \"../utils/AxiosHelper\";\r\nimport { GalleryItemType } from \"../utils/Utils\";\r\nimport { PageStateHandler } from \"./PageState\";\r\nimport TimePickerComponent from \"./TimePickerComponent\";\r\n\r\nclass SaveInformationCardDialogComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n id: null,\r\n coverUrl: \"\",\r\n videoCoverUrl: \"\",\r\n externalVideoCoverUrl: \"\",\r\n coverFile: \"\",\r\n videoCoverFile: \"\",\r\n externalVideoFile: \"\",\r\n days: \"\",\r\n info: \"\",\r\n time: null,\r\n message: \"\",\r\n videoUrl: \"\",\r\n externalUrl: \"\",\r\n externalResourceName: \"\",\r\n isReadonly: this.props.isReadonly,\r\n\r\n showFlyout: false,\r\n isEdit: false,\r\n isReadonly: false,\r\n\r\n /*\r\n -this is the EventObject that handles the internal events like, \r\n show, close, etc (you define them) \r\n -this is where you handle the actual events \r\n */\r\n internalEventHandler: SafeSimpleEvent(),\r\n };\r\n\r\n /*\r\n by passing an EventProxy object to this component, you will be able to :\r\n listen to internal purposed events but not only.\r\n When you rise an event, all subscibers, are notified.\r\n In this manner, a subscriber gets notified with the event type and the payload (if any), \r\n * Important * all rised event types are dispatched to all subscribers. The subscriber decides what type of event it wants to handle.\r\n */\r\n if (props.eventProxy) {\r\n props.eventProxy.setEvent(this.state.internalEventHandler);\r\n }\r\n\r\n this.state.internalEventHandler.subscribe(\r\n this.handleEvent,\r\n \"SAVE_INFO_CARD_DIALOG\"\r\n );\r\n\r\n /*\r\n ! SafeSimpleEvent and EventProxy usage example !\r\n \r\n EventProxy desc:\r\n This is a proxy for a SafeSimpleEvent.\r\n Intially the wrapped event is \"null\", this means that someone must latter set the wrapped event\r\n This allows us to subscribe to the wrapped event before and after it is created\r\n\r\n We have 2 components in a page:\r\n -A table component\r\n -A modal component\r\n\r\n We need inter-communication between them:\r\n we want to be able to open the modal (for edit),\r\n we want when the modal closes (after edit or on close button click) to refresh (filter) the table data\r\n\r\n The table component has the following API [filter, clear, and we can click an item to opent the modal to edit it]\r\n The modal component has the following API [show, close, edit]\r\n\r\n The way we resovle the problem by using SafeSimpleEvent and EventProxy combo:\r\n * Important, because most of the javascript handlers belong to the modal, the actual event is created (As on object) inside the modal compoennt *\r\n\r\n 1. In the parent component of the two, we need to create an EventProxy\r\n 2. We pass the EventProxy object to the table component :\r\n -here we subscribe to the event provided by the EventProxy object\r\n 3. We pass the EventProxy object to the modal component :\r\n -(here we have the actual event)\r\n -in the ctor, we set the event on the given EventProxy object\r\n\r\n 4. We are ready to listen and dispatch events \r\n \r\n Afte the setup is done:\r\n 5. On table component row, we rise an \"edit\" event to the EventProxy which is passed down to the wrapped event (this event is is implemented/created in the modal component)\r\n 6. On event \"edit\" callback (inside the modal component) we show the modal\r\n 7. We edit and save the entity\r\n 8. After we are done, we close the modal and rise the \"filter\" event (because we want to refresh the table data)\r\n 9. The table component is notified and handles the \"filter\" event accordingly\r\n */\r\n }\r\n\r\n handleEvent = ({ type, payload }) => {\r\n switch (type) {\r\n case \"show_dialog\":\r\n {\r\n !this.state.showFlyout && this.clearData(true, false);\r\n }\r\n break;\r\n\r\n case \"close_dialog\":\r\n {\r\n this.state.showFlyout &&\r\n this.setState({\r\n showFlyout: true,\r\n isEdit: false,\r\n });\r\n }\r\n break;\r\n\r\n case \"show_edit_dialog\":\r\n {\r\n !this.state.showFlyout && this.clearData(true, true);\r\n this.getInfoCardData(payload.Id, payload.isReadonly);\r\n }\r\n break;\r\n\r\n default:\r\n {\r\n }\r\n break;\r\n }\r\n };\r\n\r\n handleClickCallbackCover = (url, file) => {\r\n this.setState({\r\n coverFile: file,\r\n coverUrl: url,\r\n });\r\n };\r\n handleClickCallbackVideoCover = (url, file) => {\r\n this.setState({\r\n videoCoverFile: file,\r\n videoCoverUrl: url,\r\n });\r\n };\r\n handleClickCallbackExternalVideoCover = (url, file) => {\r\n this.setState({\r\n externalVideoCoverFile: file,\r\n externalVideoCoverUrl: url,\r\n });\r\n };\r\n handleChangeDays = (event) => {\r\n this.setState({ days: event.target.value });\r\n };\r\n handleChangeInfo = (event) => {\r\n this.setState({ info: event.target.value });\r\n };\r\n handleChangeMessage = (event) => {\r\n this.setState({ message: event.target.value });\r\n };\r\n handleChangeVideoUrl = (event) => {\r\n this.setState({ videoUrl: event.target.value });\r\n };\r\n handleChangeExternalUrl = (event) => {\r\n this.setState({ externalUrl: event.target.value });\r\n };\r\n handleChangeExternalResourceUrl = (event) => {\r\n this.setState({ externalResourceUrl: event.target.value });\r\n };\r\n handleChangeTime = (_time) => {\r\n this.setState({ time: _time });\r\n };\r\n handleClose = () => {\r\n this.setState({\r\n showFlyout: false,\r\n });\r\n\r\n this.props.onClose && this.props.onClose();\r\n\r\n this.state.internalEventHandler.riseEvent({ type: \"filter\" });\r\n };\r\n onSaveCallback = (result) => {\r\n if (ValidResult(result)) {\r\n this.props.toastr.ShowSuccess(\r\n `Successfully ${this.state.isEdit ? \"saved\" : \"created\"} the info card`\r\n );\r\n this.handleClose();\r\n } else {\r\n this.props.toastr.ShowError(\r\n `Failed to ${this.state.isEdit ? \"saved\" : \"created\"} the info card`\r\n );\r\n }\r\n };\r\n onError = (err) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\");\r\n };\r\n\r\n clearData = (showFlyout, isEdit) => {\r\n !showFlyout && (showFlyout = this.state.showFlyout);\r\n !isEdit && (isEdit = this.state.isEdit);\r\n\r\n this.setState({\r\n id: null,\r\n coverUrl: null,\r\n videoCoverUrl: null,\r\n externalVideoCoverUrl: null,\r\n coverFile: null,\r\n videoCoverFile: null,\r\n externalVideoFile: null,\r\n days: null,\r\n info: null,\r\n time: null,\r\n message: null,\r\n videoUrl: null,\r\n externalUrl: null,\r\n externalResourceName: null,\r\n\r\n showFlyout,\r\n isEdit,\r\n isReadonly: false,\r\n });\r\n };\r\n setData = (data, isReadonly) => {\r\n const time = StrDateToMoment(data.Time);\r\n this.setState({\r\n id: data.Id,\r\n coverUrl: data.ImageUrl,\r\n videoCoverUrl: data.VideoCaptionUrl,\r\n externalVideoCoverUrl: data.ResourceCaptionUrl,\r\n coverFile: null,\r\n videoCoverFile: null,\r\n externalVideoFile: null,\r\n days: data.Day,\r\n info: data.Info,\r\n time,\r\n message: data.Message,\r\n videoUrl: data.VideoUrl,\r\n externalUrl: data.ResourceUrl,\r\n externalResourceName: data.ResourceName,\r\n isReadonly,\r\n });\r\n };\r\n getInfoCardData = (id, isReadonly) => {\r\n PageStateHandler.SetLoading();\r\n\r\n AxiosHelper.post(`/InformationCard/GetInformatioCardData?id=${id}`)\r\n .then((result) => {\r\n if (ValidResult(result.data)) {\r\n this.setData(result.data.Data, isReadonly);\r\n } else {\r\n this.props.toastr.ShowError(\r\n \"Failed to get the Information Card data\"\r\n );\r\n this.handleClose();\r\n }\r\n\r\n PageStateHandler.SetReady();\r\n })\r\n .catch((err) => {\r\n this.props.toastr.ShowError(\"An error orccurred, please try again\");\r\n PageStateHandler.SetReady();\r\n });\r\n };\r\n\r\n render() {\r\n var props = this.props;\r\n\r\n const hiddenData = {\r\n [\"PathwayId\"]: props.pathwayId,\r\n };\r\n\r\n if (this.state.isEdit) {\r\n hiddenData.Id = this.state.id;\r\n } else {\r\n hiddenData.Id = null;\r\n }\r\n return (\r\n \r\n \r\n \r\n {this.state.isReadonly ? \"\" : this.state.isEdit ? \"Edit\" : \"Create\"}{\" \"}\r\n Info Card Message\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 SaveInformationCardDialogComponent;\r\n","import React, { Component } from 'react';\r\nimport TextFilterEntry from '../filterAndPagination/components/TextFilterEntry';\r\nimport { PaginationHandler } from '../filterAndPagination/PaginationHandler';\r\nimport FilterHandler from '../filterAndPagination/FilterHandler';\r\nimport { MoreActionsMenu, MoreActionsItem } from '../MoreActions';\r\nimport moment from \"moment\"\r\nimport MultiselectFilterEntry from '../filterAndPagination/components/MultiselectTagsFilterEntry';\r\nimport { Confirm } from \"../ConfirmModule\"\r\nimport AxiosHelper from '../../utils/AxiosHelper';\r\nimport { ValidResult } from '../../utils/Utils';\r\nimport { PageStateHandler } from '../PageState';\r\n\r\nconst InformationCardTableContext = React.createContext();\r\n\r\nclass InformationCardTable extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n contextValue: FilterHandler.BuildContextValue(),\r\n }\r\n\r\n if (props.saveQuestionnaireInfoCardProxy) {\r\n props.saveQuestionnaireInfoCardProxy.subscribe(this.handleEvent, \"INFO_TABLE\")\r\n }\r\n\r\n if (props.savePathwayProxy) {\r\n props.savePathwayProxy.subscribe(this.handleEvent, \"INFO_TABLE\")\r\n }\r\n\r\n if (props.saveInfoCardProxy) {\r\n props.saveInfoCardProxy.subscribe(this.handleEvent, \"INFO_TABLE\")\r\n }\r\n }\r\n\r\n handleEvent = ({ type, payload }) => {\r\n if (type === \"filter\") {\r\n this.state.contextValue.filterEvent.riseEvent()\r\n }\r\n }\r\n\r\n moreActionsItemClick = (menuItemId, obj) => {\r\n obj.isReadonly = this.props.isReadonly;\r\n if (menuItemId === \"edit-info-card\") {\r\n if (obj.HasQuestionnaire) {\r\n this.props.saveQuestionnaireInfoCardProxy.riseEvent({ type: \"show_edit_dialog\", payload: obj })\r\n }\r\n else {\r\n this.props.saveInfoCardProxy.riseEvent({ type: \"show_edit_dialog\", payload: obj })\r\n }\r\n }\r\n else if (menuItemId === \"delete-info-card\") {\r\n Confirm.Show(\r\n `Confirm`,\r\n `Are you sure you want to delete this info card?\"`,\r\n this.handleConfirm,\r\n { subType: \"delete\", obj }\r\n )\r\n }\r\n }\r\n\r\n handleConfirm = ({ type, payload }) => {\r\n const { subType, obj } = payload\r\n\r\n if (type === \"ok\") {\r\n if (subType === \"delete\") {\r\n this.deleteInfoCard(obj)\r\n }\r\n }\r\n }\r\n\r\n deleteInfoCard = (obj) => {\r\n PageStateHandler.SetLoading()\r\n\r\n AxiosHelper\r\n .post(`/Pathway/DeleteInfoCard?id=${obj.Id}`)\r\n .then((result) => {\r\n if (ValidResult(result.data)) {\r\n this.props.toastr.ShowSuccess(`Successfully deleted info card for day \"${obj.Day}\"`)\r\n\r\n this.state.contextValue.filterEvent.riseEvent()\r\n }\r\n else {\r\n this.props.toastr.ShowError(`Failed to delete info card for day \"${obj.Day}\"`)\r\n }\r\n\r\n PageStateHandler.SetReady()\r\n })\r\n .catch((err) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n PageStateHandler.SetReady()\r\n })\r\n }\r\n\r\n renderInformationCardTable = (items) => {\r\n if (!items || !items.length) {\r\n return (\r\n \r\n No results. \r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Day \r\n Time \r\n Title \r\n \r\n \r\n \r\n \r\n {items.map(infoCard => {\r\n return (\r\n \r\n \r\n \r\n {infoCard.Day} \r\n {moment(infoCard.Time + \"Z\").format(\"HH:mm\")} \r\n {infoCard.Info} \r\n \r\n \r\n \r\n {!this.props.isReadonly ?\r\n \r\n :\r\n <>>\r\n }\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n )\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
Questionnaire Cards \r\n
\r\n
\r\n \r\n \r\n >\r\n );\r\n }\r\n}\r\n\r\nexport default InformationCardTable;","import React, { Component } from 'react'\r\nimport SafeSimpleEvent from './SafeSimpleEvent';\r\nimport Flyout, { FlyoutHead, FlyoutBody, FlyoutFooter } from \"./Flyout\"\r\nimport { Form } from '../form/Form';\r\nimport FormEntry from '../form/FormEntry';\r\nimport InputComponent from \"./InputComponent\"\r\nimport EntitiesSelect2Component from './EntitySelect2Component';\r\nimport { ValidResult } from '../utils/Utils';\r\nimport { PageStateHandler } from './PageState';\r\nimport AxiosHelper from '../utils/AxiosHelper';\r\nimport DialogManager from './DialogManager';\r\nimport TimePickerComponent from './TimePickerComponent';\r\n\r\nfunction SimpleLink(props) {\r\n return (\r\n {props.text} \r\n )\r\n}\r\n\r\nexport class CreateQuestionnaireInfoCardDialog extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n pathwayId: props.pathwayId,\r\n internalEvents: SafeSimpleEvent(),\r\n isVisible: false,\r\n isEdit: false,\r\n isReadonly: this.props.isReadonly,\r\n InfoCard: {\r\n Id: null\r\n }\r\n }\r\n\r\n this.state.internalEvents.subscribe(this.handleEvents, \"CREATE_QUESTIONNAIRE_DIALOG\")\r\n\r\n if (this.props.eventProxy) {\r\n this.props.eventProxy.setEvent(this.state.internalEvents)\r\n }\r\n }\r\n\r\n clearInfCardData = (visible, isEdit = false) => {\r\n !visible && (visible = this.state.isVisible)\r\n this.setState({\r\n InfoCard: { Id: null },\r\n isVisible: visible,\r\n isEdit,\r\n isReadonly: false\r\n })\r\n }\r\n\r\n refreshData = (id) => {\r\n PageStateHandler.SetLoading()\r\n\r\n AxiosHelper.post(\r\n `/InformationCard/GetInformatioCardData?id=${id}`).then(\r\n ({ data }) => {\r\n const result = data\r\n\r\n if (ValidResult(result)) {\r\n this.setState({\r\n InfoCard: {\r\n ...result.Data\r\n },\r\n isVisible: true,\r\n isEdit: true\r\n })\r\n }\r\n else {\r\n this.props.toastr.ShowError(\"Failed to get information card data\")\r\n this.state.internalEvents.riseEvent({ type: \"hide_dialog\", payload: { clear: true } })\r\n }\r\n\r\n PageStateHandler.SetReady()\r\n })\r\n .catch((err) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n this.state.internalEvents.riseEvent({ type: \"hide_dialog\", payload: { clear: true } })\r\n PageStateHandler.SetReady()\r\n })\r\n }\r\n\r\n handleEvents = ({ type, payload }) => {\r\n if (type === \"show_dialog\") {\r\n this.clearInfCardData(true)\r\n }\r\n if (type === \"show_edit_dialog\") {\r\n this.setState({\r\n isReadonly: payload.isReadonly\r\n })\r\n this.refreshData(payload.Id)\r\n }\r\n else if (type === \"hide_dialog\") {\r\n if (payload) {\r\n const { clear } = payload\r\n if (clear) {\r\n this.clearInfCardData(clear)\r\n }\r\n else {\r\n this.setState({ isVisible: false })\r\n }\r\n }\r\n else {\r\n this.setState({ isVisible: false })\r\n }\r\n\r\n this.state.internalEvents.riseEvent({ type: \"filter\" })\r\n }\r\n }\r\n\r\n onSaveCallback = (result) => {\r\n if (ValidResult(result)) {\r\n this.props.toastr.ShowSuccess(`Successfuly ${this.state.isEdit ? \"saved\" : \"created\"} the questionnaire info card`)\r\n\r\n if (!this.state.isEdit) {\r\n this.state.internalEvents.riseEvent({ type: \"hide_dialog\" })\r\n this.state.internalEvents.riseEvent({ type: \"filter_info_cards\" })\r\n }\r\n this.state.internalEvents.riseEvent({ type: \"hide_dialog\" })\r\n }\r\n else {\r\n this.props.toastr.ShowError(`Failed to ${this.state.isEdit ? \"save\" : \"create\"} the questionnaire info card`)\r\n }\r\n }\r\n\r\n onError = (err) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n }\r\n\r\n render() {\r\n const state = this.state\r\n const props = this.props\r\n\r\n const hiddenData = {\r\n PathwayId: state.pathwayId,\r\n Message: \"Dummy\"\r\n }\r\n\r\n if (state.isEdit) {\r\n hiddenData[\"Id\"] = state.InfoCard.Id\r\n }\r\n\r\n return (\r\n <>\r\n { state.internalEvents.riseEvent({ type: \"hide_dialog\" }) }}>\r\n {`${state.isReadonly ? \"\" : state.isEdit ? \"Edit\" : \"Create\"} Questionnaire Info Card`} \r\n \r\n \r\n \r\n \r\n >\r\n )\r\n }\r\n}\r\n\r\nexport default CreateQuestionnaireInfoCardDialog\r\n","import React, { Component, useContext, useReducer } from 'react';\r\n\r\nimport SaveInformationCardDialogComponent from '../components/SaveInformationCardDialogComponent';\r\nimport InformationCardTable from '../components/table/InformationCardTable';\r\nimport QueryString from 'query-string';\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\nimport AxiosHelper from '../utils/AxiosHelper';\r\nimport PageHeading, { PageTitle, ActionGroup } from '../components/PageHeading';\r\nimport PrimaryButton from '../components/buttons/PrimaryButton';\r\nimport EventProxy from \"../components/EventProxy\"\r\nimport { Notifications } from '../components/NotificationsComponent';\r\nimport { PageStateHandler } from '../components/PageState';\r\nimport { Tooltip } from 'antd';\r\nimport SavePathwayDialog from '../components/SavePathwayDialog';\r\nimport CreateQuestionnaireInfoCardDialog from '../components/CreateQuestionnaireInfoCardDialog';\r\nimport { Link } from \"react-router-dom\"\r\n\r\nimport \"../css/pathwayDetails.css\"\r\n\r\nconst _reducer = function (state, { type, payload }) {\r\n switch (type) {\r\n case \"SET_DATA\":\r\n const { data, pathwayId } = payload\r\n return {\r\n ...state,\r\n data,\r\n pathwayId\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\nfunction _PathwayDetails(props) {\r\n const queryParams = QueryString.parse(props.location.search)\r\n const [state, dispatch] = useReducer(_reducer, {\r\n pathwayId: queryParams.pathwayId,\r\n isTemplate: queryParams.isTemplate == 'true',\r\n data: null,\r\n\r\n tableEvents: SafeSimpleEvent(),\r\n\r\n savePathwayProxy: EventProxy(),\r\n saveQuestionnaireInfoCardProxy: EventProxy(),\r\n saveInfoCardProxy: EventProxy()\r\n })\r\n\r\n const toastr = useContext(Notifications)\r\n\r\n const SetData = (data, pathwayId, currentState) => {\r\n dispatch({\r\n type: \"SET_DATA\",\r\n payload: {\r\n data,\r\n pathwayId,\r\n currentState\r\n }\r\n })\r\n }\r\n const LoadPathway = (id) => {\r\n if (!id) {\r\n id = state.pathwayId\r\n }\r\n\r\n PageStateHandler.SetLoading()\r\n\r\n AxiosHelper.post(\r\n `Pathway/GetPathwayData?id=${id}`).then(\r\n (response) => {\r\n if (response && response.data.Success) {\r\n SetData(response.data.Data, id)\r\n PageStateHandler.SetReady()\r\n }\r\n else {\r\n PageStateHandler.SetTo(\"ERROR\")\r\n }\r\n }).catch(\r\n (error) => {\r\n PageStateHandler.SetTo(\"ERROR\")\r\n })\r\n }\r\n\r\n props.didMountEvent.subscribe(() => {\r\n LoadPathway(queryParams.pathwayId)\r\n })\r\n return (\r\n <>\r\n \r\n Back \r\n \r\n { !state.isTemplate ?\r\n \r\n {\r\n state.savePathwayProxy.riseEvent({ type: \"edit\", payload: state.data })\r\n }}> \r\n \r\n :\r\n <>>\r\n }\r\n {\r\n !state.isTemplate ?\r\n \r\n {\r\n state.saveQuestionnaireInfoCardProxy.riseEvent({ type: \"show_dialog\" })\r\n }} />\r\n {\r\n state.saveInfoCardProxy.riseEvent({ type: \"show_dialog\" })\r\n }} />\r\n \r\n : <>>\r\n }\r\n \r\n\r\n \r\n\r\n \r\n\r\n {\r\n LoadPathway()\r\n }} />\r\n\r\n \r\n >\r\n )\r\n}\r\n\r\nclass PathwayDetails extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.didMountEvent = SafeSimpleEvent()\r\n\r\n }\r\n\r\n componentDidMount = () => {\r\n this.didMountEvent.riseEvent()\r\n }\r\n\r\n render() {\r\n return (<_PathwayDetails {...this.props} didMountEvent={this.didMountEvent} />);\r\n }\r\n}\r\n\r\nexport default PathwayDetails;\r\n","import React, { Component, useReducer, useContext } from 'react';\r\nimport AxiosHelper from '../../utils/AxiosHelper';\r\nimport { PaginationHandler } from '../filterAndPagination/PaginationHandler';\r\nimport { QuestionnaireTableContext } from \"../contexts\"\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport { EntityStatus, ValidResult } from '../../utils/Utils';\r\nimport { MoreAction, MoreActionsMenu, MoreActionsItem, MoreActionsLinkItem } from '../MoreActions';\r\nimport UpdateStatusDialogComponent from '../UpdateStatusDialogComponent';\r\nimport ListingTagsView from '../ListingTagsView';\r\nimport { PageStateHandler } from '../PageState';\r\nimport { Notifications } from '../NotificationsComponent';\r\nimport { Confirm } from '../ConfirmModule';\r\nimport { withRouter } from \"react-router\";\r\n\r\nfunction _reducer(state, action) {\r\n switch (action.type) {\r\n case 'SET_DATA': {\r\n return {\r\n ...state,\r\n screenIsReady: true\r\n }\r\n }\r\n case 'UPDATE_STATUS_QUESTIONNAIRE': {\r\n return {\r\n ...state,\r\n showRemoveEntityModal: true,\r\n questionnaireToUpdateId: action.payload.questionnaireToUpdateId\r\n }\r\n }\r\n case 'CLOSE_UPDATE_STATUS_QESTIONNAIRE': {\r\n return {\r\n ...state,\r\n questionnaireToUpdateId: '',\r\n showRemoveEntityModal: false\r\n }\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\nfunction _QuestionnaireTable(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n showRemoveEntityModal: false,\r\n questionnaireToUpdateId: ''\r\n })\r\n\r\n const toastr = useContext(Notifications)\r\n const questionnaireTableContext = useContext(QuestionnaireTableContext)\r\n props.didMountEvent.subscribe(() => {\r\n dispatch({\r\n type: \"SET_DATA\"\r\n });\r\n })\r\n\r\n const handleMenuItemClick = (menuItemId, obj, activeIndex) => {\r\n if (menuItemId == \"edit\") {\r\n props.history.push(`/questionnaires/questionnairedetails?questionnaireId=${obj.Id}`);\r\n }\r\n else if (menuItemId == \"remove\") {\r\n handleRemoveQuestionnaire(obj.Id);\r\n }\r\n else if (menuItemId == \"duplicate\") {\r\n Confirm.Show(\r\n `Confirm`,\r\n `Are you sure you want to duplicate questionnaire \"${obj.Name}\"`,\r\n ({ type, payload }) => {\r\n if (type === \"ok\") {\r\n duplicate(obj.Id, obj.Name)\r\n }\r\n })\r\n }\r\n else if (menuItemId == \"delete\") {\r\n Confirm.Show(\r\n `Confirm`,\r\n `Are you sure you want to delete questionnaire \"${obj.Name}\"`,\r\n ({ type, payload }) => {\r\n if (type === \"ok\") {\r\n deleteQuestionnaire(obj.Id, obj.Name)\r\n }\r\n })\r\n }\r\n }\r\n\r\n const duplicate = (id, name) => {\r\n PageStateHandler.SetLoading()\r\n\r\n AxiosHelper\r\n .post(`/Questionnaire/Duplicate?id=${id}`)\r\n .then((result) => {\r\n if (ValidResult(result.data)) {\r\n toastr.ShowSuccess(`Successfully duplicated questionnaire \"${name}\"`)\r\n\r\n const { Value } = result.data.Data\r\n\r\n props.history.push(`/questionnaires/savequestionnaire?questionnaireId=${Value}`)\r\n }\r\n else {\r\n toastr.ShowError(`Failed to duplicate questionnaire \"${name}\"`)\r\n }\r\n\r\n PageStateHandler.SetReady()\r\n })\r\n .catch((err) => {\r\n toastr.ShowError(\"An error occurred, please try again\")\r\n PageStateHandler.SetReady()\r\n })\r\n }\r\n\r\n const deleteQuestionnaire = (id, name) => {\r\n PageStateHandler.SetLoading()\r\n\r\n AxiosHelper\r\n .post(`/Questionnaire/Delete?id=${id}`)\r\n .then((result) => {\r\n if (ValidResult(result.data)) {\r\n toastr.ShowSuccess(`Successfully deleted questionnaire \"${name}\"`)\r\n\r\n questionnaireTableContext.filterEvent.riseEvent();\r\n }\r\n else {\r\n toastr.ShowError(`Failed to delete questionnaire \"${name}\"`)\r\n }\r\n\r\n PageStateHandler.SetReady()\r\n })\r\n .catch((err) => {\r\n toastr.ShowError(\"An error occurred, please try again\")\r\n PageStateHandler.SetReady()\r\n })\r\n }\r\n\r\n const handleRemoveQuestionnaire = (questionnaireId) => {\r\n dispatch({\r\n type: \"UPDATE_STATUS_QUESTIONNAIRE\",\r\n payload: {\r\n questionnaireToUpdateId: questionnaireId,\r\n }\r\n })\r\n }\r\n\r\n const handleCloseRemoveEntityModal = () => {\r\n dispatch({\r\n type: \"CLOSE_UPDATE_STATUS_QESTIONNAIRE\"\r\n });\r\n }\r\n\r\n const cancelUpdate = () => {\r\n dispatch({\r\n type: \"CLOSE_UPDATE_STATUS_QESTIONNAIRE\"\r\n });\r\n }\r\n\r\n const updateEntity = (id) => {\r\n AxiosHelper\r\n .get(\"Questionnaire/DeleteQuestionnaire?id=\" + state.questionnaireToUpdateId)\r\n .then(response => {\r\n questionnaireTableContext.filterEvent.riseEvent();\r\n }).catch(function (err) {\r\n this.setState({\r\n });\r\n });\r\n\r\n\r\n dispatch({\r\n type: \"CLOSE_UPDATE_STATUS_QESTIONNAIRE\"\r\n });\r\n }\r\n\r\n props.didMountEvent.subscribe(() => {\r\n dispatch({\r\n type: \"SET_DATA\"\r\n });\r\n })\r\n\r\n const renderQuestionnaireTable = (items) => {\r\n if (!items || !items.length) {\r\n return (\r\n \r\n No results. \r\n
\r\n )\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n Name \r\n tags \r\n \r\n \r\n \r\n \r\n {items.map(questionnaire => {\r\n return (\r\n \r\n \r\n props.history.push(`/questionnaires/savequestionnaire?questionnaireId=${questionnaire.Id}&isTemplate=${questionnaire.IsTemplate}`)}>{questionnaire.Name} \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!questionnaire.IsTemplate ?\r\n \r\n : <>>\r\n }\r\n \r\n \r\n \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
Created by user \r\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 QuestionnaireTable extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.didMountEvent = SafeSimpleEvent()\r\n }\r\n\r\n componentDidMount(props) {\r\n this.didMountEvent.riseEvent()\r\n }\r\n\r\n render() {\r\n return (\r\n <_QuestionnaireTable {...this.props} didMountEvent={this.didMountEvent} />\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(QuestionnaireTable);","import React, { Component } from 'react'\r\n\r\nexport class FilterEntryWrapper extends Component {\r\n render() {\r\n return (\r\n \r\n {this.props.label} \r\n {\r\n React.cloneElement(this.props.children,\r\n { clearEvent: this.props.clearEvent, collectEvent: this.props.collectEvent, collectDataEvent: this.props.collectEvent })\r\n }\r\n
\r\n )\r\n }\r\n\r\n}\r\n\r\nexport default FilterEntryWrapper\r\n","import React, { Component } from 'react';\r\nimport QuestionnaireTable from './QuestionnaireTable';\r\nimport TextFilterEntry from '../filterAndPagination/components/TextFilterEntry';\r\nimport MultiselectTagsFilterEntry from '../filterAndPagination/components/MultiselectTagsFilterEntry';\r\nimport FilterHandler from '../filterAndPagination/FilterHandler';\r\nimport EntitiesSelect2Component from '../EntitySelect2Component';\r\nimport FilterEntryWrapper from '../filterAndPagination/components/FilterEntryWrapper';\r\n\r\nclass QuestionnaireTableWithFilter extends Component {\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\nexport default QuestionnaireTableWithFilter;","import React, { Component, useContext, useReducer } from 'react';\r\nimport { QuestionnaireTableContext } from '../components/contexts'\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\nimport QuestionnaireTableWithFilter from '../components/table/QuestionnaireTableWithFilter';\r\nimport PageHeading, { PageTitle, ActionGroup } from '../components/PageHeading';\r\nimport { Notifications } from '../components/NotificationsComponent';\r\nimport PrimaryButton from '../components/buttons/PrimaryButton';\r\n\r\nconst _reducer = function (state, action) {\r\n switch (action.type) {\r\n case 'SET_DATA': {\r\n return {\r\n ...state,\r\n screenIsReady: true\r\n }\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nfunction _QuestionnairesPage(props) {\r\n //initial state\r\n const [state, dispatch] = useReducer(_reducer, {\r\n screenIsReady: true\r\n })\r\n\r\n const questionnaireTableContext = useContext(QuestionnaireTableContext)\r\n\r\n const toastr = useContext(Notifications)\r\n\r\n props.didMountEvent.subscribe(() => {\r\n questionnaireTableContext.filterEvent.defferedRiseEvent();\r\n })\r\n\r\n return (state.screenIsReady ? (\r\n <>\r\n \r\n \r\n \r\n { props.history.push(`/questionnaires/savequestionnaire`) }} />\r\n \r\n \r\n \r\n >\r\n ) : null\r\n )\r\n}\r\n\r\nclass QuestionnairesPage extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.didMountEvent = new SafeSimpleEvent();\r\n };\r\n\r\n componentDidMount() {\r\n this.didMountEvent.riseEvent();\r\n };\r\n\r\n render() {\r\n return (<_QuestionnairesPage {...this.props} didMountEvent={this.didMountEvent} />)\r\n }\r\n}\r\n\r\nexport default QuestionnairesPage;\r\n","import React, { Component, useReducer, useContext } from 'react';\r\nimport { PaginationHandler } from '../filterAndPagination/PaginationHandler';\r\nimport { QuestionnaireTableContext } from \"../contexts\"\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport { EntityStatus, ValidResult } from '../../utils/Utils';\r\nimport { Notifications } from '../NotificationsComponent';\r\nimport { withRouter } from \"react-router\";\r\nimport Moment from 'react-moment';\r\n\r\n\r\nfunction _QuestionnairesAnswersTable(props) {\r\n\r\n\r\n const toastr = useContext(Notifications)\r\n const questionnaireTableContext = useContext(QuestionnaireTableContext)\r\n\r\n const renderQuestionnaireTable = (items) => {\r\n if (!items || !items.length) {\r\n return (\r\n \r\n No results. \r\n
\r\n )\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n Patient Name \r\n Age \r\n Surgery Date \r\n Pathway \r\n Surgeon Name \r\n Questionnaire \r\n Answer Time \r\n \r\n \r\n \r\n \r\n {items.map(answer => {\r\n return (\r\n \r\n \r\n {answer.PatientName} \r\n {answer.Age} \r\n \r\n {answer.SurgeryDate}\r\n \r\n {answer.PathwayName} \r\n {answer.SurgeonName} \r\n {answer.QuestionnaireName} \r\n \r\n {answer.AnswerTime}\r\n \r\n \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\n\r\nclass QuestionnairesAnswersTable extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.didMountEvent = SafeSimpleEvent()\r\n }\r\n\r\n componentDidMount(props) {\r\n this.didMountEvent.riseEvent()\r\n }\r\n\r\n render() {\r\n return (\r\n <_QuestionnairesAnswersTable {...this.props} didMountEvent={this.didMountEvent} />\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(QuestionnairesAnswersTable);","import React, { Component } from 'react';\r\nimport QuestionnairesAnswersTable from './QuestionnairesAnswersTable';\r\nimport TextFilterEntry from '../filterAndPagination/components/TextFilterEntry';\r\nimport FilterHandler from '../filterAndPagination/FilterHandler';\r\nimport EntitiesSelect2Component from '../EntitySelect2Component';\r\nimport FilterEntryWrapper from '../filterAndPagination/components/FilterEntryWrapper';\r\nimport SafeSimpleEvent from \"../SafeSimpleEvent\"\r\nimport PrimaryButton from \"../buttons/PrimaryButton\"\r\nimport axios from 'axios';\r\n\r\nclass QuestionnairesAnswersTableWithFilter extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n internalEvents: SafeSimpleEvent()\r\n }\r\n }\r\n\r\n downloadAllQuestionnaireAnswers = () => {\r\n let data = {};\r\n this.state.internalEvents.riseEvent({\r\n type: 'collect', payload: data\r\n })\r\n axios({\r\n baseURL: window.ENVIRONMENT_URL,\r\n url: '/PatientQuestionnaireAnswer/DownloadAllQuestionnaireAnswers',\r\n params: data,\r\n method: 'GET',\r\n responseType: 'blob', \r\n withCredentials: true,\r\n crossDomain: true,\r\n headers: {\r\n 'Accept': 'application/csv',\r\n },\r\n }).then((response) => {\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', 'answers.csv');\r\n document.body.appendChild(link);\r\n link.click();\r\n });\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\n }\r\n}\r\n\r\nexport default QuestionnairesAnswersTableWithFilter;","import React, { Component, useContext, useReducer } from 'react';\r\nimport { QuestionnaireTableContext } from '../components/contexts'\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\nimport QuestionnairesAnswersTableWithFilter from '../components/table/QuestionnairesAnswersTableWithFilter';\r\nimport PageHeading, { PageTitle, ActionGroup } from '../components/PageHeading';\r\nimport { Notifications } from '../components/NotificationsComponent';\r\nimport PrimaryButton from '../components/buttons/PrimaryButton';\r\n\r\nconst _reducer = function (state, action) {\r\n switch (action.type) {\r\n case 'SET_DATA': {\r\n return {\r\n ...state,\r\n screenIsReady: true\r\n }\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nfunction _QuestionnairesAnswerPage(props) {\r\n //initial state\r\n const [state, dispatch] = useReducer(_reducer, {\r\n screenIsReady: true\r\n })\r\n\r\n const questionnaireTableContext = useContext(QuestionnaireTableContext)\r\n\r\n const toastr = useContext(Notifications)\r\n\r\n props.didMountEvent.subscribe(() => {\r\n questionnaireTableContext.filterEvent.defferedRiseEvent();\r\n })\r\n\r\n return (state.screenIsReady ? (\r\n <>\r\n \r\n \r\n \r\n \r\n >\r\n ) : null\r\n )\r\n}\r\n\r\nclass QuestionnairesAnswerPage extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.didMountEvent = new SafeSimpleEvent();\r\n };\r\n\r\n componentDidMount() {\r\n this.didMountEvent.riseEvent();\r\n };\r\n\r\n render() {\r\n return (<_QuestionnairesAnswerPage {...this.props} didMountEvent={this.didMountEvent} />)\r\n }\r\n}\r\n\r\nexport default QuestionnairesAnswerPage;\r\n","export const DEFAULT_USER_PICTURE_URL = \"/themes/default/images/icons/default-user.png\"\r\n\r\nexport const DEFAULT_USER_PICTURE_URL_ABSOLUTE = () => {\r\n return window.location.origin + DEFAULT_USER_PICTURE_URL\r\n}","import React, { Component } from \"react\";\r\nimport { Form } from \"../form/Form\";\r\nimport FormEntry from \"../form/FormEntry\";\r\nimport InputComponent from \"../components/InputComponent\";\r\nimport AxiosHelper from \"../utils/AxiosHelper\";\r\nimport { ValidResult } from \"../utils/Utils\";\r\nimport {\r\n DEFAULT_USER_PICTURE_URL,\r\n DEFAULT_USER_PICTURE_URL_ABSOLUTE,\r\n} from \"../AppConstants\";\r\nimport PrimaryButton from \"./buttons/PrimaryButton\";\r\nimport { SITE_EVENTS } from \"../App\";\r\n\r\nclass ProfilePictureComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: this.props.value\r\n ? this.props.value\r\n : DEFAULT_USER_PICTURE_URL_ABSOLUTE(),\r\n fileAsUrl: null,\r\n file: null,\r\n };\r\n\r\n if (this.props.collectDataEvent) {\r\n this.props.collectDataEvent.subscribe(this.collectData, this.props.name);\r\n }\r\n\r\n if (this.props.validateEvent) {\r\n this.props.validateEvent.subscribe(\r\n this.validateCallback,\r\n this.props.name\r\n );\r\n }\r\n }\r\n\r\n collectData = (formData) => {\r\n if (this.state.file) {\r\n formData[`${this.props.name}File`] = this.state.file;\r\n } else {\r\n formData[`${this.props.name}File`] = null;\r\n }\r\n };\r\n\r\n handleChange = (e) => {\r\n e.preventDefault();\r\n\r\n let reader = new FileReader();\r\n let file = e.target.files[0];\r\n\r\n reader.onloadend = () => {\r\n this.setState({\r\n file,\r\n fileAsUrl: reader.result,\r\n });\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n };\r\n\r\n validateCallback = () => {\r\n return true;\r\n };\r\n\r\n render() {\r\n const pickerRef = React.createRef(null);\r\n\r\n return (\r\n \r\n
{\r\n pickerRef.current.click();\r\n }}\r\n >
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass SurgeonProfileForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n FirstName: null,\r\n LastName: null,\r\n Email: null,\r\n Phone: null,\r\n Website: null,\r\n Address: null,\r\n ProfilePictureUrl: null,\r\n };\r\n }\r\n\r\n getData = () => {\r\n AxiosHelper.post(\"SurgeonProfile/ProfileSurgeonData\")\r\n .then((response) => {\r\n if (ValidResult(response.data)) {\r\n this.setState({\r\n ...this.state,\r\n ...response.data.Data,\r\n });\r\n } else {\r\n }\r\n })\r\n .catch((err) => {});\r\n };\r\n\r\n componentDidMount(props) {\r\n this.getData();\r\n }\r\n\r\n onSubmit = (result) => {\r\n if (ValidResult(result)) {\r\n this.props.toastr.ShowSuccess(\"Successfully updated your profile data.\");\r\n\r\n SITE_EVENTS.riseEvent({\r\n type: \"SET_PROFILE_PICTURE_URL\",\r\n payload: result.Data,\r\n });\r\n } else {\r\n this.props.toastr.ShowError(\"Failed to update your profile data.\");\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default SurgeonProfileForm;\r\n","import React, { Component, useContext, useReducer } from 'react';\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\nimport PageHeading, { PageTitle, ActionGroup } from '../components/PageHeading';\r\nimport SurgeonProfileForm from '../components/SurgeonProfileForm';\r\nimport { SiteContext } from '../components/contexts';\r\nimport { Notifications } from \"../components/NotificationsComponent\"\r\n\r\nimport \"../css/myProfile.css\"\r\n\r\nconst _reducer = function (state, action) {\r\n switch (action.type) {\r\n case 'SET_DATA': {\r\n return {\r\n ...state,\r\n screenIsReady: true\r\n }\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\nfunction _MyProfilePage(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n screenIsReady: true,\r\n })\r\n\r\n const toastr = useContext(Notifications)\r\n\r\n const siteContext = useContext(SiteContext)\r\n\r\n return (state.screenIsReady ? (\r\n <>\r\n \r\n \r\n \r\n \r\n >) : null\r\n )\r\n}\r\n\r\nclass MyProfilePage extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.didMountEvent = new SafeSimpleEvent();\r\n };\r\n\r\n componentDidMount() {\r\n this.didMountEvent.riseEvent();\r\n };\r\n\r\n render() {\r\n return (<_MyProfilePage {...this.props} didMountEvent={this.didMountEvent} />)\r\n }\r\n}\r\n\r\nexport default MyProfilePage;\r\n\r\n","import React from \"react\";\r\nimport FormEntry from \"../../form/FormEntry\";\r\nimport { Form } from \"../../form/Form\";\r\nimport GalleryItemPickerComponent from \"../GalleryItemPickerComponent\";\r\nimport InputComponent from \"../InputComponent\";\r\nimport { GalleryItemType } from \"../../utils/Utils\";\r\n\r\nfunction SaveGalleryItemFrom(props) {\r\n debugger;\r\n var item = props.item;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default SaveGalleryItemFrom;\r\n","import React, { Component, useReducer, useContext } from 'react';\r\nimport SafeSimpleEvent from '../SafeSimpleEvent';\r\nimport Tabs from '../tabs/Tabs';\r\nimport Tab from '../tabs/components/Tab';\r\nimport ImageTab from '../gallery/ImageTab'\r\nimport VideoTab from '../gallery/VideoTab'\r\nimport SaveGalleryItemFrom from \".././forms/SaveGalleryItemFrom\"\r\nimport CreateEntityComponent from \".././CreateEntityComponent\"\r\nimport { GalleryGridContext } from \"../contexts\"\r\nimport { Notifications } from '../NotificationsComponent'\r\nimport { GalleryItemType } from '../../utils/Utils'\r\nimport TextFilterEntry from '../filterAndPagination/components/TextFilterEntry';\r\nimport FilterHandler from '../filterAndPagination/FilterHandler';\r\nimport AxiosHelper from '../../utils/AxiosHelper'\r\nimport UpdateStatusDialogComponent from '../UpdateStatusDialogComponent'\r\nimport Flyout, { FlyoutHead, FlyoutBody, FlyoutFooter } from '../../components/Flyout';\r\nimport { ValidResult } from '../../utils/Utils';\r\n\r\nfunction _reducer(state, action) {\r\n switch (action.type) {\r\n case 'SET_STATE': {\r\n return {\r\n ...state,\r\n showDeleteModal: action.payload.showDeleteModal,\r\n itemToDelete: action.payload.itemToDelete,\r\n screenIsReady: true\r\n }\r\n }\r\n case 'SET_EDIT_DATA': {\r\n return {\r\n ...state,\r\n showEditModal: action.payload.showEditModal,\r\n type: action.payload.type != null ? action.payload.type : null,\r\n itemToUpdate: action.payload.itemToUpdate,\r\n screenIsReady: true\r\n }\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nfunction _GalleryGrid(props) {\r\n const galleryGridContainer = useContext(GalleryGridContext)\r\n const toastr = useContext(Notifications)\r\n const [state, dispatch] = useReducer(_reducer, {\r\n showDeleteModal: false,\r\n itemToDelete: null,\r\n showEditModal: false,\r\n itemToUpdate: null,\r\n })\r\n\r\n const deleteResource = () => {\r\n if (state.itemToDelete != null) {\r\n debugger\r\n AxiosHelper.post(\"Gallery/DeleteGalleryItem?id=\" + state.itemToDelete\r\n ).then((result) => {\r\n galleryGridContainer.filterEvent.riseEvent();\r\n toastr.ShowSuccess(\"Successfully deleted the gallery item\")\r\n dispatch({\r\n type: \"SET_STATE\",\r\n payload: {\r\n showDeleteModal: false,\r\n tagToDelete: null,\r\n }\r\n })\r\n }).catch((ex) => {\r\n toastr.ShowSuccess(\"Error deleting the gallery item\")\r\n })\r\n }\r\n }\r\n\r\n const cancelDelete = () => {\r\n dispatch({\r\n type: \"SET_STATE\",\r\n payload: {\r\n showDeleteModal: false,\r\n itemToDelete: null,\r\n }\r\n })\r\n }\r\n\r\n const showModal = (ev) => {\r\n var id = ev.target.id;\r\n dispatch({\r\n type: \"SET_STATE\",\r\n payload: {\r\n showDeleteModal: true,\r\n itemToDelete: id,\r\n }\r\n })\r\n }\r\n\r\n const showEditModal = (id, name, source, type) => {\r\n var galleryItem = { id: id, src : source, name: name };\r\n\r\n dispatch({\r\n type: \"SET_EDIT_DATA\",\r\n payload: {\r\n showEditModal: true,\r\n itemToUpdate: galleryItem,\r\n type: type\r\n }\r\n })\r\n }\r\n\r\n const onSaveCallback = (result) => {\r\n if (ValidResult(result)) {\r\n toastr.ShowSuccess(\"Successfully saved the gallery item\");\r\n galleryGridContainer.filterEvent.riseEvent();\r\n handleClose();\r\n }\r\n else {\r\n toastr.ShowError(\"Failed to save the gallery item\")\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n dispatch({\r\n type: \"SET_EDIT_DATA\",\r\n payload: {\r\n showEditModal: false,\r\n itemToUpdate: null,\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n { handleClose() }} isVisible={state.showEditModal} id=\"edit-gallery-item\" showCloseButton={true} size=\"small\">\r\n Edit gallery item \r\n \r\n \r\n \r\n \r\n \r\n >\r\n )\r\n}\r\n\r\nclass GalleryGrid extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.willMountEvent = SafeSimpleEvent()\r\n }\r\n\r\n componentWillMount(props) {\r\n this.willMountEvent.riseEvent()\r\n }\r\n\r\n render() {\r\n return (\r\n <_GalleryGrid {...this.props} willMoundEvent={this.willMoundEvent} />\r\n );\r\n }\r\n}\r\n\r\nexport default GalleryGrid;","import React, { Component, useContext, useReducer } from 'react';\r\nimport { GalleryGridContext } from '../components/contexts'\r\nimport SafeSimpleEvent from '../components/SafeSimpleEvent';\r\nimport PageHeading, { PageTitle, ActionGroup } from '../components/PageHeading';\r\nimport EventProxy from \"../components/EventProxy\"\r\nimport { Notifications } from '../components/NotificationsComponent';\r\nimport GalleryGrid from '../components/table/GalleryGrid'\r\n\r\nconst _reducer = function (state, action) {\r\n switch (action.type) {\r\n case \"SET_DATA\": {\r\n return {\r\n ...state,\r\n patients: action.payload.data,\r\n screenIsReady: true\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction _GalleryPage(props) {\r\n const [state, dispatch] = useReducer(_reducer, {\r\n patients: [],\r\n screenIsReady: true,\r\n setStateEventWrapper: EventProxy()\r\n })\r\n\r\n const toastr = useContext(Notifications)\r\n\r\n const patientTableContext = useContext(GalleryGridContext);\r\n\r\n return (state.screenIsReady ? (\r\n <>\r\n \r\n \r\n \r\n \r\n >\r\n\r\n ) : null)\r\n}\r\n\r\nclass GalleryPage extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.didMountEvent = new SafeSimpleEvent();\r\n };\r\n\r\n componentDidMount() {\r\n this.didMountEvent.riseEvent();\r\n }\r\n\r\n render() {\r\n return (<_GalleryPage {...this.props} didMountEvent={this.didMountEvent} />)\r\n }\r\n}\r\n\r\nexport default GalleryPage;","import React, { Component, useContext } from 'react'\r\nimport \"../css/base/cssReset.css\";\r\nimport \"../css/base/basicStructure.css\";\r\nimport \"../css/fonts.css\"\r\nimport FormEntry from '../form/FormEntry';\r\nimport InputComponent from '../components/InputComponent';\r\nimport { Form } from '../form/Form';\r\nimport SiteState from '../components/SiteState';\r\nimport { PageStateHandler } from '../components/PageState';\r\n\r\nclass ForgotPasswordPage extends Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n onSubmitSuccess = (result) => {\r\n\r\n if (result.Success == true) {\r\n this.props.toastr.ShowSuccess(\"We've sent you an email to reset your password\")\r\n PageStateHandler.SetLoading();\r\n setTimeout( () => \r\n this.props.SetSiteState(SiteState.LoggedOut), 1500) \r\n }\r\n else {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n }\r\n }\r\n\r\n onError = () => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
Forgot Password
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ForgotPasswordPage\r\n","import React, { Component } from 'react';\r\n\r\nclass PageNotFound extends Component {\r\n render() {\r\n return (\r\n Page not found
\r\n )\r\n }\r\n}\r\n\r\nexport default PageNotFound;\r\n","import React, { Component } from 'react'\r\n\r\nimport { SITE_EVENTS } from '../App';\r\n\r\nimport uuid from \"uuid\"\r\n\r\nexport class UserMenuItem extends Component {\r\n onClickHandler = () => {\r\n this.props.onClick()\r\n this.props.onClickHandler()\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.text} \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport class UserMenu extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n isVisible: false,\r\n imgUrl: this.props.imgUrl,\r\n timestamp: (new Date()).getTime()\r\n }\r\n }\r\n\r\n componentWillMount = () => {\r\n SITE_EVENTS.subscribe(this.handleSiteEvents, \"USER_MENU\")\r\n document.addEventListener(\"mousedown\", this.handleDocumentClick, false)\r\n }\r\n\r\n componentWillUnmount = () => {\r\n SITE_EVENTS.unsubscribe(\"USER_MENU\", true)\r\n document.removeEventListener(\"mousedown\", this.handleDocumentClick, false)\r\n }\r\n\r\n handleSiteEvents = ({ type, payload }) => {\r\n if (type === \"SET_PROFILE_PICTURE_URL\") {\r\n if (payload != null) {\r\n this.state.imgUrl = payload\r\n this.state.timestamp = (new Date()).getTime()\r\n\r\n this.forceUpdate()\r\n }\r\n }\r\n }\r\n\r\n handleDocumentClick = ({ target }) => {\r\n if (this.state.isVisible) {\r\n if (!this.node.contains(target)) {\r\n this.setState({ isVisible: false })\r\n return\r\n }\r\n }\r\n }\r\n\r\n onItemClick = () => {\r\n this.setState(prevState => ({ isVisible: !prevState.isVisible }))\r\n }\r\n\r\n render() {\r\n return (\r\n this.node = node}>\r\n
{\r\n this.setState(prevState => ({ isVisible: !prevState.isVisible }))\r\n }} >\r\n \r\n \r\n {\r\n this.state.isVisible ? (\r\n
\r\n {React.Children.map(this.props.children, (c) => React.cloneElement(c, { onClickHandler: this.onItemClick }))}\r\n
\r\n ) : null\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default UserMenu\r\n","import React, { Component } from 'react'\r\n\r\nimport { SiteContext } from \"./contexts\"\r\n\r\nimport \"../css/translationSwitch.css\"\r\n\r\nexport class TranslationSwitch extends Component {\r\n render() {\r\n return (\r\n \r\n {\r\n ({ state, dispatch }) => (\r\n \r\n {/* {t(\"ChooseLanguageLabel\")} */}\r\n dispatch({ type: \"SET_TRANSLATION\", payload: { name: e.target.value } })\r\n } defaultValue={state.activeTranslation.locale}>\r\n {\r\n state.translations.all.map((t, i) => (\r\n {t.name} \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 TranslationSwitch\r\n","import React, { Component } from 'react'\r\nimport { SiteContext } from './contexts';\r\n\r\nimport \"../css/themeSwitch.css\"\r\n\r\nexport class ThemeSwitch extends Component {\r\n render() {\r\n return (\r\n \r\n {\r\n ({ state, translate, dispatch }) => (\r\n \r\n dispatch({ type: \"SET_THEME\", payload: ev.target.value })\r\n }>\r\n {\r\n Object.keys(state.Themes).map((k) =>\r\n {state.Themes[k].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\nexport default ThemeSwitch\r\n","import React, { Component } from \"react\";\r\n\r\nimport { SiteContext } from \"../components/contexts\";\r\n\r\nimport TranslationSwitch from \"../components/TranslationSwitch\";\r\n\r\nimport \"../css/header.css\";\r\n\r\nimport ThemeSwitch from \"../components/ThemeSwitch\";\r\nimport SiteState from \"../components/SiteState\";\r\n\r\nimport UserMenu, { UserMenuItem } from \"../components/UserMenu\";\r\nimport { SITE_EVENTS } from \"../App\";\r\n\r\nclass Header extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n profilePictureUrl: null,\r\n };\r\n }\r\n\r\n LogOut = (event) => {\r\n this.props.LogOutAction({ reasone: \"None\" });\r\n };\r\n\r\n handleClick = (dispatch, showSwapSurgeon) => {\r\n dispatch({\r\n type: \"SET_SITE_STATE\",\r\n payload: {\r\n siteState: showSwapSurgeon\r\n ? SiteState.ChooseSurgeon\r\n : SiteState.ChooseHospital,\r\n },\r\n });\r\n };\r\n\r\n render() {\r\n let isAuth = this.props.isAuthenticated;\r\n\r\n const profilePictureUrl = this.state.profilePictureUrl;\r\n\r\n return (\r\n \r\n
\r\n {({ dispatch, state, translate, LogOut }) => (\r\n <>\r\n {/* */}\r\n {/* */}\r\n {\r\n (state.siteState = SiteState.LoggedIn ? (\r\n <>\r\n \r\n {`${state.userData.email}`} \r\n \r\n {\r\n if (this.props.routerEvents) {\r\n this.props.routerEvents.riseEvent({\r\n type: \"push\",\r\n payload: \"/myprofile\",\r\n });\r\n }\r\n }}\r\n />\r\n {state.showSwapHospital ? (\r\n {\r\n this.handleClick(dispatch, false);\r\n }}\r\n />\r\n ) : (\r\n <>>\r\n )}\r\n {state.showSwapSurgeon ? (\r\n {\r\n this.handleClick(dispatch, state.showSwapSurgeon);\r\n }}\r\n />\r\n ) : (\r\n <>>\r\n )}\r\n {\r\n LogOut();\r\n }}\r\n />\r\n \r\n
\r\n >\r\n ) : (\r\n \r\n Not authed \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 Header;\r\n","import React, { Component } from 'react'\r\n\r\nexport class Footer extends Component {\r\n render() {\r\n return (\r\n \r\n
SuXeed \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Footer\r\n\r\n\r\n","import React, { Component } from \"react\"\r\nimport { Link } from \"react-router-dom\"\r\nimport { debug } from \"util\";\r\nimport { All } from \"../../utils/Utils\";\r\n\r\nclass MenuItem extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n id: props.Id,\r\n activeId: this.props.activeId\r\n }\r\n\r\n const { pathname } = window.location\r\n if (!this.props.isLogo) {\r\n if ((!this.props.includedLocaitons && pathname === this.props.to) ||\r\n (this.props.includedLocaitons &&\r\n All(this.props.includedLocaitons, (l) => {\r\n return pathname.indexOf(l) !== -1;\r\n })) &&\r\n pathname.indexOf(this.props.to) !== -1) {\r\n this.state.activeId = this.props.Id\r\n }\r\n }\r\n }\r\n\r\n setActiveId = () => {\r\n this.props.click(this.state.id)\r\n }\r\n\r\n isActive = () => !this.props.isLogo && this.state.activeId == this.props.Id;\r\n\r\n componentDidMount = () => {\r\n\r\n }\r\n\r\n componentWillReceiveProps({ activeId }) {\r\n this.setState({ activeId })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.text} \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default MenuItem","import React, { Component } from \"react\"\r\nimport uuid from \"uuid\"\r\nimport { withRouter } from \"react-router\";\r\nimport \"../../css/leftMenu.css\"\r\n\r\nclass Menu extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n activeId: props.activeId,\r\n itemsKeyPool: 0\r\n }\r\n\r\n if (this.props.routerEvents) {\r\n this.props.routerEvents.subscribe(this.handleRouterEvents, \"HANDLER\")\r\n }\r\n }\r\n\r\n handleRouterEvents = ({ type, payload }) => {\r\n switch (type) {\r\n case \"push\":\r\n this.props.history.push(payload)\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n onMenuItemClick = id => {\r\n this.setState({ activeId: id })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n {(this.props.children.length ? this.props.children : [this.props.children]).map((e) => (\r\n React.cloneElement(e, { key: uuid(), click: this.onMenuItemClick, activeId: this.state.activeId })\r\n ))}\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(Menu)","import React, { Component, useContext } from \"react\";\r\nimport { BrowserRouter as Router, Route, Switch } from \"react-router-dom\";\r\nimport { SiteContext } from \"./components/contexts\";\r\nimport PatientsPage from \"./pages/PatientsPage\";\r\nimport PathwaysPage from \"./pages/PathwaysPage\";\r\nimport QuestionnaireDetails from \"./pages/QuestionnaireDetails\";\r\nimport GeneralInformationPage from \"./pages/GeneralInformationPage\";\r\nimport PathwayDetails from \"./pages/PathwayDetails\";\r\nimport QuestionnairesPage from \"./pages/QuestionnairesPage\";\r\nimport QuestionnairesAnswerPage from \"./pages/QuestionnairesAnswerPage\";\r\nimport MyProfilePage from \"./pages/MyProfilePage\";\r\nimport GalleryPage from \"./pages/GalleryPage\";\r\nimport ForgotPasswordPage from \"./pages/ForgotPasswordPage\";\r\nimport PageNotFound from \"./pages/PageNotFound\";\r\nimport Header from \"./pages/Header\";\r\nimport Footer from \"./pages/Footer\";\r\nimport MenuItem from \"./components/menu/MenuItem\";\r\nimport Menu from \"./components/menu/Menu\";\r\n\r\nconst _Root = (props) => {\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\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n >\r\n );\r\n};\r\n\r\nclass Root extends Component {\r\n render() {\r\n const routerEvents = this.props.routerEvents;\r\n return (\r\n <>\r\n \r\n {({}) => <_Root routerEvents={routerEvents} />}\r\n \r\n >\r\n );\r\n }\r\n}\r\n\r\nexport default Root;\r\n","const jp = {\r\n locale: \"jp\",\r\n name: \"Japan\",\r\n General: {\r\n EmailLabel: \"Eメール\",\r\n PassowrdLabel: \"パスワード\",\r\n ChooseLanguageLabel: \"言語を選択\",\r\n DarkThemeLabel: \"暗いテーマ\",\r\n ContrastThemeLabel: \"コントラストのテーマ\"\r\n },\r\n Header: {\r\n NameLabel: \"ヘッダ\",\r\n WelcomeTitleLabel: \"ようこそ ${email} | ${name}\",\r\n LogOutLabel: \"ログアウト\"\r\n },\r\n Login: {\r\n ThisIsLoginPageLabel: \"ログインページです\"\r\n },\r\n Menu: {\r\n HomeLabel: \"ホームページ\",\r\n TabsExampleLabel: \"タブの例\",\r\n FilterAndPaginationExampleLabel: \"フィルターとページネーション\"\r\n },\r\n Form: {\r\n EmailLabel: \"Eメール\",\r\n FirstNameLabel: \"ファーストネーム\",\r\n LastNameLabel: \"苗字\",\r\n AddressLabel: \"住所\",\r\n Address2Label: \"住所 2\"\r\n },\r\n Validations: {\r\n [\"data-val-regex\"]: \"フィールド ${fieldName} 有効じゃない\",\r\n [\"data-val-minlength\"]: \"フィールド ${fieldName} の最小長は ${min} でなければなりません\",\r\n [\"data-val-maxlength\"]: \"フィールド ${fieldName} の最大長は ${max} でなければなりません\",\r\n [\"data-val-required\"]: \"フィールド ${fieldName} は必須です\",\r\n }\r\n}\r\n\r\nconst ro = {\r\n locale: \"ro\",\r\n name: \"Română\",\r\n General: {\r\n EmailLabel: \"E-mail\",\r\n PassowrdLabel: \"Parola\",\r\n ChooseLanguageLabel: \"Alege limba\",\r\n DarkThemeLabel: \"Tema Neagra\",\r\n ContrastThemeLabel: \"Tema Contrast\"\r\n },\r\n Header: {\r\n NameLabel: \"Antet\",\r\n WelcomeTitleLabel: \"Bine ai venit ${email} | ${name}\",\r\n LogOutLabel: \"Iesire\"\r\n },\r\n Login: {\r\n ThisIsLoginPageLabel: \"Aceasta este pagina de login\"\r\n },\r\n Menu: {\r\n HomeLabel: \"Acasa\",\r\n TabsExampleLabel: \"Exemplu taburi\",\r\n FilterAndPaginationExampleLabel: \"Exemplu filtru si paginare\"\r\n },\r\n Form: {\r\n EmailLabel: \"E-mail\",\r\n FirstNameLabel: \"Prenume\",\r\n LastNameLabel: \"Nume\",\r\n AddressLabel: \"Adresa\",\r\n Address2Label: \"Adresa 2\"\r\n },\r\n Validations: {\r\n [\"data-val-regex\"]: \"Campul ${fieldName} nu este valid\",\r\n [\"data-val-minlength\"]: \"Campul ${fieldName} trebuie sa fie cel putin ${min} caractere\",\r\n [\"data-val-maxlength\"]: \"Campul ${fieldName} trebuie sa fie maxim ${max} caractere\",\r\n [\"data-val-required\"]: \"Campul ${fieldName} este obligatoriu\",\r\n }\r\n}\r\n\r\nconst defaultLanguage = { name: \"English(Default)\", locale: \"default\" }\r\n\r\nconst translations = {\r\n active: defaultLanguage,\r\n all: [defaultLanguage, ro, jp]\r\n}\r\n\r\nexport default translations","import React, { Component, useContext } from 'react'\r\n\r\nimport \"../css/base/cssReset.css\";\r\nimport \"../css/base/basicStructure.css\";\r\nimport \"../css/fonts.css\"\r\nimport FormEntry from '../form/FormEntry';\r\nimport InputComponent from '../components/InputComponent';\r\nimport { Form } from '../form/Form';\r\nimport { ValidResult, ExtractParamsFromQueryString } from '../utils/Utils';\r\nimport queryString from \"query-string\"\r\nimport AxiosHelper from '../utils/AxiosHelper';\r\nimport SiteState from '../components/SiteState';\r\n\r\n\r\nclass ResetPasswordPage extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n pageState: \"SUCCESS\",\r\n params: '',\r\n renderers: {\r\n [\"SUCCESS\"]: this.renderSuccess,\r\n [\"FAIL\"]: this.renderFail,\r\n [\"INVALID\"]: this.renderInvalidData\r\n }\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n\r\n const params = ExtractParamsFromQueryString(window.location.href);\r\n if (!params.code || params.code.trim() === \"\") {\r\n this.setState({ pageState: \"INVALID\" })\r\n return;\r\n }\r\n this.setState({ params});\r\n AxiosHelper.post(\r\n `Account/RessetPassword?code=${params.code}`).then(\r\n (result) => {\r\n if (ValidResult(result.data)) {\r\n this.setState({ pageState: \"SUCCESS\" })\r\n }\r\n else {\r\n this.props.toastr.ShowError(\"Failed to set your password\")\r\n this.setState({ pageState: \"FAIL\" })\r\n }\r\n }).catch(\r\n (err) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n this.setState({ pageState: \"FAIL\" })\r\n });\r\n }\r\n\r\n onRessetPassword = (result) => {\r\n if (result.Success == true) {\r\n \r\n this.props.toastr.ShowSuccess(\"Your password was set succesfully\")\r\n window.history.pushState(\"\", \"\", '/');\r\n this.props.SetSiteState(SiteState.LoggedOut) \r\n }\r\n else {\r\n this.props.toastr.ShowError(\"Resset password failed\")\r\n }\r\n\r\n }\r\n\r\n onError = (result) => {\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n\r\n }\r\n\r\n renderSuccess = () => {\r\n return (\r\n <>\r\n Resset Password
\r\n \r\n Your password must have a minimum of 6 characters consisting of at least 1 upper and lower case, numerical and a special character [!,@,#,$,%,&]
\r\n >\r\n )\r\n }\r\n\r\n renderFail = () => {\r\n return (\r\n Failed to set your password. \r\n )\r\n }\r\n\r\n renderInvalidData = () => {\r\n return (\r\n Invalid data. \r\n )\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {\r\n this.state.renderers[this.state.pageState]()\r\n }\r\n
\r\n )\r\n }\r\n }\r\n\r\n export default ResetPasswordPage\r\n","import React, { Component, useContext } from 'react'\r\nimport androidstore from '../img/androidstore.png'\r\nimport applestore from '../img/applestore.png'\r\nimport PrimaryButton from \"../components/buttons/PrimaryButton\"\r\nimport AxiosHelper from '../utils/AxiosHelper';\r\nimport queryString from \"query-string\"\r\nimport { ValidResult } from '../utils/Utils';\r\nimport SiteState from '../components/SiteState';\r\n\r\nclass ActivateAccount extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n pageState: \"ACTIVATING\",\r\n\r\n renderers: {\r\n [\"ACTIVATING\"]: this.renderActivating,\r\n [\"SUCCESS\"]: this.renderSuccess,\r\n [\"FAIL\"]: this.renderFail,\r\n [\"INVALID\"]: this.renderInvalidData\r\n }\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n //we make call tot the server to activate the given account\r\n\r\n const params = queryString.parse(window.location.href.split('?')[1])\r\n if (!params.userId || params.userId.trim() === \"\") {\r\n this.setState({ pageState: \"INVALID\" })\r\n return;\r\n }\r\n\r\n AxiosHelper.post(\r\n `Patient/ActivateAccount?userId=${params.userId}`).then(\r\n (result) => {\r\n if (ValidResult(result.data)) {\r\n this.props.toastr.ShowSuccess(\"Successfully activated your account\")\r\n this.setState({ pageState: \"SUCCESS\" })\r\n }\r\n else {\r\n this.props.toastr.ShowError(\"Failed to activate your account\")\r\n this.setState({ pageState: \"FAIL\" })\r\n }\r\n\r\n }).catch(\r\n (err) => {\r\n\r\n this.props.toastr.ShowError(\"An error occurred, please try again\")\r\n this.setState({ pageState: \"FAIL\" })\r\n });\r\n }\r\n\r\n renderActivating = () => {\r\n return (\r\n Activating your account... \r\n )\r\n }\r\n\r\n renderSuccess = () => {\r\n return (\r\n <>\r\n Your account was successfully activated \r\n Please download the app to get started \r\n \r\n
\r\n
\r\n
\r\n >\r\n )\r\n }\r\n\r\n renderFail = () => {\r\n return (\r\n Failed to activate your account. \r\n )\r\n }\r\n\r\n renderInvalidData = () => {\r\n return (\r\n Invalid data. \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {\r\n this.state.renderers[this.state.pageState]()\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ActivateAccount","import React, { Component, useReducer, useContext } from \"react\";\r\nimport \"antd/dist/antd.css\";\r\nimport \"./css/base/cssReset.css\";\r\nimport \"./css/base/basicStructure.css\";\r\nimport { SiteContext } from \"./components/contexts\";\r\nimport SafeSimpleEvent from \"./components/SafeSimpleEvent\";\r\nimport AxiosHelper from \"./utils/AxiosHelper\";\r\nimport LoginPage from \"./pages/LoginPage\";\r\nimport LoadingPage from \"./pages/LoadingPage\";\r\nimport ChooseHospitalsPage from \"./pages/ChooseHospitalsPage\";\r\nimport ChooseSurgeonsPage from \"./pages/ChooseSurgeonsPage\";\r\n\r\nimport SiteState from \"./components/SiteState\";\r\nimport Root from \"./Root\";\r\n\r\nimport translations from \"./components/translations\";\r\nimport fillTemplate from \"es6-dynamic-template\";\r\nimport { DEFAULT_USER_PICTURE_URL } from \"./AppConstants\";\r\nimport \"./css/fonts.css\";\r\nimport { ValidResult } from \"./utils/Utils\";\r\nimport NotificationsComponent, {\r\n Notifications,\r\n} from \"./components/NotificationsComponent\";\r\nimport PageState from \"./components/PageState\";\r\nimport ResetPasswordPage from \"./pages/ResetPasswordPage\";\r\nimport ForgotPasswordPage from \"./pages/ForgotPasswordPage\";\r\nimport ActivateAcountPage from \"./pages/ActivateAcountPage\";\r\nimport ConfirmModule from \"./components/ConfirmModule\";\r\nimport { DialogManagerComponent } from \"./components/DialogManager\";\r\n\r\nimport { DEFAULT_USER_PICTURE_URL_ABSOLUTE } from \"../src/AppConstants\";\r\n\r\nconst THEME_LINKS = {\r\n [\"default\"]: \"/themes/default\",\r\n};\r\n\r\nfunction SiteReducer(state, { type, payload }) {\r\n switch (type) {\r\n case \"SET_TRANSLATION\": {\r\n const newTranslation = state.translations.all.find(\r\n (t) =>\r\n t.locale === payload.name &&\r\n (!payload.version || payload.version === t.version)\r\n );\r\n\r\n if (!newTranslation) {\r\n return state;\r\n }\r\n\r\n return {\r\n ...state,\r\n activeTranslation: newTranslation,\r\n };\r\n }\r\n case \"SET_THEME\":\r\n return {\r\n ...state,\r\n Theme: payload,\r\n };\r\n case \"SET_AUTH_STATE\":\r\n return {\r\n ...state,\r\n siteState: payload.siteState,\r\n screenIsReady: payload.screenIsReady,\r\n showSwapHospital: payload.showSwapHospital,\r\n showSwapSurgeon: payload.showSwapSurgeon,\r\n auth: {\r\n ...state.auth,\r\n },\r\n userData: payload.userData,\r\n };\r\n case \"LOGOUT\":\r\n return {\r\n ...state,\r\n siteState: SiteState.LoggedOut,\r\n auth: {\r\n ...state.auth,\r\n },\r\n userData: {},\r\n };\r\n case \"SET_USER_DATA\":\r\n return {\r\n ...state,\r\n siteState: SiteState.LoggedIn,\r\n userData: payload.userData,\r\n };\r\n case \"SET_SHOW_SWAP_HOSPITAL\":\r\n return {\r\n ...state,\r\n siteState: SiteState.LoggedIn,\r\n showSwapHospital: payload.showSwapHospital,\r\n };\r\n case \"SET_SHOW_SWAP_SURGEON\":\r\n return {\r\n ...state,\r\n siteState: SiteState.LoggedIn,\r\n showSwapSurgeon: payload.showSwapSurgeon,\r\n };\r\n case \"SET_SITE_STATE\":\r\n return {\r\n ...state,\r\n siteState: payload.siteState,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nconst _siteEvents = new SafeSimpleEvent();\r\nexport const SITE_EVENTS = _siteEvents;\r\n\r\nfunction SiteWrapper(props) {\r\n const [state, dispatch] = useReducer(SiteReducer, {\r\n Theme: \"default\",\r\n Themes: THEME_LINKS,\r\n screenIsReady: false,\r\n showSwapHospital: false,\r\n siteState: SiteState.Loading,\r\n auth: {},\r\n userData: {\r\n profilePictureUrl: DEFAULT_USER_PICTURE_URL,\r\n },\r\n translations: translations,\r\n activeTranslation: translations.active,\r\n routerEvents: new SafeSimpleEvent(),\r\n });\r\n\r\n props.didMountEvent.subscribe(() => {\r\n //@TODO check if we are on /resetpassword?etc and set the site state appropiately\r\n if (window.location.href.indexOf(\"Surgeon/RessetPassword\") !== -1) {\r\n //we are on resetpassword page\r\n\r\n dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n siteState: SiteState.RessetPasswordPage,\r\n screenIsReady: true,\r\n userData: {},\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n if (window.location.href.indexOf(\"Patient/ActivateAccount\") !== -1) {\r\n //we are on resetpassword page\r\n dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n siteState: SiteState.RenderActivateAccount,\r\n screenIsReady: true,\r\n userData: {},\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n AxiosHelper.post(\"Account/IsAuthorized\")\r\n .then((response) => {\r\n if (ValidResult(response.data)) {\r\n var _siteState;\r\n var showSwapHospital = false;\r\n var showSwapSurgeon = false;\r\n if (response.data.Data.HospitalId) {\r\n _siteState = SiteState.LoggedIn;\r\n } else _siteState = SiteState.ChooseHospital;\r\n\r\n if (response.data.Data.HospitalCount > 1) {\r\n showSwapHospital = true;\r\n }\r\n\r\n if (response.data.Data.SurgeonId) {\r\n _siteState = SiteState.LoggedIn;\r\n } else _siteState = SiteState.ChooseSurgeon;\r\n\r\n if (response.data.Data.SurgonCount > 1) {\r\n showSwapSurgeon = true;\r\n }\r\n\r\n dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n siteState: _siteState,\r\n screenIsReady: true,\r\n userData: {\r\n email: response.data.Data.Email,\r\n name: response.data.Data.Name,\r\n profilePictureUrl: response.data.Data.ProfilePictureUrl\r\n ? response.data.Data.ProfilePictureUrl\r\n : DEFAULT_USER_PICTURE_URL_ABSOLUTE(),\r\n },\r\n },\r\n });\r\n dispatch({\r\n type: \"SET_SHOW_SWAP_HOSPITAL\",\r\n payload: {\r\n showSwapHospital: showSwapHospital,\r\n },\r\n });\r\n\r\n dispatch({\r\n type: \"SET_SHOW_SWAP_SURGEON\",\r\n payload: {\r\n showSwapSurgeon: showSwapSurgeon,\r\n },\r\n });\r\n return true;\r\n } else {\r\n dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n siteState: SiteState.LoggedOut,\r\n isAuthenticated: false,\r\n screenIsReady: true,\r\n userData: {},\r\n },\r\n });\r\n }\r\n })\r\n .catch(() => {\r\n dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n siteState: SiteState.LoggedOut,\r\n isAuthenticated: false,\r\n screenIsReady: true,\r\n userData: {},\r\n },\r\n });\r\n });\r\n });\r\n\r\n const toastr = useContext(Notifications);\r\n\r\n const OnLoginSuccess = ({\r\n Email,\r\n Name,\r\n ProfilePictureUrl,\r\n HospitalCount,\r\n SurgonCount,\r\n PracticeId,\r\n }) => {\r\n var _siteState = SiteState.LoggedIn;\r\n var showSwapHospital = false;\r\n var showSwapSurgeon = false;\r\n\r\n if (HospitalCount > 1) {\r\n _siteState = SiteState.ChooseHospital;\r\n showSwapHospital = true;\r\n } else if (SurgonCount > 1) {\r\n _siteState = SiteState.ChooseSurgeon;\r\n showSwapSurgeon = true;\r\n showSwapHospital = false;\r\n }\r\n\r\n setTimeout(() => {\r\n dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n siteState: _siteState,\r\n screenIsReady: true,\r\n showSwapHospital: showSwapHospital,\r\n showSwapSurgeon: showSwapSurgeon,\r\n userData: {\r\n email: Email,\r\n name: Name,\r\n profilePictureUrl: ProfilePictureUrl\r\n ? ProfilePictureUrl\r\n : DEFAULT_USER_PICTURE_URL_ABSOLUTE(),\r\n practiceId: showSwapSurgeon ? PracticeId : \"\",\r\n },\r\n },\r\n });\r\n }, 500);\r\n };\r\n\r\n const LogOut = () => {\r\n //make call to serve to logout then on success dispatch to the reducer the \"LOGOUT\" action\r\n AxiosHelper.post(\"Account/LogOff\")\r\n .then((response) => {\r\n if (ValidResult(response.data)) {\r\n dispatch({\r\n type: \"LOGOUT\",\r\n payload: {\r\n reasone: \"none\",\r\n },\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: \"LOGOUT\",\r\n payload: {\r\n reasone: \"none\",\r\n },\r\n });\r\n });\r\n };\r\n\r\n const RenderLoggedIn = () => {\r\n return (\r\n <>\r\n \r\n \r\n >\r\n );\r\n };\r\n\r\n const RenderLoggedOut = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n >\r\n );\r\n };\r\n\r\n const ChooseHospital = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n >\r\n );\r\n };\r\n\r\n const ChooseSurgeon = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n >\r\n );\r\n };\r\n\r\n const RenderLoading = () => (\r\n <>\r\n \r\n >\r\n );\r\n\r\n const SetSiteState = (state) => {\r\n dispatch({\r\n type: \"SET_AUTH_STATE\",\r\n payload: {\r\n siteState: state,\r\n screenIsReady: true,\r\n userData: {},\r\n auth: {},\r\n },\r\n });\r\n };\r\n\r\n const RederRessetPasswordPage = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n >\r\n );\r\n };\r\n\r\n const RederForgotPasswordPage = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n >\r\n );\r\n };\r\n\r\n const RenderActivateAccount = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n >\r\n );\r\n };\r\n\r\n const Render = () => {\r\n if (!state.screenIsReady) {\r\n return RenderLoading();\r\n }\r\n\r\n switch (state.siteState) {\r\n case SiteState.LoggedIn:\r\n return RenderLoggedIn();\r\n case SiteState.LoggedOut:\r\n return RenderLoggedOut();\r\n case SiteState.Loading:\r\n return RenderLoading();\r\n case SiteState.ChooseHospital:\r\n return ChooseHospital();\r\n case SiteState.AfterChooseHospital:\r\n return RenderLoggedIn();\r\n case SiteState.RessetPasswordPage:\r\n return RederRessetPasswordPage();\r\n case SiteState.RenderActivateAccount:\r\n return RenderActivateAccount();\r\n case SiteState.ForgotPassword:\r\n return RederForgotPasswordPage();\r\n case SiteState.ChooseSurgeon:\r\n return ChooseSurgeon();\r\n case SiteState.AfterChooseSurgeon:\r\n return ChooseHospital();\r\n default:\r\n return RenderLoading();\r\n }\r\n };\r\n\r\n const GetTranslationKey = (key, def, group, props) => {\r\n const activeTranslation = state.activeTranslation;\r\n\r\n if (activeTranslation.locale === \"default\") {\r\n return def ? def : \"No default value set for [\" + key + \"]\";\r\n }\r\n\r\n if (!group) {\r\n group = \"General\";\r\n }\r\n\r\n if (!activeTranslation[group]) {\r\n return activeTranslation.locale + \" dosn't contain group [\" + group + \"]\";\r\n }\r\n\r\n let value = activeTranslation[group][key];\r\n\r\n value = value ? value : def;\r\n\r\n if (props && value !== def) {\r\n value = fillTemplate(value, props);\r\n }\r\n\r\n return value;\r\n };\r\n\r\n const TranslateValidation = (field, fieldName) => {\r\n let result = {};\r\n\r\n const validations = field.ValidationRules;\r\n const rules = field.Rules;\r\n\r\n let args = {\r\n fieldName,\r\n };\r\n\r\n rules.forEach((rule) => {\r\n const keys = Object.keys(rule.ValidationParameters);\r\n if (!keys || !keys.length) {\r\n return;\r\n }\r\n\r\n keys.forEach((key) => {\r\n args[key] = rule.ValidationParameters[key];\r\n });\r\n });\r\n\r\n for (var key in validations) {\r\n if (key === \"data-val-regex-pattern\") {\r\n result[key] = validations[key];\r\n continue;\r\n }\r\n\r\n try {\r\n result[key] = GetTranslationKey(\r\n key,\r\n validations[key],\r\n \"Validations\",\r\n args\r\n );\r\n } catch (ex) {}\r\n }\r\n\r\n return result;\r\n };\r\n\r\n return (\r\n \r\n {\r\n <>\r\n \r\n \r\n \r\n {Render()} \r\n >\r\n }\r\n \r\n );\r\n}\r\n\r\nclass App extends Component {\r\n state = {\r\n didMountEvent: SafeSimpleEvent(),\r\n };\r\n\r\n componentDidMount = () => {\r\n this.state.didMountEvent.riseEvent();\r\n };\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read http://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render( , document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}