{"version":3,"sources":["redux/actionTypes.js","helpers/helpers.js","LocalStorageService.js","auth.js","helpers/generateAuthRequest.js","components/breadcrumbs/breadcrumbs.js","redux/users/action.js","redux/process/action.js","assets/images/layout/menu.svg","pages/Members/ProfilePicUploadModal.js","components/popupMenu/popupMenu.js","assets/images/icon-message.svg","assets/images/icon-chat.svg","assets/images/layout/dashboard.svg","layout/header/header.js","assets/images/layout/dashboardColor.svg","assets/images/layout/knowledge.svg","assets/images/layout/knowledgeColor.svg","assets/images/layout/organisation.svg","assets/images/layout/organisationColor.svg","assets/images/layout/categories.svg","assets/images/layout/categoriesColor.svg","assets/images/layout/process.svg","assets/images/layout/processColor.svg","assets/images/layout/onboarding.svg","assets/images/layout/onboardingColor.svg","layout/sidebar/menu.js","layout/sidebar/sidebar.js","App.js","components/alert/SnackbarError.js","assets/images/icon-view-more.svg","helpers/reduxPromiseMiddleware.js","redux/users/reducer.js","redux/article/reducer.js","redux/login/reducer.js","redux/media/reducer.js","redux/location/reducer.js","redux/department/reducer.js","redux/team/reducer.js","redux/task/reducer.js","redux/process/reducer.js","redux/rootReducer.js","redux/store.js","assets/images/layout/facecard.svg","assets/images/layout/time.svg","assets/images/approvalTask.png","assets/images/article.png","assets/images/benefitTask.png","assets/images/task.png","assets/images/process.png","components/card/MediaCard.js","redux/article/action.js","assets/images/noContent.png","redux/media/action.js","components/player/player.js","pages/Medias/MediaDisplayModal.js","assets/images/edit.svg","pages/Dashboard/Dashboard.js","components/auth/button.js","components/modal/modal.js","components/buttons/outlinedButton.js","components/tooltip/tooltip.js","pages/Departments/departmentMembers.js","components/backdrop/backdrop.js","assets/images/delete.svg","assets/images/upload.svg","redux/department/action.js","redux/location/action.js","components/dropdown/membersSelect.js","components/alert/SnackbarSuccess.js","pages/Departments/Departments.js","pages/Categories/categoryModal.js","pages/Categories/Categories.js","components/inputField/inputField.js","components/filePreview/filePreview.js","redux/team/action.js","pages/Articles/articleModal.js","pages/Articles/Articles.js","components/card/ArticleOverviewCard.js","pages/Articles/ArticleDetails.js","pages/Courses/Courses.js","components/dropdown/dropdown.js","pages/Courses/firstStep.js","components/checkbox/checkbox.js","pages/Courses/secondStep.js","pages/Courses/thirdStep.js","pages/Courses/fourthStep.js","pages/Courses/AddCourse.js","pages/Courses/CourseDetails.js","pages/Members/MemberModal.js","pages/Members/Members.js","pages/Members/MemberDetails.js","pages/Quizzes/QuestionBox.js","pages/Quizzes/QuizModal.js","pages/Quizzes/Quizzes.js","pages/Events/eventss.js","pages/Events/Events.js","components/card/ArticleCard.js","components/card/CourseCard.js","components/card/CardSlider.js","pages/Knowledge/Knowledge.js","pages/Favourites/Favourites.js","pages/WatchLater/WatchLater.js","pages/LastDone/LastDone.js","pages/Locations/Locations.js","pages/Teams/Teams.js","pages/Chart/ChartOrganization.js","pages/Processes/Processes.js","pages/Tasks/Comment.js","pages/Tasks/TaskDetailsModal.js","pages/Tasks/Tasks.js","pages/Medias/MediaModal.js","pages/Medias/Medias.js","pages/Tasks/TaskDetails.js","components/card/TaskCard.js","pages/Processes/ProcessDetails.js","pages/Processes/MyProcesses.js","pages/Tasks/MyApproval.js","components/dropdown/singleSelectDropdown.js","pages/Processes/CreateProcess.js","pages/Processes/AssignTasks.js","pages/Processes/AssignUsers.js","pages/Processes/AddProcess.js","pages/Processes/MasterProcesses.js","route/index.js","components/defaultProtection/defaultProtection.js","components/inputField/NewInput.js","components/label/NewLabel.js","components/buttons/NewButton.js","components/alert/NewError.js","layout/logo/logo.js","pages/Login/Login.js","redux/login/actions.js","assets/images/birthday.png","pages/EmailVerfication/EmailVerification.js","components/alert/error.js","assets/images/superhero.png","pages/ForgotPassword/firstPage.js","assets/images/personalEmail.png","pages/ForgotPassword/secondPage.js","pages/ForgotPassword/ForgotPassword.js","pages/ResetPassword/firstPage.js","pages/ResetPassword/secondPage.js","pages/ResetPassword/ResetPassword.js","assets/images/arrived.png","pages/EmailVerfication/VerifyEmail.js","pages/Numbers/NotFound.js","pages/Register/firstPage.js","pages/Register/secondPage.js","assets/images/verifyEmail.png","pages/Register/thirdPage.js","pages/Register/Register.js","components/popupMenu/NewPopup.js","index.js","redux/task/action.js","components/searchNothingFound/searchNothingFound.js","assets/images/noData.png","components/search/search.js","components/pagination/pagination.js","pages/Tasks/MyTasks.js","components/sortInput/sortInput.js","config/api.config.js"],"names":["SET_CURRENT_USER","SET_SINGLE_ARTICLE","FETCH_LOGIN","SEARCH_MEDIAS","ADD_MEDIA","DELETE_MEDIA","UPDATE_MEDIA","SEARCH_ARTICLES","ADD_ARTICLE","SEARCH_LOCATIONS","ADD_LOCATION","UPDATE_LOCATION","DELETE_LOCATION","SEARCH_DEPARTMENTS","ADD_DEPARTMENT","UPDATE_DEPARTMENT","DELETE_DEPARTMENT","SEARCH_TEAMS","ADD_TEAM","UPDATE_TEAM","DELETE_TEAM","DEPARTMENTS_BY_LOC","SET_CHART_DATA","TEAMS_BY_DEPARTMENT","SEARCH_USERS","ADD_USER","UPDATE_USER","DELETE_USER","USER_BY_ID","USER_CSV_UPLOAD","UPDATE_ARTICLE","DELETE_ARTICLE","ARTICLE_BY_ID","ARTICLE_INSERT_FILE","ARTICLE_DELETE_FILE","SEARCH_TASKS","ADD_TASK","UPDATE_TASK","DELETE_TASK","TASK_INSERT_FILE","TASK_DELETE_FILE","SEARCH_PROCESSES","ADD_PROCESS","UPDATE_PROCESS","DELETE_PROCESS","PROCESS_BY_ID","ASSIGN_TASK_TO_USER","REASSIGN_TASK_TO_USER","TASK_BY_ID","GET_PROCESS_TASKS","ACTIVATE_PROCESS","PROCESSES_BY_USER","TASK_DONE","INSERT_TASK_ATTACHMENT","TASKS_WAITING_FOR_APPROVAL","APPROVE_TASK","REJECT_TASK","COMPLETE_PROCESS","TASKS_BY_BENEFACTOR","UPLOAD_PROFILE_PIC","ASSIGNED_TASKS","UPLOAD_MEMBER_PROFILE_PIC","FORGOT_PASSWORD","DELETE_TASK_ATTACHMENT","UPLOAD_PROCESS_IMAGE","CHANGE_TASK_RESPONSIBLE","CHANGE_TASK_DEADLINE","SCHEDULE_SENDING_TASK","SCHEDULE_SENDING_TASK_END_DATE","getFileType","fileName","extension","getFileExtension","fileType","config","allowedImageExtensions","includes","allowedDocumentExtensions","allowedVideoExtensions","allowedAudioExtensions","filename","split","pop","logError","msg","consoleActivated","console","error","handleValidateEmail","email","EMAIL_REGEX","RegExp","String","toLowerCase","match","LocalStorageService","_service","getService","this","set","props","Object","entries","forEach","key","value","localStorage","setItem","get","getItem","undefined","clear","keys","removeItem","all","Auth","load","accessToken","expToken","userId","type","_config","access_token","exp_token","loggedUserId","history","push","window","location","reload","storage","authenticated","Date","getTime","logoutRedirect","dispose","generateAuthRequest","method","url","params","id","Promise","resolve","reject","headers","Authorization","auth","axios","apiURL","then","data","catch","post","put","CustomBreadcrumbs","navigations","t","useTranslation","separator","fontSize","aria-label","map","nav","index","className","length","indexOf","setCurrentUser","payload","getId","setChartData","searchUsers","addUser","updateUser","deleteUser","uploadUserCsv","getUserById","assignUserToProcessTask","task","updateUserProcessTask","uploadProfilePic","formData","uploadMemberProfilePic","forgotPassword","searchProcesses","addProcess","updateProcess","processId","deleteProcess","getProcessById","getProcessTasks","updateProcessStatus","getProcessesByUser","completeProcess","uploadProcessImage","scheduleProcessTask","scheduleProcessTaskEndDate","_line","_line2","_line3","connect","state","currentUser","user","members","byId","dispatch","useDispatch","open","closeModal","profileImg","useState","openAlert","setOpenAlert","errorMessage","setErrorMessage","uploadHandler","event","a","target","files","getProfileImageUrl","file","FormData","append","res","resourcesUrl","name","err","Dialog","onClose","aria-labelledby","aria-describedby","SnackbarError","DialogActions","IconButton","onClick","DialogTitle","DialogContent","src","alt","style","borderRadius","height","width","objectFit","htmlFor","display","accept","multiple","onChange","variant","component","useHistory","setOpen","anchorRef","React","useRef","_user","_setUser","openUploadModal","setOpenUploadModal","setUserId","setProfileImg","useEffect","_userId","refreshProfileImg","image","imgUrl","handleClickAway","ref","Avatar","Popper","anchorEl","current","role","transition","disablePortal","TransitionProps","Grow","transformOrigin","ClickAwayListener","onClickAway","firstName","lastName","color","colorSecondary","href","Button","logout","_extends","assign","i","arguments","source","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgMenu","_ref","svgRef","title","titleId","viewBox","fill","xmlns","x1","y1","x2","y2","stroke","strokeWidth","strokeLinecap","strokeLinejoin","ForwardRef","isLoading","roles","setUser","edge","alignItems","marginRight","Skeleton","animation","SvgDashboard","d","transform","SvgDashboardColor","SvgKnowledge","SvgKnowledgeColor","SvgOrganisation","SvgOrganisationColor","SvgProcess","SvgProcessColor","SvgOnboarding","SvgOnboardingColor","MENUITEMS","Items","path","process","icon","Dashboard","iconColor","DashboardColor","Organization","OrganizationColor","active","children","colorPrimary","Knowledge","KnowledgeColor","Onboarding","OnboardingColor","Process","ProcessColor","drawerWidth","useStyles","makeStyles","theme","root","drawer","flexShrink","whiteSpace","borderRight","drawerOpen","boxShadow","transitions","create","easing","sharp","duration","enteringScreen","drawerClose","leavingScreen","overflowX","spacing","content","flexGrow","padding","nested","paddingLeft","paddingTop","paddingBottom","nestedNoPadding","Sidebar","classes","openCollapse","setOpenCollapse","setMainMenu","useLocation","logoWidth","setLogoWidth","logoMargin","setLogoMargin","setTimeout","item","find","x","pathname","y","toggletNavActive","filter","b","mainmenu","Drawer","clsx","paper","marginLeft","Item","List","menuItem","ListItem","button","selected","_","ListItemIcon","ListItemText","primary","Link","to","Collapse","in","timeout","unmountOnExit","disablePadding","childrenItem","App","setWidth","readyToRender","setReadyToRender","handleResize","innerWidth","document","documentElement","setProperty","colorActive","colorHover","addEventListener","removeEventListener","anchorOrigin","vertical","horizontal","autoHideDuration","severity","_path","PENDING","ActionType","Pending","REJECTED","Rejected","FULFILLED","Fulfilled","typeToReducer","meta","chartData","users","hasNext","hasPrevious","pageSize","totalCount","totalPages","currentPage","allUsers","GetAll","allIds","searchIds","userNo","pageParams","no","splice","prevUserId","prevUser","taskId","tasks","findIndex","action","article","articles","articleNo","articleId","readable","commentable","rateable","medias","coverImage","fileId","initState","logininfo","loginReducer","allMedias","mediaNo","media","videoId","mediaId","description","locations","allLocations","locationNo","locationId","headId","departments","LocationId","dep","allDepartments","departmentNo","department","departmentId","teams","DepartmentId","team","allTeams","teamNo","teamId","allTasks","taskNo","approveTasks","assignedTasks","assignedTasksPageParams","processes","allProcesses","processNo","responsible","_tasks","isActivated","assignedProcesses","userProcesses","assignedProcessesPageParams","proc","compeleted","combineReducers","userReducer","articleReducer","doLogin","mediaReducer","locationReducer","departmentReducer","teamReducer","taskReducer","processReducer","middlewares","Redux","store","createStore","rootReducer","applyMiddleware","logger","promiseMiddleware","cardTitle","cardText","cardImage","hasMarkup","authorId","cardContentClass","cardText2","authorImg","setAuthorImg","readingTime","setReadingTime","CardImage","setCoverImage","getAuthor","updateReadingTime","defaultArticleImg","defaultTaskImg","defaultProcessImg","defaultApprovalTaskImg","defaultBenefitTaskImg","wordsCount","removeMarkup","trim","n","Math","round","replace","Card","cardtitle","cardtext","margin","maxHeight","CardMedia","marginTop","justifyContent","CardContent","Typography","gutterBottom","substring","lineHeight","CardActions","flexBasis","TimeIco","searchArticles","updateArticle","getArticleById","includeOwner","insertArticleFile","searchMedias","Player","mediaUrl","customClass","controls","MediaDisplayModal","setType","setMediaType","fullWidth","maxWidth","Toolbar","backgroundColor","SvgIconViewMore","_rect","isArticleLoading","articleIds","processTasks","articlePageParams","member","setMember","assignedProcess","setAssignedProcess","setAssignedTasks","tasksForApproval","setTasksForApproval","assignedBenefactorTasks","setAssignedBenefactorTasks","search","setSearch","setMedias","displayUrl","setDisplayUrl","displayMedia","setDisplayMedia","displayMediaName","setDisplayMediaName","displayMediaTitle","setDisplayMediaTitle","abortController","AbortController","Include_owner","Sort","PageSize","fetchAssignedTasks","fetchUserProcesses","fetchTasksWaitingForApproval","fetchTasksByBenefactor","fetchData","abort","hanldeTaskCardClick","userType","isActive","filterAssignedTasks","preTask","toggle","checkIfTaskIsCompleted","isCompleted","getTasksOfProcess","checkIfTaskCanExecuteConcurrently","formatTasks","formattedTask","_assignedTasks","processActivated","approved","preTaskParent","getProcess","processName","processCompleted","processImage","getAssignedTasks","_processes","getTasksWaitingForApproval","_tasksWaiting","getTasksByBenefactor","_benefactortasks","fetchMedias","border","HomeLogo","company","getSearchValue","Search","comments","hanldeCardClick","creator","handleMediaDisplay","Fragment","textTransform","fontFamily","ColoredButton","withStyles","AuthButton","valid","buttonClicked","otherProps","disabled","CircularProgress","disableShrink","size","CustomModal","OutlinedButton","LightTooltip","arrow","tooltip","Tooltip","DepartmentMembers","departmentName","departmentMembers","getSerachedMembers","positionId","defaultPage","setDefaultPage","setParams","closeDialogModal","cursor","placement","positionName","renderMembers","getPageNumber","newPage","marginBottom","backdrop","zIndex","CustomBackdrop","Backdrop","SvgEdit","rx","fillOpacity","SvgDelete","_g","_defs","searchDepartments","getTeamsByDepartment","searchLocations","getDepartmentsByLoc","allMemberIds","memberIds","placeholder","selectedOption","selectedVal","setSelectedVal","memberOptions","setMemberOptions","label","e","options","isSearchable","option","SnackbarSuccess","Snackbar","Alert","allDepartmentIds","departmentIds","allLocationIds","departmentsByLoc","setLocations","locationsForAdd","setLocationsForAdd","selectedSort","setSelectedSort","openModal","setOpenModal","confirmDeleteModal","setConfirmDeleteModal","openDepartmentMember","setOpenDepartmentMember","selectedDepartment","setDepartmentName","departmentEditId","setDepartmentEditId","setLocationId","setButtonClicked","openBackdrop","selectedHead","setSelectedHead","add","selectedLocation","setSelectedLocation","isAdmin","setIsAdmin","successMessage","setSuccessMessage","AddDepartment","reqParams","updateDepartmentsByLoc","errMsg","response","errors","EditDepartment","reqData","DeleteDepartment","PageNumber","Name","handlePositionMember","_loc","Array","locId","getHeadName","getDeparmentsByLocation","handleSort","TableContainer","Table","TableHead","TableRow","TableCell","align","TableBody","colSpan","textAlign","scope","p","EditDepartmentModal","DeleteDepartmentModal","CategoryModal","categoryName","categories","setCategories","setCategoryName","categoryEditId","setCategoryEditId","openCategoryModal","setOpenCategoryModal","selectedCategory","setSelectedCategory","loading","setLoading","getCategories","WorkspaceId","workspaceId","categoryNo","AddCategory","EditCategory","DeleteCategory","delete","ERROR","handleCategoryModal","categoryId","row","borderColor","borderWidth","InputField","onKeyUp","rows","setEmptyInput","TextField","rowsMax","multiline","helperText","FilePreview","details","allowDelete","minHeight","SvgUpload","clipPath","searchTeams","locationIds","teamsByDepartment","teamIds","mediaIds","showSuccessMsg","showErrorMsg","setDepartments","setTeams","typeError","setTypeError","sizeError","setSizeError","setSelectedDepartments","setSelectedTeams","setSelectedLocations","setReadable","readable2","setReadable2","selectedOptionsLocations","setSelectedOptionsLocations","selectedOptionsDepartments","setSelectedOptionsDepartments","selectedOptionsTeams","setSelectedOptionsTeams","setCommentable","setRateable","values","setValues","selectedFile","setSelectedFile","setFiles","tempSelectedFile","setTempSelectedFile","allUploadedFiles","setAllUploadedFiles","selectedMedias","setSelectedMedias","mediaOptions","setMediaOptions","imageOptions","setImageOptions","articleMainImage","setArticleMainImage","resetValues","getDepartments","locid","setDepartmentDropdown","getTeams","depid","setTeamsDropdown","depId","getLocations","EditArticle","readbalesfinal","filesToUpload","mdsArr","_coverImg","coverImgData","editorRef","getContent","_errMsg","articleDetails","sortFilesByType","updateAllUploadedFiles","formatArticleEditData","_existingImgs","Images","_selectedImgs","_images","_options","img","originalName","visibleDepartments","visibleTeams","visibleLocations","temp1","temp2","tempdata","tempdata2","mediasFilteredArray","sortedFiles","images","documents","Documents","Medias","deleteFile","_files","deleteFilePreview","tempFiles","f","previewData","attachments","_medias","_mediaOptons","prop","existingFiles","newFiles","temp","existingFile","DeleteSelectedMedia","newArrr","tinymceScriptSrc","onInit","evt","editor","initialValue","onEditorChange","editorState","init","menubar","plugins","toolbar","content_style","allowedFileExtensions","uploadedFiles","indx","edit","isClearable","flexDirection","flexWrap","mediaa","array","array2","handleDelete","allArticleIds","articleEditId","setArticleEditId","openArticleModal","setOpenArticleModal","DeleteArticle","EditArticleModal","DeleteArticleModal","hasMarkUp","cardContent","setCardContent","isMounted","setIsMounted","author","setAuthor","CardHeader","avatar","subheader","outline","overflow","setDetails","setOpenBackdrop","setArticleId","permissions","setPermissions","articleItemsRef","enablePublish","setEnablePublish","setpreviewData","allowEdit","setAllowEdit","GetArticleDetails","errorMsgHandler","formatReadables","getPreviewDetails","handleDownload","URL","createObjectURL","showActiveCard","scrollToActiveArticleCard","articleItemSelectHandler","cardCount","floor","offsetHeight","cardHeight","scrollTop","readableItems","readables","successMsgHandler","AddArticle","uploadRes","goBack","moment","dateCreated","format","fontWeight","Paper","elevation","ArticleOverviewCard","courses","setCourses","courseId","setCourseId","getCourses","courseNo","imageUrl","authorName","date","DeleteCourse","Title","formControl","minWidth","selectEmpty","noLabel","displayInput","opacity","noDisplay","addIconStyle","Dropdown","setSelected","labelWidth","addCategory","addDepartment","selections","setSelections","openTextfield","setOpenTextfield","handleChange","AddButton","o","FormControl","InputLabel","Select","input","OutlinedInput","op","MenuItem","labelId","IconComponent","ExpandMoreIcon","renderValue","join","InputProps","endAdornment","onKeyDown","stopPropagation","Checkbox","checked","FirstStep","setSelectedCategories","selectedOptionsCategories","GreenCheckbox","SecondStep","selectedArticles","setSelectedArticles","editArticles","setEditArticles","setArticles","getArticles","handleChecked","cat","ThirdStep","videos","setVideos","editVideos","setEditVideos","deleteEditVideo","video","deleteVideo","FourthStep","articleTemp","backButton","instructions","activeStep","setActiveStep","selectedDepartments","selectedCategories","setSelectedOptionsCategories","steps","handleSubmit","uploadImage","allSettled","handleEdit","GetCourseById","Stepper","alternativeLabel","Step","StepLabel","stepIndex","getStepContent","prevActiveStep","CourseDetails","settings","dots","infinite","nextArrow","speed","slidesToShow","slidesToScroll","GetCourseDetails","position","autoHide","seconds","order","rates","editId","selectedMember","supervisorName","setSupervisorName","memberEditId","setMemberEditId","memberEmail","setMemberEmail","memberEmailError","setMemberEmailError","memberTel","setMemberTel","memberName","setMemberName","memberLastName","setMemberLastName","imageSrc","setImageSrc","setRoles","setDepartmentId","setTeamId","roleOptions","setRoleOptions","supervisorId","setSupervisorId","setPosition","selectedImageUrl","setSelectedImageUrl","phoneNumber","validateEmailFormat","test","AddMember","EditMember","uploadErr","isNaN","openMemberModal","setOpenMemberModal","selectedUser","setSelectedUser","uploadModalOpen","setUploadModalOpen","disableUpload","setDisableUpload","fileRef","openResetPassModal","setOpenResetPassModal","resetPassEmail","setResetPassEmail","DeleteMember","_dep","_team","uploadMembersHandler","resetUploadModalValues","File","resetPasswordHandler","float","right","download","EditMemberModal","DeleteMemberModal","large","memberDetails","letterSpacing","memberSmall","memberTitle","badge","palette","background","Badge","editData","setEditData","getMember","getMembers","Grid","container","wrap","sm","md","depName","getDepartmentName","teamName","getTeamName","QuestionBox","check1BOX","setCheck1BOX","check2BOX","setCheck2BOX","check3BOX","setCheck3BOX","check4BOX","setCheck4BOX","deleteHandeler","addQBOXClicked","setaddQBOXClicked","removeId","newId","nanoid","eventss","allDay","start","end","DragAndDropCalendar","withDragAndDrop","Calendar","locales","require","localizer","dateFnsLocalizer","parse","startOfWeek","getDay","newEvent","setNewEvent","allEvents","setAllEvents","placeholderText","selectable","events","onEventDrop","idx","updatedEvent","nextEvents","startAccessor","endAccessor","ArticleCard","articleKlein","readTime","CourseCard","yellow","green","blue","statType","showAllArrow","ReadTime","text","words","ceil","createdDate","lastModified","dateModified","initialSlide","autoplay","autoplaySpeed","cssEase","arrows","responsive","breakpoint","sort","datea","slice","mem","course","setMembers","locationName","setLocationName","locationEditId","setLocationEditId","AddLocation","EditLocation","DeleteLocation","handleDepartmentMember","EditLocationModal","DeleteLocationModal","allTeamIds","departmentsForAdd","setDepartmentsForAdd","openTeamMember","setOpenTeamMember","selectedTeam","teamMembers","setTeamName","teamEditId","setTeamEditId","setPositionId","selectedPosition","setSelectedPosition","getDepartments_Drop","locationid","AddTeam","updateTeamsByDepartment","EditTeam","DeleteTeam","handleTeamMember","_pos","PositionId","getTeamByDepartment","EditTeamModal","DeleteTeamModal","StyledNode","head","onCardClick","sx","getUserImage","Box","flex","locationHead","setLocationHead","locationHeadId","setLocationHeadId","getData","et","isHeadOfAnyDep","isHeadOfAnyTeam","oIndex","pIndex","q","qIndex","r","rIndex","h","hIndex","allProcessIds","processIds","membersData","setMembersData","assignModal","setAssignModal","pros","prosName","prosDes","prosRes","prosTasks","setProcessName","taskss","setTasks","processEditId","setProcessEditId","setDescription","deadLines","setDeadLines","statuses","setStatuses","selectedFilter","setSelectedFilter","AddProcess","obj","EditProcess","Continue","des","DeleteProcess","isTemplate","_members","_memberTasks","getResponsiblePerson","getProcessStatus","processTotalTasks","completedTasksCount","memberTask","latest","reduce","dateBeDone","Active","step","getProcessByStatus","DeleteProcessModal","comment","getUser","justifycontent","fromNow","onAttachmentClick","onMediaClick","selectedTask","isProcessTask","setComments","setAttachments","nextStep","setNextStep","setCreator","_articles","uploadedAttachments","_nextStep","isAfter","getUserName","_creator","attachmentClickHandler","closeModaHandler","ColorSwitch","switchBase","track","Switch","StyledFormControlLabel","FormControlLabel","benefactor","control","labelPlacement","notifies","person","message","allTaskIds","taskIds","taskName","setTaskName","taskDescription","setTaskDescription","taskEditId","setTaskEditId","arts","setArts","mds","setMds","mustdelete","setMustdelete","editselectedFile","setEditselectedFile","openTaskModal","setOpenTaskModal","setSelectedTask","DeleteFromArts","newArrr2","DeleteFromMds","AddTask","artsArr","addTask","insertTaskFile","EditTask","updateTask","_uploadErrMsg","_deleteErrMsg","deleteTaskFile","DeleteTask","deleteTask","searchTasks","taskClickHandler","deleteEditFilePreview","mediass","articless","filteredArray","isArray","filteredArray2","artArr","EditTaskModal","DeleteTaskModal","selectedMedia","shortDescription","inputValues","setInputValues","uploadedFile","setUploadedFile","setFile","editMedia","setEditMedia","prevState","addMediaHandler","editMediaHandler","reader","FileReader","onload","aud","Audio","result","onloadedmetadata","utc","readAsDataURL","allMediaIds","openMediaModal","setOpenMediaModal","mediaEditId","setMediaEditId","mediaDeleteId","setMediaDeleteId","deleteMediaFile","resetDeleteModal","formatSize","bytes","decimals","dm","log","parseFloat","pow","toFixed","link","createElement","body","appendChild","click","removeChild","downloadMediaHandler","deleteMediaHandler","setTask","setProcess","setResponsible","setBenefactor","setNotifies","setComment","allowComplete","setAllowComplete","taskCompleted","setTaskCompleted","setUserType","rejectButtonClicked","setRejectButtonClicked","attachmentsToDelete","setAttachmentsToDelete","setUploadedAttachments","openUpdateModal","setOpenUpdateModal","selectedRes","setSelectedRes","actionType","setActionType","selectedDeadline","setSelectedDeadline","allowUpdate","setAllowUpdate","updateComment","setUpdateComment","taskIsActive","setTaskIsActive","setTaskDetails","_process","_notifies","personId","getArticle","getMedia","taskDoneHandler","completeTask","taskid","processid","isUploadError","isDeleteError","uploadTaskAttachments","deleteAttachments","taskApproveHandler","approveTask","taskResId","sendToTaskOwnerHandler","rejectTask","deleteError","deleteTaskAttachment","TaskId","ProcessId","taskOwner","uploadError","insertTaskAttachment","updateHandler","updateResponsiblePerson","updateTaskDeadline","_comment","changeTaskResponsible","prevRes","resetUpdateModal","oldDate","newDate","changeTaskDeadline","deadline","xs","deleteAttachmentHandler","isSame","deadLineHandler","minDate","TaskCard","shortDes","status","resPerson","setSort","setisLoading","isAllTasksCompleted","setIsAllTasksCompleted","isProcessOwner","setIsProcessOwner","getTasks","StyledNodeR","CustomCard","propss","keepId","cardClickHandler","_task","ATT","parentProperty","customID","processCompleteHandler","lineWidth","lineColor","lineBorderRadius","showConfirmDeleteModal","setShowConfirmDeleteModal","processToDelete","setProcessToDelete","deleteProcessHandler","setIsLoading","SingleSelectDropdown","processImg","allowUserToEdit","onClickHandler","processDes","val","processRes","assignUserHandler","saveAsTemplateHandler","routeState","taskOfProcess","setSelectedTaskCard","setOpenWarningModal","setIsRootTask","setWarningMsg","setOpenModalEdit","setAllowDeleteRoot","setModalTitle","setR2","pre","setProsDes","setProsRes","setProsName","propTasks","setPropTasks","openModalEdit","setSetsort","tasksForAdd","setTasksForAdd","loc","presForAdd","setPresForAdd","setPre","noroot","setNoroot","R1","setR1","norootForDelete","setNorootForDelete","R2","bottomList","setBottomList","bottom","setBottom","openWarningModal","openSaveAsTemplateModal","setOpenSaveAsTemplateModal","openContinueModal","setOpenContinueModal","isTemplateProcess","setIsTemplateProcess","isRootTask","modalTitle","selectedTaskCard","setTaskOfProcess","isUserAssigned","setIsUserAssigned","warningMsg","allowDeleteRoot","setAllowUserToEdit","getBottom_Drop","newArr","box","_processTasks","newPre","objFromA","objFromB","Replace","objIndex","keep_pre","Change","rootIndex","element","keep_pre2","newSet","deleteInput","isOptionDisabled","BackToAssignTask","editmode","setEditmode","assignUser","selTask","setSeltask","editModal","setEditModal","isAllTasksAssigned","setIsAllTasksAssigned","openActivatedAlert","setOpenActivatedAlert","isProcessActivated","setIsProcessActivated","isReassignAllowed","setIsReassignAllowed","filled","getSingleTask","setSelectedUserR","setStartDate","setPersons","setTaskDetail","setExecuteConcurrently","_temp","item2","_filled","success","setSuccess","setName","startDate","taskDetail","selectedUserR","selectedUser2","persons","executeConcurrently","idd","getTaskById","editSingleTask","personsArr","now","setSingleTask","_member","DeleteFromPersons","ProcessTaskCount","assignedTaskCount","processTask","activateProcessHandler","preTaskId","validateDeadline","canExecute","isValid","isBefore","prev","setProcessImg","setTitle","processInfoHandler","processCreateHandler","processUpdateHandler","BackToAssignTaskHandler","createNewProcess","updateReq","updateRes","templateData","AssignUsers","openDeleteModal","setOpenDeleteModal","processDeleteId","setProcessDeleteId","masterProcessName","setMasterProcessName","masterProcessId","setMasterProcessId","setEmail","isEmailValid","setIsEmailValid","setStep","taskDates","setTaskDates","setOption","userSuggestions","setUserSuggestions","emailValue","setEmailValue","endDate","setEndDate","individualTaskEndDate","setIndividualTaskEndDate","deleteMasterProcess","StartOnboardingForProcess","getEndDate","runProcess","parseInt","emailRecipient","taskDatePairs","scheduledDate","closeStartOnboardingForProcessModal","Autocomplete","freeSolo","newValue","isValidEmail","onInputChange","request","inputValue","getOptionLabel","u","renderInput","inputProps","FormLabel","RadioGroup","Radio","every","td","validateStepTwo","some","routes","Component","Events","Departments","Locations","Teams","Processes","Tasks","ChartOrganization","Members","MemberDetails","Categories","Articles","ArticleDetails","Courses","AddCourse","Quizzes","Favourites","WatchLater","LastDone","TaskDetails","ProcessDetails","MyTasks","MyProcesses","MyApproval","MasterProcesses","DefaultProtection","render","isAuthenticated","isTokenExpired","from","NewInput","NewLabel","NewButton","NewError","Logo","logo","setLogo","module","default","makeLogin","loginStateSetter","loginState","getState","token","dataJwt","jwt","login","exp","UserId","loginUserAction","setError","setLoginState","password","handleClick","handleKeyUp","EmailVerification","Birthday","Error","ForgotPasswordFirstPage","firstPage","secondPage","setValid","messageVisible","setMessageVisible","errorResponse","setErrorResponse","Superhero","ForgotPasswordSecondPage","handleClose","reason","ResendPassword","PersonalEmail","ForgotPassword","firstPageVisible","setFirstPageVisible","secondPageVisible","setSecondPageVisible","ResetPasswordFirstPage","passwordValid","setPasswordValid","confirmPasswordValid","setConfirmPasswordValid","query_string","queryString","confirmPassword","ResetPasswordSecondPage","ResetPassword","VerifyEmail","handleResend","userEmail","Arrived","NotFound","RegisterFirstPage","nameValid","setNameValid","lastNameValid","setLastNameValid","emailValid","setEmailValid","RegisterSecondPage","thirdPage","showNotification","RegisterThirdPage","resend","setResend","ResendVerificationEmail","Register","thirdPageVisible","setThirdPageVisible","NewPopup","createBrowserHistory","i18next","use","HttpApi","initReactI18next","supportedLngs","fallbackLng","debug","detection","caches","backend","loadPath","loadingMarkup","Root","publicUrl","Login","exact","ReactDOM","fallback","getElementById","SearchNothingFound","searchTouched","setSearchTouched","timer","clearTimeout","CustomPagination","page","setPage","rowsPerPage","setRowsPerPage","handleChangePage","rowsPerPageOptions","count","onChangePage","onChangeRowsPerPage","ActionsComponent","showFirstButton","showLastButton","siblingCount","shape","TablePaginationAction","waitForPreTask","checkIfPreTaskIsCompleted","canRun","getTaskStatus","showTaskDetailView","SortInput","setSelectedOption","defaultValue","apiUrl","RESOURCES_URL","CONSOLE_ACTIVATED"],"mappings":"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","file":"static/js/main.4af84b46.chunk.js","sourcesContent":["export const SET_CURRENT_USER = 'SET_CURRENT_USER';\nexport const SET_SINGLE_ARTICLE = 'SET_SINGLE_ARTICLE';\nexport const ENTER_LOGIN ='ENTER_LOGIN';\nexport const START_LOADING ='START_LOADING';\nexport const END_LOADING='END_LOADING';\nexport const FETCH_BY_SEARCH='FETCH_BY_SEARCH';\nexport const FETCH_LOGIN='FETCH_LOGIN';\nexport const SET_LOGIN_INFO='SET_LOGIN_INFO';\nexport const SEARCH_MEDIAS= 'SEARCH_MEDIAS';\nexport const ADD_MEDIA='ADD_MEDIA';\nexport const DELETE_MEDIA='DELETE_MEDIA';\nexport const UPDATE_MEDIA='UPDATE_MEDIA';\nexport const SEARCH_ARTICLES=\"SEARCH_ARTICLES\";\nexport const ADD_ARTICLE=\"ADD_ARTICLE\";\nexport const SEARCH_LOCATIONS=\"SEARCH_LOCATIONS\";\nexport const ADD_LOCATION=\"ADD_LOCATION\";\nexport const UPDATE_LOCATION=\"UPDATE_LOCATION\";\nexport const DELETE_LOCATION=\"DELETE_LOCATION\";\nexport const SEARCH_DEPARTMENTS=\"SEARCH_DEPARTMENTS\";\nexport const ADD_DEPARTMENT=\"ADD_DEPARTMENT\";\nexport const UPDATE_DEPARTMENT=\"UPDATE_DEPARTMENT\";\nexport const DELETE_DEPARTMENT=\"DELETE_DEPARTMENT\";\nexport const SEARCH_TEAMS=\"SEARCH_TEAMS\";\nexport const ADD_TEAM=\"ADD_TEAM\";\nexport const UPDATE_TEAM=\"UPDATE_TEAM\";\nexport const DELETE_TEAM=\"DELETE_TEAM\";\nexport const DEPARTMENTS_BY_LOC=\"DEPARTMENTS_BY_LOC\";\nexport const SET_CHART_DATA=\"SET_CHART_DATA\";\nexport const TEAMS_BY_DEPARTMENT=\"TEAMS_BY_DEPARTMENT\";\nexport const SEARCH_USERS=\"SEARCH_USERS\";\nexport const ADD_USER=\"ADD_USER\";\nexport const UPDATE_USER=\"UPDATE_USER\";\nexport const DELETE_USER=\"DELETE_USER\";\nexport const USER_BY_ID=\"USER_BY_ID\";\nexport const USER_CSV_UPLOAD=\"USER_CSV_UPLOAD\";\nexport const UPDATE_ARTICLE=\"UPDATE_ARTICLE\";\nexport const DELETE_ARTICLE=\"DELETE_ARTICLE\";\nexport const ARTICLE_BY_ID=\"ARTICLE_BY_ID\";\nexport const ARTICLE_INSERT_FILE=\"ARTICLE_INSERT_FILE\";\nexport const ARTICLE_DELETE_FILE=\"ARTICLE_DELETE_FILE\";\nexport const SEARCH_TASKS=\"SEARCH_TASKS\";\nexport const ADD_TASK=\"ADD_TASK\";\nexport const UPDATE_TASK=\"UPDATE_TASK\";\nexport const DELETE_TASK=\"DELETE_TASK\";\nexport const TASK_INSERT_FILE=\"TASK_INSERT_FILE\";\nexport const TASK_DELETE_FILE=\"TASK_DELETE_FILE\";\nexport const SEARCH_PROCESSES=\"SEARCH_PROCESSES\";\nexport const ADD_PROCESS=\"ADD_PROCESS\";\nexport const UPDATE_PROCESS=\"UPDATE_PROCESS\";\nexport const DELETE_PROCESS=\"DELETE_PROCESS\";\nexport const PROCESS_BY_ID=\"PROCESS_BY_ID\";\nexport const ASSIGN_TASK_TO_USER=\"ASSIGN_TASK_TO_USER\";\nexport const REASSIGN_TASK_TO_USER=\"REASSIGN_TASK_TO_USER\";\nexport const TASK_BY_ID=\"TASK_BY_ID\";\nexport const GET_PROCESS_TASKS=\"GET_PROCESS_TASKS\";\nexport const ACTIVATE_PROCESS=\"ACTIVATE_PROCESS\";\nexport const PROCESSES_BY_USER=\"PROCESSES_BY_USER\";\nexport const TASK_DONE=\"TASK_DONE\";\nexport const INSERT_TASK_ATTACHMENT=\"INSERT_TASK_ATTACHMENT\";\nexport const TASKS_WAITING_FOR_APPROVAL=\"TASKS_WAITING_FOR_APPROVAL\";\nexport const APPROVE_TASK=\"APPROVE_TASK\";\nexport const REJECT_TASK=\"REJECT_TASK\";\nexport const COMPLETE_PROCESS=\"COMPLETE_PROCESS\";\nexport const TASKS_BY_BENEFACTOR=\"TASKS_BY_BENEFACTOR\";\nexport const UPLOAD_PROFILE_PIC=\"UPLOAD_PROFILE_PIC\";\nexport const ASSIGNED_TASKS=\"ASSIGNED_TASKS\";\nexport const UPLOAD_MEMBER_PROFILE_PIC=\"UPLOAD_MEMBER_PROFILE_PIC\";\nexport const FORGOT_PASSWORD=\"FORGOT_PASSWORD\";\nexport const DELETE_TASK_ATTACHMENT=\"DELETE_TASK_ATTACHMENT\";\nexport const UPLOAD_PROCESS_IMAGE=\"UPLOAD_PROCESS_IMAGE\";\nexport const CHANGE_TASK_RESPONSIBLE=\"CHANGE_TASK_RESPONSIBLE\";\nexport const CHANGE_TASK_DEADLINE=\"CHANGE_TASK_DEADLINE\";\nexport const SCHEDULE_SENDING_TASK=\"SCHEDULE_SENDING_TASK\";\nexport const SCHEDULE_SENDING_TASK_END_DATE=\"SCHEDULE_SENDING_TASK_END_DATE\";\n","import config from \"../config/api.config.js\";\n\nexport function getFileType(fileName) {\n let extension = getFileExtension(fileName);\n let fileType = \"\";\n if (config.allowedImageExtensions.includes(extension)) {\n fileType = \"Image\";\n } else if (config.allowedDocumentExtensions.includes(extension)) {\n fileType = \"Document\";\n } else if (config.allowedVideoExtensions.includes(extension)) {\n fileType = \"Video\";\n } else if (config.allowedAudioExtensions.includes(extension)) {\n fileType = \"Audio\";\n }\n return fileType;\n}\n\nexport function getFileExtension(filename) {\n return filename.split(\".\").pop();\n}\n\nexport function logError(msg) {\n if (config.consoleActivated) {\n console.error(msg);\n }\n}\n\nexport function handleValidateEmail(email) {\n const EMAIL_REGEX = new RegExp(\n // eslint-disable-next-line\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n );\n return String(email).toLowerCase().match(EMAIL_REGEX);\n}\n","const LocalStorageService = (function () {\n let _service;\n\n function _getService() {\n if (!_service) {\n _service = this;\n }\n\n return _service;\n }\n\n function _set(props) {\n Object.entries(props).forEach(([key, value]) =>\n localStorage.setItem(key, value)\n );\n }\n\n function _get(key) {\n return localStorage.getItem(key) ? localStorage.getItem(key) : undefined;\n }\n\n function _clear() {\n Object.keys(localStorage).forEach((key) => localStorage.removeItem(key));\n }\n\n function _all() {\n return { ...localStorage };\n }\n\n return {\n getService: _getService,\n set: _set,\n get: _get,\n clear: _clear,\n all: _all\n };\n})();\n\nexport default LocalStorageService;\n","import LocalStorageService from './LocalStorageService';\nimport { history } from './index';\n\nclass Auth {\n constructor() {\n this.load();\n }\n\n login(accessToken, expToken, userId, type) {\n const _config = {\n access_token: accessToken,\n exp_token: expToken,\n loggedUserId: userId,\n type\n };\n LocalStorageService.set(_config);\n this.load(_config);\n\n history.push('/dashboard');\n window.location.reload();\n }\n \n load(_config) {\n const storage = _config ? _config : LocalStorageService.all();\n const { access_token, exp_token, loggedUserId, type } = storage;\n this.authenticated = !!access_token;\n this.type = type;\n this.userId = loggedUserId;\n this.accessToken = access_token;\n this.expToken = exp_token;\n }\n\n dispose() {\n this.authenticated = false;\n this.type = this.userId = this.accessToken = this.expToken = null;\n }\n\n getId() {\n return this.userId;\n }\n\n getType() {\n return this.type;\n }\n\n isAdmin() {\n return this.type === 'Admin';\n }\n\n isEmployee() {\n return this.type === 'Employee';\n }\n\n isIntern() {\n return this.type === 'Intern';\n }\n\n isAuthenticated() {\n return this.authenticated;\n }\n\n isTokenExpired() {\n return new Date().getTime() / 1000 > this.expToken;\n }\n logout(logoutRedirect) {\n \n LocalStorageService.clear();\n this.dispose();\n logoutRedirect();\n }\n}\n\nexport default new Auth();\n","import axios from \"axios\";\nimport auth from \"../auth\";\nimport config from \"../config/api.config.js\";\n\nconst generateAuthRequest = (method, url, params = {}, id = null) => {\n return new Promise((resolve, reject) => {\n const headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${auth.accessToken}`,\n };\n\n if (method.toLowerCase() === \"get\") {\n axios\n .get(`${config.apiURL}/${url}`, {\n params: params,\n headers \n })\n .then(({ data }) => {\n resolve({ data, params });\n })\n .catch(reject);\n }\n if (method.toLowerCase() === \"post\") {\n axios\n .post(`${config.apiURL}/${url}`, params, { headers })\n .then(({ data }) => {\n resolve(data);\n })\n .catch(reject);\n }\n if (method.toLowerCase() === \"delete\") {\n axios\n /*.delete(`${config.apiURL}/${url}`, {\n headers: headers,\n data: params\n })*/\n .post(`${config.apiURL}/${url}`, params, { headers: headers }) //changed to post\n .then(({ data }) => {\n resolve({ data, params });\n })\n .catch(reject);\n }\n if (method === \"_PUT\") {\n axios \n .put(`${config.apiURL}/${url}`, params, { headers: headers }) \n .then(({ data }) => {\n resolve({ data, params, id });\n })\n .catch(reject);\n }\n if (method.toLowerCase() === \"put\") {\n axios\n /*.put(\n `${config.apiURL}/${url}`,\n params,\n {\n headers: headers,\n }\n )*/ \n .post(`${config.apiURL}/${url}`, params, { headers: headers }) //changed to post\n .then(({ data }) => {\n resolve({ data, params, id });\n })\n .catch(reject);\n }\n });\n};\n\nexport default generateAuthRequest;\n","import React from 'react';\nimport Breadcrumbs from '@material-ui/core/Breadcrumbs';\nimport Typography from '@material-ui/core/Typography';\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext';\nimport { useTranslation } from 'react-i18next'\n\nimport './breadcrumbs.scss';\n\nconst CustomBreadcrumbs = ({ navigations }) => {\n const { t } = useTranslation()\n const renderNavigation = () =>\n navigations.map((nav, index) => ( \n 1 && index === navigations.length - 1\n ? 'breadcrumbs__nav--last'\n : 'breadcrumbs__nav'\n }\n >\n {nav.indexOf(':') > -1 ? nav : t(nav)}\n \n ));\n\n return (\n }\n aria-label=\"breadcrumb\"\n >\n {renderNavigation()}\n \n );\n};\n\nexport default CustomBreadcrumbs;\n","import { SET_CURRENT_USER,\n SET_CHART_DATA,\n SEARCH_USERS,\n ADD_USER,\n UPDATE_USER,\n DELETE_USER,\n USER_CSV_UPLOAD,\n USER_BY_ID,\n ASSIGN_TASK_TO_USER,\n REASSIGN_TASK_TO_USER,\n UPLOAD_PROFILE_PIC,\n UPLOAD_MEMBER_PROFILE_PIC,\n FORGOT_PASSWORD\n} from '../actionTypes';\nimport generateAuthRequest from \"../../helpers/generateAuthRequest\";\nimport auth from \"../../auth\";\n\nexport const setCurrentUser = (params) => ({\n type: SET_CURRENT_USER,\n payload: generateAuthRequest('GET',`api/User/${auth.getId()}`, params)\n});\n\nexport const setChartData = (params) => ({\n type: SET_CHART_DATA,\n payload: generateAuthRequest('GET',`api/User/chart/${params.id}`, params)\n});\n\nexport const searchUsers = (params) => ({\n type: SEARCH_USERS,\n payload: generateAuthRequest('GET','api/User', params)\n});\n\nexport const addUser = (params) => ({\n type: ADD_USER,\n payload: generateAuthRequest('POST','api/Account/register', params)\n});\n\nexport const updateUser = (params) => ({\n type: UPDATE_USER,\n //payload: generateAuthRequest('PUT',`api/User/${params.userId}`, params)\n payload: generateAuthRequest('PUT',`api/User/update/${params.userId}`, params)\n});\n\nexport const deleteUser = (params) => ({\n type: DELETE_USER,\n //payload: generateAuthRequest('DELETE',`api/User/${params.userId}`, params)\n payload: generateAuthRequest('DELETE',`api/User/delete/${params.userId}`, params)\n});\n\nexport const uploadUserCsv = (params) => ({\n type: USER_CSV_UPLOAD,\n payload: generateAuthRequest('PUT','api/User/csv', params)\n});\n\nexport const getUserById = (params) => ({\n type: USER_BY_ID,\n payload: generateAuthRequest('GET',`api/User/${params.id}`, params)\n});\n\nexport const assignUserToProcessTask = (params) => ({\n type: ASSIGN_TASK_TO_USER,\n payload: generateAuthRequest('PUT',`api/User/add-task/${params.task.userId}`, params)\n});\n\nexport const updateUserProcessTask = (params) => ({\n type: REASSIGN_TASK_TO_USER,\n payload: generateAuthRequest('PUT',`api/User/edit-task`, params)\n});\n\nexport const uploadProfilePic = (params) => ({\n type: UPLOAD_PROFILE_PIC,\n payload: generateAuthRequest('PUT',`api/User/upload-file`, params.formData, params.userId)\n});\n\nexport const uploadMemberProfilePic = (params) => ({\n type: UPLOAD_MEMBER_PROFILE_PIC,\n payload: generateAuthRequest('PUT',`api/User/upload-file/image/${params.userId}`, params.formData, params.userId)\n});\n\nexport const forgotPassword = (params) => ({\n type: FORGOT_PASSWORD,\n payload: generateAuthRequest('POST','api/Account/forgot-password', params)\n});\n\n\n","import { \n SEARCH_PROCESSES,\n ADD_PROCESS,\n UPDATE_PROCESS,\n DELETE_PROCESS,\n PROCESS_BY_ID,\n GET_PROCESS_TASKS,\n ACTIVATE_PROCESS,\n PROCESSES_BY_USER,\n COMPLETE_PROCESS,\n UPLOAD_PROCESS_IMAGE,\n SCHEDULE_SENDING_TASK,\n SCHEDULE_SENDING_TASK_END_DATE\n} from '../actionTypes';\nimport generateAuthRequest from \"../../helpers/generateAuthRequest\";\n\nexport const searchProcesses = (params) => ({\n type: SEARCH_PROCESSES,\n payload: generateAuthRequest('GET','api/Process', params)\n});\n\nexport const addProcess = (params) => ({\n type: ADD_PROCESS,\n payload: generateAuthRequest('POST','api/Process', params)\n});\n\nexport const updateProcess = (params) => ({\n type: UPDATE_PROCESS,\n //payload: generateAuthRequest('PUT',`api/Process/${params.processId}`, params)\n payload: generateAuthRequest('PUT',`api/Process/update/${params.processId}`, params)\n}); \n\nexport const deleteProcess = (params) => ({\n type: DELETE_PROCESS,\n //payload: generateAuthRequest('DELETE',`api/Process/${params.processId}`, params)\n payload: generateAuthRequest('DELETE',`api/Process/delete/${params.processId}`, params)\n});\n\nexport const getProcessById = (params) => ({\n type: PROCESS_BY_ID,\n payload: generateAuthRequest('GET',`api/Process/${params.id}`) \n});\n\nexport const getProcessTasks = (params) => ({\n type: GET_PROCESS_TASKS,\n payload: generateAuthRequest('GET',`api/Process/allTasks/${params.processId}`, params) \n});\n\nexport const updateProcessStatus = (params) => ({\n type: ACTIVATE_PROCESS,\n payload: generateAuthRequest('PUT',`api/Process/changeStatus/${params.processId}`, params) \n});\n\nexport const getProcessesByUser = (params) => ({\n type: PROCESSES_BY_USER,\n payload: generateAuthRequest('GET',`api/Process/getResponsibles/${params.userId}`, params) \n});\n\nexport const completeProcess = (params) => ({\n type: COMPLETE_PROCESS,\n payload: generateAuthRequest('PUT',`api/Process/submitProcess/${params.processId}`, params) \n});\n\nexport const uploadProcessImage = (params) => ({\n type: UPLOAD_PROCESS_IMAGE,\n payload: generateAuthRequest('PUT',`api/Process/upload-file/${params.processId}`, params.formData, params.processId)\n});\n\nexport const scheduleProcessTask = (params) => ({\n type: SCHEDULE_SENDING_TASK,\n payload: generateAuthRequest('PUT',`api/Process/sending-tasks?id=${params.processId}`, params)\n});\nexport const scheduleProcessTaskEndDate = (params) => ({\n type: SCHEDULE_SENDING_TASK_END_DATE,\n payload: generateAuthRequest('PUT',`api/Process/tasks-date-overview?id=${params.processId}`, params)\n});","var _line, _line2, _line3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMenu(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 33,\n height: 25,\n viewBox: \"0 0 33 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _line || (_line = /*#__PURE__*/React.createElement(\"line\", {\n x1: 2,\n y1: 2,\n x2: 31,\n y2: 2,\n stroke: \"#C9C9C9\",\n strokeWidth: 4,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _line2 || (_line2 = /*#__PURE__*/React.createElement(\"line\", {\n x1: 2,\n y1: 12,\n x2: 31,\n y2: 12,\n stroke: \"#C9C9C9\",\n strokeWidth: 4,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _line3 || (_line3 = /*#__PURE__*/React.createElement(\"line\", {\n x1: 2,\n y1: 23,\n x2: 31,\n y2: 23,\n stroke: \"#C9C9C9\",\n strokeWidth: 4,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMenu);\nexport default __webpack_public_path__ + \"static/media/menu.285805f6.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { Dialog } from \"@material-ui/core\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport Button from \"@mui/material/Button\";\nimport \"./ProfilePicUploadModal.scss\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { IconButton } from \"@material-ui/core\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport { uploadProfilePic } from \"../../redux/users/action\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\n\nconst ProfilePicUploadModal = (props) => {\n const dispatch = useDispatch();\n const { open, closeModal, userId, profileImg } = props;\n\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const handleClose = () => {\n closeModal();\n };\n\n const uploadHandler = async (event) => {\n setOpenAlert(false);\n if (event.target.files.length <= 0) return;\n\n if (!event.target.files[0].type.includes(\"image\")) {\n setErrorMessage(\"Please upload image\");\n setOpenAlert(true);\n return;\n }\n // let url = URL.createObjectURL(event.target.files[0])\n await getProfileImageUrl(event.target.files[0]);\n };\n\n const getProfileImageUrl = async (file) => {\n let imageUrl = \"\";\n const formData = new FormData();\n formData.append(\"File\", file);\n await dispatch(uploadProfilePic({ formData: formData, userId: userId }))\n .then((res) => {\n if (res.value?.data?.id) {\n imageUrl = `${config.resourcesUrl+res.value.data.name}`;\n }\n })\n .catch(function (err) {\n logError(err);\n });\n };\n\n return (\n <>\n \n setOpenAlert(false)}>\n {errorMessage}\n \n \n \n \n \n \n \n {\"Profilbild ändern\"}\n \n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(ProfilePicUploadModal);\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { IoMdArrowDropup } from \"react-icons/io\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Popper from \"@material-ui/core/Popper\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport { Button } from \"@material-ui/core\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport config from \"../../config/api.config.js\";\nimport auth from \"../../auth\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport \"./popupMenu.scss\";\nimport ProfilePicUploadModal from \"../../pages/Members/ProfilePicUploadModal\";\n\nconst PopupMenu = (props) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [open, setOpen] = useState(false);\n const anchorRef = React.useRef(null);\n const [_user, _setUser] = useState(null);\n const [openUploadModal, setOpenUploadModal] = useState(false);\n const [userId, setUserId] = useState(\"\");\n const [profileImg, setProfileImg] = useState(\"\");\n\n useEffect(() => {\n _setUser(props.currentUser);\n const _userId = auth.getId();\n setUserId(_userId);\n }, [props.currentUser]);\n\n useEffect(() => {\n refreshProfileImg();\n }, [props.members]);\n\n const refreshProfileImg = () => {\n if (props.members && props.members[auth.getId()]) {\n if (props.members[auth.getId()]?.image) {\n let imgUrl = `${config.resourcesUrl+props.members[auth.getId()].image.name}`;\n setProfileImg(imgUrl);\n } else {\n setProfileImg(\"\");\n }\n }\n };\n\n const handleClickAway = () => {\n setOpen(false);\n };\n\n const closeUploadModalHandler = () => {\n setOpenUploadModal(false);\n refreshProfileImg();\n };\n\n return (\n \n \n
setOpen(!open)}>\n \n \n \n
\n \n {({ TransitionProps }) => (\n \n
\n \n \n
\n \n \n \n
\n

{_user?.firstName + \" \" + _user?.lastName}

\n {/*

{_user?.email}

*/}\n {/*

{auth.getType() ?? ''}

*/}\n {/*

{_user?.role}

*/}\n
\n {\n setOpen(false);\n setOpenUploadModal(true);\n }}\n >\n {t(\"Einstellungen\")}\n \n {\n auth.logout(() => {\n history.push(\"/login\");\n });\n }}\n >\n {t(\"Abmelden\")}\n \n
\n
\n
\n
\n )}\n \n
\n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(PopupMenu);\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconMessage(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 19,\n viewBox: \"0 0 20 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.99 7C19.9924 6.65979 19.9072 6.32468 19.7426 6.02694C19.5779 5.7292 19.3394 5.47886 19.05 5.3L10 0L0.950002 5.3C0.659327 5.47829 0.419316 5.72825 0.25297 6.02592C0.0866234 6.3236 -0.000481773 6.659 2.0042e-06 7V17C0.00158473 17.5299 0.212807 18.0377 0.587537 18.4125C0.962267 18.7872 1.47006 18.9984 2 19H18C18.5299 18.9984 19.0377 18.7872 19.4125 18.4125C19.7872 18.0377 19.9984 17.5299 20 17L19.99 7ZM10 12L1.74 6.84L10 2L18.26 6.84L10 12Z\",\n fill: \"#BABABA\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconMessage);\nexport default __webpack_public_path__ + \"static/media/icon-message.3d67f225.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconChat(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 0H2C1.4713 0.00264352 0.965159 0.214524 0.592247 0.58931C0.219334 0.964097 0.00999338 1.4713 0.00999999 2L0 20L4 16H18C18.5299 15.9984 19.0377 15.7872 19.4125 15.4125C19.7872 15.0377 19.9984 14.5299 20 14V2C19.9984 1.47005 19.7872 0.962265 19.4125 0.587535C19.0377 0.212805 18.5299 0.00158273 18 0ZM16 12H4V10H16V12ZM16 9H4V7H16V9ZM16 6H4V4H16V6Z\",\n fill: \"#BABABA\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconChat);\nexport default __webpack_public_path__ + \"static/media/icon-chat.3959c82e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDashboard(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 23.859,\n height: 18.245,\n viewBox: \"0 0 23.859 18.245\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_view_quilt_24px\",\n d: \"M12.421,23.245h7.017V14.824H12.421ZM4,23.245h7.017V5H4Zm16.842,0h7.017V14.824H20.842ZM12.421,5v8.421H27.859V5Z\",\n transform: \"translate(27.859 23.245) rotate(180)\",\n fill: \"#bababa\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDashboard);\nexport default __webpack_public_path__ + \"static/media/dashboard.fc67ee3b.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Skeleton from \"@material-ui/lab/Skeleton\";\nimport PopupMenu from \"../../components/popupMenu/popupMenu\";\nimport { ReactComponent as MenuIcon } from \"../../assets/images/layout/menu.svg\";\nimport { setCurrentUser } from \"../../redux/users/action\";\nimport auth from \"../../auth\";\nimport { useTranslation } from \"react-i18next\";\nimport {ReactComponent as IconMessage} from \"../../assets/images/icon-message.svg\";\nimport {ReactComponent as IconChat} from \"../../assets/images/icon-chat.svg\";\n\nimport \"../../assets/css/layout.scss\";\n\nconst Header = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n // eslint-disable-next-line no-unused-vars\n const [invisible, setInvisible] = useState(false);\n const [user, setUser] = useState({\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n image: null,\n roles: null,\n });\n\n const handleDrawer = () => {\n props.setOpen(!props.open);\n };\n\n useEffect(() => {\n if (!auth.getId()) return;\n if (!props.currentUser) {\n dispatch(setCurrentUser());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!props.currentUser) return;\n setUser({\n firstName: props.currentUser.firstName,\n lastName: props.currentUser.lastName,\n email: props.currentUser.email,\n role: props.currentUser.role,\n });\n }, [props.currentUser]);\n\n return (\n
\n
\n
\n \n \n \n
\n
\n
\n {/* \n */}\n {/* */}\n {/* */}\n {/*
\n
*/}\n\n {props.isLoading ? (\n
\n
\n \n \n
\n \n
\n ) : (\n
\n \n {t(\"hello\")},\n \n
\n \n
\n
\n )}\n
\n
\n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n isLoading: state.user.isLoading,\n});\n\nexport default connect(mapStateToProps, null)(Header);\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDashboardColor(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 23.859,\n height: 18.245,\n viewBox: \"0 0 23.859 18.245\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"ic_view_quilt_24px\",\n d: \"M12.421,23.245h7.017V14.824H12.421ZM4,23.245h7.017V5H4Zm16.842,0h7.017V14.824H20.842ZM12.421,5v8.421H27.859V5Z\",\n transform: \"translate(27.859 23.245) rotate(180)\",\n fill: \"var(--color-primary)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDashboardColor);\nexport default __webpack_public_path__ + \"static/media/dashboardColor.f21b4867.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgKnowledge(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 21,\n viewBox: \"0 0 25 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.409 11.9769V16.3859L12.125 20.5969L19.841 16.3859V11.9769L12.125 16.1879L4.409 11.9769ZM12.125 0.755859L0 7.36986L12.125 13.9839L22.045 8.57186V16.1889H24.245V7.36986L12.125 0.755859Z\",\n fill: \"#BABABA\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgKnowledge);\nexport default __webpack_public_path__ + \"static/media/knowledge.5b8405cb.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgKnowledgeColor(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 21,\n viewBox: \"0 0 25 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.409 11.9769V16.3859L12.125 20.5969L19.841 16.3859V11.9769L12.125 16.1879L4.409 11.9769ZM12.125 0.755859L0 7.36986L12.125 13.9839L22.045 8.57186V16.1889H24.245V7.36986L12.125 0.755859Z\",\n fill: \"var(--color-primary)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgKnowledgeColor);\nexport default __webpack_public_path__ + \"static/media/knowledgeColor.0a356fdf.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgOrganisation(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 21,\n viewBox: \"0 0 27 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.625 2.625H13.125L10.5 0H2.625C1.93082 0.00264709 1.26601 0.280473 0.776368 0.772555C0.286722 1.26464 0.0122007 1.93081 0.013 2.625L0 18.375C0.00211012 19.0705 0.279349 19.737 0.771176 20.2288C1.263 20.7207 1.92946 20.9979 2.625 21H23.625C24.3205 20.9979 24.987 20.7207 25.4788 20.2288C25.9707 19.737 26.2479 19.0705 26.25 18.375V5.25C26.2479 4.55446 25.9707 3.888 25.4788 3.39618C24.987 2.90435 24.3205 2.62711 23.625 2.625ZM17.063 6.563C17.5822 6.563 18.0897 6.71695 18.5214 7.00539C18.9531 7.29383 19.2895 7.7038 19.4882 8.18346C19.6869 8.66311 19.7388 9.19091 19.6376 9.70011C19.5363 10.2093 19.2863 10.677 18.9192 11.0442C18.552 11.4113 18.0843 11.6613 17.5751 11.7626C17.0659 11.8638 16.5381 11.8119 16.0585 11.6132C15.5788 11.4145 15.1688 11.0781 14.8804 10.6464C14.592 10.2147 14.438 9.70718 14.438 9.188C14.4401 8.49246 14.7173 7.826 15.2092 7.33418C15.701 6.84235 16.3675 6.56511 17.063 6.563ZM22.313 17.063H11.813V15.75C11.813 14.004 15.313 13.125 17.063 13.125C18.813 13.125 22.313 14.004 22.313 15.75V17.063Z\",\n fill: \"#BABABA\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOrganisation);\nexport default __webpack_public_path__ + \"static/media/organisation.bb2dcd7e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgOrganisationColor(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 21,\n viewBox: \"0 0 27 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.625 2.625H13.125L10.5 0H2.625C1.93082 0.00264709 1.26601 0.280473 0.776368 0.772555C0.286722 1.26464 0.0122007 1.93081 0.013 2.625L0 18.375C0.00211012 19.0705 0.279349 19.737 0.771176 20.2288C1.263 20.7207 1.92946 20.9979 2.625 21H23.625C24.3205 20.9979 24.987 20.7207 25.4788 20.2288C25.9707 19.737 26.2479 19.0705 26.25 18.375V5.25C26.2479 4.55446 25.9707 3.888 25.4788 3.39618C24.987 2.90435 24.3205 2.62711 23.625 2.625ZM17.063 6.563C17.5822 6.563 18.0897 6.71695 18.5214 7.00539C18.9531 7.29383 19.2895 7.7038 19.4882 8.18346C19.6869 8.66311 19.7388 9.19091 19.6376 9.70011C19.5363 10.2093 19.2863 10.677 18.9192 11.0442C18.552 11.4113 18.0843 11.6613 17.5751 11.7626C17.0659 11.8638 16.5381 11.8119 16.0585 11.6132C15.5788 11.4145 15.1688 11.0781 14.8804 10.6464C14.592 10.2147 14.438 9.70718 14.438 9.188C14.4401 8.49246 14.7173 7.826 15.2092 7.33418C15.701 6.84235 16.3675 6.56511 17.063 6.563ZM22.313 17.063H11.813V15.75C11.813 14.004 15.313 13.125 17.063 13.125C18.813 13.125 22.313 14.004 22.313 15.75V17.063Z\",\n fill: \"var(--color-primary)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOrganisationColor);\nexport default __webpack_public_path__ + \"static/media/organisationColor.d5ad1556.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _rect2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCategories(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 18,\n viewBox: \"0 0 21 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n y: 18,\n width: 7,\n height: 21,\n rx: 1,\n transform: \"rotate(-90 0 18)\",\n fill: \"#C4C4C4\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n y: 7,\n width: 7,\n height: 21,\n rx: 1,\n transform: \"rotate(-90 0 7)\",\n fill: \"#E9E9E9\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCategories);\nexport default __webpack_public_path__ + \"static/media/categories.f8703b38.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _rect2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCategoriesColor(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 18,\n viewBox: \"0 0 21 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n y: 18,\n width: 7,\n height: 21,\n rx: 1,\n transform: \"rotate(-90 0 18)\",\n fill: \"var(--color-primary)\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n y: 7,\n width: 7,\n height: 21,\n rx: 1,\n transform: \"rotate(-90 0 7)\",\n fill: \"var(--color-secondary)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCategoriesColor);\nexport default __webpack_public_path__ + \"static/media/categoriesColor.9a60f6e5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgProcess(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23,\n height: 19,\n viewBox: \"0 0 23 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 18.7832H22.5V14.2832H0V18.7832ZM2.25 15.4082H4.5V17.6582H2.25V15.4082ZM0 0.783203V5.2832H22.5V0.783203H0ZM4.5 4.1582H2.25V1.9082H4.5V4.1582ZM0 12.0332H22.5V7.5332H0V12.0332ZM2.25 8.6582H4.5V10.9082H2.25V8.6582Z\",\n fill: \"#BABABA\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgProcess);\nexport default __webpack_public_path__ + \"static/media/process.fee74c70.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgProcessColor(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23,\n height: 19,\n viewBox: \"0 0 23 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 18.7832H22.5V14.2832H0V18.7832ZM2.25 15.4082H4.5V17.6582H2.25V15.4082ZM0 0.783203V5.2832H22.5V0.783203H0ZM4.5 4.1582H2.25V1.9082H4.5V4.1582ZM0 12.0332H22.5V7.5332H0V12.0332ZM2.25 8.6582H4.5V10.9082H2.25V8.6582Z\",\n fill: \"var(--color-primary)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgProcessColor);\nexport default __webpack_public_path__ + \"static/media/processColor.aca48dfc.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgOnboarding(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 17,\n viewBox: \"0 0 26 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.143 6.98496C17.8212 6.98496 18.4842 6.78385 19.048 6.40706C19.6119 6.03028 20.0515 5.49474 20.311 4.86818C20.5705 4.24161 20.6384 3.55215 20.5061 2.88699C20.3738 2.22183 20.0472 1.61084 19.5677 1.13129C19.0881 0.651731 18.4771 0.325151 17.812 0.192842C17.1468 0.0605332 16.4573 0.128439 15.8308 0.387972C15.2042 0.647505 14.6687 1.08701 14.2919 1.6509C13.9151 2.2148 13.714 2.87776 13.714 3.55596C13.712 4.00681 13.7994 4.4536 13.971 4.87052C14.1426 5.28744 14.3951 5.66624 14.7139 5.98505C15.0327 6.30386 15.4115 6.55636 15.8284 6.72798C16.2454 6.8996 16.6921 6.98694 17.143 6.98496ZM8 6.98496C8.67824 6.98496 9.34124 6.78382 9.90515 6.40699C10.4691 6.03017 10.9086 5.49457 11.1681 4.86795C11.4276 4.24132 11.4954 3.55181 11.363 2.88662C11.2306 2.22143 10.904 1.61045 10.4243 1.13093C9.94466 0.651418 9.33358 0.324916 8.66835 0.19272C8.00312 0.0605246 7.31364 0.128573 6.68709 0.388259C6.06054 0.647945 5.52507 1.0876 5.1484 1.65163C4.77174 2.21566 4.5708 2.87872 4.571 3.55695C4.56915 4.00773 4.65658 4.45441 4.82826 4.87121C4.99994 5.28802 5.25247 5.6667 5.57126 5.9854C5.89006 6.3041 6.26881 6.55652 6.68567 6.72808C7.10252 6.89963 7.54923 6.98694 8 6.98496ZM8 9.27095C5.337 9.27095 0 10.608 0 13.271V16.128H16V13.271C16 10.608 10.663 9.27095 8 9.27095ZM17.143 9.27095C16.812 9.27095 16.434 9.29395 16.034 9.32795C16.7041 9.7499 17.2599 10.3303 17.6525 11.018C18.0451 11.7057 18.2623 12.4794 18.285 13.271V16.128H25.142V13.271C25.143 10.608 19.806 9.27095 17.143 9.27095Z\",\n fill: \"#BABABA\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOnboarding);\nexport default __webpack_public_path__ + \"static/media/onboarding.8a3315b0.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgOnboardingColor(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 17,\n viewBox: \"0 0 26 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.143 6.98496C17.8212 6.98496 18.4842 6.78385 19.048 6.40706C19.6119 6.03028 20.0515 5.49474 20.311 4.86818C20.5705 4.24161 20.6384 3.55215 20.5061 2.88699C20.3738 2.22183 20.0472 1.61084 19.5677 1.13129C19.0881 0.651731 18.4771 0.325151 17.812 0.192842C17.1468 0.0605332 16.4573 0.128439 15.8308 0.387972C15.2042 0.647505 14.6687 1.08701 14.2919 1.6509C13.9151 2.2148 13.714 2.87776 13.714 3.55596C13.712 4.00681 13.7994 4.4536 13.971 4.87052C14.1426 5.28744 14.3951 5.66624 14.7139 5.98505C15.0327 6.30386 15.4115 6.55636 15.8284 6.72798C16.2454 6.8996 16.6921 6.98694 17.143 6.98496ZM8 6.98496C8.67824 6.98496 9.34124 6.78382 9.90515 6.40699C10.4691 6.03017 10.9086 5.49457 11.1681 4.86795C11.4276 4.24132 11.4954 3.55181 11.363 2.88662C11.2306 2.22143 10.904 1.61045 10.4243 1.13093C9.94466 0.651418 9.33358 0.324916 8.66835 0.19272C8.00312 0.0605246 7.31364 0.128573 6.68709 0.388259C6.06054 0.647945 5.52507 1.0876 5.1484 1.65163C4.77174 2.21566 4.5708 2.87872 4.571 3.55695C4.56915 4.00773 4.65658 4.45441 4.82826 4.87121C4.99994 5.28802 5.25247 5.6667 5.57126 5.9854C5.89006 6.3041 6.26881 6.55652 6.68567 6.72808C7.10252 6.89963 7.54923 6.98694 8 6.98496ZM8 9.27095C5.337 9.27095 0 10.608 0 13.271V16.128H16V13.271C16 10.608 10.663 9.27095 8 9.27095ZM17.143 9.27095C16.812 9.27095 16.434 9.29395 16.034 9.32795C16.7041 9.7499 17.2599 10.3303 17.6525 11.018C18.0451 11.7057 18.2623 12.4794 18.285 13.271V16.128H25.142V13.271C25.143 10.608 19.806 9.27095 17.143 9.27095Z\",\n fill: \"var(--color-primary)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOnboardingColor);\nexport default __webpack_public_path__ + \"static/media/onboardingColor.668c2660.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactComponent as Dashboard } from \"../../assets/images/layout/dashboard.svg\";\nimport { ReactComponent as DashboardColor } from \"../../assets/images/layout/dashboardColor.svg\";\nimport { ReactComponent as Knowledge } from \"../../assets/images/layout/knowledge.svg\";\nimport { ReactComponent as KnowledgeColor } from \"../../assets/images/layout/knowledgeColor.svg\";\nimport { ReactComponent as Organization } from \"../../assets/images/layout/organisation.svg\";\nimport { ReactComponent as OrganizationColor } from \"../../assets/images/layout/organisationColor.svg\";\nimport { ReactComponent as Categories } from \"../../assets/images/layout/categories.svg\";\nimport { ReactComponent as CategoriesColor } from \"../../assets/images/layout/categoriesColor.svg\";\nimport { ReactComponent as Process } from \"../../assets/images/layout/process.svg\";\nimport { ReactComponent as ProcessColor } from \"../../assets/images/layout/processColor.svg\";\nimport { ReactComponent as Onboarding } from \"../../assets/images/layout/onboarding.svg\";\nimport { ReactComponent as OnboardingColor } from \"../../assets/images/layout/onboardingColor.svg\";\nimport MenuBookIcon from \"@material-ui/icons/MenuBook\";\n// import AutoStoriesIcon from '@material-ui/icons/AutoStories';\nimport GroupIcon from \"@material-ui/icons/Group\";\nimport SchoolIcon from \"@material-ui/icons/School\";\n// import ViewModuleIcon from '@material-ui/icons/ViewModule';\nimport ApartmentIcon from \"@material-ui/icons/Apartment\";\nimport AccountTreeIcon from \"@material-ui/icons/AccountTree\";\nimport CreateIcon from \"@material-ui/icons/Create\";\n// import CategoryIcon from '@material-ui/icons/Category';\nimport FavoriteIcon from \"@material-ui/icons/Favorite\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport DoneAllIcon from \"@material-ui/icons/DoneAll\";\nimport WatchLaterIcon from \"@material-ui/icons/WatchLater\";\nimport LocalLibraryIcon from \"@material-ui/icons/LocalLibrary\";\nimport GroupWork from \"@material-ui/icons/GroupWork\";\nimport LocationOn from \"@material-ui/icons/LocationOn\";\nimport LocationSearchingIcon from \"@material-ui/icons/LocationSearching\";\nimport DeveloperBoard from \"@material-ui/icons/DeveloperBoard\";\nimport AssignmentTurnedInIcon from \"@material-ui/icons/AssignmentTurnedIn\";\nimport config from \"../../config/api.config.js\";\nimport MovieIcon from \"@material-ui/icons/PlayArrow\";\n\nconst libraryIcon = () => {\n return ;\n};\nconst libraryIconColor = () => {\n return ;\n};\nconst DeveloperBoardColor = () => {\n return ;\n};\nconst AssignmentTurnedInIconColor = () => {\n return ;\n};\n\nexport const MENUITEMS = [\n {\n Items: [\n {\n path: `${process.env.PUBLIC_URL}/dashboard`,\n icon: Dashboard,\n iconColor: DashboardColor,\n title: \"Dashboard\",\n type: \"link\",\n },\n {\n title: \"Organization\",\n icon: Organization,\n iconColor: OrganizationColor,\n type: \"sub\",\n active: false,\n children: [\n {\n path: `${process.env.PUBLIC_URL}/locations`,\n type: \"link\",\n title: \"Standorte\",\n active: false,\n\n icon: ,\n iconColor: (\n \n ),\n },\n\n {\n path: `${process.env.PUBLIC_URL}/departments`,\n type: \"link\",\n title: \"Abteilungen\",\n active: false,\n\n icon: ,\n iconColor: (\n \n ),\n },\n {\n path: `${process.env.PUBLIC_URL}/teams`,\n type: \"link\",\n title: \"Team\",\n active: false,\n\n icon: ,\n iconColor: (\n \n ),\n },\n {\n path: `${process.env.PUBLIC_URL}/members`,\n type: \"link\",\n title: \"Mitarbeitende\",\n active: false,\n\n icon: ,\n iconColor: (\n \n ),\n },\n {\n path: `${process.env.PUBLIC_URL}/chart`,\n type: \"link\",\n title: \"Org Chart\",\n active: false,\n\n icon: ,\n iconColor: (\n \n ),\n },\n ],\n },\n {\n icon: Knowledge,\n iconColor: KnowledgeColor,\n active: false,\n title: \"Wissen\",\n type: \"sub\",\n children: [\n {\n path: `${process.env.PUBLIC_URL}/articles`,\n type: \"link\",\n title: \"Artikel\",\n active: false,\n\n icon: ,\n iconColor: (\n \n ),\n },\n {\n path: `${process.env.PUBLIC_URL}/medias`,\n type: \"link\",\n title: \"Medien\",\n active: false,\n icon: ,\n iconColor: (\n \n ),\n },\n // {\n // path: `${process.env.PUBLIC_URL}/courses`,\n // type: \"link\",\n // title: \"Kurse\",\n // active: false,\n\n // icon: ,\n // iconColor: (\n // \n // ),\n // },\n // {\n // path: `${process.env.PUBLIC_URL}/quizzes`,\n // type: \"link\",\n // title: \"Quiz\",\n // active: false,\n\n // icon: ,\n // iconColor: (\n // \n // ),\n // },\n ],\n },\n {\n icon: Onboarding,\n iconColor: OnboardingColor,\n active: false,\n title: \"Onboarding\",\n type: \"sub\",\n children: [\n {\n path: `${process.env.PUBLIC_URL}/my-tasks`,\n type: \"link\",\n title: \"Meine Aufgaben\",\n active: false,\n icon: ,\n iconColor: (\n \n ),\n },\n {\n path: `${process.env.PUBLIC_URL}/my-processes`,\n type: \"link\",\n title: \"Meine Prozesse\",\n active: false,\n icon: ,\n iconColor: (\n \n ),\n },\n {\n path: `${process.env.PUBLIC_URL}/my-approval`,\n type: \"link\",\n title: \"Zum Genehmigen\",\n active: false,\n icon: ,\n iconColor: (\n \n ),\n },\n ],\n },\n {\n icon: Process,\n iconColor: ProcessColor,\n active: false,\n title: \"Prozesse\",\n type: \"sub\",\n children: [\n {\n path: `${process.env.PUBLIC_URL}/tasks`,\n type: \"link\",\n title: \"Aufgaben\",\n active: false,\n icon: ,\n iconColor: (\n \n ),\n },\n {\n path: `${process.env.PUBLIC_URL}/processes`,\n type: \"link\",\n title: \"Prozesse\",\n active: false,\n icon: ,\n iconColor: (\n \n ),\n },\n {\n path: `${process.env.PUBLIC_URL}/master-processes`,\n type: \"link\",\n title: \"Masterprozesse\",\n active: false,\n icon: ,\n iconColor: (\n \n ),\n },\n ],\n },\n\n // {\n // path: `${process.env.PUBLIC_URL}/categories`,\n // icon: Categories,\n // iconColor: CategoriesColor,\n // title: \"Kategorien\",\n // type: \"link\",\n // },\n // {\n // title: \"Library\",\n // icon: libraryIcon,\n // iconColor: libraryIconColor,\n // type: \"sub\",\n // active: false,\n // children: [\n // {\n // path: `${process.env.PUBLIC_URL}/favourites`,\n // type: \"link\",\n // title: \"Favoriten\",\n // active: false,\n\n // icon: ,\n // iconColor: (\n // \n // ),\n // },\n // {\n // path: `${process.env.PUBLIC_URL}/watch_later`,\n // type: \"link\",\n // title: \"read_watch_later\",\n // active: false,\n\n // icon: ,\n // iconColor: (\n // \n // ),\n // },\n // {\n // path: `${process.env.PUBLIC_URL}/last_done`,\n // type: \"link\",\n // title: \"last_done\",\n // active: false,\n\n // icon: ,\n // iconColor: (\n // \n // ),\n // },\n // ],\n // },\n // {\n // path: `${process.env.PUBLIC_URL}/outlook`,\n // icon: Categories,\n // iconColor: CategoriesColor,\n // title: 'Outlook',\n // type: 'link',\n // icon: ,\n\n // iconColor: },\n ],\n },\n];\n","/* eslint-disable eqeqeq */\nimport React, { useState, useEffect, Fragment } from \"react\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport clsx from \"clsx\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Drawer from \"@material-ui/core/Drawer\";\nimport List from \"@material-ui/core/List\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport Collapse from \"@material-ui/core/Collapse\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\n\n// import { ReactComponent as Dot } from '../../assets/images/layout/dot.svg';\n// import { ReactComponent as DotColor } from '../../assets/images/layout/dotColor.svg';\nimport { ReactComponent as MenuIcon } from \"../../assets/images/layout/menu.svg\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { MENUITEMS } from \"./menu\";\n\nimport '../../assets/css/layout.scss';\nconst drawerWidth = \"13.875rem\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n },\n drawer: {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n borderRight: \"none\",\n },\n drawerOpen: {\n boxShadow: \"0 0 21px 0 rgb(89 102 122 / 10%)\",\n width: drawerWidth,\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n drawerClose: {\n boxShadow: \"0 0 21px 0 rgb(89 102 122 / 10%)\",\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: \"hidden\",\n width: theme.spacing(9) + 1,\n },\n content: {\n flexGrow: 1,\n padding: theme.spacing(3),\n },\n nested: {\n paddingLeft: theme.spacing(3.8),\n paddingTop:\"5px\",\n paddingBottom:\"5px\"\n },\n nestedNoPadding: {\n paddingLeft: theme.spacing(3.1),\n },\n}));\n\nconst Sidebar = ({ open, setOpen }) => {\n const { t } = useTranslation();\n const classes = useStyles();\n // const [open, setOpen] = useState(true);\n const [openCollapse, setOpenCollapse] = useState({\n Knowledge: false,\n Organization: false,\n });\n const [mainmenu, setMainMenu] = useState(MENUITEMS);\n const location = useLocation();\n const [logoWidth, setLogoWidth] = useState(\"\");\n const [logoMargin, setLogoMargin] = useState(\"\");\n\n useEffect(() => {\n if (open) {\n setTimeout(() => {\n setLogoWidth(\"120px\");\n setLogoMargin(\"14px\");\n }, 100);\n } else {\n setLogoWidth(\"80%\");\n setLogoMargin(\"5px\");\n }\n }, [open]);\n\n useEffect(() => {\n MENUITEMS.forEach((a) => {\n let item =\n a.Items.find((x) => x.path == location?.pathname) ??\n a.Items.find((x) =>\n x.children?.find((y) => y.path == location?.pathname)\n );\n if (item?.children)\n setOpenCollapse({ ...openCollapse, [item.title]: true });\n\n toggletNavActive(item);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const toggletNavActive = (item) => {\n if (!item?.active) {\n MENUITEMS.map((a) => {\n a.Items.filter((Items) => {\n if (a.Items.includes(item)) Items.active = false;\n if (!Items.children) return false;\n Items.children.forEach((b) => {\n if (Items.children.includes(item)) {\n b.active = false;\n }\n });\n return Items;\n });\n return a;\n });\n }\n\n // if (item) item.active = !item.active;\n if (item) item.active = true;\n setMainMenu({ mainmenu: MENUITEMS });\n };\n\n const handleDrawer = () => {\n setOpen(!open);\n };\n\n useEffect(() => {\n if (!open)\n setOpenCollapse({\n Knowledge: false,\n Organization: false,\n });\n }, [open]);\n\n return (\n
\n \n
\n \n \n \n\n {open ? null : null}\n
\n
\n \n
\n {MENUITEMS.map((Item, i) => (\n \n {Item.Items.map((menuItem, i) => (\n \n {menuItem.type === \"sub\" ? (\n {\n setOpenCollapse({\n [!menuItem.title]: false,\n [menuItem.title]: !openCollapse[menuItem.title],\n });\n toggletNavActive(menuItem);\n }}\n style={{paddingLeft:!open && \"12px\"}}\n >\n \n {menuItem.active ? (\n \n ) : (\n \n )}\n \n \n {openCollapse[menuItem.title] ? (\n \n ) : (\n \n )}\n \n ) : (\n \"\"\n )}\n\n {menuItem.type === \"link\" ? (\n {\n toggletNavActive(menuItem);\n setOpenCollapse({\n Knowledge: false,\n Organization: false,\n });\n }}\n style={{paddingLeft:!open && \"12px\"}}\n >\n \n {menuItem.active ? (\n \n ) : (\n \n )}\n \n \n \n ) : (\n \"\"\n )}\n\n {menuItem.children ? (\n \n \n {menuItem.children.map((childrenItem, i) => {\n return (\n toggletNavActive(childrenItem)}\n >\n \n {/* {childrenItem.active ? : } */}\n {childrenItem.active\n ? childrenItem.iconColor\n : childrenItem.icon}\n \n \n \n );\n })}\n \n \n ) : (\n \"\"\n )}\n \n ))}\n \n ))}\n \n
\n );\n};\n\nexport default Sidebar;\n","import React, { useState, useEffect, Fragment } from 'react';\n\nimport Header from './layout/header/header';\nimport Sidebar from './layout/sidebar/sidebar';\nimport './assets/css/_scss-variables.scss';\nimport './App.scss';\nimport config from '../src/config/api.config.js'\n\n\nconst App = ({ children }) => {\n // eslint-disable-next-line no-unused-vars\n const [width, setWidth] = useState(null);\n // const [open, setOpen] = useState(width>500?true:false);\n const [open, setOpen] = useState(true);\n const [readyToRender, setReadyToRender] = useState(false);\n\n const handleResize = () => setWidth(window.innerWidth);\n\n useEffect(() => {\n const root = document.documentElement;\n root?.style.setProperty(\n \"--color-primary\",\n config.colorPrimary\n );\n root?.style.setProperty(\n \"--color-secondary\",\n config.colorSecondary\n );\n root?.style.setProperty(\n \"--color-active\",\n config.colorActive\n );\n root?.style.setProperty(\n \"--color-hover\",\n config.colorHover\n );\n setReadyToRender(true);\n }, []);\n \n useEffect(() => {\n window.addEventListener('resize', handleResize);\n handleResize();\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return (\n \n {readyToRender &&
\n
\n
\n \n
\n
{children}
\n
\n
\n
}\n
\n );\n};\n\nexport default App;\n","import React from 'react';\n\nimport Snackbar from '@material-ui/core/Snackbar';\nimport Alert from '@material-ui/lab/Alert';\n\nconst SnackbarError = ({ open, onClose, children }) => {\n return (\n \n \n {children}\n \n \n );\n};\n\nexport default SnackbarError;\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconViewMore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 20,\n viewBox: \"0 0 26 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.052002 9.23961H7.669V0.0996094H0.052002V9.23961ZM0.052002 19.8996H7.669V10.7596H0.052002V19.8996ZM9.192 19.8996H16.809V10.7596H9.192V19.8996ZM18.332 19.8996H25.952V10.7596H18.332V19.8996ZM9.192 9.23961H16.809V0.0996094H9.192V9.23961ZM18.332 0.0996094V9.23961H25.952V0.0996094H18.332Z\",\n fill: \"#C2C2C2\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconViewMore);\nexport default __webpack_public_path__ + \"static/media/icon-view-more.3a05e36b.svg\";\nexport { ForwardRef as ReactComponent };","import { ActionType } from 'redux-promise-middleware'\n\nconst { Pending: PENDING, Rejected: REJECTED, Fulfilled: FULFILLED } = ActionType\n\nexport { PENDING, REJECTED, FULFILLED }\n","import typeToReducer from \"type-to-reducer\";\nimport {\n PENDING,\n REJECTED,\n FULFILLED,\n} from \"../../helpers/reduxPromiseMiddleware\";\nimport { \n SET_CURRENT_USER,\n SET_CHART_DATA,\n SEARCH_USERS,\n ADD_USER,\n UPDATE_USER,\n DELETE_USER,\n USER_CSV_UPLOAD,\n USER_BY_ID,\n ASSIGN_TASK_TO_USER,\n REASSIGN_TASK_TO_USER,\n UPLOAD_PROFILE_PIC,\n UPLOAD_MEMBER_PROFILE_PIC,\n FORGOT_PASSWORD\n} from '../actionTypes';\n\nconst INITIAL_STATE = {\n currentUser: null,\n isLoading: false,\n chartData: null,\n byId: {},\n allIds: [],\n searchIds: [],\n pageParams: {},\n};\n \nexport default typeToReducer(\n {\n [SET_CURRENT_USER]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n const { email, firstName, lastName, role, userId } = payload.data;\n let currentUser = {\n email,\n firstName,\n lastName,\n role,\n };\n let byId = state.byId;\n byId[userId] = payload.data;\n\n return {\n ...state,\n currentUser,\n byId,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false,\n };\n },\n },\n [SET_CHART_DATA]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n const chartData = payload.data; \n return {\n ...state,\n chartData,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false,\n };\n },\n },\n [SEARCH_USERS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { users, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n let allUsers = payload.params?.GetAll ? payload.params.GetAll : false;\n\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = [];\n let userNo = currentPage * pageSize - pageSize;\n let pageParams = {};\n\n if(users.length > 0){ \n users.forEach(user => {\n user['id'] = user.userId;\n user['no'] = ++userNo;\n if(allIds.indexOf(user.id) === -1){\n allIds.push(user.id);\n }\n if(!allUsers){\n searchIds.push(user.id);\n } \n byId[user.id] = user;\n })\n }\n if(!allUsers){\n pageParams.hasNext = hasNext;\n pageParams.hasPrevious = hasPrevious;\n pageParams.pageSize = pageSize;\n pageParams.totalCount = totalCount;\n pageParams.totalPages = totalPages;\n pageParams.currentPage = currentPage;\n }\n\n return {\n ...state,\n allIds,\n byId,\n searchIds,\n pageParams,\n isLoading: false\n }; \n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false,\n };\n },\n },\n [ADD_USER]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { userId } = payload;\n let user = payload;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = state.searchIds;\n let pageParams = state.pageParams;\n\n if(state.allIds.indexOf(userId) === -1){\n allIds = [...state.allIds, userId]; \n }\n user['no'] = state.pageParams.totalCount + 1;\n user['id'] = userId;\n byId = {...state.byId, [payload.userId]: user};\n\n if((state.searchIds.indexOf(userId) === -1 && \n state.searchIds.length < state.pageParams.pageSize) || \n state.searchIds.length === 0) {\n searchIds = [...state.searchIds, userId];\n }\n\n if(state.searchIds.length === state.pageParams.pageSize){ \n let totalCount = state.pageParams.totalCount + 1;\n let totalPages = state.pageParams.totalPages;\n let hasNext = state.pageParams.hasNext;\n if(totalCount > pageParams.pageSize * totalPages ){\n hasNext = state.pageParams.totalPages !== 0 ? true : false; \n totalPages = totalPages + 1;\n }\n pageParams = {\n ...state.pageParams, \n totalCount: totalCount,\n totalPages : totalPages,\n hasNext : hasNext\n }\n }else{\n pageParams = {\n ...state.pageParams, \n totalCount: state.pageParams.totalCount + 1\n };\n }\n\n return {\n ...state,\n byId,\n allIds,\n searchIds,\n pageParams,\n isLoading: false\n }\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPDATE_USER]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { userId } = payload.params;\n let user = payload.data;\n user['id'] = userId;\n let byId = state.byId;\n if(payload.data && byId[userId]){\n user['no'] = byId[userId].no;\n byId[userId] = user;\n }\n\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [DELETE_USER]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { userId } = payload.params;\n\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n const index = allIds.indexOf(userId);\n if (index > -1) {\n allIds.splice(index, 1);\n }\n\n if(byId[userId]){\n delete byId[userId];\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [USER_CSV_UPLOAD]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [USER_BY_ID]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n let user = payload.data;\n let allIds = state.allIds;\n let byId = state.byId;\n if(payload.data){\n user['id'] = user.userId;\n if(allIds.length > 0){\n if(allIds.indexOf(user.id) === -1){\n allIds.push(user.id);\n }\n } \n if(byId[user.userId]){\n user['no'] = byId[user.userId].no; \n }else{\n user['no'] = allIds.length + 1;\n }\n byId[user.userId] = user;\n } \n return {\n ...state,\n allIds,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [ASSIGN_TASK_TO_USER]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const userId = payload.data.userId;\n let user = payload.data;\n user['id'] = userId;\n let byId = state.byId;\n if(payload.data && byId[userId]){\n user['no'] = byId[userId].no;\n byId[userId] = user;\n }\n\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n }, \n [REASSIGN_TASK_TO_USER]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const prevUserId = payload.params.task.prevUser;\n const taskId = payload.params.task.id;\n const userId = payload.data.userId;\n let byId = state.byId;\n let user = payload.data;\n if(prevUserId){\n //remove task from prev user\n if(byId[prevUserId].tasks.length > 0){\n let tasks = byId[prevUserId].tasks;\n const index = tasks.findIndex(task => task.id === taskId);\n if(index !== -1){\n (byId[prevUserId].tasks).splice(index, 1);\n }\n }\n }\n user['id'] = userId; \n if(payload.data && byId[userId]){\n user['no'] = byId[userId].no;\n byId[userId] = user;\n }\n\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPLOAD_PROFILE_PIC]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const userId = payload.id;\n let byId = state.byId;\n\n if(payload.data){\n if(byId[userId]){\n byId[userId].image = payload.data;\n }\n }\n\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPLOAD_MEMBER_PROFILE_PIC]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const userId = payload.id;\n let byId = state.byId;\n\n if(payload.data){\n if(byId[userId]){\n byId[userId].image = payload.data;\n }\n }\n\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [FORGOT_PASSWORD]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n },\n INITIAL_STATE\n);\n","import typeToReducer from \"type-to-reducer\";\nimport {\n PENDING,\n REJECTED,\n FULFILLED,\n} from \"../../helpers/reduxPromiseMiddleware\";\nimport { \n SET_SINGLE_ARTICLE, \n SEARCH_ARTICLES,\n ADD_ARTICLE,\n UPDATE_ARTICLE,\n DELETE_ARTICLE,\n ARTICLE_BY_ID,\n ARTICLE_INSERT_FILE,\n ARTICLE_DELETE_FILE\n} from '../actionTypes';\n\nconst INITIAL_STATE = {\n article: null,\n byId: {},\n allIds: [],\n searchIds: [],\n isLoading: false,\n pageParams: {}\n};\n\nexport default typeToReducer(\n {\n [SET_SINGLE_ARTICLE]: (state, action) => {\n return {\n ...state,\n article: action.payload,\n };\n },\n\n [SEARCH_ARTICLES]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { articles, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = [];\n let articleNo = currentPage * pageSize - pageSize;\n let pageParams = {};\n\n if(articles.length > 0){\n articles.forEach((article) => {\n article['no'] = ++articleNo;\n if(allIds.indexOf(article.id) === -1){\n allIds.push(article.id);\n }\n searchIds.push(article.id);\n byId[article.id] = article; \n });\n }\n pageParams.hasNext = hasNext;\n pageParams.hasPrevious = hasPrevious;\n pageParams.pageSize = pageSize;\n pageParams.totalCount = totalCount;\n pageParams.totalPages = totalPages;\n pageParams.currentPage = currentPage;\n\n return {\n ...state,\n allIds,\n byId,\n searchIds,\n pageParams,\n isLoading: false\n }; \n },\n [REJECTED](state, { payload }) {\n return {\n ...state, \n isLoading: false,\n };\n },\n },\n [ADD_ARTICLE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { id } = payload;\n let article = payload;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = state.searchIds;\n let pageParams = state.pageParams;\n\n if(state.allIds.indexOf(id) === -1){\n allIds = [...state.allIds, id]; \n }\n article['no'] = state.pageParams.totalCount + 1;\n byId = {...state.byId, [payload.id]: article};\n\n if((state.searchIds.indexOf(id) === -1 && \n state.searchIds.length < state.pageParams.pageSize) || \n state.searchIds.length === 0) {\n searchIds = [...state.searchIds, id];\n }\n\n if(state.searchIds.length === state.pageParams.pageSize){ \n let totalCount = state.pageParams.totalCount + 1;\n let totalPages = state.pageParams.totalPages;\n let hasNext = state.pageParams.hasNext;\n if(totalCount > pageParams.pageSize * totalPages ){\n hasNext = state.pageParams.totalPages !== 0 ? true : false; \n totalPages = totalPages + 1;\n }\n pageParams = {\n ...state.pageParams, \n totalCount: totalCount,\n totalPages : totalPages,\n hasNext : hasNext\n }\n }else{\n pageParams = {\n ...state.pageParams, \n totalCount: state.pageParams.totalCount + 1\n };\n }\n\n return {\n ...state,\n byId,\n allIds,\n searchIds,\n pageParams,\n isLoading: false\n }\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPDATE_ARTICLE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { articleId, title, readable, content, commentable, rateable, medias, coverImage } = payload.params;\n let byId = state.byId;\n if(payload.data){ \n if(payload.data && byId[articleId]){\n byId[articleId].title = title;\n byId[articleId].readable = readable;\n byId[articleId].content = content;\n byId[articleId].rateable = commentable;\n byId[articleId].commentable = rateable;\n byId[articleId].medias = medias;\n byId[articleId].coverImage = coverImage;\n }\n }\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [DELETE_ARTICLE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { articleId } = payload.params;\n\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n const index = allIds.indexOf(articleId);\n if (index > -1) {\n allIds.splice(index, 1);\n }\n\n if(byId[articleId]){\n delete byId[articleId];\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [ARTICLE_INSERT_FILE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const articleId = payload.id;\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n if(byId[articleId]){\n if(byId[articleId].files){\n byId[articleId].files.push(payload.data);\n }\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [ARTICLE_DELETE_FILE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { articleId, fileId } = payload.params;\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n if(byId[articleId]){\n if(byId[articleId].files.length > 0){\n let files = byId[articleId].files;\n const index = files.findIndex(file => file.id === fileId);\n if(index !== -1){\n (byId[articleId].files).splice(index, 1);\n }\n }\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [ARTICLE_BY_ID]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n let article = payload.data;\n let allIds = state.allIds;\n let byId = state.byId;\n if(payload.data && allIds.length > 0){ \n if(allIds.indexOf(article.id) === -1){\n allIds.push(article.id);\n }\n if(byId[article.id]){\n article['no'] = byId[article.id].no; \n }else{\n article['no'] = allIds.length + 1;\n }\n byId[article.id] = article;\n } \n return {\n ...state,\n allIds,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n }\n },\n INITIAL_STATE\n);\n\n","import { FETCH_LOGIN, } from '../actionTypes';\n\nconst initState={\n logininfo:{}\n}\n\nconst loginReducer=(state=initState,action)=>{\n switch(action.type){\n case FETCH_LOGIN: \n return{\n ...state,\n logininfo: action.payload\n }\n default:\n return state;\n\n } \n}\n\n\n\nexport default loginReducer;\n\n// export default createStore(rootReducer,applyMiddleware(thunk))","import typeToReducer from 'type-to-reducer';\nimport {\n PENDING,\n REJECTED,\n FULFILLED,\n} from '../../helpers/reduxPromiseMiddleware';\nimport { \n SEARCH_MEDIAS, \n ADD_MEDIA,\n DELETE_MEDIA,\n UPDATE_MEDIA\n} from '../actionTypes';\n\nconst INITIAL_STATE = {\n byId: {},\n allIds: [],\n searchIds: [],\n isLoading: false,\n pageParams: {}\n};\n \nexport default typeToReducer(\n {\n [SEARCH_MEDIAS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { medias, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n\n let allMedias = payload.params?.GetAll ? payload.params.GetAll : false;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = [];\n let mediaNo = currentPage * pageSize - pageSize;\n let pageParams = {};\n\n if(medias.length > 0){\n medias.forEach(media => {\n media['no'] = ++mediaNo;\n if(allIds.indexOf(media.id) === -1){\n allIds.push(media.id);\n }\n if(!allMedias){\n searchIds.push(media.id); \n } \n byId[media.id] = media;\n })\n }\n\n if(!allMedias){\n pageParams.hasNext = hasNext;\n pageParams.hasPrevious = hasPrevious;\n pageParams.pageSize = pageSize;\n pageParams.totalCount = totalCount;\n pageParams.totalPages = totalPages;\n pageParams.currentPage = currentPage;\n }\n\n return {\n ...state,\n allIds,\n byId,\n searchIds,\n pageParams,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false,\n };\n },\n },\n [ADD_MEDIA]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { id } = payload;\n let media = payload;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = state.searchIds;\n let pageParams = state.pageParams;\n\n if(state.allIds.indexOf(id) === -1){\n allIds = [...state.allIds, id]; \n }\n media['no'] = state.pageParams.totalCount + 1;\n byId = {...state.byId, [payload.id]: media};\n if((state.searchIds.indexOf(id) === -1 && \n state.searchIds.length < state.pageParams.pageSize) || \n state.searchIds.length === 0) {\n searchIds = [...state.searchIds, id];\n }\n\n if(state.searchIds.length === state.pageParams.pageSize){ \n let totalCount = state.pageParams.totalCount + 1;\n let totalPages = state.pageParams.totalPages;\n let hasNext = state.pageParams.hasNext;\n if(totalCount > pageParams.pageSize * totalPages ){\n hasNext = state.pageParams.totalPages !== 0 ? true : false; \n totalPages = totalPages + 1;\n }\n pageParams = {\n ...state.pageParams, \n totalCount: totalCount,\n totalPages : totalPages,\n hasNext : hasNext\n }\n }else{\n pageParams = {\n ...state.pageParams, \n totalCount: state.pageParams.totalCount + 1\n };\n }\n\n return {\n ...state,\n byId,\n allIds,\n searchIds,\n pageParams,\n isLoading: false\n }\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [DELETE_MEDIA]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { videoId } = payload.params;\n\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n const index = allIds.indexOf(videoId);\n if (index > -1) {\n allIds.splice(index, 1);\n }\n\n if(byId[videoId]){\n delete byId[videoId];\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPDATE_MEDIA]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { mediaId, name, title, description } = payload.params;\n let byId = state.byId;\n if(payload.data){ \n if(payload.data && byId[mediaId]){\n byId[mediaId].name = name;\n byId[mediaId].title = title;\n byId[mediaId].description = description;\n }\n }\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n },\n INITIAL_STATE\n);\n ","import typeToReducer from \"type-to-reducer\";\nimport {\n PENDING,\n REJECTED,\n FULFILLED,\n} from \"../../helpers/reduxPromiseMiddleware\";\nimport { \n SEARCH_LOCATIONS,\n ADD_LOCATION,\n UPDATE_LOCATION,\n DELETE_LOCATION,\n DEPARTMENTS_BY_LOC\n} from '../actionTypes';\n\nconst INITIAL_STATE = {\n byId: {},\n allIds: [],\n searchIds: [],\n isLoading: false,\n pageParams: {},\n departments: {},\n};\n \nexport default typeToReducer(\n {\n [SEARCH_LOCATIONS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { locations, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n let allLocations = payload.params?.GetAll ? payload.params.GetAll : false;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = [];\n let locationNo = currentPage * pageSize - pageSize;\n let pageParams = {};\n\n if(locations.length > 0){\n locations.forEach(location => {\n location['no'] = ++locationNo;\n if(allIds.indexOf(location.id) === -1){\n allIds.push(location.id);\n }\n if(!allLocations){\n searchIds.push(location.id); \n } \n byId[location.id] = location;\n })\n }\n\n if(!allLocations){\n pageParams.hasNext = hasNext;\n pageParams.hasPrevious = hasPrevious;\n pageParams.pageSize = pageSize;\n pageParams.totalCount = totalCount;\n pageParams.totalPages = totalPages;\n pageParams.currentPage = currentPage;\n }\n\n return {\n ...state,\n allIds,\n byId,\n searchIds,\n pageParams,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false,\n };\n },\n },\n [ADD_LOCATION]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { id } = payload;\n let location = payload;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = state.searchIds;\n let pageParams = state.pageParams;\n\n if(state.allIds.indexOf(id) === -1){\n allIds = [...state.allIds, id]; \n }\n location['no'] = state.pageParams.totalCount + 1;\n byId = {...state.byId, [payload.id]: location};\n\n if((state.searchIds.indexOf(id) === -1 && \n state.searchIds.length < state.pageParams.pageSize) || \n state.searchIds.length === 0) {\n searchIds = [...state.searchIds, id];\n }\n\n if(state.searchIds.length === state.pageParams.pageSize){ \n let totalCount = state.pageParams.totalCount + 1;\n let totalPages = state.pageParams.totalPages;\n let hasNext = state.pageParams.hasNext;\n if(totalCount > pageParams.pageSize * totalPages ){\n hasNext = state.pageParams.totalPages !== 0 ? true : false; \n totalPages = totalPages + 1;\n }\n pageParams = {\n ...state.pageParams, \n totalCount: totalCount,\n totalPages : totalPages,\n hasNext : hasNext\n }\n }else{\n pageParams = {\n ...state.pageParams, \n totalCount: state.pageParams.totalCount + 1\n };\n }\n\n return {\n ...state,\n byId,\n allIds,\n searchIds,\n pageParams,\n isLoading: false\n }\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPDATE_LOCATION]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { locationId, name, headId } = payload.params;\n let byId = state.byId;\n if(byId[locationId]){\n byId[locationId].name = name;\n byId[locationId].headId = headId;\n }\n\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [DELETE_LOCATION]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { locationId } = payload.params;\n\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n const index = allIds.indexOf(locationId);\n if (index > -1) {\n allIds.splice(index, 1);\n }\n\n if(byId[locationId]){\n delete byId[locationId];\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n\n [DEPARTMENTS_BY_LOC]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { departments } = payload.data;\n const { LocationId } = payload.params;\n\n let dep = {\n ...state.departments, \n [LocationId]: departments\n };\n\n return {\n ...state,\n departments: dep,\n isLoading: false,\n }; \n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n\n },\n INITIAL_STATE\n);\n ","import typeToReducer from \"type-to-reducer\";\nimport {\n PENDING,\n REJECTED,\n FULFILLED,\n} from \"../../helpers/reduxPromiseMiddleware\";\nimport { \n SEARCH_DEPARTMENTS,\n ADD_DEPARTMENT,\n UPDATE_DEPARTMENT,\n DELETE_DEPARTMENT,\n TEAMS_BY_DEPARTMENT\n} from '../actionTypes';\n\nconst INITIAL_STATE = {\n byId: {},\n allIds: [],\n searchIds: [],\n isLoading: false,\n pageParams: {},\n teams: {},\n};\n \nexport default typeToReducer(\n {\n [SEARCH_DEPARTMENTS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { departments, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n let allDepartments = payload.params?.GetAll ? payload.params.GetAll : false;\n\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = [];\n let departmentNo = currentPage * pageSize - pageSize;\n let pageParams = {};\n\n if(departments.length > 0){\n departments.forEach(department => {\n department['no'] = ++departmentNo;\n if(allIds.indexOf(department.id) === -1){\n allIds.push(department.id);\n }\n if(!allDepartments){\n searchIds.push(department.id); \n } \n byId[department.id] = department;\n })\n }\n\n if(!allDepartments){\n pageParams.hasNext = hasNext;\n pageParams.hasPrevious = hasPrevious;\n pageParams.pageSize = pageSize;\n pageParams.totalCount = totalCount;\n pageParams.totalPages = totalPages;\n pageParams.currentPage = currentPage;\n }\n\n return {\n ...state,\n allIds,\n byId,\n searchIds,\n pageParams,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false,\n };\n },\n },\n [ADD_DEPARTMENT]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { id } = payload;\n let department = payload;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = state.searchIds;\n let pageParams = state.pageParams;\n\n if(state.allIds.indexOf(id) === -1){\n allIds = [...state.allIds, id]; \n }\n department['no'] = state.pageParams.totalCount + 1;\n byId = {...state.byId, [payload.id]: department};\n\n if((state.searchIds.indexOf(id) === -1 && \n state.searchIds.length < state.pageParams.pageSize) || \n state.searchIds.length === 0) {\n searchIds = [...state.searchIds, id]; \n }\n\n if(state.searchIds.length === state.pageParams.pageSize){ \n let totalCount = state.pageParams.totalCount + 1;\n let totalPages = state.pageParams.totalPages;\n let hasNext = state.pageParams.hasNext;\n if(totalCount > pageParams.pageSize * totalPages ){\n hasNext = state.pageParams.totalPages !== 0 ? true : false; \n totalPages = totalPages + 1;\n }\n pageParams = {\n ...state.pageParams, \n totalCount: totalCount,\n totalPages : totalPages,\n hasNext : hasNext\n }\n }else{\n pageParams = {\n ...state.pageParams, \n totalCount: state.pageParams.totalCount + 1\n };\n }\n\n return {\n ...state,\n byId,\n allIds,\n searchIds,\n pageParams,\n isLoading: false\n }\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPDATE_DEPARTMENT]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { departmentId, name, locationId, headId } = payload.params;\n let byId = state.byId;\n if(byId[departmentId]){\n byId[departmentId].name = name; \n byId[departmentId].locationId = locationId;\n byId[departmentId].headId = headId;\n }\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [DELETE_DEPARTMENT]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { departmentId } = payload.params;\n let byId = state.byId;\n let allIds = state.allIds;\n if(payload.data){\n const index = allIds.indexOf(departmentId);\n if (index > -1) {\n allIds.splice(index, 1);\n }\n\n if(byId[departmentId]){\n delete byId[departmentId];\n }\n }\n\n return {\n ...state,\n byId,\n allIds,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [TEAMS_BY_DEPARTMENT]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { teams } = payload.data;\n const { DepartmentId } = payload.params;\n\n let team = {\n ...state.teams, \n [DepartmentId]: teams\n };\n\n return {\n ...state,\n teams: team,\n isLoading: false,\n }; \n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n\n },\n INITIAL_STATE\n);\n ","import typeToReducer from \"type-to-reducer\";\nimport {\n PENDING,\n REJECTED,\n FULFILLED,\n} from \"../../helpers/reduxPromiseMiddleware\";\nimport { \n SEARCH_TEAMS,\n ADD_TEAM,\n UPDATE_TEAM,\n DELETE_TEAM\n} from '../actionTypes';\n\nconst INITIAL_STATE = {\n byId: {},\n allIds: [],\n searchIds: [],\n isLoading: false,\n pageParams: {}\n};\n\nexport default typeToReducer(\n {\n [SEARCH_TEAMS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { teams, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n let allTeams = payload.params?.GetAll ? payload.params.GetAll : false;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = [];\n let teamNo = currentPage * pageSize - pageSize;\n let pageParams = {};\n\n if(teams.length > 0){\n teams.forEach(team => {\n team['no'] = ++teamNo;\n if(allIds.indexOf(team.id) === -1){\n allIds.push(team.id);\n }\n if(!allTeams){\n searchIds.push(team.id); \n } \n byId[team.id] = team;\n })\n }\n\n if(!allTeams){\n pageParams.hasNext = hasNext;\n pageParams.hasPrevious = hasPrevious;\n pageParams.pageSize = pageSize;\n pageParams.totalCount = totalCount;\n pageParams.totalPages = totalPages;\n pageParams.currentPage = currentPage;\n }\n\n return {\n ...state,\n allIds,\n byId,\n searchIds,\n pageParams,\n isLoading: false\n }; \n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false,\n };\n },\n },\n [ADD_TEAM]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { id } = payload;\n let team = payload;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = state.searchIds;\n let pageParams = state.pageParams;\n\n if(state.allIds.indexOf(id) === -1){\n allIds = [...state.allIds, id]; \n }\n team['no'] = state.pageParams.totalCount + 1;\n byId = {...state.byId, [payload.id]: team};\n\n if((state.searchIds.indexOf(id) === -1 && \n state.searchIds.length < state.pageParams.pageSize) || \n state.searchIds.length === 0) {\n searchIds = [...state.searchIds, id];\n }\n\n if(state.searchIds.length === state.pageParams.pageSize){ \n let totalCount = state.pageParams.totalCount + 1;\n let totalPages = state.pageParams.totalPages;\n let hasNext = state.pageParams.hasNext;\n if(totalCount > pageParams.pageSize * totalPages ){\n hasNext = state.pageParams.totalPages !== 0 ? true : false; \n totalPages = totalPages + 1;\n }\n pageParams = {\n ...state.pageParams, \n totalCount: totalCount,\n totalPages : totalPages,\n hasNext : hasNext\n }\n }else{\n pageParams = {\n ...state.pageParams, \n totalCount: state.pageParams.totalCount + 1\n };\n }\n\n return {\n ...state,\n byId,\n allIds,\n searchIds,\n pageParams,\n isLoading: false\n }\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPDATE_TEAM]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { teamId, name, headId } = payload.params;\n let byId = state.byId;\n if(payload.data && byId[teamId]){\n byId[teamId].name = name;\n byId[teamId].headId = headId;\n }\n\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [DELETE_TEAM]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { teamId } = payload.params;\n\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n const index = allIds.indexOf(teamId);\n if (index > -1) {\n allIds.splice(index, 1);\n }\n\n if(byId[teamId]){\n delete byId[teamId];\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n },\n INITIAL_STATE\n);\n ","import typeToReducer from \"type-to-reducer\";\nimport {\n PENDING,\n REJECTED,\n FULFILLED,\n} from \"../../helpers/reduxPromiseMiddleware\";\nimport { \n SEARCH_TASKS,\n ADD_TASK,\n UPDATE_TASK,\n DELETE_TASK,\n TASK_INSERT_FILE,\n TASK_DELETE_FILE,\n TASK_BY_ID,\n TASK_DONE,\n INSERT_TASK_ATTACHMENT,\n TASKS_WAITING_FOR_APPROVAL,\n APPROVE_TASK,\n REJECT_TASK,\n TASKS_BY_BENEFACTOR,\n ASSIGNED_TASKS,\n DELETE_TASK_ATTACHMENT,\n CHANGE_TASK_RESPONSIBLE,\n CHANGE_TASK_DEADLINE \n} from '../actionTypes';\n\nconst INITIAL_STATE = {\n byId: {},\n allIds: [],\n searchIds: [],\n isLoading: false,\n pageParams: {},\n assignedTasksPageParams: {},\n assignedTasks: [],\n approveTasks: []\n};\n\nexport default typeToReducer(\n {\n [SEARCH_TASKS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { tasks, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n let allTasks = payload.params?.GetAll ? payload.params.GetAll : false;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = [];\n let taskNo = currentPage * pageSize - pageSize;\n let pageParams = {};\n\n if(tasks.length > 0){\n tasks.forEach(task => {\n task['no'] = ++taskNo;\n if(allIds.indexOf(task.id) === -1){\n allIds.push(task.id);\n }\n if(!allTasks){\n searchIds.push(task.id); \n } \n byId[task.id] = task;\n })\n }\n\n if(!allTasks){\n pageParams.hasNext = hasNext;\n pageParams.hasPrevious = hasPrevious;\n pageParams.pageSize = pageSize;\n pageParams.totalCount = totalCount;\n pageParams.totalPages = totalPages;\n pageParams.currentPage = currentPage;\n }\n\n return {\n ...state,\n allIds,\n byId,\n searchIds,\n pageParams,\n isLoading: false\n }; \n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false,\n };\n },\n },\n [ADD_TASK]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { id } = payload;\n let task = payload;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = state.searchIds;\n let pageParams = state.pageParams;\n\n if(state.allIds.indexOf(id) === -1){\n allIds = [...state.allIds, id]; \n }\n task['no'] = state.pageParams.totalCount + 1;\n byId = {...state.byId, [payload.id]: task};\n\n if((state.searchIds.indexOf(id) === -1 && \n state.searchIds.length < state.pageParams.pageSize) || \n state.searchIds.length === 0) {\n searchIds = [...state.searchIds, id];\n }\n\n if(state.searchIds.length === state.pageParams.pageSize){ \n let totalCount = state.pageParams.totalCount + 1;\n let totalPages = state.pageParams.totalPages;\n let hasNext = state.pageParams.hasNext;\n if(totalCount > pageParams.pageSize * totalPages ){\n hasNext = state.pageParams.totalPages !== 0 ? true : false; \n totalPages = totalPages + 1;\n }\n pageParams = {\n ...state.pageParams, \n totalCount: totalCount,\n totalPages : totalPages,\n hasNext : hasNext\n }\n }else{\n pageParams = {\n ...state.pageParams, \n totalCount: state.pageParams.totalCount + 1\n };\n }\n\n return {\n ...state,\n byId,\n allIds,\n searchIds,\n pageParams,\n isLoading: false\n }\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPDATE_TASK]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { taskId, name, description, articles, medias } = payload.params;\n let byId = state.byId;\n if(payload.data){ \n if(payload.data && byId[taskId]){\n byId[taskId].name = name;\n byId[taskId].description = description;\n byId[taskId].articles = articles;\n byId[taskId].medias = medias;\n }\n }\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [DELETE_TASK]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { taskId } = payload.params;\n\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n const index = allIds.indexOf(taskId);\n if (index > -1) {\n allIds.splice(index, 1);\n }\n\n if(byId[taskId]){\n delete byId[taskId];\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [TASK_INSERT_FILE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const taskId = payload.id;\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n if(byId[taskId]){\n if(byId[taskId].files){\n byId[taskId].files.push(payload.data);\n }\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [TASK_DELETE_FILE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { taskId, fileName } = payload.params;\n let byId = state.byId;\n let allIds = state.allIds;\n\n if(payload.data){\n if(byId[taskId]){\n if(byId[taskId].files.length > 0){\n let files = byId[taskId].files;\n const index = files.findIndex(file => file.name === fileName);\n if(index !== -1){\n (byId[taskId].files).splice(index, 1);\n }\n }\n }\n }\n \n return {\n ...state,\n byId,\n allIds,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [TASK_BY_ID]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n let task = payload.data;\n let allIds = state.allIds;\n let byId = state.byId;\n if(payload.data && allIds.length > 0){ \n if(allIds.indexOf(task.id) === -1){\n allIds.push(task.id);\n }\n if(byId[task.id]){\n task['no'] = byId[task.id].no; \n }else{\n task['no'] = allIds.length + 1;\n }\n byId[task.id] = task;\n } \n return {\n ...state,\n allIds,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [TASK_DONE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [INSERT_TASK_ATTACHMENT]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [TASKS_WAITING_FOR_APPROVAL]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n const { tasks, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n let pageParams = {};\n let approveTasks = [];\n let taskNo = currentPage * pageSize - pageSize;\n\n if(tasks.length > 0){\n tasks.forEach((task, index) => {\n tasks[index].no = ++taskNo;\n })\n }\n\n approveTasks = tasks;\n pageParams.hasNext = hasNext;\n pageParams.hasPrevious = hasPrevious;\n pageParams.pageSize = pageSize;\n pageParams.totalCount = totalCount;\n pageParams.totalPages = totalPages;\n pageParams.currentPage = currentPage;\n return {\n ...state,\n pageParams,\n approveTasks,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [APPROVE_TASK]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [REJECT_TASK]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [TASKS_BY_BENEFACTOR]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [ASSIGNED_TASKS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n const { tasks, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n\n let assignedTasksPageParams = {};\n let assignedTasks = [];\n let taskNo = currentPage * pageSize - pageSize;\n\n if(tasks.length > 0){\n tasks.forEach((task, index) => {\n tasks[index].no = ++taskNo;\n })\n }\n\n assignedTasks = tasks;\n assignedTasksPageParams.hasNext = hasNext;\n assignedTasksPageParams.hasPrevious = hasPrevious;\n assignedTasksPageParams.pageSize = pageSize;\n assignedTasksPageParams.totalCount = totalCount;\n assignedTasksPageParams.totalPages = totalPages;\n assignedTasksPageParams.currentPage = currentPage;\n return {\n ...state,\n assignedTasksPageParams,\n assignedTasks,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [DELETE_TASK_ATTACHMENT]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [CHANGE_TASK_RESPONSIBLE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [CHANGE_TASK_DEADLINE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n return {\n ...state,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n },\n INITIAL_STATE\n);\n","import typeToReducer from \"type-to-reducer\";\nimport {\n PENDING,\n REJECTED,\n FULFILLED,\n} from \"../../helpers/reduxPromiseMiddleware\";\nimport { \n SEARCH_PROCESSES,\n ADD_PROCESS,\n UPDATE_PROCESS,\n DELETE_PROCESS,\n PROCESS_BY_ID,\n GET_PROCESS_TASKS,\n ACTIVATE_PROCESS,\n PROCESSES_BY_USER,\n COMPLETE_PROCESS,\n UPLOAD_PROCESS_IMAGE\n} from '../actionTypes';\n\nconst INITIAL_STATE = {\n byId: {},\n allIds: [],\n searchIds: [],\n isLoading: false,\n pageParams: {},\n userProcesses: {},\n tasks: {},\n assignedProcesses: [],\n assignedProcessesPageParams: {},\n};\n\nexport default typeToReducer(\n {\n [SEARCH_PROCESSES]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { processes, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n let allProcesses = payload.params?.GetAll ? payload.params.GetAll : false;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = [];\n let processNo = currentPage * pageSize - pageSize;\n let pageParams = {};\n\n if(processes.length > 0){\n processes.forEach(process => {\n process['no'] = ++processNo;\n if(allIds.indexOf(process.id) === -1){\n allIds.push(process.id);\n }\n if(!allProcesses){\n searchIds.push(process.id); \n } \n byId[process.id] = process;\n })\n }\n\n if(!allProcesses){\n pageParams.hasNext = hasNext;\n pageParams.hasPrevious = hasPrevious;\n pageParams.pageSize = pageSize;\n pageParams.totalCount = totalCount;\n pageParams.totalPages = totalPages;\n pageParams.currentPage = currentPage;\n }\n\n return {\n ...state,\n allIds,\n byId,\n searchIds,\n pageParams,\n isLoading: false\n }; \n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false,\n };\n },\n },\n [ADD_PROCESS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { id } = payload;\n let process = payload;\n let allIds = state.allIds;\n let byId = state.byId;\n let searchIds = state.searchIds;\n let pageParams = state.pageParams;\n\n if(state.allIds.indexOf(id) === -1){\n allIds = [...state.allIds, id]; \n }\n process['no'] = state.pageParams.totalCount + 1;\n byId = {...state.byId, [payload.id]: process};\n\n if((state.searchIds.indexOf(id) === -1 && \n state.searchIds.length < state.pageParams.pageSize) || \n state.searchIds.length === 0) {\n searchIds = [...state.searchIds, id];\n }\n\n if(state.searchIds.length === state.pageParams.pageSize){ \n let totalCount = state.pageParams.totalCount + 1;\n let totalPages = state.pageParams.totalPages;\n let hasNext = state.pageParams.hasNext;\n if(totalCount > pageParams.pageSize * totalPages ){\n hasNext = state.pageParams.totalPages !== 0 ? true : false; \n totalPages = totalPages + 1;\n }\n pageParams = {\n ...state.pageParams, \n totalCount: totalCount,\n totalPages : totalPages,\n hasNext : hasNext\n }\n }else{\n pageParams = {\n ...state.pageParams, \n totalCount: state.pageParams.totalCount + 1\n };\n }\n\n return {\n ...state,\n byId,\n allIds,\n searchIds,\n pageParams,\n isLoading: false\n }\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPDATE_PROCESS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { processId, name, tasks, description, responsible } = payload.params;\n let byId = state.byId;\n if(payload.data){ \n if(payload.data && byId[processId]){\n byId[processId].name = name;\n byId[processId].description = description;\n byId[processId].tasks = tasks;\n byId[processId].responsible = responsible;\n }\n }\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [DELETE_PROCESS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { processId } = payload.params;\n\n let byId = state.byId;\n let allIds = state.allIds;\n let tasks = state.tasks;\n\n if(payload.data){\n const index = allIds.indexOf(processId);\n if (index > -1) {\n allIds.splice(index, 1);\n }\n\n if(byId[processId]){\n delete byId[processId];\n }\n\n if(tasks[processId]){\n delete tasks[processId];\n } \n }\n \n return {\n ...state,\n byId,\n allIds,\n tasks,\n isLoading: false,\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [PROCESS_BY_ID]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n let process = payload.data;\n let allIds = state.allIds;\n let byId = state.byId;\n if(payload.data){ \n if( allIds.length > 0){\n if(allIds.indexOf(process.id) === -1){\n allIds.push(process.id);\n }\n } \n if(byId[process.id]){\n process['no'] = byId[process.id].no; \n }else{\n process['no'] = allIds.length + 1;\n }\n byId[process.id] = process;\n } \n return {\n ...state,\n allIds,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n }, \n [GET_PROCESS_TASKS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n const { processId } = payload.params;\n const { tasks } = payload.data; \n let _tasks = state.tasks;\n _tasks[processId] = tasks;\n return {\n ...state,\n tasks: _tasks,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state, \n isLoading: false\n };\n },\n },\n [ACTIVATE_PROCESS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n const { processId } = payload.params;\n let byId = state.byId; \n if(payload.data === true && byId[processId]){\n byId[processId].isActivated = true;\n }\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [PROCESSES_BY_USER]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const { process, hasNext, hasPrevious, pageSize, totalCount, totalPages, currentPage } = payload.data;\n const userId = payload.params.userId\n let userProcesses = state.userProcesses;\n let assignedProcesses = [];\n let assignedProcessesPageParams= {};\n let processNo = currentPage * pageSize - pageSize;\n\n if(process.length > 0){\n process.forEach((proc, index) => {\n process[index].no = ++processNo;\n })\n }\n\n assignedProcesses = process;\n assignedProcessesPageParams.hasNext = hasNext;\n assignedProcessesPageParams.hasPrevious = hasPrevious;\n assignedProcessesPageParams.pageSize = pageSize;\n assignedProcessesPageParams.totalCount = totalCount;\n assignedProcessesPageParams.totalPages = totalPages;\n assignedProcessesPageParams.currentPage = currentPage;\n userProcesses[userId] = process;\n return {\n ...state,\n userProcesses: userProcesses,\n assignedProcessesPageParams,\n assignedProcesses,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [COMPLETE_PROCESS]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) { \n const { processId } = payload.params;\n let byId = state.byId; \n if(payload.data === true && byId[processId]){\n byId[processId].compeleted = true;\n }\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n },\n [UPLOAD_PROCESS_IMAGE]: {\n [PENDING](state) {\n return {\n ...state,\n isLoading: true,\n };\n },\n [FULFILLED](state, { payload, meta }) {\n const processId = payload.id;\n let byId = state.byId;\n\n if(payload.data){\n if(byId[processId]){\n byId[processId].image = payload.data;\n }\n }\n\n return {\n ...state,\n byId,\n isLoading: false\n };\n },\n [REJECTED](state, { payload }) {\n return {\n ...state,\n isLoading: false\n };\n },\n }, \n },\n INITIAL_STATE\n);\n","import { combineReducers } from 'redux';\nimport userReducer from './users/reducer';\nimport articleReducer from './article/reducer';\nimport loginReducer from './login/reducer';\nimport mediaReducer from './media/reducer';\nimport locationReducer from './location/reducer';\nimport departmentReducer from './department/reducer';\nimport teamReducer from './team/reducer';\nimport taskReducer from './task/reducer';\nimport processReducer from './process/reducer';\n\nexport default combineReducers({\n user: userReducer,\n article: articleReducer,\n doLogin: loginReducer,\n media: mediaReducer,\n location: locationReducer,\n department: departmentReducer,\n team: teamReducer,\n task: taskReducer,\n process: processReducer\n});\n","import { createStore, applyMiddleware } from 'redux';\nimport promiseMiddleware from 'redux-promise-middleware';\nimport Redux from 'redux-thunk';\nimport rootReducer from './rootReducer';\nimport logger from 'redux-logger';\n\nconst middlewares = [Redux];\nconst store = createStore(\n rootReducer, \n applyMiddleware(...middlewares, logger, promiseMiddleware)\n);\nexport default store;\n","export default __webpack_public_path__ + \"static/media/facecard.1a6ef689.svg\";","export default __webpack_public_path__ + \"static/media/time.663db1e2.svg\";","export default __webpack_public_path__ + \"static/media/approvalTask.52ebee90.png\";","export default __webpack_public_path__ + \"static/media/article.1aa01f50.png\";","export default __webpack_public_path__ + \"static/media/benefitTask.ca0f71a1.png\";","export default __webpack_public_path__ + \"static/media/task.788b0b8b.png\";","export default __webpack_public_path__ + \"static/media/process.924245a2.png\";","import React, { useState, useEffect } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport Card from \"@material-ui/core/Card\";\nimport CardActions from \"@material-ui/core/CardActions\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport CardMedia from \"@material-ui/core/CardMedia\";\nimport Typography from \"@material-ui/core/Typography\";\nimport \"./mediaCard.scss\";\nimport CardImage from \"../../assets/images/layout/facecard.svg\";\nimport TimeIco from \"../../assets/images/layout/time.svg\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport { getUserById } from \"../../redux/users/action\";\nimport defaultApprovalTaskImg from \"../../assets/images/approvalTask.png\";\nimport defaultArticleImg from \"../../assets/images/article.png\";\nimport defaultBenefitTaskImg from \"../../assets/images/benefitTask.png\";\nimport defaultTaskImg from \"../../assets/images/task.png\";\nimport defaultProcessImg from \"../../assets/images/process.png\";\n\nconst MediaCard = (props) => {\n const {\n cardTitle,\n cardText,\n onClick,\n cardImage,\n active,\n hasMarkup = false,\n type = null,\n authorId = null,\n cardContentClass = \"\",\n cardText2= \"\",\n role= \"\"\n } = props;\n const [authorImg, setAuthorImg] = useState(\"\");\n const [readingTime, setReadingTime] = useState(\"\");\n const [coverImage, setCoverImage] = useState(CardImage);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (authorId) {\n getAuthor(authorId);\n }\n updateReadingTime(cardText);\n if (cardImage) {\n setCoverImage(`${config.apiURL}/Resources/${cardImage}`);\n }else{\n if(role === 'Article'){\n setCoverImage(defaultArticleImg)\n }else if(role === 'Assigned Task'){\n setCoverImage(defaultTaskImg)\n }else if(role === 'Process'){\n setCoverImage(defaultProcessImg)\n }else if(role === 'Approval Task'){\n setCoverImage(defaultApprovalTaskImg)\n }else if(role === 'Benefactor Task'){\n setCoverImage(defaultBenefitTaskImg)\n }\n \n }\n }, []);\n\n const getAuthor = async (userId) => { \n let image = \"https://i.etsystatic.com/21073028/r/il/1b1907/2662292100/il_340x270.2662292100_t37c.jpg\"; \n if(props.members && props.members[userId]?.image){ \n image = `${config.resourcesUrl+props.members[userId].image.name}`; \n }else{\n await dispatch(getUserById({ id: userId }))\n .then((res) => {\n if (res.value?.data) {\n let user = res.value.data;\n if(user.image?.name){\n image = `${config.resourcesUrl+user.image.name}`; \n }\n } \n })\n .catch((err) => {\n logError(err);\n });\n } \n setAuthorImg(image);\n };\n\n const updateReadingTime = (data) => {\n let strippedText = removeMarkup(data);\n let wordsCount = strippedText\n .trim()\n .split(\" \")\n .filter(function (n) {\n return n !== \"\";\n }).length;\n setReadingTime(Math.round(wordsCount / 60));\n };\n\n const removeMarkup = (data) => {\n if (hasMarkup) {\n return data.replace(/<\\/?[^>]+(>|$)/g, \"\");\n } else {\n return data;\n }\n };\n\n return (\n \n \n
\n
\n \n
\n \n {type &&
{type}
}\n
\n \n\n \n \n {cardTitle.length > 37 ? cardTitle.substring(0, 37) + \"...\" : cardTitle}\n \n

\n {removeMarkup(cardText).substring(0, 99)}\n {cardText2 !== \"\" && <>\n
\n {cardText2}\n }\n

\n
\n \n
\n \n
\n \n {type === 'Article' &&
\n \"img\"\n  {readingTime}m\n
}\n \n \n
\n \n );\n}\n\nconst mapStateToProps = (state) => ({\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(MediaCard);\n","import { \n SET_SINGLE_ARTICLE,\n SEARCH_ARTICLES,\n ADD_ARTICLE,\n UPDATE_ARTICLE,\n DELETE_ARTICLE,\n ARTICLE_BY_ID,\n ARTICLE_INSERT_FILE,\n ARTICLE_DELETE_FILE\n} from '../actionTypes';\nimport generateAuthRequest from \"../../helpers/generateAuthRequest\";\n\nexport const setArticle = (article) => ({\n type: SET_SINGLE_ARTICLE,\n payload: article\n});\n\nexport const searchArticles = (params) => ({\n type: SEARCH_ARTICLES,\n payload: generateAuthRequest('GET','api/Article', params)\n});\n\nexport const addArticle = (params) => ({\n type: ADD_ARTICLE,\n payload: generateAuthRequest('POST','api/Article', params)\n});\n\nexport const updateArticle = (params) => ({\n type: UPDATE_ARTICLE,\n //payload: generateAuthRequest('PUT',`api/Article/${params.articleId}`, params)\n payload: generateAuthRequest('PUT',`api/Article/update/${params.articleId}`, params)\n});\n\nexport const deleteArticle = (params) => ({\n type: DELETE_ARTICLE,\n //payload: generateAuthRequest('DELETE',`api/Article/${params.articleId}`, params)\n payload: generateAuthRequest('DELETE',`api/Article/delete/${params.articleId}`, params)\n});\n\nexport const getArticleById = (params) => ({\n type: ARTICLE_BY_ID,\n payload: params.includeOwner ? \n generateAuthRequest('GET',`api/Article/${params.id}/${params.includeOwner}`, params) :\n generateAuthRequest('GET',`api/Article/${params.id}`, params)\n});\n\nexport const insertArticleFile = (params) => ({\n type: ARTICLE_INSERT_FILE,\n payload: generateAuthRequest('PUT',`api/Article/insert-file/${params.articleId}`, params.formData, params.articleId)\n});\n\nexport const deleteArticleFile = (params) => ({\n type: ARTICLE_DELETE_FILE,\n payload: generateAuthRequest('PUT',`api/Article/delete-file/${params.articleId}`, params)\n});\n","export default __webpack_public_path__ + \"static/media/noContent.c41f6d56.png\";","import { \n SEARCH_MEDIAS, \n ADD_MEDIA, \n DELETE_MEDIA, \n UPDATE_MEDIA \n} from '../actionTypes';\nimport generateAuthRequest from \"../../helpers/generateAuthRequest\";\n\nexport const searchMedias = (params) => ({\n type: SEARCH_MEDIAS,\n payload: generateAuthRequest('GET','api/Media', params)\n});\n\nexport const addMedia = (params) => ({\n type: ADD_MEDIA,\n payload: generateAuthRequest('POST','api/Media/insert-media', params)\n});\n\nexport const deleteMedia = (params) => ({\n type: DELETE_MEDIA,\n payload: generateAuthRequest('DELETE',`api/Media/delete-media/${params.name}`, {\"videoId\": params.mediaId})\n});\n\nexport const updateMedia = (params) => ({\n type: UPDATE_MEDIA,\n payload: generateAuthRequest('PUT',`api/Media/update/${params.name}`, params)\n});\n \n","import React from \"react\";\nimport ReactPlayer from \"react-player\";\n\nconst Player = ({ mediaUrl, customClass }) => {\n return(\n \n )\n};\nexport default Player;\n","import React, { useState, useEffect } from \"react\";\nimport { Dialog } from \"@material-ui/core\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport Player from \"../../components/player/player\";\nimport \"./MediaDisplayModal.scss\";\nimport config from \"../../config/api.config.js\";\nimport { getFileType, getExtension } from \"../../helpers/helpers.js\";\n\nconst MediaDisplayModal = ({ open, mediaUrl, closeModal, name, title }) => {\n const [type, setType] = useState(\"\");\n\n useEffect(() => {\n setMediaType(name);\n }, [name]);\n\n const setMediaType = (filename) => {\n setType(getFileType(filename));\n };\n\n return (\n \n \n \n \n \n
\n Titel: {title}\n
\n
\n {type === \"Image\" && (\n {title}\n )}\n {(type === \"Video\" || type === \"Audio\") && (\n \n )}\n
\n );\n};\nexport default MediaDisplayModal;\n","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEdit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 37,\n height: 36,\n viewBox: \"0 0 37 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.0976562,\n width: 36,\n height: 36,\n rx: 4,\n fill: \"var(--color-primary)\",\n fillOpacity: 0.32\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.0977 13.7928L22.3045 10L11.0569 21.2485L10.0977 26L14.8488 25.042L26.0977 13.7928Z\",\n fill: \"var(--color-secondary)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEdit);\nexport default __webpack_public_path__ + \"static/media/edit.09472d10.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport \"./dashboard.scss\";\nimport \"../../assets/css/pages/dashboard.scss\";\nimport MediaCard from \"../../../src/components/card/MediaCard\";\nimport App from \"../../App\";\nimport { searchArticles } from \"../../redux/article/action\";\nimport auth from \"../../auth\";\nimport { getUserById } from \"../../redux/users/action\";\nimport {\n getProcessesByUser,\n getProcessTasks,\n getProcessById,\n} from \"../../redux/process/action\";\nimport {\n getTasksWaitingForApproval,\n getTasksByBenefactor,\n getAssignedTasks,\n} from \"../../redux/task/action\";\nimport HomeLogo from \"../../assets/images/noContent.png\";\nimport config from \"../../config/api.config.js\";\nimport { getFileType, logError } from \"../../helpers/helpers\";\nimport Search from \"../../components/search/search\";\nimport { Link } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { searchMedias } from \"../../redux/media/action\";\nimport MediaDisplayModal from \"../Medias/MediaDisplayModal\";\nimport {ReactComponent as IconMore} from \"../../assets/images/icon-view-more.svg\"\n\nconst Dashboard = (props) => {\n const history = useHistory();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const [member, setMember] = useState([]);\n const [assignedProcess, setAssignedProcess] = useState([]);\n const [assignedTasks, setAssignedTasks] = useState([]);\n const [tasksForApproval, setTasksForApproval] = useState([]);\n const [assignedBenefactorTasks, setAssignedBenefactorTasks] = useState([]);\n const [search, setSearch] = useState(\"\");\n const [medias, setMedias] = useState([]);\n const [displayUrl, setDisplayUrl] = useState(\"\");\n const [displayMedia, setDisplayMedia] = useState(false);\n const [displayMediaName, setDisplayMediaName] = useState(\"\");\n const [displayMediaTitle, setDisplayMediaTitle] = useState(\"\");\n \n useEffect(() => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n\n const fetchData = async () => {\n dispatch(searchArticles({ Include_owner: true, Sort: 2, PageSize: 5 }));\n const userId = auth.getId();\n if (props.members[userId]) {\n setMember(props.members[userId]);\n } else {\n await dispatch(getUserById({ id: userId }))\n .then((res) => {\n if (res.value?.data) {\n let user = res.value.data;\n user[\"id\"] = res.value.data.userId;\n setMember(user);\n }\n })\n .catch((err) => {\n logError(err);\n });\n }\n\n await fetchAssignedTasks({ userId: auth.getId() });\n await fetchUserProcesses({ userId: auth.getId() });\n await fetchTasksWaitingForApproval({ userId: userId });\n await fetchTasksByBenefactor({ userId: userId });\n };\n\n fetchData();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n const hanldeCardClick = (id) => {\n history.push(`/article/${id}`);\n };\n\n const hanldeTaskCardClick = (task, userType) => {\n history.push(`/task/${task.id}`, {\n task: task,\n member: member,\n userType: userType,\n isActive: true\n });\n };\n\n const hanldeProcssCardClick = (id) => {\n history.push(`/process/${id}`);\n };\n\n const filterAssignedTasks = async (tasks) => {\n let _tasks = [];\n for (const task of tasks) {\n if (task.preTask === null) {\n _tasks.push(task);\n } else { \n if(!task.toggle){\n await checkIfTaskIsCompleted(task.processId, task.preTask).then(\n (isCompleted) => {\n if (isCompleted) {\n _tasks.push(task);\n }\n }\n );\n }else{\n const processTasks = await getTasksOfProcess(task.processId);\n const canRun = await checkIfTaskCanExecuteConcurrently(processTasks, task.preTask, task.name);\n if(canRun){\n _tasks.push(task);\n }\n } \n }\n }\n\n if (_tasks.length > 0) {\n formatTasks(_tasks).then((formattedTask) => {\n let _assignedTasks = [];\n if (formattedTask?.length > 0) {\n _assignedTasks = formattedTask.filter(\n (item) => item.processActivated === true\n );\n }\n setAssignedTasks(_assignedTasks);\n });\n } else {\n setAssignedTasks([]);\n }\n };\n\n const checkIfTaskIsCompleted = async (processId, taskId) => {\n const processTasks = await getTasksOfProcess(processId);\n const task = processTasks?.filter((item) => item.id === taskId);\n if (task?.length > 0 && task[0].compeleted && task[0].approved) {\n return true;\n } else {\n return false;\n }\n };\n\n const checkIfTaskCanExecuteConcurrently = (processTasks, taskId, name) => { \n const preTask = processTasks?.find(\n (item) => item.id === taskId\n );\n let preTaskParent = [];\n\n if(taskId === null || preTask?.preTask === null){\n return true\n }else{\n preTaskParent = processTasks?.find(\n (item) => item.id === preTask?.preTask\n );\n }\n\n if(!preTask?.toggle){\n if(preTaskParent?.compeleted && preTaskParent?.approved){\n return true;\n }else{\n return false;\n }\n }else{\n return checkIfTaskCanExecuteConcurrently(processTasks, preTaskParent?.preTask, name);\n }\n };\n\n const getTasksOfProcess = async (processId) => {\n if (props.processTasks[processId]) {\n return props.processTasks[processId];\n } else {\n return await dispatch(getProcessTasks({ processId: processId })).then(\n (res) => {\n if (res.value?.data) {\n return res.value.data.tasks;\n }\n }\n );\n }\n };\n\n const getProcess = async (id) => {\n if (props.processes[id]) {\n return props.processes[id];\n } else {\n return await dispatch(getProcessById({ id: id }))\n .then((res) => {\n if (res.value?.data) {\n return res.value.data;\n }\n })\n .catch((err) => logError(err));\n }\n };\n\n //to set Task's process name and completed fields\n const formatTasks = async (tasks) => {\n let _tasks = [];\n for (const task of tasks) {\n await getProcess(task.processId).then((process) => {\n task.processName = process && process.name ? process.name : \"\";\n task.processCompleted =\n process && process.compeleted ? process.compeleted : false;\n task.processActivated =\n process && process.isActivated ? process.isActivated : false;\n task.processImage = process?.image\n _tasks.push(task);\n });\n }\n return _tasks;\n };\n\n const fetchAssignedTasks = async(params) => {\n await dispatch(getAssignedTasks(params)).then((res) => {\n let _tasks = [];\n if (res.value?.data) {\n if (res.value.data?.tasks?.length > 0) {\n _tasks = res.value.data.tasks.filter(\n (item) => item.compeleted === false\n );\n }\n }\n filterAssignedTasks(_tasks);\n });\n };\n\n const fetchUserProcesses = async(params) => {\n await dispatch(getProcessesByUser(params)).then(\n (res) => {\n let _processes = [];\n if (res.value?.data) {\n if (res.value.data.process.length > 0) {\n _processes = res.value.data.process.filter((item) => {\n return item.compeleted === false && item.isActivated === true;\n });\n }\n }\n setAssignedProcess(_processes);\n }\n );\n };\n\n const fetchTasksWaitingForApproval = async(params) => {\n await dispatch(getTasksWaitingForApproval(params)).then(\n (res) => {\n if (res.value?.data) {\n if (res.value.data.tasks.length > 0) {\n formatTasks(res.value.data.tasks).then((formattedTask) => {\n let _tasksWaiting = [];\n if (formattedTask?.length > 0) {\n _tasksWaiting = formattedTask.filter(\n (item) => item.processActivated === true\n );\n }\n setTasksForApproval(_tasksWaiting);\n });\n } else {\n setTasksForApproval([]);\n }\n }\n }\n );\n };\n\n const fetchTasksByBenefactor = async(params) => {\n await dispatch(getTasksByBenefactor(params))\n .then((res) => {\n if (res.value?.data) {\n if (res.value.data.tasks.length > 0) {\n formatTasks(res.value.data.tasks).then((formattedTask) => {\n let _benefactortasks = [];\n if (formattedTask.length > 0) {\n _benefactortasks = formattedTask.filter((item) => {\n return (\n item.processCompleted === false &&\n item.processActivated === true\n );\n });\n }\n setAssignedBenefactorTasks(_benefactortasks);\n });\n } else {\n setAssignedBenefactorTasks([]);\n }\n }\n })\n .catch((err) => {\n logError(err);\n });\n };\n\n const fetchMedias = async (params) => {\n await dispatch(searchMedias(params)).then((res) => {\n if (res.value?.data) {\n setMedias(res.value.data.medias);\n }\n })\n .catch((err) => {\n logError(err);\n });\n }\n\n const getSearchValue = (search) => {\n setSearch(search);\n if(!search) searchMedias([]);\n if (props.currentUser) {\n dispatch(searchArticles({ Include_owner: true, Sort: 2, PageSize: 5, Search: search.replace(/\\s+/g, ' ').trim()}));\n fetchAssignedTasks({ userId: auth.getId(), Search: search.replace(/\\s+/g, ' ').trim() });\n fetchUserProcesses({ userId: auth.getId(), Search: search.replace(/\\s+/g, ' ').trim() });\n fetchTasksWaitingForApproval({ userId: auth.getId(), Search: search.replace(/\\s+/g, ' ').trim() });\n fetchTasksByBenefactor({ userId: auth.getId(), Search: search.replace(/\\s+/g, ' ').trim() });\n fetchMedias({Search: search.replace(/\\s+/g, ' ').trim(), Sort: 2});\n }\n };\n\n const handleMediaDisplay = (media) => {\n let type = getFileType(media.name);\n if (type !== \"Document\") {\n let url = `${config.resourcesUrl+media.name}`;\n setDisplayUrl(url);\n setDisplayMedia(true);\n setDisplayMediaName(media.name);\n setDisplayMediaTitle(media.title);\n }\n };\n\n return (\n \n {\n setDisplayMedia(false);\n setDisplayUrl(\"\");\n setDisplayMediaName(\"\");\n setDisplayMediaTitle(\"\");\n }}\n mediaUrl={displayUrl}\n title={displayMediaTitle}\n name={displayMediaName}\n />\n {(props.articleIds?.length === 0 &&\n assignedTasks?.length === 0 &&\n assignedProcess?.length === 0 &&\n tasksForApproval?.length === 0 &&\n assignedBenefactorTasks?.length === 0 && search === '') ? (\n
\n \"logo\"\n

{`Herzlich Willkommen zu ${config.company} Onboarder`}

\n
\n ) : null}\n\n {(props.articleIds?.length === 0 &&\n assignedTasks?.length === 0 &&\n assignedProcess?.length === 0 &&\n tasksForApproval?.length === 0 &&\n assignedBenefactorTasks?.length === 0 && medias.length === 0) ? (\n <>\n {search &&
\n

{t(\"no_search_results\")}

\n
}\n \n ): (\n <>\n {search &&
\n

{t(\"search_results\")}

\n
}\n \n )\n }\n\n {props.articleIds?.length > 0 && (\n <>\n
\n Neueste Artikel \n
\n \n
\n {props.articlePageParams.hasNext && \n history.push(\"/articles\")}/>\n } \n
\n
\n {props.articleIds?.map((id, index) => (\n
\n hanldeCardClick(id)}\n cardContentClass=\"dash-news-card-content\"\n role=\"Article\"\n />\n
\n ))}\n
\n \n )}\n\n {medias?.length > 0 && search && (\n <>\n
\n Neueste Medien\n {medias.length > 5 && \n \n Mehr anzeigen\n \n }\n
\n
\n {medias?.map((media, index) => (\n
\n handleMediaDisplay(media)}\n cardContentClass={\"dash-news-card-content\"}\n role={\"Media\"}\n />\n
\n ))}\n
\n \n )}\n\n {assignedTasks?.length > 0 && (\n <>\n
\n Meine Aufgaben\n {assignedTasks && assignedTasks.length > 5 && \n \n Mehr anzeigen\n \n }\n
\n
\n {assignedTasks && assignedTasks.length > 0\n ? assignedTasks.map((task, index) => (\n \n {index < 5 &&
\n hanldeTaskCardClick(task, \"task_owner\")}\n cardContentClass={\"dash-news-card-content\"}\n role={\"Assigned Task\"}\n />\n
}\n
\n ))\n : \"Aktuell leer.\"} \n
\n \n )}\n\n {assignedProcess.length > 0 && (\n <>\n
\n Meine Prozesse\n {assignedProcess && assignedProcess.length > 5 && \n \n Mehr anzeigen\n \n }\n
\n
\n {assignedProcess && assignedProcess.length > 0\n ? assignedProcess.map((process, index) => (\n \n {index < 5 &&
\n hanldeProcssCardClick(process.id)}\n cardContentClass={\"dash-news-card-content\"}\n cardImage={process.image?.name}\n role={\"Process\"}\n />\n
}\n
\n ))\n : \"Aktuell leer.\"} \n
\n \n )}\n\n {tasksForApproval?.length > 0 && (\n <>\n
\n Warten auf Genehmigung\n {tasksForApproval && tasksForApproval.length > 5 && \n \n Mehr anzeigen\n \n }\n
\n
\n {tasksForApproval && tasksForApproval.length > 0\n ? tasksForApproval.map((task, index) => (\n \n {index < 5 &&
\n hanldeTaskCardClick(task, \"process_owner\")}\n cardContentClass={\"dash-news-card-content\"}\n role={\"Approval Task\"}\n />\n
}\n
\n ))\n : \"Aktuell leer.\"} \n
\n \n )}\n\n {assignedBenefactorTasks?.length > 0 && (\n <>\n
\n Aufgaben zu meinen Gunsten\n {assignedBenefactorTasks && assignedBenefactorTasks.length > 5 && \n \n Mehr anzeigen\n \n }\n
\n
\n {assignedBenefactorTasks && assignedBenefactorTasks.length > 0\n ? assignedBenefactorTasks.map((task, index) => (\n \n {index < 5 &&
\n \n hanldeTaskCardClick(task, \"task_benefactor\")\n }\n cardContentClass={\"dash-news-card-content\"}\n role={\"Benefactor Task\"}\n />\n
}\n
\n )) \n : \"Aktuell leer.\"} \n
\n \n )}\n
\n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n isArticleLoading: state.article.isLoading,\n articleIds: state.article.searchIds,\n articles: state.article.byId,\n members: state.user.byId,\n processTasks: state.process.tasks,\n processes: state.process.byId,\n articlePageParams: state.article.pageParams\n});\n\nexport default connect(mapStateToProps, null)(Dashboard);\n","import React from \"react\";\nimport Button from \"@material-ui/core/Button\";\nimport { CircularProgress } from \"@material-ui/core\";\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\nimport \"./button.scss\";\nimport config from \"../../config/api.config.js\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"& > *\": {\n margin: theme.spacing(0.2),\n fontSize: \"1.375rem\",\n color: \"#fff\",\n },\n textTransform: \"unset\",\n width: \"17.2rem\",\n fontFamily: \" SFProText-Semibold\",\n },\n}));\n\nconst ColoredButton = withStyles({\n root: {\n backgroundColor: config.colorSecondary,\n \"&:hover\": {\n backgroundColor: config.colorHover,\n },\n },\n})(Button);\n\nconst AuthButton = ({\n onClick,\n className,\n valid,\n buttonClicked = false,\n children,\n ...otherProps\n}) => {\n const classes = useStyles();\n\n return (\n
\n {valid && !buttonClicked ? (\n \n {children}\n \n ) : (\n \n {buttonClicked ? (\n \n ) : (\n children\n )}\n \n )}\n
\n );\n};\n\nexport default AuthButton;\n","import React from 'react';\nimport { Dialog } from '@material-ui/core';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport './modal.scss';\n\nimport { useTranslation } from 'react-i18next'\n\nconst CustomModal = ({ title, open, closeModal, children }) => {\n const { t } = useTranslation()\n return (\n \n {t(title)}\n {children}\n \n );\n};\n\nexport default CustomModal;\n","import React from 'react';\nimport Button from '@material-ui/core/Button';\n\nimport './outlinedButton.scss';\n\nconst OutlinedButton = ({ className, onClick, children, ...otherProps }) => {\n return (\n \n {children}\n \n );\n};\n\nexport default OutlinedButton;\n","// import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nexport const LightTooltip = withStyles((theme) => ({\n arrow: {\n color: '#ebebeb'\n },\n tooltip: {\n backgroundColor: '#ebebeb',\n color: '#7a7a7a',\n fontSize: 11,\n padding: '0.1rem 1.1rem'\n }\n}))(Tooltip);\n","/* eslint-disable eqeqeq */\nimport React, { useState, useEffect, Fragment } from \"react\";\nimport { Dialog } from \"@material-ui/core\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport AbbrechenIcon from \"@material-ui/icons/Cancel\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Search from \"../../components/search/search\";\nimport { LightTooltip } from \"../../components/tooltip/tooltip\";\n\nconst DepartmentMembers = (props) => {\n const {\n department,\n departmentName,\n departmentId,\n open,\n closeModal,\n departmentMembers,\n getSerachedMembers,\n positionId,\n } = props;\n\n const [defaultPage, setDefaultPage] = useState(false);\n const [search, setSearch] = useState(\"\");\n const [params, setParams] = useState({\n currentPage: 1,\n totalPages: 1,\n pageSize: 5,\n totalCount: 0,\n hasNext: false,\n hasPrevious: false,\n });\n\n useEffect(() => {\n if (departmentMembers)\n setParams({\n currentPage: departmentMembers.currentPage,\n totalPages: departmentMembers.totalPages,\n pageSize: departmentMembers.pageSize,\n totalCount: departmentMembers.totalCount,\n hasNext: departmentMembers.hasNext,\n hasPrevious: departmentMembers.hasPrevious,\n });\n }, [departmentMembers]);\n\n const getPageNumber = (newPage) => {\n if (positionId)\n getSerachedMembers(\n positionId,\n departmentName,\n departmentId,\n search,\n newPage\n );\n else getSerachedMembers(departmentId, departmentName, search, newPage);\n };\n\n const searchMember = (search) => {\n setDefaultPage(!defaultPage);\n setSearch(search);\n\n if (positionId)\n getSerachedMembers(positionId, departmentName, departmentId, search);\n else getSerachedMembers(departmentId, departmentName, search);\n };\n\n const renderMembers = () =>\n departmentMembers?.users?.map((user) => {\n return (\n
\n
\n \n
\n\n
\n \n

{user.firstName + \" \" + user.lastName}

\n d.departmentId == departmentId)\n ?.roles\n }\n placement=\"right\"\n >\n
\n \n
\n {user.email}\n \n {\n user.departments.find((d) => d.departmentId == departmentId)\n ?.positionName\n }\n \n
\n
\n );\n });\n\n const closeDialogModal = () => {\n closeModal(true);\n setSearch(\"\");\n };\n\n return (\n \n
\n \n \n
\n \n \n \n {!departmentMembers?.users.length ? (\n
\n

\n Momentan keine Einträge vorhanden{\" \"}\n {positionId ? \"position\" : \"department\"}\n

\n
\n ) : (\n \n

\n Anzahl Mitarbeiter: {departmentMembers?.users.length}\n

\n
\n
{renderMembers()}
\n\n \n
\n
\n )}\n \n );\n};\n\nexport default DepartmentMembers;\n","import React from 'react';\nimport Backdrop from '@material-ui/core/Backdrop';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { makeStyles } from '@material-ui/core/styles';\nimport config from '../../config/api.config.js';\n\nconst useStyles = makeStyles((theme) => ({\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: '#f9f9f9'\n }\n}));\nconst CustomBackdrop = ({ open }) => {\n const classes = useStyles();\n\n return (\n \n \n \n );\n};\nexport default CustomBackdrop;","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDelete(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#FC6868\",\n fillOpacity: 0.2\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.9987 14L13.9987 26H21.9987L23.9987 14H11.9987ZM24.6654 11.3333V12.6667H11.332V11.3333H15.1394C15.7394 11.3333 16.2267 10.6007 16.2267 10H19.7707C19.7707 10.6007 20.2574 11.3333 20.858 11.3333H24.6654Z\",\n fill: \"#EE5555\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDelete);\nexport default __webpack_public_path__ + \"static/media/delete.e739acbe.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUpload(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 30,\n height: 30,\n viewBox: \"0 0 30 30\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.265 28.75C12.5 28.75 12.5 18.75 12.5 18.75H8.75L14.9738 13.75L21.25 18.75H17.5C17.5 18.75 16.485 26.3675 22.265 28.75ZM24.3488 10.115C24.0837 5.17625 20.0075 1.25 15 1.25C9.9925 1.25 5.91625 5.17625 5.65125 10.115C2.43875 10.6938 0 13.4975 0 16.875C0 20.6712 3.07875 23.75 6.875 23.75H11.0025C10.6587 22.8538 10.4275 21.995 10.28 21.25H6.875C4.4625 21.25 2.5 19.2875 2.5 16.875C2.5 13.3787 5.59875 12.0837 8.04125 12.225C7.8325 6.9525 10.8013 3.75 15 3.75C19.3162 3.75 22.3637 7.24625 21.9587 12.225C24.14 12.1675 27.5 13.1637 27.5 16.875C27.5 19.2875 25.5375 21.25 23.125 21.25H19.9775C20.055 22.025 20.24 22.9112 20.6013 23.75H23.125C26.9212 23.75 30 20.6712 30 16.875C30 13.4975 27.5613 10.6938 24.3488 10.115Z\",\n fill: \"var(--color-secondary)\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 30,\n height: 30,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUpload);\nexport default __webpack_public_path__ + \"static/media/upload.4acebf26.svg\";\nexport { ForwardRef as ReactComponent };","import { \n SEARCH_DEPARTMENTS,\n ADD_DEPARTMENT,\n UPDATE_DEPARTMENT,\n DELETE_DEPARTMENT,\n TEAMS_BY_DEPARTMENT\n} from '../actionTypes';\nimport generateAuthRequest from \"../../helpers/generateAuthRequest\";\n\nexport const searchDepartments = (params) => ({\n type: SEARCH_DEPARTMENTS,\n payload: generateAuthRequest('GET','api/Department', params)\n});\n\nexport const addDepartment = (params) => ({\n type: ADD_DEPARTMENT,\n payload: generateAuthRequest('POST','api/Department', params)\n});\n\nexport const updateDepartment = (params) => ({\n type: UPDATE_DEPARTMENT,\n //payload: generateAuthRequest('PUT',`api/Department/${params.departmentId}`, params)\n payload: generateAuthRequest('PUT',`api/Department/update/${params.departmentId}`, params)\n}); \n\nexport const deleteDepartment = (params) => ({\n type: DELETE_DEPARTMENT,\n //payload: generateAuthRequest('DELETE',`api/Department/${params.departmentId}`, params)\n payload: generateAuthRequest('DELETE',`api/Department/delete/${params.departmentId}`, params)\n});\n\nexport const getTeamsByDepartment = (params) => ({\n type: TEAMS_BY_DEPARTMENT,\n payload: generateAuthRequest('GET','api/Team', params)\n});\n","import { \n SEARCH_LOCATIONS,\n ADD_LOCATION,\n UPDATE_LOCATION,\n DELETE_LOCATION,\n DEPARTMENTS_BY_LOC\n} from '../actionTypes';\nimport generateAuthRequest from \"../../helpers/generateAuthRequest\";\n\nexport const searchLocations = (params) => ({\n type: SEARCH_LOCATIONS,\n payload: generateAuthRequest('GET','api/Location', params)\n});\n\nexport const addLocation = (params) => ({\n type: ADD_LOCATION,\n payload: generateAuthRequest('POST','api/Location', params)\n});\n\nexport const updateLocation = (params) => ({\n type: UPDATE_LOCATION,\n //payload: generateAuthRequest('PUT',`api/Location/${params.locationId}`, params)\n payload: generateAuthRequest('PUT',`api/Location/update/${params.locationId}`, params)\n}); \n\nexport const deleteLocation = (params) => ({\n type: DELETE_LOCATION,\n //payload: generateAuthRequest('DELETE',`api/Location/${params.locationId}`, params)\n payload: generateAuthRequest('DELETE',`api/Location/delete/${params.locationId}`, params)\n});\n\nexport const getDepartmentsByLoc = (params) => ({\n type: DEPARTMENTS_BY_LOC,\n payload: generateAuthRequest('GET','api/Department', params)\n});\n","import React, { useState, useEffect } from 'react';\nimport Select from 'react-select';\nimport { connect, useDispatch } from \"react-redux\";\nimport { searchUsers } from \"../../redux/users/action\"; \n\nconst MembersSelect = (props) => {\n const dispatch = useDispatch();\n const {className, placeholder, onChange, selectedOption = ''} = props;\n const [selectedVal, setSelectedVal] = useState(selectedOption);\n const [memberOptions, setMemberOptions] = useState([]);\n\n useEffect(() => {\n async function fetchData() {\n const abortController = new AbortController();\n if(props.allMemberIds.length === 0){\n await dispatch(searchUsers({ GetAll: true }))\n }\n return () => {\n abortController.abort();\n };\n }\n fetchData();\n }, []);\n \n useEffect(() => {\n if(props.allMemberIds.length > 0){ \n setMemberOptions(\n props.allMemberIds.map((id) => {\n return {\n value: id,\n label: props.members[id].firstName + ' ' + props.members[id].lastName\n };\n })\n );\n }else{\n setMemberOptions([]);\n }\n \n }, [props.allMemberIds.length, props.memberIds])\n\n const optionChangeHandler = (e) => {\n setSelectedVal(e.value);\n onChange(e.value); \n };\n\n return(\n \n option.value === selectedVal)\n }\n />\n );\n};\n\nconst mapStateToProps = (state) => ({\n allMemberIds: state.user.allIds,\n members: state.user.byId,\n memberIds: state.user.searchIds\n});\n\nexport default connect(mapStateToProps, null)(MembersSelect);\n","import React from 'react';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport Alert from '@material-ui/lab/Alert';\n\nconst SnackbarSuccess = ({ open, onClose, children }) => {\n return (\n \n \n {children}\n \n \n );\n};\n\nexport default SnackbarSuccess;\n","import React, { useState, useEffect } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport Select from \"react-select\";\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport AddButton from \"../../components/auth/button\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport DepartmentMembers from \"../Departments/departmentMembers\";\nimport Backdrop from \"../../components/backdrop/backdrop\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport config from \"../../config/api.config.js\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport \"../../assets/css/pages/positions.scss\";\nimport App from \"../../App\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n searchDepartments,\n addDepartment,\n updateDepartment,\n deleteDepartment,\n} from \"../../redux/department/action\";\nimport {\n searchLocations,\n getDepartmentsByLoc,\n} from \"../../redux/location/action\";\nimport { searchUsers } from \"../../redux/users/action\";\nimport MembersSelect from \"../../components/dropdown/membersSelect\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\n\nconst Departments = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [locations, setLocations] = useState(null);\n const [locationsForAdd, setLocationsForAdd] = useState(null);\n const [selectedSort, setSelectedSort] = useState(1);\n const [search, setSearch] = useState(\"\");\n const [openModal, setOpenModal] = useState(false);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [openDepartmentMember, setOpenDepartmentMember] = useState(false);\n const [selectedDepartment, setSelectedDepartment] = useState(\"\");\n const [departmentMembers, setDepartmentMembers] = useState(null);\n const [departmentName, setDepartmentName] = useState(\"\");\n const [departmentEditId, setDepartmentEditId] = useState(null);\n const [locationId, setLocationId] = useState(null);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [defaultPage, setDefaultPage] = useState(false);\n const [openBackdrop, setOpenBackdrop] = useState(false);\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [selectedHead, setSelectedHead] = useState(\"\");\n const [selectedLocation, setSelectedLocation] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [isAdmin, setIsAdmin] = useState(false);\n const [successMessage, setSuccessMessage] = useState(\"\");\n\n const AddDepartment = async () => {\n if (!isAdmin) return;\n\n await setButtonClicked(true);\n let reqParams = {\n name: departmentName,\n locationId: selectedLocation.add.value,\n };\n if (reqParams.headId) {\n reqParams.headId = selectedHead;\n }\n await dispatch(addDepartment(reqParams))\n .then((res) => {\n setButtonClicked(false);\n setOpenModal(false);\n setDepartmentName(\"\");\n setSelectedLocation({\n ...selectedLocation,\n add: null,\n });\n updateDepartmentsByLoc(locationId);\n setSelectedHead(\"\");\n setSuccessMessage(\"Abteilung erfolgreich hinzugefügt.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Hinzufügen von Abteilung.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const EditDepartmentModal = (id, name, locationId, headId) => {\n if (!isAdmin) return;\n\n setLocationId(locationId);\n setDepartmentEditId(id);\n setDepartmentName(name);\n setOpenModal(true);\n setSelectedHead(headId);\n };\n\n const EditDepartment = async () => {\n let reqData = {\n departmentId: departmentEditId,\n name: departmentName,\n headId: selectedHead,\n locationId: locationId,\n };\n await setButtonClicked(true);\n dispatch(updateDepartment(reqData))\n .then((res) => {\n setButtonClicked(false);\n setOpenModal(false);\n setDepartmentEditId(null);\n setDepartmentName(\"\");\n setSelectedHead(\"\");\n updateDepartmentsByLoc(locationId);\n setSuccessMessage(\"Abteilung erfolgreich bearbeitet.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n setButtonClicked(false);\n let errMsg = \"Fehler beim Bearbeiten der Abteilung.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const DeleteDepartmentModal = (id, locationId) => {\n if (!isAdmin) return;\n\n setLocationId(locationId);\n setDepartmentEditId(id);\n setConfirmDeleteModal(true);\n };\n\n const DeleteDepartment = async () => {\n await setButtonClicked(true);\n\n dispatch(\n deleteDepartment({\n departmentId: departmentEditId,\n })\n )\n .then((res) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setDepartmentEditId(null);\n dispatch(\n searchDepartments({\n Sort: selectedSort,\n PageNumber: 1,\n Name: search.trim(),\n LocationId: null,\n })\n );\n setSuccessMessage(\"Abteilung wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n updateDepartmentsByLoc(locationId);\n })\n .catch(function (err) {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setDepartmentEditId(null);\n let errMsg = \"Fehler bei Löschen der Abteilung.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n searchDepartments({\n PageNumber: newPage,\n Name: search,\n Sort: selectedSort,\n })\n );\n };\n\n const getSearchValue = (search) => {\n setSearch(search.trim());\n if (props.currentUser) {\n dispatch(\n searchDepartments({\n PageNumber: 1,\n Name: search.trim(),\n DepartmentId: selectedLocation.search.value,\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n searchDepartments({\n Sort: e.value,\n })\n );\n };\n\n const getDeparmentsByLocation = (e) => {\n setSelectedLocation({ add: selectedLocation, search: e });\n dispatch(searchDepartments({ LocationId: e.value }));\n setDefaultPage(!defaultPage);\n };\n\n const handlePositionMember = async (\n departmentId,\n name,\n locationId,\n search = null,\n pageNumber = 1\n ) => {};\n\n useEffect(\n () => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n\n if (props.currentUser.role === \"Admin\") {\n setIsAdmin(true);\n }\n\n if (props.allDepartmentIds.length === 0) {\n dispatch(searchDepartments({ GetAll: true }));\n }\n\n if (props.allLocationIds.length === 0) {\n dispatch(searchLocations({ GetAll: true }));\n }\n\n dispatch(\n searchDepartments({\n Sort: 1,\n PageNumber: 1,\n LocationId: null,\n })\n );\n\n if (props.memberIds.length === 0) {\n dispatch(searchUsers({ GetAll: true }));\n }\n\n return () => {\n abortController.abort();\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.currentUser]\n );\n\n useEffect(() => {\n if (props.allLocationIds.length > 0) {\n const _loc = new Array({ value: null, label: \"All\" });\n props.allLocationIds.forEach((id) => {\n _loc.push({\n value: id,\n label: props.allLocations[id].name,\n });\n });\n setLocations(_loc);\n setLocationsForAdd(\n props.allLocationIds.map((id) => {\n return {\n value: id,\n label: props.allLocations[id].name,\n };\n })\n );\n } else {\n setLocations(null);\n setLocationsForAdd(null);\n }\n }, [props.allLocationIds, props.departmentIds]);\n\n useEffect((_) => {\n setSearch(\"\");\n }, []);\n\n const updateDepartmentsByLoc = (locId) => {\n if (\n Object.keys(props.departmentsByLoc).length > 0 &&\n props.departmentsByLoc[locId]\n ) {\n dispatch(getDepartmentsByLoc({ LocationId: locId }));\n }\n };\n\n const headChangeHandler = (selectedVal) => {\n setSelectedHead(selectedVal);\n };\n\n const getHeadName = (id) => {\n let name = \"\";\n if (id && props.members[id]) {\n name = props.members[id].firstName + \" \" + props.members[id].lastName;\n }\n return name;\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n \n
\n
\n \n 0 ? \"\" : \"disabled\"\n }`}\n onClick={() => setOpenModal(true)}\n disabled={isAdmin && locations?.length > 0 ? false : true}\n >\n {t(\"Neu\")}\n \n\n {\n setOpenModal(false);\n setDepartmentName(\"\");\n setSelectedLocation({ ...selectedLocation, add: null });\n setDepartmentEditId(null);\n setSelectedHead(\"\");\n }}\n >\n {!departmentEditId ? (\n {\n setSelectedLocation({ add: e });\n }}\n options={locationsForAdd}\n isSearchable={true}\n />\n ) : null}\n setDepartmentName(target.value)}\n />\n \n
\n {\n setOpenModal(false);\n setDepartmentName(\"\");\n setDepartmentEditId(null);\n setSelectedHead(\"\");\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {departmentEditId ? \"Bearbeiten\" : \"Hinzufügen\"}\n \n
\n \n\n setConfirmDeleteModal(false)}\n >\n

{t(\"Abteilung löschen?\")}

\n
\n setConfirmDeleteModal(false)}>\n {t(\"Abbrechen\")}\n \n \n {t(\"Löschen\")}\n \n
\n \n\n setOpenDepartmentMember(false)}\n />\n
\n
\n \n {\n getDeparmentsByLocation(e);\n }}\n options={locations}\n isSearchable={true}\n />\n
\n \n
\n\n \n \n \n \n {t(\"Nr.\")}.\n {t(\"Abteilungsname\")}\n {t(\"Standort\")}\n {t(\"Verantwortlich\")}\n {isAdmin && {t(\"Datenbank ID\")}}\n {t(\"Optionen\")}\n \n \n\n \n {props.isLoading ? (\n \n \n
\n \n
\n \n
\n ) : /*search &&*/ !props.isLoading &&\n (!props.departmentIds.length || !locations?.length) ? (\n \n \n {t(\"nothing_found_department\")}\n \n \n ) : (\n <>\n {!props.isLoading &&\n props.departmentIds.length > 0 &&\n props.departmentIds?.map((id) => {\n return (\n props.departments[id] && (\n \n \n {props.departments[id].no + \".\"}\n \n \n {props.departments[id].name}\n \n \n {\n locations?.find(\n (p) =>\n p.value === props.departments[id].locationId\n )?.label\n }\n \n \n {getHeadName(props.departments[id].headId)}\n \n {isAdmin && (\n \n {id}\n \n )}\n \n
\n \n EditDepartmentModal(\n id,\n props.departments[id].name,\n props.departments[id].locationId,\n props.departments[id].headId\n )\n }\n />\n \n DeleteDepartmentModal(\n id,\n props.departments[id].locationId\n )\n }\n />\n
\n
\n
\n )\n );\n })}\n \n )}\n
\n
\n {!props.departmentIds?.length && search ? null : (\n <>\n {Object.keys(props.pageParams).length > 0 && (\n \n )}\n \n )}\n
\n
\n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n isLoading: state.department.isLoading,\n allDepartmentIds: state.department.allIds,\n departments: state.department.byId,\n departmentIds: state.department.searchIds,\n pageParams: state.department.pageParams,\n allLocationIds: state.location.allIds,\n allLocations: state.location.byId,\n departmentsByLoc: state.location.departments,\n memberIds: state.user.allIds,\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(Departments);\n","import React /* , { useState } */ from \"react\";\nimport { Dialog } from \"@material-ui/core\";\n// import Button from '@material-ui/core/Button';\n// import Pagination from '../../components/pagination/pagination';\n// import Tooltip from '@material-ui/core/Tooltip';\nimport AbbrechenIcon from \"@material-ui/icons/Cancel\";\n\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\n// import Search from '../../components/search/search';\n\nimport { useTranslation } from \"react-i18next\";\n\nconst CategoryModal = (props) => {\n const { t } = useTranslation();\n const {\n categoryName,\n // categoryId,\n open,\n closeModal,\n } = props;\n // const [defaultPage, setDefaultPage] = useState(false);\n // const [search, setSearch] = useState('');\n\n // const searchCategory = (search) => {\n // setDefaultPage(!defaultPage);\n\n // // getSerachedCategory(categoryName, categoryId, search);\n // };\n\n return (\n \n
\n \n \n
\n\n
\n

{t(\"nothing_found_category\")}

\n
\n {/* \n \n \n \n\n
\n {/*
{renderCategories()}
\n \n {/* \n
*/}\n \n );\n};\n\nexport default CategoryModal;\n","import React, { useState, useEffect } from \"react\";\nimport axios from \"axios\";\nimport { connect } from \"react-redux\";\n\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\n\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Search from \"../../components/search/search\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\n\nimport CategoryModal from \"./categoryModal\";\n\nimport config from \"../../config/api.config.js\";\n\nimport AddIcon from \"@material-ui/icons/Add\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\n\nimport { useTranslation } from \"react-i18next\";\nimport App from \"../../App\";\nimport { logError } from \"../../helpers/helpers\";\n\nconst Categories = (props) => {\n const { t } = useTranslation();\n const [categories, setCategories] = useState(null);\n const [search, setSearch] = useState(\"\");\n const [defaultPage, setDefaultPage] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [categoryName, setCategoryName] = useState(\"\");\n const [categoryEditId, setCategoryEditId] = useState(null);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [selectedSort, setSelectedSort] = useState(1);\n const [openCategoryModal, setOpenCategoryModal] = useState(false);\n const [selectedCategory, setSelectedCategory] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const [params, setParams] = useState({\n currentPage: 1,\n totalPages: 1,\n pageSize: 10,\n totalCount: 0,\n hasNext: false,\n hasPrevious: false,\n });\n\n const getCategories = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Category`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n PageSize: 10,\n ...params,\n },\n })\n .then((res) => {\n const {\n currentPage,\n totalPages,\n pageSize,\n totalCount,\n hasNext,\n hasPrevious,\n } = res.data;\n setParams({\n currentPage,\n totalPages,\n pageSize,\n totalCount,\n hasNext,\n hasPrevious,\n });\n\n let categoryNo = currentPage * 5 - 5;\n setCategories(\n res.data.categories.map((dep, i) => {\n return {\n no: ++categoryNo,\n id: dep.id,\n name: dep.name,\n };\n })\n );\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n const AddCategory = async () => {\n await setButtonClicked(true);\n await axios\n .post(`${config.apiURL}/api/Category`, {\n name: categoryName,\n workspaceId: props.currentUser.workspaceId,\n })\n .then((res) => {\n setButtonClicked(false);\n setOpenModal(false);\n setCategoryName(\"\");\n getCategories();\n })\n .catch((err) => {\n setButtonClicked(false);\n setOpenModal(false);\n setCategoryName(\"\");\n });\n };\n\n const EditCategoryModal = (id, name) => {\n setCategoryEditId(id);\n setCategoryName(name);\n setOpenModal(true);\n };\n\n const EditCategory = async () => {\n await setButtonClicked(true);\n await axios\n .put(`${config.apiURL}/api/Category/${categoryEditId}`, {\n name: categoryName,\n workspaceId: props.currentUser.workspaceId,\n })\n .then((res) => {\n setButtonClicked(false);\n setOpenModal(false);\n setCategoryName(\"\");\n getCategories();\n })\n .catch((err) => {\n setButtonClicked(false);\n setOpenModal(false);\n setCategoryName(\"\");\n });\n };\n\n const DeleteCategoryModal = (id) => {\n setCategoryEditId(id);\n setConfirmDeleteModal(true);\n };\n\n const DeleteCategory = async () => {\n await setButtonClicked(true);\n await axios\n .delete(`${config.apiURL}/api/Category/${categoryEditId}`, {\n data: {\n workspaceId: props.currentUser.workspaceId,\n },\n })\n .then((res) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setCategoryEditId(null);\n getCategories();\n })\n .catch((err) => {\n setErrorMessage(err.response.data.ERROR[0]);\n setOpenAlert(true);\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setCategoryEditId(null);\n });\n };\n\n const getPageNumber = (newPage) => {\n getCategories({\n PageNumber: newPage,\n Name: search,\n Sort: selectedSort,\n });\n };\n\n const getSearchValue = (search) => {\n setSearch(search);\n if (props.currentUser) {\n getCategories({\n PageNumber: 1,\n Name: search,\n });\n }\n setDefaultPage(!defaultPage);\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n getCategories({ Sort: e.value });\n };\n\n const handleCategoryModal = async (\n categoryId,\n name,\n search = null,\n pageNumber = 1\n ) => {\n setSelectedCategory(name);\n setCategoryEditId(categoryId);\n\n setOpenCategoryModal(true);\n };\n\n useEffect(\n (_) => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n getCategories();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n },\n [props.currentUser]\n );\n\n useEffect((_) => {\n setSearch(\"\");\n }, []);\n\n return (\n \n setOpenAlert(false)}>\n {errorMessage}\n \n \n
\n
\n \n setOpenModal(true)}\n >\n {t(\"add_new\")}\n \n\n {\n setOpenModal(false);\n setCategoryName(\"\");\n setCategoryEditId(null);\n }}\n >\n setCategoryName(target.value)}\n />\n
\n {\n setOpenModal(false);\n setCategoryEditId(null);\n setCategoryName(\"\");\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {categoryEditId ? \"Edit\" : \"Add\"}\n \n
\n \n\n setConfirmDeleteModal(false)}\n >\n

{t(\"sure_delete_category\")}

\n
\n setConfirmDeleteModal(false)}>\n {t(\"Abbrechen\")}\n \n \n {t(\"delete\")}\n \n
\n \n\n setOpenCategoryModal(false)}\n />\n
\n \n
\n\n \n \n \n \n {t(\"No\")}.\n {t(\"Category\")}\n {t(\"Options\")}\n \n \n\n \n {loading ? (\n \n \n
\n \n
\n \n
\n ) : /*search &&*/ !loading && !categories?.length ? (\n \n \n {t(\"nothing_found_category\")}\n \n \n ) : (\n categories?.map((row) => (\n \n handleCategoryModal(row.id, row.name)}\n >\n {row.no + \".\"}\n \n\n handleCategoryModal(row.id, row.name)}\n >\n {row.name}\n \n\n \n
\n EditCategoryModal(row.id, row.name)}\n />\n DeleteCategoryModal(row.id)} />\n
\n
\n
\n ))\n )}\n
\n
\n {!categories?.length && search ? null : (\n \n )}\n
\n
\n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n});\n\nexport default connect(mapStateToProps, null)(Categories);\n","import React, { useEffect, useState } from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport { makeStyles } from '@material-ui/core/styles';\nimport config from '../../config/api.config.js';\nimport TextareaAutosize from '@material-ui/core/TextareaAutosize';\n\nimport './inputField.scss';\n\nimport { useTranslation } from 'react-i18next'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n '& input + fieldset': {\n borderColor: config.colorSecondary,\n borderWidth: 1.5,\n borderRadius : '25px'\n },\n '& label': {\n color: `${config.colorSecondary} !important`\n }\n }\n}));\n\nconst InputField = ({\n className,\n onChange,\n value,\n label,\n onKeyUp,\n buttonClicked = false,\n valid = true,\n errorMessage = null,\n rows,\n type\n}) => {\n const classes = useStyles();\n const { t } = useTranslation()\n\n const [emptyInput, setEmptyInput] = useState(false);\n useEffect(() => {\n if (value) setEmptyInput(true);\n else setEmptyInput(false);\n }, [value]);\n\n return (\n <>\n {type && type === 'multiline' ? (\n \n ): \n ()}\n \n );\n};\n\nexport default InputField;\n","import React from \"react\";\nimport HighlightOffIcon from \"@material-ui/icons/HighlightOff\";\n\nimport \"./filePreview.scss\";\n\nconst FilePreview = ({\n name,\n onClick,\n details = false,\n customClass = \"\",\n allowDelete = true,\n}) => {\n return (\n \n {!details && allowDelete ? : null}\n {customClass === \"\" &&

{name?.split(\".\")[1]}

}\n \n \n );\n};\n\nexport default FilePreview;\n","import { \n SEARCH_TEAMS,\n ADD_TEAM,\n UPDATE_TEAM,\n DELETE_TEAM\n} from '../actionTypes';\nimport generateAuthRequest from \"../../helpers/generateAuthRequest\";\n\nexport const searchTeams = (params) => ({\n type: SEARCH_TEAMS,\n payload: generateAuthRequest('GET','api/Team', params)\n});\n\nexport const addTeam = (params) => ({\n type: ADD_TEAM,\n payload: generateAuthRequest('POST','api/Team', params)\n});\n\nexport const updateTeam = (params) => ({\n type: UPDATE_TEAM,\n //payload: generateAuthRequest('PUT',`api/Team/${params.teamId}`, params)\n payload: generateAuthRequest('PUT',`api/Team/update/${params.teamId}`, params)\n}); \n\nexport const deleteTeam = (params) => ({\n type: DELETE_TEAM,\n //payload: generateAuthRequest('DELETE',`api/Team/${params.teamId}`, params)\n payload: generateAuthRequest('DELETE',`api/Team/delete/${params.teamId}`, params)\n});\n","import \"babel-polyfill\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { Dialog } from \"@material-ui/core\";\nimport { connect, useDispatch } from \"react-redux\";\nimport Select from \"react-select\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport { Editor } from \"@tinymce/tinymce-react\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport InputField from \"../../components/inputField/inputField\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport FilePreview from \"../../components/filePreview/filePreview\";\nimport { ReactComponent as Upload } from \"../../assets/images/upload.svg\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n searchLocations,\n getDepartmentsByLoc,\n} from \"../../redux/location/action\";\nimport {\n searchDepartments,\n getTeamsByDepartment,\n} from \"../../redux/department/action\";\nimport { searchTeams } from \"../../redux/team/action\";\nimport {\n updateArticle,\n insertArticleFile,\n deleteArticleFile,\n} from \"../../redux/article/action\";\nimport { searchMedias } from \"../../redux/media/action\";\nimport { useHistory } from \"react-router\";\nimport auth from \"../../auth\";\nimport config from \"../../config/api.config.js\";\nimport { getFileExtension, logError } from \"../../helpers/helpers\";\n\nvar content = '';\n\nconst ArticleModal = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const history = useHistory();\n const { open, closeModal, articleId, showSuccessMsg, showErrorMsg } = props;\n const [buttonClicked, setButtonClicked] = useState(false);\n const [departments, setDepartments] = useState([]);\n const [teams, setTeams] = useState([]);\n const [locations, setLocations] = useState([]);\n const [typeError, setTypeError] = useState(null);\n const [sizeError, setSizeError] = useState(null);\n const [departmentName, setDepartmentName] = useState(\"\");\n const [categories, setCategories] = useState([]);\n const [categoryName, setCategoryName] = useState(\"\");\n /*const [editorState, setEditorState] = useState(() =>\n EditorState.createEmpty()\n );*/\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [selectedDepartments, setSelectedDepartments] = useState([]);\n const [selectedTeams, setSelectedTeams] = useState([]);\n const [selectedLocations, setSelectedLocations] = useState([]);\n const [readable, setReadable] = useState([]);\n const [readable2, setReadable2] = useState([]);\n const [selectedOptionsLocations, setSelectedOptionsLocations] = useState(\n null\n );\n const [selectedOptionsDepartments, setSelectedOptionsDepartments] = useState(\n null\n );\n const [selectedOptionsTeams, setSelectedOptionsTeams] = useState(null);\n const [commentable, setCommentable] = useState(false);\n const [rateable, setRateable] = useState(false);\n const handleCommentable = (e) => {\n setCommentable(e.target.checked);\n };\n const handleRateable = (e) => {\n setRateable(e.target.checked);\n };\n const [selectedOptionsCategories, setSelectedOptionsCategories] = useState(\n []\n );\n\n const [values, setValues] = useState({\n name: \"\",\n });\n const [selectedFile, setSelectedFile] = useState([]);\n const [files, setFiles] = useState([]);\n const [tempSelectedFile, setTempSelectedFile] = useState([]);\n const [allUploadedFiles, setAllUploadedFiles] = useState([]);\n const [medias, setMedias] = useState([]);\n const [selectedMedias, setSelectedMedias] = useState([]);\n const [mediaOptions, setMediaOptions] = useState([]);\n const [imageOptions, setImageOptions] = useState([]);\n const [articleMainImage, setArticleMainImage] = useState(null);\n\n const handleChange = (prop) => (event) => {\n setValues({ ...values, [prop]: event.target.value });\n };\n\n const onFileChange = (event) => {\n let file = event.target.files[0];\n\n if (file.size > 20 * 1024 * 1024) {\n setSizeError(\"Please upload a file smaller than 20 MB\");\n return false;\n }\n \n if (!config.allowedFileExtensions.includes(getFileExtension(file.name))) {\n setTypeError(\"File type not support\");\n return false;\n }\n\n if (event.target.files.length <= 0) return;\n\n // eslint-disable-next-line eqeqeq\n if (!selectedFile.find((f) => f.name == event.target.files[0].name)) {\n let uploadedFiles = [...tempSelectedFile, event.target.files[0]];\n setSelectedFile([]);\n sortFilesByType(uploadedFiles).then((data) => {\n setTempSelectedFile(uploadedFiles);\n setSelectedFile(data);\n updateAllUploadedFiles(files, data);\n });\n }\n setSizeError(null);\n setTypeError(null);\n };\n\n const resetValues = () => {\n setValues({ ...values, name: \"\" });\n content = '';\n setSelectedLocations([]);\n setSelectedDepartments([]);\n setSelectedTeams([]);\n setSelectedFile([]);\n setTempSelectedFile([]);\n setFiles([]);\n setAllUploadedFiles([]);\n setSelectedOptionsLocations(null);\n setSelectedOptionsDepartments(null);\n setSelectedOptionsTeams(null);\n setReadable([]);\n setReadable2([]);\n setSelectedMedias([]);\n setMediaOptions(medias);\n setArticleMainImage([]);\n };\n\n const getDepartments = async (locid) => {\n if (\n locid &&\n (!props.departmentsByLoc ||\n Object.keys(props.departmentsByLoc)?.length === 0 ||\n !props.departmentsByLoc[locid] ||\n props.departmentsByLoc[locid].length === 0)\n ) {\n await dispatch(getDepartmentsByLoc({ LocationId: locid }));\n } else {\n setDepartmentDropdown(locid);\n }\n };\n\n useEffect(() => {\n if (selectedOptionsLocations?.value) {\n setDepartmentDropdown(selectedOptionsLocations.value);\n }\n }, [props.departmentsByLoc]);\n\n const setDepartmentDropdown = (locId) => {\n if (props.departmentsByLoc[locId]) {\n setDepartments(\n props.departmentsByLoc[locId].map((dep) => {\n return {\n value: dep.id,\n label: dep.name,\n };\n })\n );\n } else {\n setDepartments([]);\n }\n };\n\n const getTeams = async (depid) => {\n if (\n depid &&\n (!props.teamsByDepartment ||\n Object.keys(props.teamsByDepartment)?.length === 0 ||\n !props.teamsByDepartment[depid] ||\n props.teamsByDepartment[depid].length === 0)\n ) {\n await dispatch(getTeamsByDepartment({ DepartmentId: depid }));\n } else {\n setTeamsDropdown(depid);\n }\n };\n\n useEffect(() => {\n if (selectedOptionsDepartments?.value) {\n setTeamsDropdown(selectedOptionsDepartments.value);\n }\n }, [props.teamsByDepartment]);\n\n const setTeamsDropdown = (depId) => {\n if (depId && props.teamsByDepartment[depId]) {\n setTeams(\n props.teamsByDepartment[depId].map((team) => {\n return {\n value: team.id,\n label: team.name,\n };\n })\n );\n } else {\n setTeams([]);\n }\n };\n\n const getLocations = async () => {\n if (props.locationIds.length === 0) {\n dispatch(searchLocations({ GetAll: true }));\n }\n };\n\n const onEditorStateChange = (editorState) => {\n\t content = editorRef.current.getContent();\n };\n\n const PreviewArticle = () => {\n const readbalesfinal = [];\n if (readable.length > 0) {\n readable.forEach((department, i) => {\n readbalesfinal.push({\n location: readable[i].locationId,\n department: readable[i].departmentId,\n team: readable[i].teamId,\n });\n });\n }\n\n let mdsArr = [];\n selectedMedias.map((item) => {\n mdsArr.push(item.id);\n });\n\n let reqData = {\n title: values.name,\n readable: readbalesfinal,\n content: editorRef.current.getContent(),\n commentable: commentable,\n rateable: rateable,\n medias: mdsArr,\n authorId: auth.getId(),\n coverImage: articleMainImage\n };\n\n resetValues();\n if (props.type && props.type === \"preview-edit\") {\n history.replace(`/article/preview`, {\n article: reqData,\n attachments: tempSelectedFile,\n });\n closeModal();\n } else {\n history.push(\"article/preview\", {\n article: reqData,\n attachments: tempSelectedFile,\n });\n }\n };\n\n const EditArticle = async () => {\n setOpenAlert(false);\n await setButtonClicked(true);\n const readbalesfinal = [];\n let filesToUpload = tempSelectedFile;\n if (readable.length > 0) {\n readable.forEach((department, i) => {\n readbalesfinal.push({\n location: readable[i].locationId,\n department: readable[i].departmentId,\n team: readable[i].teamId,\n });\n });\n }\n\n let mdsArr = [];\n selectedMedias.map((item) => {\n mdsArr.push(item.id);\n });\n\n let _coverImg = null;\n if (articleMainImage?.id) {\n _coverImg = articleMainImage;\n } else {\n //set newly selected picture as cover image\n if (articleMainImage) {\n filesToUpload = tempSelectedFile.filter(\n (file) => file !== articleMainImage\n );\n const coverImgData = new FormData();\n coverImgData.append(\"File\", articleMainImage);\n await dispatch(\n insertArticleFile({\n articleId: articleId,\n formData: coverImgData,\n })\n )\n .then((res) => {\n _coverImg = res.value?.data;\n })\n .catch((err) => {\n setErrorMessage(\"Failed to upload cover image.\");\n setOpenAlert(true);\n });\n //getArticleById();\n } else {\n _coverImg = null;\n }\n }\n\n dispatch(\n updateArticle({\n articleId: articleId,\n title: values.name,\n readable: readbalesfinal,\n content: editorRef.current.getContent(),\n commentable: commentable,\n rateable: rateable,\n medias: mdsArr,\n coverImage: _coverImg,\n })\n )\n .then((res) => {\n let _errMsg = \"\";\n if (filesToUpload.length > 0) {\n Promise.all([\n filesToUpload?.forEach(async (file) => {\n const formData = new FormData();\n formData.append(\"File\", file);\n return await dispatch(\n insertArticleFile({\n articleId: articleId,\n formData: formData,\n })\n ).catch((err) => {\n _errMsg = \"Fehler beim Hochladen der Anhänge.\";\n });\n }),\n ])\n .then(() => {\n setButtonClicked(false);\n closeModal();\n resetValues();\n setTimeout(() => {\n if (_errMsg) {\n showErrorMsg(_errMsg);\n } else {\n showSuccessMsg(\"Artikel wurde erfolgreich bearbeitet.\");\n setOpenAlert(true);\n }\n }, 1500);\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n resetValues();\n });\n } else {\n setButtonClicked(false);\n closeModal();\n resetValues();\n showSuccessMsg(\"Artikel wurde erfolgreich bearbeitet.\");\n setOpenAlert(true);\n }\n })\n .catch(function (err) {\n logError(err);\n setButtonClicked(false);\n let errMsg = \"Fehler bei Bearbeiten des Artikels.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const getArticleById = async () => {\n if (props.articles[articleId]) {\n let articleDetails = props.articles[articleId];\n setFiles([]);\n if (articleDetails.files && articleDetails.files.length > 0) {\n sortFilesByType(articleDetails.files).then((data) => {\n setFiles(data);\n updateAllUploadedFiles(data, selectedFile);\n });\n }\n formatArticleEditData(articleDetails);\n }\n };\n\n useEffect(() => {\n let _existingImgs = files[0]?.Images ?? [];\n let _selectedImgs = selectedFile[0]?.Images ?? [];\n let _images = [..._existingImgs, ..._selectedImgs];\n\n const _options = [];\n if (_images.length > 0) {\n _images.forEach((img) => {\n let type = getFileExtension(img.name);\n if (config.allowedImageExtensions.includes(type)) {\n _options.push({\n value: img.id ?? `'new_image_'${img.name}`,\n label: img.originalName ?? img.name,\n data: img,\n });\n }\n });\n setImageOptions(_options);\n } else {\n setImageOptions(_options);\n }\n }, [files, selectedFile]);\n\n const formatArticleEditData = (articleDetails) => {\n setValues({ name: articleDetails.title });\n content = articleDetails.content;\n setSelectedOptionsDepartments(articleDetails.visibleDepartments);\n setSelectedOptionsTeams(articleDetails.visibleTeams);\n setSelectedOptionsLocations(articleDetails.visibleLocations);\n setCommentable(articleDetails.commentable);\n setRateable(articleDetails.rateable);\n setArticleMainImage(articleDetails.coverImage);\n\n if (articleDetails.readable.length > 0) {\n let temp1 = [];\n let temp2 = [];\n\n articleDetails.readable.forEach((item, i) => {\n let tempdata = {};\n let tempdata2 = {};\n tempdata.locationId = item.location;\n tempdata.departmentId = item.department;\n tempdata.teamId = item.team;\n tempdata2.locationId = item.location\n ? props.locations?.[item.location]?.name\n : \"\";\n tempdata2.departmentId = item.department\n ? props.departments?.[item.department]?.name\n : \"\";\n tempdata2.teamId = item.team ? props.teams?.[item.team]?.name : \"\";\n temp2.push(tempdata2);\n temp1.push(tempdata);\n });\n setReadable2([...readable2, ...temp2]);\n setReadable([...readable, ...temp1]);\n }\n\n let mediasFilteredArray = medias.filter(function (n) {\n for (var i = 0; i < articleDetails?.medias?.length; i++) {\n if (n.value === articleDetails.medias[i]) {\n return true;\n }\n }\n return false;\n });\n\n let mdsArr = [];\n mediasFilteredArray.map((item) => {\n mdsArr.push({ id: item.value, name: item.label });\n });\n setSelectedMedias(mdsArr);\n };\n\n const sortFilesByType = async (files) => {\n let sortedFiles = {};\n let images = [];\n let documents = [];\n let medias = [];\n files.forEach((file, index) => {\n let type = getFileExtension(file.name);\n if (config.allowedImageExtensions.includes(type)) {\n images.push(file);\n } else if (config.allowedDocumentExtensions.includes(type)) {\n documents.push(file);\n } else if (config.allowedVideoExtensions.includes(type)\n || config.allowedAudioExtensions.includes(type)) {\n medias.push(file);\n }\n });\n\n if (images.length > 0 || documents.length > 0 || medias.length > 0) {\n sortedFiles.Images = images;\n sortedFiles.Documents = documents;\n sortedFiles.Medias = medias;\n return Object.keys(sortedFiles).map((key) => {\n return { [key]: sortedFiles[key] };\n });\n } else {\n return [];\n }\n };\n\n const deleteFile = async (file) => {\n await dispatch(\n deleteArticleFile({\n articleId: articleId,\n fileId: file.id,\n name: file.name,\n url: file.url,\n })\n )\n .then((res) => {\n if (articleMainImage?.id && articleMainImage.id === file.id) {\n setArticleMainImage(null);\n }\n if (props.articles?.[articleId]) {\n let _files = props.articles?.[articleId].files;\n setFiles([]);\n if (_files && _files.length > 0) {\n sortFilesByType(_files).then((data) => {\n setFiles(data);\n updateAllUploadedFiles(data, selectedFile);\n });\n }\n }\n })\n .catch((err) => {\n logError(err);\n let errMsg = \"Fehler bei Löschen der Anhänge.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const deleteFilePreview = (file) => {\n // eslint-disable-next-line eqeqeq\n const tempFiles = tempSelectedFile.filter((f) => f.name != file.name);\n if (articleMainImage === file) {\n setArticleMainImage(null);\n }\n\n sortFilesByType(tempFiles).then((data) => {\n setTempSelectedFile(tempFiles);\n setSelectedFile(data);\n updateAllUploadedFiles(files, data);\n });\n };\n\n const handleReadable = () => {\n let tempdata = {\n locationId: \"\",\n departmentId: \"\",\n teamId: \"\",\n };\n let tempdata2 = {\n locationId: \"\",\n departmentId: \"\",\n teamId: \"\",\n };\n\n tempdata.locationId = selectedOptionsLocations.value;\n tempdata.departmentId = selectedOptionsDepartments\n ? selectedOptionsDepartments.value\n : null;\n tempdata.teamId = selectedOptionsTeams ? selectedOptionsTeams.value : null;\n\n tempdata2.locationId = selectedOptionsLocations.label;\n tempdata2.departmentId = selectedOptionsDepartments\n ? selectedOptionsDepartments.label\n : \"Null\";\n tempdata2.teamId = selectedOptionsTeams\n ? selectedOptionsTeams.label\n : \"Null\";\n\n setReadable2([...readable2, tempdata2]);\n\n setReadable([...readable, tempdata]);\n\n setSelectedOptionsLocations(null);\n setSelectedOptionsDepartments(null);\n setSelectedOptionsTeams(null);\n getLocations();\n setDepartments([]);\n setTeams([]);\n };\n\n const handleDelete = (i) => {\n var array = [...readable];\n array.splice(i, 1);\n setReadable(array);\n\n var array2 = [...readable2];\n array2.splice(i, 1);\n setReadable2(array2);\n };\n\n useEffect(() => {\n if (props.currentUser) {\n if (props.locationIds.length === 0 && open) {\n dispatch(searchLocations({ GetAll: true }));\n }\n if (props.mediaIds.length === 0) {\n dispatch(searchMedias({ GetAll: true }));\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser, open]);\n\n useEffect(() => {\n if (props.locationIds.length > 0) {\n setLocations(\n props.locationIds.map((id) => {\n return {\n value: id,\n label: props.locations[id].name,\n };\n })\n );\n } else {\n setLocations([]);\n }\n }, [props.locationIds.length]);\n\n useEffect(async () => {\n if (open) {\n if (articleId) {\n if (props.locationIds.length === 0) {\n await dispatch(searchLocations({ GetAll: true }));\n }\n if (props.departmentIds.length === 0) {\n await dispatch(searchDepartments({ GetAll: true }));\n }\n if (props.teamIds.length === 0) {\n await dispatch(searchTeams({ GetAll: true }));\n }\n getArticleById();\n } else {\n if (\n props.type &&\n props.type === \"preview-edit\" &&\n Object.keys(props.previewData)?.length\n ) {\n let articleDetails = props.previewData.article;\n formatArticleEditData(articleDetails);\n setSelectedFile([]);\n sortFilesByType(props.previewData.attachments).then((data) => {\n setTempSelectedFile(props.previewData.attachments);\n setSelectedFile(data);\n updateAllUploadedFiles(files, data);\n });\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [articleId, open]);\n\n useEffect(() => {\n if (props.mediaIds.length > 0) {\n const _medias = [];\n props.mediaIds.forEach((id) => {\n _medias.push({\n value: id,\n label: props.medias[id].title,\n url: props.medias[id].name,\n });\n });\n setMedias(_medias);\n setMediaOptions(_medias);\n } else {\n setMediaOptions([]);\n setMedias([]);\n }\n }, [props.mediaIds.length, open]);\n\n useEffect(() => {\n if (selectedMedias.length > 0) {\n let _mediaOptons = medias;\n selectedMedias.forEach((selectedMedias) => {\n _mediaOptons = _mediaOptons?.filter((item) => {\n return item.value !== selectedMedias.id;\n });\n });\n setMediaOptions(_mediaOptons);\n } else {\n setMediaOptions(medias);\n }\n }, [selectedMedias]);\n\n const updateAllUploadedFiles = (existingFiles, newFiles) => {\n let temp = [];\n setAllUploadedFiles([]);\n if (existingFiles.length > 0 && newFiles.length > 0) {\n existingFiles.map(function (existingFile, i) {\n let type = Object.keys(existingFile)[0];\n if (type === \"Images\") {\n temp.push({\n Images: [...existingFiles[i][\"Images\"], ...newFiles[i][\"Images\"]],\n });\n } else if (type === \"Documents\") {\n temp.push({\n Documents: [\n ...existingFiles[i][\"Documents\"],\n ...newFiles[i][\"Documents\"],\n ],\n });\n } else if (type === \"Medias\") {\n temp.push({\n Medias: [...existingFiles[i][\"Medias\"], ...newFiles[i][\"Medias\"]],\n });\n }\n });\n setAllUploadedFiles(temp);\n }\n };\n\n const DeleteSelectedMedia = (id) => {\n const newArrr = selectedMedias.filter((item) => {\n return item.id !== id;\n });\n setSelectedMedias(newArrr);\n };\n\n const editorRef = useRef(null);\n\n return (\n {\n resetValues();\n closeModal();\n }}\n aria-labelledby=\"dialog-title\"\n aria-describedby=\"dialog-description\"\n className=\"department-members articles-modal\"\n >\n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n
\n \n
\n {\n resetValues();\n closeModal();\n }}\n >\n {t(\"Abbrechen\")}\n \n 0)\n ? true\n : false*/\n }\n buttonClicked={buttonClicked}\n onClick={articleId ? EditArticle : PreviewArticle}\n >\n {articleId ? `${t(\"Speichern\")}` : `${t(\"preview\")}`}\n \n
\n
\n
\n
\n \n
\n\n editorRef.current = editor}\n id='tinymce_article'\n initialValue={content || '

'}\n onEditorChange={onEditorStateChange}\n init={{\n height: 500,\n menubar: false,\n plugins: [\n 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap',\n 'anchor', 'searchreplace', 'visualblocks', 'code', 'fullscreen',\n 'insertdatetime', 'media', 'table', 'preview', 'help', 'wordcount'\n ],\n toolbar: 'undo redo | blocks | ' +\n 'bold italic forecolor | alignleft aligncenter ' +\n 'alignright alignjustify | bullist numlist outdent indent | ' +\n 'removeformat | help',\n content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px }'\n }}\n />\n\n
\n \n \n
\n\n
\n {typeError ? {typeError} : null}\n {sizeError ? {sizeError} : null}\n

{t(\"Hinzugefügte Dateien\")}

\n {allUploadedFiles.length > 0 && (\n
\n {allUploadedFiles?.map(\n (type, index) =>\n type[Object.keys(type)[0]].length > 0 && (\n
\n {Object.keys(type)[0]}\n {type[Object.keys(type)[0]].map((file, indx) => (\n deleteFile(file)\n : () => deleteFilePreview(file)\n }\n customClass=\"modalFilePreview\"\n edit={file.id ? true : false}\n />\n ))}\n
\n )\n )}\n
\n )}\n {(selectedFile.length || (articleId && files.length !== 0)) &&\n allUploadedFiles.length === 0 ? (\n
\n {files?.map(\n (type, index) =>\n type[Object.keys(type)[0]].length > 0 && (\n
\n {Object.keys(type)[0]}\n {type[Object.keys(type)[0]].map((file, indx) => (\n deleteFile(file)}\n customClass=\"modalFilePreview\"\n edit={true}\n />\n ))}\n
\n )\n )}\n\n {selectedFile?.map(\n (type, index) =>\n type[Object.keys(type)[0]].length > 0 && (\n
\n {Object.keys(type)[0]}\n {type[Object.keys(type)[0]].map((file, indx) => (\n deleteFilePreview(file)}\n />\n ))}\n
\n )\n )}\n
\n ) : (\n allUploadedFiles.length === 0 && {t(\"nothing_uploaded\")}\n )}\n
\n\n
Coverbild festlegen
\n
\n \n option.value ===\n (articleMainImage?.id ??\n `'new_image_'${articleMainImage?.name}`)\n )}\n placeholder=\"Coverbild festlegen\"\n onChange={(e) => {\n setArticleMainImage(e?.data);\n }}\n options={imageOptions}\n isSearchable={true}\n isClearable={true}\n style={{ marginTop: \"10px\" }}\n />\n
\n\n
Medien hinzufügen
\n
\n {\n setSelectedMedias([\n ...selectedMedias,\n { id: e.value, name: e.label, url: e.url },\n ]);\n }}\n options={mediaOptions}\n isSearchable={true}\n style={{ marginTop: \"10px\" }}\n />\n
\n {selectedMedias.length > 0 ? (\n \n {selectedMedias.map((mediaa, index) => {\n return index !== 0 ? (\n \n {mediaa.name}{\" \"}\n DeleteSelectedMedia(mediaa.id)}\n width={30}\n height={30}\n />\n
\n ) : (\n \n {mediaa.name}{\" \"}\n DeleteSelectedMedia(mediaa.id)}\n width={30}\n height={30}\n />\n \n );\n })}\n \n ) : (\n \n )}\n\n \n Wer darf diesen Artikel lesen?\n \n\n
\n {\n setSelectedOptionsLocations(e);\n getDepartments(e.value);\n setTeams([]);\n setSelectedOptionsDepartments(null);\n setSelectedOptionsTeams(null);\n }}\n options={locations}\n isSearchable={true}\n />\n\n {\n setSelectedOptionsDepartments(e);\n getTeams(e.value);\n setSelectedOptionsTeams(null);\n }}\n options={departments}\n isSearchable={true}\n />\n
\n\n
\n {\n setSelectedOptionsTeams(e);\n }}\n options={teams}\n isSearchable={true}\n />\n
\n\n
\n \n {t(\"Regel hinzufügen\")}\n \n
\n

\n\n
Hinzugefügte Regeln:
\n

\n {readable2.length > 0 ? (\n readable2.map((p, i) => (\n \n
\n {i + 1}. Location: {p.locationId} / Department: {p.departmentId}{\" \"}\n / Team: {p.teamId}    \n handleDelete(i)}\n />\n
\n \n ))\n ) : (\n
\n
Keine Regeln. Artikel ist für alle zugänglich.
\n
\n )}\n \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n locationIds: state.location.allIds,\n locations: state.location.byId,\n departmentsByLoc: state.location.departments,\n teamsByDepartment: state.department.teams,\n articleIds: state.article.allIds,\n articles: state.article.byId,\n departmentIds: state.department.allIds,\n departments: state.department.byId,\n teamIds: state.team.allIds,\n teams: state.team.byId,\n mediaIds: state.media.allIds,\n medias: state.media.byId,\n});\n\nexport default connect(mapStateToProps, null)(ArticleModal);\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { connect, useDispatch } from \"react-redux\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport ArticleModal from \"./articleModal\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport config from \"../../config/api.config.js\";\nimport \"../../assets/css/pages/articles.scss\";\nimport { useTranslation } from \"react-i18next\";\nimport App from \"../../App\";\nimport { searchArticles, deleteArticle } from \"../../redux/article/action\";\nimport auth from \"../../auth\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\n\nconst Articles = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const history = useHistory();\n const [search, setSearch] = useState(\"\");\n const [defaultPage, setDefaultPage] = useState(false);\n const [selectedSort, setSelectedSort] = useState(1);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [articleEditId, setArticleEditId] = useState(null);\n const [openArticleModal, setOpenArticleModal] = useState(false);\n const [isAdmin, setIsAdmin] = useState(false);\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(\"\");\n\n const DeleteArticleModal = (id) => {\n if (!isAdmin && props.articles[id].authorId !== auth.getId()) return;\n\n setArticleEditId(id);\n setConfirmDeleteModal(true);\n };\n\n const DeleteArticle = async () => {\n await setButtonClicked(true);\n await dispatch(\n deleteArticle({\n articleId: articleEditId,\n })\n )\n .then((res) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setArticleEditId(null);\n dispatch(\n searchArticles({\n Sort: selectedSort,\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Include_owner: true,\n })\n );\n setSuccessMessage(\"Artikel wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setArticleEditId(null);\n let errMsg = \"Fehler bei Löschen des Artikels.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const EditArticleModal = (id) => {\n if (!isAdmin && props.articles[id].authorId !== auth.getId()) return;\n\n setArticleEditId(id);\n setOpenArticleModal(true);\n };\n\n const getSearchValue = (search) => {\n setSearch(search);\n if (props.currentUser) {\n dispatch(\n searchArticles({\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Include_owner: true,\n Sort: selectedSort,\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n searchArticles({\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Include_owner: true,\n })\n );\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n searchArticles({\n PageNumber: newPage,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n Include_owner: true,\n })\n );\n };\n\n useEffect(() => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n dispatch(searchArticles({ Include_owner: true }));\n\n if (props.currentUser.role === \"Admin\") {\n setIsAdmin(true);\n }\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n const successMsgHandler = (msg) => {\n setSuccessMessage(msg);\n setOpenAlert(true);\n };\n\n const errorMsgHandler = (msg) => {\n setErrorMessage(msg);\n setOpenAlert(true);\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n
\n
\n \n {\n return setOpenArticleModal(true);\n // resetValues()\n }}\n >\n {t(\"Neu\")}\n \n setConfirmDeleteModal(false)}\n >\n

{t(\"Soll dieser Artikel wirklich gelöscht werden?\")}

\n
\n setConfirmDeleteModal(false)}>\n {t(\"Abbrechen\")}\n \n \n {t(\"Löschen\")}\n \n
\n \n {\n setOpenArticleModal(false);\n setArticleEditId(null);\n }}\n articleId={articleEditId}\n showSuccessMsg={successMsgHandler}\n showErrorMsg={errorMsgHandler}\n />\n
\n \n
\n\n \n \n \n \n {t(\"No\")}.\n {t(\"Name\")}\n {t(\"Optionen\")}\n \n \n \n {props.isLoading ? (\n \n \n
\n \n
\n \n
\n ) : /*search &&*/ !props.isLoading && !props.articleIds?.length ? (\n \n \n {t(\"nothing_found_article\")}\n \n \n ) : (\n <>\n {props.articleIds?.length > 0 &&\n props.articleIds?.map((id) => {\n return (\n props.articles[id] && (\n \n history.push(`/article/${id}`)}\n >\n {props.articles[id].no + \".\"}\n \n history.push(`/article/${id}`)}\n >\n {props.articles[id].title}\n \n \n
\n EditArticleModal(id)}\n />\n DeleteArticleModal(id)}\n />\n
\n
\n
\n )\n );\n })}\n \n )}\n
\n
\n
\n {!props.articleIds?.length && search ? null : (\n <>\n {Object.keys(props.pageParams).length > 0 && (\n \n )}\n \n )}\n
\n );\n};\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n allArticleIds: state.article.allIds,\n articles: state.article.byId,\n articleIds: state.article.searchIds,\n isLoading: state.article.isLoading,\n pageParams: state.article.pageParams,\n});\n\nexport default connect(mapStateToProps, null)(Articles);\n","import React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Card from \"@material-ui/core/Card\";\nimport CardHeader from \"@material-ui/core/CardHeader\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { getUserById } from \"../../redux/users/action\";\nimport { connect, useDispatch } from \"react-redux\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n cursor: \"pointer\",\n },\n}));\n\nconst ArticleCardOverview = (props) => {\n const {\n id,\n customClass = \"\",\n title,\n authorId,\n content,\n hasMarkUp,\n onClick,\n index,\n } = props;\n const classes = useStyles();\n const dispatch = useDispatch();\n const [authorImg, setAuthorImg] = useState(\"\");\n const [cardContent, setCardContent] = useState(content);\n const [isMounted, setIsMounted] = useState(true);\n const [author, setAuthor] = useState(\"\");\n\n useEffect(() => {\n if (isMounted) {\n getAuthor(authorId);\n if (hasMarkUp) {\n setCardContent(content.replace(/<\\/?[^>]+(>|$)/g, \"\"));\n }\n }\n }, [authorId]);\n\n useEffect(() => {\n return () => {\n setAuthorImg(\"\");\n setIsMounted(false);\n setCardContent(\"\");\n }\n }, []);\n\n const getAuthor = async (userId) => { \n let image = \"/profile.jpg\"; \n if(userId) { \n if(props.members && props.members[userId]?.image){ \n image = `${config.resourcesUrl+props.members[userId].image.name}`; \n setAuthor(props.members[userId].firstName + \" \" + props.members[userId].lastName); \n }else{\n await dispatch(getUserById({ id: userId }))\n .then((res) => {\n if (res.value?.data) {\n let user = res.value.data;\n setAuthor(user.firstName + \" \" + user.lastName); \n if(user.image?.name){\n image = `${config.resourcesUrl+user.image.name}`; \n }\n } \n })\n .catch((err) => {\n logError(err);\n });\n } \n } \n setAuthorImg(image);\n };\n\n const cardClickHandler = () => {\n onClick(id, index);\n }; \n\n return (\n \n \n \n \n }\n title={title}\n subheader={author}\n />\n \n \n {cardContent/* .substring(0, 80) */}\n \n \n \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(ArticleCardOverview);\n\n","import React, { useEffect, useState, useRef } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { Markup } from \"interweave\";\nimport KeyboardArrowLeftIcon from \"@material-ui/icons/KeyboardArrowLeft\";\nimport List from \"@material-ui/core/List\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Backdrop from \"../../components/backdrop/backdrop\";\nimport FilePreview from \"../../components/filePreview/filePreview\";\nimport ArticleModal from \"./articleModal\";\nimport config from \"../../config/api.config.js\";\nimport { getFileType, logError } from \"../../helpers/helpers\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport \"../../assets/css/pages/articles.scss\";\nimport App from \"../../App\";\nimport { useTranslation } from \"react-i18next\";\nimport moment from \"moment\";\nimport ArticleOverviewCard from \"../../../src/components/card/ArticleOverviewCard\";\nimport {\n searchArticles,\n addArticle,\n insertArticleFile,\n getArticleById,\n updateArticle,\n} from \"../../redux/article/action\";\nimport { searchLocations } from \"../../redux/location/action\";\nimport { searchDepartments } from \"../../redux/department/action\";\nimport { searchTeams } from \"../../redux/team/action\";\nimport { getUserById } from \"../../redux/users/action\";\nimport { searchMedias } from \"../../redux/media/action\";\nimport MediaDisplayModal from \"../Medias/MediaDisplayModal\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport AddButton from \"../../components/auth/button\";\nimport auth from \"../../auth\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n \"&::-webkit-scrollbar\": {\n width: 7,\n },\n \"&::-webkit-scrollbar-track\": {\n boxShadow: `inset 0 0 6px rgba(0, 0, 0, 0.3)`,\n },\n \"&::-webkit-scrollbar-thumb\": {\n backgroundColor: \"darkgrey\",\n outline: `1px solid slategrey`,\n },\n width: \"450px\",\n height: \"80vh\",\n overflow: \"auto\",\n },\n}));\n\nconst ArticleDetails = (props) => {\n const classes = useStyles();\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const history = useHistory();\n const [details, setDetails] = useState(null);\n const [openBackdrop, setOpenBackdrop] = useState(false);\n const [author, setAuthor] = useState(\"\");\n const [files, setFiles] = useState([]);\n const [openArticleModal, setOpenArticleModal] = useState(false);\n const [articleId, setArticleId] = useState(props.match.params.id);\n const [permissions, setPermissions] = useState([]);\n const articleItemsRef = useRef();\n const [displayUrl, setDisplayUrl] = useState(\"\");\n const [displayMedia, setDisplayMedia] = useState(false);\n const [displayMediaName, setDisplayMediaName] = useState(\"\");\n const [displayMediaTitle, setDisplayMediaTitle] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [enablePublish, setEnablePublish] = useState(false);\n const [previewData, setpreviewData] = useState([]);\n const [allowEdit, setAllowEdit] = useState(false);\n const [articleMainImage, setArticleMainImage] = useState(null);\n\n const GetArticleDetails = async (id = null) => {\n id = id !== null ? id : props.match.params.id;\n setPermissions([]);\n setOpenBackdrop(true);\n let articleDetails = [];\n if (id && props.articleIds.length > 0 && props.articles[id]) {\n articleDetails = props.articles[id];\n } else {\n if (id) {\n await dispatch(getArticleById({ id: id, includeOwner: true }))\n .then((res) => {\n if (res.value?.data) {\n articleDetails = res.value.data;\n }\n })\n .catch((err) => {\n errorMsgHandler(\"Fehler bei Laden des Artikels.\");\n });\n }\n }\n setFiles(articleDetails.files);\n setDetails(articleDetails);\n getAuthor(articleDetails.authorId);\n setOpenBackdrop(false);\n setArticleMainImage(articleDetails.coverImage);\n if (articleDetails?.readable?.length > 0) {\n formatReadables(articleDetails.readable).then((data) => {\n setPermissions(data);\n });\n }\n if (\n (props.currentUser.role === \"Admin\" ||\n articleDetails.authorId === auth.getId()) &&\n props?.match?.params?.id &&\n props.match.params.id !== \"preview\"\n ) {\n setAllowEdit(true);\n } else {\n setAllowEdit(false);\n }\n };\n\n const getPreviewDetails = async () => {\n let articleDetails = props.location?.state?.article\n ? props.location.state.article\n : [];\n let attachments = props.location?.state?.attachments\n ? props.location.state.attachments\n : [];\n setPermissions([]);\n setpreviewData([]);\n setOpenBackdrop(true);\n setAllowEdit(false);\n\n if (Object.keys(articleDetails).length > 0) {\n setpreviewData(props.location.state);\n setEnablePublish(true);\n } else {\n setpreviewData([]);\n setEnablePublish(false);\n }\n setArticleId(null);\n setFiles(attachments);\n setDetails(articleDetails);\n getAuthor(articleDetails.authorId);\n setOpenBackdrop(false);\n setArticleMainImage(articleDetails.coverImage);\n if (articleDetails?.readable?.length > 0) {\n formatReadables(articleDetails.readable).then((data) => {\n setPermissions(data);\n });\n }\n };\n\n const getAuthor = async (id) => {\n if (props.members && props.members[id]) {\n setAuthor(props.members[id].firstName + \" \" + props.members[id].lastName);\n } else {\n await dispatch(getUserById({ id: id }))\n .then((res) => {\n if (res.value?.data) {\n setAuthor(res.value.data.firstName + \" \" + res.value.data.lastName);\n }\n })\n .catch((err) => logError(err));\n }\n };\n\n const handleDownload = (file) => {\n if (file?.name && props.match.params.id !== \"preview\") {\n window.open(`${config.resourcesUrl+file.name}`, \"_blank\");\n }\n\n if (file && props.match.params.id === \"preview\") {\n window.open(URL.createObjectURL(file));\n }\n };\n\n useEffect(async () => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n if (props.articleIds.length === 0) {\n await dispatch(searchArticles({ Include_owner: true, GetAll: true }));\n }\n if (props.mediaIds.length === 0) {\n dispatch(searchMedias({ GetAll: true }));\n }\n if (props.match.params.id !== \"preview\") {\n GetArticleDetails();\n setArticleId(props.match.params.id);\n } else {\n getPreviewDetails();\n }\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n useEffect(() => {\n showActiveCard();\n }, [props.articleIds.length, props.articles]);\n\n const showActiveCard = () => {\n if (props.articleIds.length > 0 && props.match.params.id) {\n props.articleIds.map((id, index) => {\n if (props.articles[id].id === props.match.params.id) {\n scrollToActiveArticleCard(index);\n }\n });\n }\n };\n\n const articleItemSelectHandler = (id, index) => {\n history.replace(`/article/${id}`);\n GetArticleDetails(id);\n setArticleId(id);\n scrollToActiveArticleCard(index);\n };\n\n const scrollToActiveArticleCard = (index) => {\n setTimeout(() => {\n let cardCount = Math.floor(articleItemsRef.current.offsetHeight / 150);\n let cardHeight = cardCount > index ? 0 : (index - cardCount) * 150;\n articleItemsRef.current.scrollTop = cardHeight;\n }, 500);\n };\n\n const formatReadables = async (readableItems) => {\n const readables = [];\n if (props.locationIds.length === 0) {\n await dispatch(searchLocations({ GetAll: true }));\n }\n if (props.departmentIds.length === 0) {\n await dispatch(searchDepartments({ GetAll: true }));\n }\n if (props.teamIds.length === 0) {\n await dispatch(searchTeams({ GetAll: true }));\n }\n\n for (const item of readableItems) {\n readables.push({\n location: props.locations[item.location]\n ? props.locations[item.location].name\n : \"\",\n department: props.departments[item.department]\n ? props.departments[item.department].name\n : \"\",\n team: props.teams[item.team] ? props.teams[item.team].name : \"\",\n });\n }\n return readables;\n };\n\n const handleMediaDisplay = (id) => {\n let media = props.medias[id];\n let type = getFileType(media.name);\n if (type !== \"Document\") {\n let url = `${config.resourcesUrl+media.name}`;\n setDisplayUrl(url);\n setDisplayMedia(true);\n setDisplayMediaName(media.name);\n setDisplayMediaTitle(media.title);\n }\n };\n\n const successMsgHandler = (msg) => {\n setSuccessMessage(msg);\n setOpenAlert(true);\n };\n\n const errorMsgHandler = (msg) => {\n setErrorMessage(msg);\n setOpenAlert(true);\n };\n\n const handleBackBtnClick = () => {\n if (history.action !== \"POP\") {\n history.goBack();\n } else {\n history.push(`/articles`);\n }\n };\n\n const AddArticle = async () => {\n setOpenAlert(false);\n await setButtonClicked(true);\n\n let articleDetails = props.location?.state?.article\n ? props.location.state.article\n : [];\n let attachments = props.location?.state?.attachments\n ? props.location.state.attachments\n : [];\n if (Object.keys(articleDetails).length > 0) {\n await dispatch(\n addArticle({\n title: articleDetails.title,\n readable: articleDetails.readable,\n content: articleDetails.content,\n commentable: articleDetails.commentable,\n rateable: articleDetails.rateable,\n medias: articleDetails.medias,\n })\n )\n .then((res) => {\n let _errMsg = \"\";\n if (attachments.length > 0) {\n Promise.all([\n attachments?.forEach(async (file) => {\n const formData = new FormData();\n formData.append(\"File\", file);\n return await dispatch(\n insertArticleFile({\n articleId: res.value.id,\n formData: formData,\n })\n )\n .then((uploadRes) => {\n //update cover image\n if (articleMainImage && articleMainImage === file) {\n dispatch(\n updateArticle({\n articleId: res.value.id,\n title: articleDetails.title,\n readable: articleDetails.readable,\n content: articleDetails.content,\n coverImage: uploadRes.value?.data,\n })\n );\n }\n })\n .catch((err) => {\n _errMsg = \"Fehler bei Bearbeiten des Artikels.\";\n });\n }),\n ])\n .then((res) => {\n setEnablePublish(false);\n setButtonClicked(false);\n setTimeout(() => {\n if (_errMsg) {\n errorMsgHandler(_errMsg);\n } else {\n successMsgHandler(\"Artikel erfolgreich hinzugefügt.\");\n setTimeout(() => {\n history.push(`/articles`);\n }, 500);\n }\n }, 1500);\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n });\n } else {\n setButtonClicked(false);\n successMsgHandler(\"Artikel erfolgreich hinzugefügt.\");\n setTimeout(() => {\n history.push(`/articles`);\n }, 500);\n }\n })\n .catch(function (err) {\n logError(err);\n setButtonClicked(false);\n let errMsg = \"Fehler bei Hinzufügen des Artikels.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[\n Object.keys(err.response.data.errors)[0]\n ];\n }\n errorMsgHandler(errMsg);\n });\n }\n };\n\n const EditPreview = () => {\n if (props.match.params.id === \"preview\") {\n setOpenArticleModal(true);\n setArticleId(null);\n }\n };\n\n const closeArticleModal = () => {\n setOpenArticleModal(false);\n if (props.match.params.id !== \"preview\") {\n GetArticleDetails(articleId);\n showActiveCard();\n setArticleId(null);\n } else if (props.match.params.id === \"preview\") {\n getPreviewDetails();\n setArticleId(null);\n }\n };\n\n useEffect(() => {\n if (props.match.params.id === \"preview\") {\n getPreviewDetails();\n }\n }, [props.location.state]);\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n {\n setDisplayMedia(false);\n setDisplayUrl(\"\");\n setDisplayMediaName(\"\");\n setDisplayMediaTitle(\"\");\n }}\n mediaUrl={displayUrl}\n title={displayMediaTitle}\n name={displayMediaName}\n />\n \n {openBackdrop ? (\n \n ) : (\n \n
\n
\n
\n handleBackBtnClick()} />\n {t(\"Artikel\")}\n
\n \n {\n if (allowEdit) {\n setOpenArticleModal(true);\n setArticleId(props.match.params.id);\n }\n }}\n />\n
\n
\n

\n {t(\"Author\")}: {author}\n

\n

\n {t(\"date_created\")}:{\" \"}\n {moment(details?.dateCreated).format(`${t(\"momentjs_datum\")}`)}\n

\n

\n {t(\"permissions\")}:{\" \"}\n {permissions.length > 0 &&\n permissions?.map((p, i) => (\n \n
\n {i + 1}. Location: {p.location} / Department:{\" \"}\n {p.department} / Team: {p.team}\n    \n
\n ))}\n

\n

\n {t(\"article_cover_image\")}:{\" \"}\n {articleMainImage?.originalName ?? articleMainImage?.name}\n

\n
\n {files?.map((file) => (\n \n {props.match.params.id !== \"preview\" ? (\n handleDownload(file)}\n key={file?.name}\n style={{ cursor: \"pointer\" }}\n >\n {}}\n details={true}\n />\n
\n ) : (\n handleDownload(file)}\n style={{ cursor: \"pointer\" }}\n >\n {}}\n details={true}\n />\n
\n )}\n \n ))}\n\n {details?.medias?.map((mediaId) => {\n return (\n \n {props.medias[mediaId] && (\n handleMediaDisplay(mediaId)}\n style={{ cursor: \"pointer\" }}\n >\n {}}\n details={true}\n />\n
\n )}\n \n );\n })}\n \n
\n \n
\n \n {props.match.params.id === \"preview\" && (\n \n {t(\"publish\")}\n \n )}\n {props.match.params.id === \"preview\" && (\n \n Bearbeiten\n \n )}\n\n {props.match.params.id === \"preview\" && (\n {\n history.push(`/articles`);\n }}\n >\n {t(\"Abbrechen\")}\n \n )}\n \n {props.match?.params?.id !== \"preview\" && (\n
\n
\n \n Artikel\n \n
\n \n \n {props.articleIds.length > 0 &&\n props.articleIds?.map((id, index) => (\n
  • \n \n
  • \n ))}\n
    \n \n
    \n )}\n \n )}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n articleIds: state.article.allIds,\n articles: state.article.byId,\n locationIds: state.location.allIds,\n locations: state.location.byId,\n departmentIds: state.department.allIds,\n departments: state.department.byId,\n teamIds: state.team.allIds,\n teams: state.team.byId,\n isLoading: state.article.isLoading,\n memberIds: state.user.allIds,\n members: state.user.byId,\n mediaIds: state.media.allIds,\n medias: state.media.byId,\n});\n\nexport default connect(mapStateToProps, null)(ArticleDetails);\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport axios from \"axios\";\nimport moment from \"moment\";\n\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Avatar from \"@material-ui/core/Avatar\";\n\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport { LightTooltip } from \"../../components/tooltip/tooltip\";\n\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\n\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport App from \"../../App\";\n\nimport { useTranslation } from \"react-i18next\";\n\nconst Courses = (props) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [courses, setCourses] = useState(null);\n const [search, setSearch] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [selectedSort, setSelectedSort] = useState(1);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [courseId, setCourseId] = useState(null);\n\n const [defaultPage, setDefaultPage] = useState(false);\n const [params, setParams] = useState({\n currentPage: 1,\n totalPages: 1,\n pageSize: 10,\n totalCount: 0,\n hasNext: false,\n hasPrevious: false,\n });\n const [buttonClicked, setButtonClicked] = useState(false);\n\n const getCourses = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Course`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n PageSize: 10,\n ...params,\n },\n })\n .then((res) => {\n const {\n currentPage,\n totalPages,\n pageSize,\n totalCount,\n hasNext,\n hasPrevious,\n } = res.data;\n setParams({\n currentPage,\n totalPages,\n pageSize,\n totalCount,\n hasNext,\n hasPrevious,\n });\n\n let courseNo = currentPage * 5 - 5;\n\n setCourses(\n res.data.courses.map((dep, i) => {\n return {\n no: ++courseNo,\n id: dep.id,\n name: dep.title,\n authorId: dep.author.authorId,\n authorImg: dep.author.imageUrl,\n authorName: dep.author.firstName + \" \" + dep.author.lastName,\n date: moment(dep.dateCreated).format(\"DD.MM.yyyy\"),\n };\n })\n );\n\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n // eslint-disable-next-line no-unused-vars\n const getUserImage = async (id) => {\n // await axios\n // .get(`${config.apiURL}/api/User/${id}`)\n // .then((res) => {\n // setImg(res.data.image.url);\n // })\n // .catch((err) => logError(err));\n // return img;\n };\n\n const DeleteCourseModal = (id) => {\n setCourseId(id);\n setConfirmDeleteModal(true);\n };\n\n const DeleteCourse = async () => {\n await setButtonClicked(true);\n await axios\n .delete(`${config.apiURL}/api/Course/${courseId}`, {\n data: { workspaceId: props.currentUser.workspaceId },\n })\n .then((res) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n getCourses();\n })\n .catch((err) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n // setErrorMessage(err.response.data.ERROR[0]);\n // setOpenAlert(true);\n });\n };\n\n const getSearchValue = (search) => {\n setSearch(search);\n if (props.currentUser) {\n getCourses({ PageNumber: 1, Title: search });\n }\n setDefaultPage(!defaultPage);\n };\n const handleSort = (e) => {\n setSelectedSort(e.value);\n getCourses({ PageNumber: params.currentPage, Sort: e.value });\n };\n const getPageNumber = (newPage) => {\n getCourses({\n PageNumber: newPage,\n Name: search,\n Sort: selectedSort,\n });\n };\n\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n getCourses();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n return (\n \n \n
    \n
    \n \n history.push(\"/add-course\")}\n >\n {t(\"add_new\")}\n \n\n setConfirmDeleteModal(false)}\n >\n

    {t(\"sure_delete_course\")}

    \n
    \n setConfirmDeleteModal(false)}>\n {t(\"Abbrechen\")}\n \n \n {t(\"delete\")}\n \n
    \n \n
    \n \n
    \n \n \n \n \n {t(\"No\")}.\n Name\n {t(\"Author\")}\n {t(\"Date\")}\n {t(\"Options\")}\n \n \n \n {loading ? (\n \n \n
    \n \n
    \n \n
    \n ) : /*search &&*/ !loading && !courses?.length ? (\n \n \n {t(\"nothing_found_course\")}\n \n \n ) : (\n courses?.map((row) => (\n \n history.push(`/course/${row.id}`)}\n >\n {row.no + \".\"}\n \n history.push(`/course/${row.id}`)}\n >\n {row.name}\n \n history.push(`/course/${row.id}`)}\n >\n \n \n \n \n history.push(`/course/${row.id}`)}\n >\n {row.date}\n \n\n \n
    \n history.push(`/edit-course/${row.id}`)}\n />\n DeleteCourseModal(row.id)} />\n
    \n
    \n
    \n ))\n )}\n
    \n
    \n
    \n {!courses?.length && search ? null : (\n \n )}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n});\n\nexport default connect(mapStateToProps, null)(Courses);\n","/* eslint-disable no-mixed-operators */\nimport React, { useEffect, useState } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport AddIcon from '@material-ui/icons/Add';\nimport IconButton from '@material-ui/core/IconButton';\nimport TextField from '@material-ui/core/TextField';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\n\nimport './dropdown.scss';\n\nimport { useTranslation } from 'react-i18next'\n\nconst useStyles = makeStyles((theme) => ({\n formControl: {\n margin: theme.spacing(1),\n minWidth: 120\n },\n selectEmpty: {\n marginTop: theme.spacing(2)\n },\n noLabel: {\n marginTop: theme.spacing(3)\n },\n displayInput: {\n height:\"auto\",\n opacity: \"1\",\n transition: \"opacity 1.7s linear\",\n marginBottom:\"5px\",\n marginTop: \"5px\"\n },\n noDisplay: {\n height: \"0\",\n overflow: \"hidden\",\n opacity: \"0\",\n transition: \"opacity 1.7s linear\"\n },\n addIconStyle:{\n width:'10px'\n }\n}));\n\n\nconst Dropdown = ({ label, options, selected, setSelected, labelWidth, categoryName, setCategoryName, addCategory, departmentName, setDepartmentName, addDepartment, type }) => {\n const { t } = useTranslation()\n const classes = useStyles();\n const [selections, setSelections] = useState([]);\n const [openTextfield, setOpenTextfield] = useState(false);\n const handleChange = (event) => {\n setSelections(event.target.value);\n setSelected(event.target.value);\n };\n\n const AddButton = () => (\n \n \n \n )\n // const stopImmediatePropagation = (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // };\n\n useEffect(() => {\n if (selected?.length) {\n setSelections(options.filter((o) => selected.includes(o.value)));\n setSelected(options.filter((o) => selected.includes(o.value)));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n useEffect(() => {\n if (selected?.length) {\n setSelections(options.filter((o) => selected.includes(o.value)));\n setSelected(options.filter((o) => selected.includes(o.value)));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {label}\n {type && type === 'simple' ? (\n }\n >\n {!options.length &&
    {t('nothing_found')}
    }\n {options.length > 0 && \n options.map((op) => (\n \n {op.label}\n \n ))\n }\n\n ):\n ( selected.map((op) => op.label).join(', ')} \n >\n <>\n {label === `${t('quiz_category')}` || label === `${t('article_category')}` || label === `${t('course_category')}` ? (\n
    \n
    setOpenTextfield(!openTextfield)} >{t('click_to_create_new_location')}
    \n
    \n ) : (\n
    \n
    setOpenTextfield(!openTextfield)}>{t('click_to_create_new_department')}
    \n
    \n )}\n
    \n \n label === `${t('quiz_category')}` || label === `${t('article_category')}` || label === `${t('course_category')}` \n ? \n (\n setCategoryName(target.value)\n ) \n : \n (\n setDepartmentName(target.value)\n )}\n fullWidth\n InputProps={{ endAdornment: }}\n variant= 'outlined'\n // onClickCapture={stopImmediatePropagation}\n onKeyDown={e => e.stopPropagation()}\n />\n
    \n \n {!options.length ? (\n <>\n
    {t('nothing_found')}
    \n \n ) : (\n options.map((op) => (\n \n -1} />\n \n \n ))\n )\n }\n )}\n
    \n );\n};\n\nexport default Dropdown;\n","import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\nimport InputField from '../../components/inputField/inputField';\nimport Dropdown from '../../components/dropdown/dropdown';\nimport SnackbarError from '../../components/alert/SnackbarError';\n\nimport { ReactComponent as Upload } from '../../assets/images/upload.svg';\n\nimport config from '../../config/api.config.js';\nimport { logError } from \"../../helpers/helpers\";\nimport '../../assets/css/pages/courses.scss';\n\nimport { useTranslation } from 'react-i18next'\nimport auth from '../../auth';\n\nconst FirstStep = (props) => {\n const { t } = useTranslation()\n const {\n currentUser,\n values,\n setValues,\n setSelectedDepartments,\n setSelectedCategories,\n // selectedDepartments,\n // selectedCategories,\n selectedFile,\n setSelectedFile,\n selectedOptionsCategories,\n selectedOptionsDepartments\n } = props;\n\n // eslint-disable-next-line no-unused-vars\n const [buttonClicked, setButtonClicked] = useState(false);\n const [departments, setDepartments] = useState([]);\n const [categories, setCategories] = useState([]);\n const [errorMessage, setErrorMessage] = useState('');\n const [openAlert, setOpenAlert] = useState(false);\n const [departmentName, setDepartmentName] = useState('');\n const [categoryName, setCategoryName] = useState('');\n\n const AddDepartment = async () => {\n await setButtonClicked(true);\n await axios\n .post(`${config.apiURL}/api/Department`, {\n name: departmentName,\n workspaceId: props.currentUser.workspaceId\n })\n .then((res) => {\n setButtonClicked(false);\n setDepartmentName('');\n getDepartments();\n })\n .catch((err) => {\n setButtonClicked(false);\n setDepartmentName('');\n setErrorMessage(err.response.data.errors.Name[0]);\n setOpenAlert(true);\n });\n };\n\n const AddCategory = async () => {\n await setButtonClicked(true);\n await axios\n .post(`${config.apiURL}/api/Category`, {\n name: categoryName,\n workspaceId: props.currentUser.workspaceId\n })\n .then((res) => {\n setButtonClicked(false);\n setCategoryName('');\n getCategories();\n })\n .catch((err) => {\n setButtonClicked(false);\n setCategoryName('');\n });\n };\n\n const getDepartments = async () => {\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization' : `Bearer ${auth.accessToken}`\n };\n await axios\n .get(`${config.apiURL}/api/Department`, {\n params: {\n WorkspaceId: currentUser.workspaceId,\n GetAll: true\n },\n headers: headers\n })\n .then((res) => {\n setDepartments(\n res.data.departments.map((dep) => {\n return {\n value: dep.id,\n label: dep.name\n };\n })\n );\n })\n .catch((err) => logError(err));\n };\n const getCategories = async () => {\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization' : `Bearer ${auth.accessToken}`\n };\n await axios\n .get(`${config.apiURL}/api/Category`, {\n params: {\n WorkspaceId: currentUser.workspaceId,\n GetAll: true\n },\n headers: headers\n })\n .then((res) => {\n setCategories(\n res.data.categories.map((dep) => {\n return {\n value: dep.id,\n label: dep.name\n };\n })\n );\n })\n .catch((err) => logError(err));\n };\n\n const onFileChange = (event) => {\n setOpenAlert(false);\n if (\n event.target.files.length <= 0 ||\n selectedFile?.name === event.target.files[0].name\n )\n return;\n\n if (!event.target.files[0].type.includes('image')) {\n setErrorMessage(`${ t('course_image_error_message') }`);\n setOpenAlert(true);\n return;\n }\n\n setSelectedFile(event.target.files[0]);\n };\n\n useEffect(() => {\n if (currentUser) {\n getDepartments();\n getCategories();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentUser]);\n\n return (\n
    \n setOpenAlert(false)}>\n {errorMessage}\n \n
    \n setValues({ ...values, name: e.target.value })}\n buttonClicked={buttonClicked}\n />\n \n setValues({ ...values, description: e.target.value })\n }\n buttonClicked={buttonClicked}\n />\n \n \n
    \n
    \n
    \n {!selectedFile ? (\n \n \n \n ) : (\n \n )}\n \n \n
    \n
    \n
    \n );\n};\n\nexport default FirstStep;\n","import React from 'react';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { withStyles } from '@material-ui/core/styles';\nimport config from '../../config/api.config.js';\n\nexport const GreenCheckbox = withStyles({\n root: {\n 'color': config.colorPrimary,\n '&$checked': {\n color: config.colorPrimary\n }\n },\n checked: {}\n})((props) => );\n","import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\n\nimport AddIcon from '@material-ui/icons/Add';\nimport Button from '@material-ui/core/Button';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\nimport ArticleModal from '../Articles/articleModal';\nimport NothingFound from '../../components/searchNothingFound/searchNothingFound';\nimport Pagination from '../../components/pagination/pagination';\nimport { GreenCheckbox } from '../../components/checkbox/checkbox';\n\nimport config from '../../config/api.config.js';\nimport { logError } from \"../../helpers/helpers\";\n\nimport { useTranslation } from 'react-i18next'\n\nconst SecondStep = (props) => {\n const { t } = useTranslation()\n const {\n currentUser,\n selectedArticles,\n setSelectedArticles,\n editArticles,\n setEditArticles,\n courseId\n } = props;\n\n const [openArticleModal, setOpenArticleModal] = useState(false);\n const [loading, setLoading] = useState(true);\n\n const [params, setParams] = useState({\n currentPage: 1,\n totalPages: 1,\n pageSize: 5,\n totalCount: 0,\n hasNext: false,\n hasPrevious: false\n });\n const [articles, setArticles] = useState(null);\n\n const getArticles = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Article`, {\n params: {\n WorkspaceId: currentUser.workspaceId,\n PageSize: 3,\n ...params\n }\n })\n .then((res) => {\n const {\n currentPage,\n totalPages,\n pageSize,\n totalCount,\n hasNext,\n hasPrevious\n } = res.data;\n setParams({\n currentPage,\n totalPages,\n pageSize,\n totalCount,\n hasNext,\n hasPrevious\n });\n let articleNo = currentPage * 3 - 3;\n setArticles(\n res.data.articles.map((dep, i) => {\n return {\n no: ++articleNo,\n id: dep.id,\n name: dep.title,\n categories: dep.categories\n };\n })\n );\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n const getPageNumber = (newPage) => {\n getArticles({\n PageNumber: newPage\n });\n };\n\n const handleChecked = async (event, id) => {\n if (!event.target.checked && editArticles.includes(id)) {\n setEditArticles(editArticles.filter((a) => a !== id));\n await axios\n .put(`${config.apiURL}/api/Course/delete-article/${courseId}`, {\n articleId: id\n })\n .then((res) => {})\n .catch((err) => logError(err));\n return;\n }\n\n if (event.target.checked) setSelectedArticles([...selectedArticles, id]);\n else setSelectedArticles(selectedArticles.filter((a) => a !== id));\n };\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!currentUser) return;\n getArticles();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentUser]);\n\n return (\n
    \n {\n setOpenArticleModal(false);\n }}\n getArticles={getArticles}\n articleId={null}\n />\n
    \n

    {t('select_or_add')}

    \n setOpenArticleModal(true)}\n >\n {t('add_new')}\n \n
    \n
    \n
    \n \n \n \n \n No.\n Name\n {t('Category')}\n \n \n \n \n {loading ? (\n \n \n
    \n \n
    \n \n
    \n ) : !loading && !articles?.length ? (\n \n \n \n {t('nothing_found_article')}\n \n \n \n ) : (\n articles?.map((row) => (\n \n \n {row.no + '.'}\n \n {row.name}\n \n {row.categories\n .map((cat, i) => (i < 2 ? cat.name : '...'))\n .join(', ')}\n \n \n handleChecked(e, row.id)}\n name=\"checkedG\"\n />\n \n \n ))\n )}\n
    \n
    \n
    \n {!articles?.length ? null : (\n \n )}\n
    \n
    \n );\n};\n\nexport default SecondStep;\n","/* eslint-disable eqeqeq */\nimport React, { useState, Fragment } from 'react';\nimport axios from 'axios';\n\nimport NothingFound from '../../components/searchNothingFound/searchNothingFound';\nimport SnackbarError from '../../components/alert/SnackbarError';\n// import Pagination from '../../components/pagination/pagination';\n\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\n\nimport { ReactComponent as Upload } from '../../assets/images/upload.svg';\nimport { ReactComponent as DeleteIcon } from '../../assets/images/delete.svg';\n\nimport config from '../../config/api.config.js';\nimport { logError } from \"../../helpers/helpers\";\n\nimport { useTranslation } from 'react-i18next'\n\nconst ThirdStep = (props) => {\n const { t } = useTranslation()\n const { videos, setVideos, editVideos, setEditVideos, courseId } = props;\n const [errorMessage, setErrorMessage] = useState('');\n const [openAlert, setOpenAlert] = useState(false);\n\n const deleteVideo = (file) => {\n const temp = videos.filter((f) => f.name != file.name);\n setVideos(temp);\n };\n\n const deleteEditVideo = async (video) => {\n setEditVideos(editVideos.filter((a) => a.id !== video.id));\n await axios\n .put(`${config.apiURL}/api/Course/delete-video/${courseId}`, {\n videoId: video.id,\n name: video.name,\n url: video.url\n })\n .then((res) => {})\n .catch((err) => logError(err));\n };\n\n const onFileChange = (event) => {\n if (event.target.files.length <= 0) return;\n\n if (!event.target.files[0].type.includes('video')) {\n setErrorMessage('Please upload video');\n setOpenAlert(true);\n return;\n }\n\n if (!videos.find((f) => f.name == event.target.files[0].name))\n setVideos([...videos, event.target.files[0]]);\n };\n return (\n
    \n setOpenAlert(false)}>\n {errorMessage}\n \n
    \n

    Add new video

    \n \n \n \n \n
    \n
    \n
    \n \n \n \n \n No.\n Name\n \n \n \n \n {!videos?.length && !editVideos?.length ? (\n \n \n \n {t('nothing_found_video')}\n \n \n \n ) : null}\n {editVideos?.map((row, i) => (\n \n \n {++i + '.'}\n \n {row.originalName}\n\n \n
    \n deleteEditVideo(row)} />\n
    \n
    \n
    \n ))}\n {videos?.map((row, i) => (\n \n \n {editVideos ? editVideos.length + ++i + '.' : ++i + '.'}\n \n {row.name}\n\n \n
    \n deleteVideo(row)} />\n
    \n
    \n
    \n ))}\n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default ThirdStep;\n","import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\n\n// import { withStyles } from '@material-ui/core/styles';\n// import { green } from '@material-ui/core/colors';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n// import Checkbox from '@material-ui/core/Checkbox';\n\n// import Pagination from '../../components/pagination/pagination';\nimport NothingFound from '../../components/searchNothingFound/searchNothingFound';\n\n// import { ReactComponent as DeleteIcon } from '../../assets/images/delete.svg';\n\nimport config from '../../config/api.config.js';\nimport { logError } from \"../../helpers/helpers\";\n\nimport { useTranslation } from 'react-i18next'\n\n// const GreenCheckbox = withStyles({\n// root: {\n// 'color': green[400],\n// '&$checked': {\n// color: green[600]\n// }\n// },\n// checked: {}\n// })((props) => );\n\nconst FourthStep = (props) => {\n const { t } = useTranslation()\n const {\n // currentUser,\n selectedArticles,\n // setSelectedArticles,\n editArticles,\n videos,\n // setVideos,\n editVideos,\n // setEditVideos\n } = props;\n const [loading, setLoading] = useState(false);\n\n // const [params, setParams] = useState({\n // currentPage: 1,\n // totalPages: 1,\n // pageSize: 5,\n // totalCount: 0,\n // hasNext: false,\n // hasPrevious: false\n // });\n const [articles, setArticles] = useState([]);\n\n const getArticles = async (params) => {\n setLoading(true);\n let articleNo = 0;\n const articleTemp = [];\n [...selectedArticles, ...editArticles].forEach(async (a) => {\n await axios\n .get(`${config.apiURL}/api/Article/${a}`)\n .then((res) => {\n articleTemp.push({\n no: ++articleNo,\n id: res.data.id,\n name: res.data.title,\n categories: res.data.categories\n });\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n setArticles([...articles, articleTemp]);\n });\n setLoading(false);\n // await axios\n // .get(`${config.apiURL}/api/Article`, {\n // params: {\n // WorkspaceId: currentUser.workspaceId,\n // PageSize: 3,\n // ...params\n // }\n // })\n // .then((res) => {\n // const {\n // currentPage,\n // totalPages,\n // pageSize,\n // totalCount,\n // hasNext,\n // hasPrevious\n // } = res.data;\n // setParams({\n // currentPage,\n // totalPages,\n // pageSize,\n // totalCount,\n // hasNext,\n // hasPrevious\n // });\n // let articleNo = currentPage * 3 - 3;\n // setArticles(\n // res.data.articles.map((dep, i) => {\n // return {\n // no: ++articleNo,\n // id: dep.id,\n // name: dep.title,\n // categories: dep.categories\n // };\n // })\n // );\n\n // setLoading(false);\n // })\n // .catch((err) => {\n // setLoading(false);\n // logError(err);\n // });\n };\n\n // const getPageNumber = (newPage) => {\n // getArticles({\n // PageNumber: newPage\n // });\n // };\n\n // const handleChecked = (event, id) => {\n // if (event.target.checked) setSelectedArticles([...selectedArticles, id]);\n // else setSelectedArticles(selectedArticles.filter((a) => a !== id));\n // };\n\n // const deleteVideo = (file) => {\n // const temp = videos.filter((f) => f.name != file.name);\n // setVideos(temp);\n // };\n\n // useEffect(() => {\n // const abortController = new AbortController();\n\n // if (!currentUser) return;\n // getArticles();\n\n // return () => {\n // abortController.abort();\n // };\n // }, [currentUser]);\n\n useEffect(() => {\n getArticles();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n
    \n
    \n

    {t('course_content')}

    \n
    \n
    \n \n \n \n \n {t('No')}.\n Name\n {t('Category')}\n \n \n \n \n {loading ? (\n \n \n
    \n \n
    \n \n
    \n ) : !loading && !articles[0]?.length ? (\n \n \n \n {t('nothing_found_article')}\n \n \n \n ) : (\n articles[0]?.map((row) => (\n \n \n {row.no + '.'}\n \n {row.name}\n \n {row.categories\n .map((cat, i) => (i < 2 ? cat.name : '...'))\n .join(', ')}\n \n {/* \n handleChecked(e, row.id)}\n name=\"checkedG\"\n />\n */}\n \n ))\n )}\n
    \n
    \n
    \n {/* {!articles?.length ? null : (\n \n )} */}\n
    \n
    \n \n \n \n \n {t('No')}.\n Name\n \n \n \n \n {!videos?.length && !editVideos?.length ? (\n \n \n \n {t('nothing_found_video')}\n \n \n \n ) : null}\n {videos?.map((row, i) => (\n \n \n {++i + '.'}\n \n {row.name}\n\n {/* \n
    \n deleteVideo(row)} />\n
    \n
    */}\n
    \n ))}\n\n {editVideos?.map((row, i) => (\n \n \n {++i + '.'}\n \n {row.originalName}\n\n {/* \n
    \n deleteEditVideo(row)} />\n
    \n
    */}\n
    \n ))}\n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default FourthStep;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport axios from \"axios\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\n\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Stepper from \"@material-ui/core/Stepper\";\nimport Step from \"@material-ui/core/Step\";\nimport StepLabel from \"@material-ui/core/StepLabel\";\nimport KeyboardArrowLeftIcon from \"@material-ui/icons/KeyboardArrowLeft\";\n\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport Modal from \"../../components/modal/modal\";\n\nimport FirstStep from \"./firstStep\";\nimport SecondStep from \"./secondStep\";\nimport ThirdStep from \"./thirdStep\";\nimport FourthStep from \"./fourthStep\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers.js\";\nimport auth from \"../../auth\";\n\nimport \"../../assets/css/pages/courses.scss\";\n\nimport { useTranslation } from \"react-i18next\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: \"100%\",\n },\n backButton: {\n marginRight: theme.spacing(1),\n },\n instructions: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n}));\n\nconst AddCourse = (props) => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n function getSteps() {\n return [\n `${t(\"Profile\")}`,\n `${t(\"Articles\")}`,\n `${t(\"Videos\")}`,\n `${t(\"Submit\")}`,\n ];\n }\n const classes = useStyles();\n const [activeStep, setActiveStep] = useState(0);\n const [values, setValues] = useState({\n name: \"\",\n description: \"\",\n });\n const [selectedDepartments, setSelectedDepartments] = useState([]);\n const [selectedCategories, setSelectedCategories] = useState([]);\n const [selectedArticles, setSelectedArticles] = useState([]);\n const [editArticles, setEditArticles] = useState([]);\n const [videos, setVideos] = useState([]);\n const [editVideos, setEditVideos] = useState([]);\n const [selectedFile, setSelectedFile] = useState(null);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [selectedOptionsDepartments, setSelectedOptionsDepartments] = useState(\n []\n );\n const [selectedOptionsCategories, setSelectedOptionsCategories] = useState(\n []\n );\n const [courseId, setCourseId] = useState(null);\n const steps = getSteps();\n const [readyToRender, setReadyToRender] = useState(false);\n\n useEffect(() => {\n const root = document.documentElement;\n root?.style.setProperty(\"--color-primary\", config.colorPrimary);\n root?.style.setProperty(\"--color-secondary\", config.colorSecondary);\n root?.style.setProperty(\"--color-active\", config.colorActive);\n root?.style.setProperty(\"--color-hover\", config.colorHover);\n setReadyToRender(true);\n }, []);\n\n const handleNext = () => {\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n\n const handleBack = () => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n };\n\n const getStepContent = (stepIndex, user) => {\n switch (stepIndex) {\n case 0:\n return (\n \n );\n case 1:\n return (\n \n );\n case 2:\n return (\n \n );\n case 3:\n return (\n \n );\n default:\n return \"Unknown stepIndex\";\n }\n };\n\n const handleSubmit = async () => {\n await setButtonClicked(true);\n await axios\n .post(`${config.apiURL}/api/Course`, {\n title: values.name,\n visibleDepartments: selectedDepartments.map((dep) => dep.value),\n categories: selectedCategories.map((cat) => {\n return { id: cat.value, name: cat.label };\n }),\n workspaceId: props.currentUser.workspaceId,\n description: values.description,\n author: {\n userId: auth.getId(),\n firstName: props.currentUser.firstName,\n lastName: props.currentUser.lastName,\n imageUrl: props.currentUser.image\n ? props.currentUser.image.url\n : \"/profile.jpg\",\n },\n })\n .then(async (res) => {\n const { id } = res.data;\n let uploadImage = null;\n let articles = null;\n let files = null;\n if (selectedFile) {\n const formData = new FormData();\n formData.append(\"File\", selectedFile);\n uploadImage = await axios.put(\n `${config.apiURL}/api/Course/update-image/${id}`,\n formData\n );\n }\n\n if (selectedArticles.length) {\n articles = await Promise.all(\n selectedArticles.map(async (article) => {\n return await axios.put(\n `${config.apiURL}/api/Course/insert-article/${id}`,\n {\n articleId: article,\n }\n );\n })\n );\n }\n\n if (videos.length) {\n files = await Promise.all(\n videos.map(async (file) => {\n const formData = new FormData();\n formData.append(\"File\", file);\n return await axios.put(\n `${config.apiURL}/api/Course/insert-video/${id}`,\n formData\n );\n })\n );\n }\n\n await Promise.allSettled([uploadImage, articles, files])\n .then((res) => {\n setOpenModal(true);\n setButtonClicked(false);\n })\n .catch((err) => {\n logError(err);\n setOpenModal(false);\n setButtonClicked(false);\n });\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n });\n };\n\n const handleEdit = async (id) => {\n await setButtonClicked(true);\n await axios\n .put(`${config.apiURL}/api/Course/${id}`, {\n title: values.name,\n visibleDepartments: selectedDepartments.map((dep) => dep.value),\n categories: selectedCategories.map((cat) => {\n return { id: cat.value, name: cat.label };\n }),\n description: values.description,\n })\n .then(async (res) => {\n let uploadImage = null,\n articles = null,\n files = null;\n if (selectedFile && !selectedFile.url) {\n const formData = new FormData();\n formData.append(\"File\", selectedFile);\n uploadImage = await axios.put(\n `${config.apiURL}/api/Course/update-image/${id}`,\n formData\n );\n }\n\n if (selectedArticles.length) {\n articles = await Promise.all(\n selectedArticles.map(async (article) => {\n return await axios.put(\n `${config.apiURL}/api/Course/insert-article/${id}`,\n {\n articleId: article,\n }\n );\n })\n );\n }\n\n if (videos.length) {\n files = await Promise.all(\n videos.map(async (file) => {\n const formData = new FormData();\n formData.append(\"File\", file);\n return await axios.put(\n `${config.apiURL}/api/Course/insert-video/${id}`,\n formData\n );\n })\n );\n }\n\n await Promise.allSettled([files, uploadImage, articles])\n .then((res) => {\n setOpenModal(true);\n setButtonClicked(false);\n })\n .catch((err) => {\n logError(err);\n setOpenModal(false);\n setButtonClicked(false);\n });\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n });\n };\n\n const GetCourseById = async (id) => {\n await axios\n .get(`${config.apiURL}/api/Course/${id}`)\n .then((res) => {\n setValues({ name: res.data.title, description: res.data.description });\n setSelectedFile(res.data.image);\n setSelectedOptionsDepartments(res.data.visibleDepartments);\n setSelectedOptionsCategories(res.data.categories.map((cat) => cat.id));\n setEditArticles(res.data.articles.map((article) => article.id));\n setEditVideos(res.data.videos);\n })\n .catch((err) => logError(err));\n };\n useEffect(() => {\n if (location.pathname.includes(\"edit-course\")) {\n GetCourseById(props.match.params.id);\n setCourseId(props.match.params.id);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location]);\n\n return (\n
    \n {readyToRender && (\n
    \n {\n setOpenModal(false);\n history.push(\"/courses\");\n }}\n >\n {courseId ? (\n \n

    {t(\"succesfully_edited_course\")}

    \n
    \n {\n setOpenModal(false);\n history.push(\"/courses\");\n }}\n >\n {t(\"back\")}\n \n
    \n
    \n ) : (\n \n

    {t(\"succesfully_added_course\")}

    \n

    {t(\"want_add_quiz_for_course\")}

    \n
    \n {\n setOpenModal(false);\n history.push(\"/courses\");\n }}\n >\n {t(\"Abbrechen\")}\n \n history.push(\"/courses\")}\n >\n Add quiz\n \n
    \n
    \n )}\n \n
    \n
    \n history.push(\"/courses\")} />\n {t(\"Courses\")}\n
    \n \n
    \n
    \n\n
    \n \n {steps.map((label) => (\n \n {label}\n \n ))}\n \n
    \n {activeStep === steps.length ? null : (\n \n {getStepContent(activeStep, props.currentUser)}\n
    \n {activeStep !== 0 ? (\n \n {t(\"previous\")}\n \n ) : (\n
    \n )}\n handleEdit(courseId)\n : handleSubmit\n : handleNext\n }\n buttonClicked={\n activeStep === steps.length - 1 && buttonClicked\n }\n >\n {activeStep === steps.length - 1\n ? location.pathname.includes(\"edit-course\")\n ? `${t(\"Edit\")}`\n : `${t(\"Submit\")}`\n : `${t(\"next\")}`}\n \n
    \n \n )}\n
    \n
    \n
    \n )}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n});\n\nexport default connect(mapStateToProps, null)(AddCourse);\n","import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\n\nimport Slider from 'react-slick';\nimport 'slick-carousel/slick/slick.css';\nimport 'slick-carousel/slick/slick-theme.css';\n\nimport KeyboardArrowLeftIcon from '@material-ui/icons/KeyboardArrowLeft';\nimport config from '../../config/api.config.js';\nimport { logError } from \"../../helpers/helpers\";\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport KeyboardArrowRightIcon from '@material-ui/icons/KeyboardArrowRight';\n\nimport Breadcrumbs from '../../components/breadcrumbs/breadcrumbs';\nimport Backdrop from '../../components/backdrop/backdrop';\nimport NothingFound from '../../components/searchNothingFound/searchNothingFound';\n\nimport { ReactComponent as EditIcon } from '../../assets/images/edit.svg';\n\nimport { useTranslation } from 'react-i18next';\nimport App from '../../App';\n\nimport {\n Player,\n BigPlayButton,\n ControlBar,\n ForwardControl,\n ReplayControl,\n PlaybackRateMenuButton\n} from 'video-react';\nimport 'video-react/dist/video-react.css';\n\nconst CourseDetails = (props) => {\n const { t } = useTranslation()\n const history = useHistory();\n const [details, setDetails] = useState(null);\n const [openBackdrop, setOpenBackdrop] = useState(false);\n const [articles, setArticles] = useState(null);\n const settings = {\n dots: false,\n infinite: true,\n nextArrow: ,\n speed: 500,\n slidesToShow: 2,\n slidesToScroll: 1\n };\n\n const GetCourseDetails = async () => {\n setOpenBackdrop(true);\n await axios\n .get(`${config.apiURL}/api/Course/${props.match.params.id}`)\n .then((res) => {\n setDetails(res.data);\n setArticles(res.data.articles);\n setOpenBackdrop(false);\n })\n .catch((err) => {\n setOpenBackdrop(false);\n logError(err);\n });\n };\n\n useEffect(() => {\n GetCourseDetails();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {openBackdrop ? (\n \n ) : (\n
    \n
    \n
    \n history.push('/courses')} \n onClick={() => history.goBack()}\n />\n {t(\"Courses\")}\n
    \n \n \n history.push(`/edit-course/${props.match.params.id}`)\n }\n />\n
    \n
    \n

    \n {t('Categories')}:{' '}\n {details?.categories.map((cat) => cat.name).join(', ')}\n

    \n

    \n {t('created_by')}: {details ? details.author.firstName + ' ' + details.author.lastName : null}\n

    \n \n \n \n \n \n No.\n Name\n {t('Category')}\n {t('Date')}\n \n \n \n {!articles?.length ? (\n \n \n \n {t('nothing_found_article')}\n \n \n \n ) : (\n articles?.map((row, i) => (\n history.push(`/article/${row.id}`)}\n >\n \n {i + 1 + '.'}\n \n {row.title}\n \n {row.categories\n .map((cat, i) => (i < 2 ? cat.name : '...'))\n .join(', ')}\n \n \n {moment(row.dateCreated).format('DD.MM.yyyy')}\n \n \n ))\n )}\n \n
    \n
    \n
    \n
    \n \n {details?.videos.length > 2 ? (\n \n {details?.videos.map((video) => (\n
    \n

    {video.originalName}

    \n \n \n \n \n \n \n \n \n
    \n ))}\n
    \n ) : (\n
    \n {details?.videos.map((video) => (\n
    \n

    {video.originalName}

    \n \n \n \n \n \n \n \n \n
    \n ))}\n
    \n )}\n
    \n
    \n
    \n )}\n \n );\n};\n\nexport default CourseDetails;\n","import \"babel-polyfill\";\nimport React, { useEffect, useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport Select from \"react-select\";\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport { ReactComponent as Upload } from \"../../assets/images/upload.svg\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport { useTranslation } from \"react-i18next\";\nimport \"../../assets/css/pages/members.scss\";\nimport Modal from \"../../components/modal/modal\";\nimport {\n searchLocations,\n getDepartmentsByLoc,\n} from \"../../redux/location/action\";\nimport { getTeamsByDepartment } from \"../../redux/department/action\";\nimport {\n addUser,\n updateUser,\n uploadMemberProfilePic,\n} from \"../../redux/users/action\";\n\nconst defaultImageSrc = \"/profile.jpg\";\n\nconst MemberModal = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const {\n open,\n closeModal,\n currentUser,\n editId,\n selectedMember,\n showSuccessMsg,\n } = props;\n\n const [buttonClicked, setButtonClicked] = useState(false);\n const [departments, setDepartments] = useState([]);\n const [teams, setTeams] = useState([]);\n const [locations, setLocations] = useState([]);\n const [supervisorName, setSupervisorName] = useState(\"\");\n const [memberEditId, setMemberEditId] = useState(null);\n const [memberEmail, setMemberEmail] = useState(\"\");\n const [memberEmailError, setMemberEmailError] = useState(false);\n const [memberTel, setMemberTel] = useState(\"\");\n const [memberName, setMemberName] = useState(\"\");\n const [memberLastName, setMemberLastName] = useState(\"\");\n const [imageSrc, setImageSrc] = useState(defaultImageSrc);\n const [roles, setRoles] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [locationId, setLocationId] = useState(\"\");\n const [departmentId, setDepartmentId] = useState(\"\");\n const [teamId, setTeamId] = useState(\"\");\n const [roleOptions, setRoleOptions] = useState([]);\n const [supervisorId, setSupervisorId] = useState(\"\");\n const [member, setMember] = useState(null);\n const [values, setValues] = useState({\n name: \"\",\n });\n const [selectedFile, setSelectedFile] = useState(null);\n const [position, setPosition] = useState(\"\");\n const [selectedImageUrl, setSelectedImageUrl] = useState(\"\");\n\n\n useEffect(() => {\n if (currentUser) {\n if (props.locationIds.length === 0) {\n dispatch(searchLocations({ GetAll: true }));\n }\n setDepartments([]);\n setTeams([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentUser]);\n\n useEffect(() => {\n if (props.locationIds.length > 0) {\n setLocations(\n props.locationIds.map((id) => {\n return {\n value: id,\n label: props.locations[id].name,\n };\n })\n );\n } else {\n setLocations([]);\n }\n }, [props.locationIds.length]);\n\n useEffect(() => {\n if (open && editId && selectedMember && editId === selectedMember.id) {\n setMemberEditId(editId);\n setMember(selectedMember);\n setMemberName(selectedMember.firstName);\n setMemberLastName(selectedMember.lastName);\n setMemberEmail(selectedMember.email);\n setMemberTel(selectedMember.phoneNumber);\n setLocationId(selectedMember.locationId);\n setDepartmentId(selectedMember.departmentId);\n setTeamId(selectedMember.teamId);\n setRoles(selectedMember.role);\n setSupervisorId(selectedMember.supervisorId);\n setPosition(selectedMember.position);\n if (selectedMember.locationId) {\n getDepartments(selectedMember.locationId);\n }\n if (selectedMember.departmentId) {\n getTeams(selectedMember.departmentId);\n }\n setImageSrc(selectedMember.imageSrc);\n }\n\n const roleOpt = [\n { value: \"Admin\", label: \"Admin\" },\n { value: \"Coach\", label: \"Coach\" },\n { value: \"Intern\", label: \"Intern\" },\n { value: \"Moderator\", label: \"Moderator\" },\n { value: \"Subscriber\", label: \"Subscriber\" },\n ];\n setRoleOptions(roleOpt);\n }, [editId, selectedMember, open]);\n\n const resetValues = () => {\n setValues({ ...values, name: \"\" });\n\n setLocationId(\"\");\n setDepartmentId(\"\");\n setTeamId(\"\");\n setSelectedFile(null);\n setMemberEditId(null);\n setMemberName(\"\");\n setMemberLastName(\"\");\n setMemberEmail(\"\");\n setMemberEmailError(false);\n setMemberTel(\"\");\n setImageSrc(\"\");\n setRoles(\"\");\n setDepartments([]);\n setTeams([]);\n setSupervisorId(\"\");\n setMember(null);\n setSelectedFile(null);\n setSupervisorName(\"\");\n setPosition(\"\");\n setSelectedImageUrl(\"\");\n };\n\n const getDepartments = async (locid) => {\n if (\n locid &&\n (!props.departmentsByLoc ||\n Object.keys(props.departmentsByLoc)?.length === 0 ||\n !props.departmentsByLoc[locid] ||\n props.departmentsByLoc[locid].length === 0)\n ) {\n await dispatch(getDepartmentsByLoc({ LocationId: locid }));\n } else {\n setDepartmentDropdown(locid);\n }\n };\n\n useEffect(() => {\n if (locationId) {\n setDepartmentDropdown(locationId);\n }\n }, [props.departmentsByLoc]);\n\n const setDepartmentDropdown = (locId) => {\n if (props.departmentsByLoc[locId]) {\n setDepartments(\n props.departmentsByLoc[locId].map((dep) => {\n return {\n value: dep.id,\n label: dep.name,\n };\n })\n );\n } else {\n setDepartments([]);\n }\n };\n const validateEmailFormat = (email) => {\n if (/^[a-z0-9]+@[a-z]+\\.[a-z]{2,}$/i.test(email)) {\n return true;\n }\n return false;\n };\n\n const handleChangeEmail = (value) => {\n setMemberEmail(value);\n if (value!==\"\" && !validateEmailFormat(value)) {\n setMemberEmailError(true);\n } else {\n setMemberEmailError(false);\n }\n };\n\n const getTeams = async (depid) => {\n if (\n depid &&\n (!props.teamsByDepartment ||\n Object.keys(props.teamsByDepartment)?.length === 0 ||\n !props.teamsByDepartment[depid] ||\n props.teamsByDepartment[depid].length === 0)\n ) {\n await dispatch(getTeamsByDepartment({ DepartmentId: depid }));\n } else {\n setTeamsDropdown(depid);\n }\n };\n\n useEffect(() => {\n if (departmentId) {\n setTeamsDropdown(departmentId);\n }\n }, [props.teamsByDepartment]);\n\n const setTeamsDropdown = (depId) => {\n if (depId && props.teamsByDepartment[depId]) {\n setTeams(\n props.teamsByDepartment[depId].map((team) => {\n return {\n value: team.id,\n label: team.name,\n };\n })\n );\n } else {\n setTeams([]);\n }\n };\n\n const AddMember = async () => {\n await setButtonClicked(true);\n dispatch(\n addUser({\n firstName: memberName,\n lastName: memberLastName,\n email: memberEmail,\n phoneNumber: memberTel,\n locationId: locationId,\n departmentId: departmentId ? departmentId : null,\n teamId: teamId ? teamId : null,\n position: position,\n })\n )\n .then((res) => {\n setButtonClicked(false);\n resetValues();\n setImageSrc(\"\");\n closeModal();\n showSuccessMsg(\"Neuer Nutzer erfolgreich hinzugefügt.\");\n })\n .catch(function (err) {\n if (err.response) {\n let msg;\n if (err.response.data?.includes(\"Passwords do not match\")) {\n msg = \"Passwörter stimmen nicht überein\";\n } else if (err.response.data?.includes(\"Email already exists\")) {\n msg = \"Email-Adresse existiert bereits\";\n } else {\n msg = \"Fehler bei Hinzufügen von Nutzer.\";\n }\n setButtonClicked(false);\n setErrorMessage(msg);\n setOpenAlert(true);\n }\n });\n };\n\n const EditMember = async () => {\n const reqData = {\n userId: memberEditId,\n workspaceId: currentUser.workspaceId,\n firstName: memberName,\n lastName: memberLastName,\n phoneNumber: memberTel,\n locationId: locationId,\n departmentId: departmentId ? departmentId : null,\n teamId: teamId ? teamId : null,\n role: roles,\n supervisorId: supervisorId,\n position: position,\n };\n await setButtonClicked(true);\n\n if (memberEmail != member.email) {\n reqData.email = memberEmail;\n }\n\n await dispatch(updateUser(reqData))\n .then(async (res) => {\n let uploadErr = false;\n if (selectedFile) {\n const formData = new FormData();\n formData.append(\"File\", selectedFile);\n await dispatch(\n uploadMemberProfilePic({ formData: formData, userId: memberEditId })\n ).catch(function (err) {\n logError(err);\n uploadErr = true;\n });\n }\n setButtonClicked(false);\n if (uploadErr) {\n setErrorMessage(\"Fehler beim Hochladen des Fotos.\");\n } else {\n showSuccessMsg(\"Nutzer wurde efolgreich bearbeitet.\");\n resetValues();\n closeModal();\n }\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n let errMsg = \"Fehler beim Bearbeiten des Nutzers.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const onFileChange = (event) => {\n setOpenAlert(false);\n if (event.target.files.length <= 0) return;\n\n if (!event.target.files[0].type.includes(\"image\")) {\n setErrorMessage(\"Please upload image\");\n setOpenAlert(true);\n return;\n }\n setSelectedImageUrl(URL.createObjectURL(event.target.files[0]));\n setSelectedFile(event.target.files[0]);\n };\n\n return (\n {\n resetValues();\n closeModal();\n }}\n aria-labelledby=\"dialog-title\"\n aria-describedby=\"dialog-description\"\n className=\"department-members articles-modal\"\n >\n {errorMessage && (\n setOpenAlert(false)}>\n {errorMessage}\n \n )}\n
    \n \n {memberEditId && (\n
    \n {!selectedFile && !imageSrc && (\n \n \n \n )}\n {selectedFile && selectedImageUrl && (\n \n )}\n {!selectedFile && imageSrc && (\n \n )}\n \n Profilbild hochladen\n \n \n
    \n )}\n setMemberName(target.value)}\n />\n setMemberLastName(target.value)}\n />\n
    \n handleChangeEmail(target.value)}\n />\n \n {memberEmailError === true && \"Das E-Mail-Feld ist keine gültige E-Mail-Adresse\"}\n \n
    \n {memberEditId && (\n \n isNaN(target.value)\n ? setMemberTel(\"\")\n : setMemberTel(target.value)\n }\n />\n )}\n
    \n {\n setLocationId(e.value);\n getDepartments(e.value);\n setTeams([]);\n setDepartmentId(\"\");\n setTeamId(\"\");\n }}\n options={locations}\n isSearchable={true}\n value={locations.filter((option) => option.value === locationId)}\n />\n {\n setDepartmentId(e?.value ? e.value : null);\n getTeams(e?.value ? e.value : null);\n setTeamId(\"\");\n }}\n options={departments}\n isSearchable={true}\n isClearable={true}\n value={departments.filter(\n (option) => option.value === departmentId\n )}\n />\n
    \n \n {\n setTeamId(e?.value ? e.value : null);\n }}\n options={teams}\n isSearchable={true}\n isClearable={true}\n value={teams.filter((option) => option.value === teamId)}\n />\n {memberEditId && (\n {\n setRoles(e.value);\n }}\n options={roleOptions}\n isSearchable={true}\n value={roleOptions.filter((option) => option.value === roles)}\n />\n )}\n
    \n setPosition(target.value)}\n />\n {memberEditId && (\n <>\n setSupervisorName(target.value)}\n />\n \n )}\n
    \n {\n resetValues();\n closeModal();\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {memberEditId ? t(\"Bearbeiten\") : t(\"Hinzufügen\")}\n \n
    \n \n
    \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n locationIds: state.location.allIds,\n locations: state.location.byId,\n departmentIds: state.department.allIds,\n departments: state.department.byId,\n departmentsByLoc: state.location.departments,\n teamIds: state.team.allIds,\n teams: state.team.byId,\n teamsByDepartment: state.department.teams,\n isLoading: state.user.isLoading,\n});\n\nexport default connect(mapStateToProps, null)(MemberModal);\n","/* eslint-disable eqeqeq */\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Button from \"@material-ui/core/Button\";\nimport MemberModal from \"./MemberModal\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport Backdrop from \"../../components/backdrop/backdrop\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport { useHistory } from \"react-router-dom\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport config from \"../../config/api.config.js\";\nimport \"../../assets/css/pages/members.scss\";\nimport { useTranslation } from \"react-i18next\";\nimport App from \"../../App\";\nimport { ReactComponent as Upload } from \"../../assets/images/upload.svg\";\nimport FilePreview from \"../../components/filePreview/filePreview\";\nimport { searchLocations } from \"../../redux/location/action\";\nimport { searchDepartments } from \"../../redux/department/action\";\nimport { searchTeams } from \"../../redux/team/action\";\nimport {\n searchUsers,\n deleteUser,\n uploadUserCsv,\n forgotPassword,\n} from \"../../redux/users/action\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport { right } from \"@popperjs/core\";\nimport KeyIcon from \"@material-ui/icons/VpnKey\";\n\nconst Members = (props) => {\n const history = useHistory();\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [memberEditId, setMemberEditId] = useState(null);\n const [search, setSearch] = useState(\"\");\n const [locations, setLocations] = useState(null);\n const [teams, setTeams] = useState(null);\n const [openMemberModal, setOpenMemberModal] = useState(false);\n const [selectedSort, setSelectedSort] = useState(1);\n const [defaultPage, setDefaultPage] = useState(false);\n // eslint-disable-next-line no-unused-vars\n const [openBackdrop, setOpenBackdrop] = useState(false);\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [departments, setDepartments] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [uploadModalOpen, setUploadModalOpen] = useState(false);\n const [typeError, setTypeError] = useState(\"\");\n const [selectedFile, setSelectedFile] = useState(null);\n const [disableUpload, setDisableUpload] = useState(false);\n const fileRef = useRef();\n const [isAdmin, setIsAdmin] = useState(false);\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [openResetPassModal, setOpenResetPassModal] = useState(false);\n const [resetPassEmail, setResetPassEmail] = useState(\"\");\n\n const DeleteMemberModal = (id) => {\n if (!isAdmin) return;\n\n setMemberEditId(id);\n setConfirmDeleteModal(true);\n };\n\n const DeleteMember = async () => {\n await setButtonClicked(true);\n dispatch(\n deleteUser({\n userId: memberEditId,\n workspaceId: props.currentUser.workspaceId,\n })\n )\n .then((res) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setMemberEditId(null);\n dispatch(\n searchUsers({\n Sort: selectedSort,\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n setSuccessMessage(\"Nutzer wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setMemberEditId(null);\n let errMsg = \"Fehler bei Löschen des Nutzers.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n searchUsers({\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n /////////// Sorting endet hier /////////////////////////\n\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n if (props.currentUser.role === \"Admin\") {\n setIsAdmin(true);\n }\n if (props.allMemberIds.length === 0) {\n dispatch(searchUsers({ GetAll: true }));\n }\n if (props.locationIds.length === 0) {\n dispatch(searchLocations({ GetAll: true }));\n }\n if (props.departmentIds.length === 0) {\n dispatch(searchDepartments({ GetAll: true }));\n }\n if (props.teamIds.length === 0) {\n dispatch(searchTeams({ GetAll: true }));\n }\n\n dispatch(searchUsers());\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n useEffect(() => {\n if (props.locationIds.length > 0) {\n const _loc = new Array();\n props.locationIds.forEach((id) => {\n _loc.push({\n id: id,\n name: props.locations[id].name,\n });\n });\n setLocations(_loc);\n } else {\n setLocations(null);\n }\n }, [props.locationIds.length]);\n\n useEffect(() => {\n if (props.departmentIds.length) {\n const _dep = new Array({ value: null, label: \"All\" });\n props.departmentIds.forEach((id) => {\n _dep.push({\n id: id,\n name: props.departments[id].name,\n });\n });\n setDepartments(_dep);\n } else {\n setDepartments(null);\n }\n }, [props.departmentIds.length]);\n\n useEffect(() => {\n if (props.teamIds.length > 0) {\n const _team = new Array({ value: null, label: \"All\" });\n props.teamIds.forEach((id) => {\n _team.push({\n id: id,\n name: props.teams[id].name,\n });\n });\n setTeams(_team);\n } else {\n setTeams(null);\n }\n }, [props.teamIds.length]);\n\n /////////// Search fängt hier an /////////////////////////\n const getSearchValue = (search) => {\n setSearch(search);\n if (props.currentUser) {\n dispatch(\n searchUsers({\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n })\n );\n }\n // forceCheck()\n setDefaultPage(!defaultPage);\n };\n\n /////////// Search endet hier /////////////////////////\n\n /////////// Pagination fängt hier an /////////////////////////\n const getPageNumber = (newPage) => {\n dispatch(\n searchUsers({\n PageNumber: newPage,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n })\n );\n };\n /////////// Pagination endet hier /////////////////////////\n\n const onFileChange = (event) => {\n setDisableUpload(false);\n let file = event.target.files[0];\n if (getFileExtension(file.name) !== \"xlsx\") {\n setTypeError(\"File type not support\");\n return false;\n }\n if (event.target.files.length <= 0) return;\n setSelectedFile(file);\n setDisableUpload(true);\n setTypeError(\"\");\n };\n\n const getFileExtension = (filename) => {\n return filename.split(\".\").pop();\n };\n\n const deleteFilePreview = () => {\n setSelectedFile(null);\n setDisableUpload(false);\n fileRef.current.value = \"\";\n };\n\n const uploadMembersHandler = async () => {\n await setButtonClicked(true);\n setOpenAlert(false);\n const formData = new FormData();\n formData.append(\"File\", selectedFile);\n dispatch(uploadUserCsv(formData))\n .then((res) => {\n setButtonClicked(false);\n resetUploadModalValues();\n dispatch(\n searchUsers({\n Sort: selectedSort,\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n setSuccessMessage(\"Nutzer wurden erfolgreich hinzugefügt.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n setErrorMessage(\n err.response && err.response.data?.errors?.File[0]\n ? err.response.data.errors.File[0]\n : \"Fehler bei Bearbeiten des Nutzerss.\"\n );\n setOpenAlert(true);\n });\n };\n\n const resetUploadModalValues = () => {\n fileRef.current.value = \"\";\n setUploadModalOpen(false);\n setSelectedFile(null);\n setTypeError(\"\");\n setDisableUpload(false);\n setErrorMessage(\"\");\n };\n\n const EditMemberModal = (id) => {\n if (!isAdmin) return;\n let user = props.members[id];\n if (user.image?.name) {\n user[\"imageSrc\"] = `${config.resourcesUrl+user.image.name}`;\n } else {\n user[\"imageSrc\"] = \"\";\n }\n setSelectedUser(user);\n setMemberEditId(id);\n setOpenMemberModal(true);\n };\n\n const onSuccessHandler = (msg) => {\n setSuccessMessage(msg);\n setOpenAlert(true);\n };\n\n const ResetPasswordModal = (email) => {\n if (!isAdmin) return;\n setOpenResetPassModal(true);\n setResetPassEmail(email);\n };\n\n const resetPasswordHandler = async () => {\n await setButtonClicked(true);\n await dispatch(forgotPassword({ email: resetPassEmail }))\n .then((res) => {\n setButtonClicked(false);\n if (res.value) {\n setSuccessMessage(\"Email wurde versandt.\");\n setOpenResetPassModal(false);\n setResetPassEmail(\"\");\n } else {\n setErrorMessage(\"Something went wrong.\");\n }\n setOpenAlert(true);\n })\n .catch((err) => {\n setButtonClicked(false);\n let errMsg = \"Something went wrong.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n \n
    \n
    \n \n {\n return setOpenMemberModal(true);\n }}\n disabled={isAdmin ? false : true}\n style={{marginRight:\"10px\"}}\n >\n {t(\"Neu\")}\n \n {\n return setUploadModalOpen(true);\n }}\n style={{ width: \"120px\" }}\n disabled={isAdmin ? false : true}\n >\n {t(\"Hochladen\")}\n \n {\n setOpenMemberModal(false);\n setSelectedUser(null);\n setMemberEditId(null);\n }}\n editId={memberEditId}\n selectedMember={selectedUser}\n currentUser={props.currentUser}\n showSuccessMsg={onSuccessHandler}\n />\n {/*++++++++++++++++++ ADD EDIT FORM ENDET HIER ++++++++++++++++++++++++++++++*/}\n\n {/*++++++++++++++++++ DELETE MODEL FÄNGT HIER AN ++++++++++++++++++++++++++++++*/}\n setConfirmDeleteModal(false)}\n >\n

    {t(\"Mitarbeitende löschen?\")}

    \n
    \n setConfirmDeleteModal(false)}>\n Abbrechen\n \n \n {t(\"Löschen\")}\n \n
    \n \n\n \n
    \n
    \n \n \n {\"Hier klicken, um CSV Datei hochzuladen\"}\n \n \n
    \n
    \n
    \n {typeError ? (\n {typeError}\n ) : null}\n {selectedFile && (\n \n )}\n
    \n
    \n \n Abbrechen\n \n \n Hochladen\n \n
    \n \n\n {\n setOpenResetPassModal(false);\n setResetPassEmail(\"\");\n }}\n >\n
    Password des Users zurücksetzen?
    \n
    \n {\n setOpenResetPassModal(false);\n setResetPassEmail(\"\");\n }}\n >\n Abbrechen\n \n \n Rücksetzen\n \n
    \n \n
    \n\n {isAdmin && (\n
    \n \n Batchvorlage runterladen\n \n
    \n )}\n {/*++++++++++++++++++ (SORT COMPONENT) ++++++++++++++++++++++++++++++*/}\n \n
    \n {/*++++++++++++++++++ FILTERING UND MEMBER CARDS FÄNGT HIER AN ++++++++++++++++++++++++++++++*/}\n \n \n \n \n {t(\"Nr.\")}.\n {t(\"Name\")}\n {t(\"Standort\")}\n {t(\"Abteilung\")}\n {t(\"Team\")}\n {t(\"Position\")}\n {t(\"Optionen\")}\n \n \n \n {props.isLoading ? (\n \n \n
    \n \n
    \n \n
    \n ) : /*: search*/ !props.isLoading && !props.memberIds?.length ? (\n \n \n {t(\"nothing_found_member\")}\n \n \n ) : (\n <>\n {props.memberIds?.length > 0 &&\n props.memberIds?.map((id) => {\n return (\n props.members[id] && (\n \n {props.members[id].no + \".\"}\n \n history.push(`/member-details/${id}`)\n }\n >\n {props.members[id].firstName +\n \" \" +\n props.members[id].lastName}\n \n \n {props.members[id].locationId\n ? locations?.find(\n (p) => p.id === props.members[id].locationId\n )?.name\n : \"-\"}\n \n \n {props.members[id].departmentId\n ? departments?.find(\n (p) => p.id === props.members[id].departmentId\n )?.name\n : \"-\"}\n \n \n {props.members[id].teamId\n ? teams?.find(\n (p) => p.id === props.members[id].teamId\n )?.name\n : \"-\"}\n \n {props.members[id].position}\n \n
    \n {isAdmin && (\n \n ResetPasswordModal(props.members[id].email)\n }\n />\n )}\n EditMemberModal(id)}\n />\n DeleteMemberModal(id)}\n />\n
    \n
    \n \n )\n );\n })}\n \n )}\n
    \n
    \n
    \n {/*++++++++++++++++++ FILTERING UND MEMBER CARDS ENDET HIER ++++++++++++++++++++++++++++++*/}\n\n {/*++++++++++++++++++ PAGINATION FÄNGT HIER AN ++++++++++++++++++++++++++++++*/}\n {!props.memberIds?.length && search ? null : (\n <>\n {Object.keys(props.pageParams).length > 0 && (\n \n )}\n \n )}\n {/*++++++++++++++++++ PAGINATION ENDET HIER ++++++++++++++++++++++++++++++*/}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n locationIds: state.location.allIds,\n locations: state.location.byId,\n departmentIds: state.department.allIds,\n departments: state.department.byId,\n departmentsByLoc: state.location.departments,\n teamIds: state.team.allIds,\n teams: state.team.byId,\n teamsByDepartment: state.department.teams,\n allMemberIds: state.user.allIds,\n members: state.user.byId,\n memberIds: state.user.searchIds,\n isLoading: state.user.isLoading,\n pageParams: state.user.pageParams,\n});\n\nexport default connect(mapStateToProps, null)(Members);\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport config from \"../../config/api.config.js\";\nimport { /* Link */ Typography } from \"@material-ui/core\";\nimport ArrowBackIosIcon from \"@material-ui/icons/ArrowBackIos\";\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport Badge from \"@material-ui/core/Badge\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport \"../../assets/css/pages/memberDetails.scss\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport App from \"../../App\";\nimport MemberModal from \"./MemberModal\";\nimport { searchDepartments } from \"../../redux/department/action\";\nimport { searchTeams } from \"../../redux/team/action\";\nimport { getUserById } from \"../../redux/users/action\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n // color: config.colorSecondary,\n // marginLeft: 'auto',\n // marginRight: 'auto'\n },\n root: {\n display: \"flex\",\n \"& > *\": {\n margin: theme.spacing(1),\n },\n },\n large: {\n width: theme.spacing(20),\n height: theme.spacing(20),\n },\n memberDetails: {\n fontSize: \"1.5rem\",\n color: \"#667e80\",\n letterSpacing: \"0.01071em\",\n },\n memberSmall: {\n fontSize: \".8rem\",\n color: \"#cccccc\",\n letterSpacing: \"1px\",\n },\n memberTitle: {\n fontSize: \"1rem\",\n color: \"#c7c7c7\",\n letterSpacing: \"1px\",\n },\n}));\nconst StyledBadge = withStyles((theme) => ({\n badge: {\n backgroundColor: \"#4AAEE7\",\n color: \"#4AAEE7\",\n height: \"12px\",\n width: \"12px\",\n borderRadius: \"50%\",\n boxShadow: `0 0 0 2px ${theme.palette.background.paper}`,\n \"&::after\": {\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"50%\",\n content: '\"\"',\n },\n },\n}))(Badge);\n\nconst MemberDetails = (props) => {\n const dispatch = useDispatch();\n const [member, setMember] = useState(null);\n const [loading, setLoading] = useState(false);\n const [memberEditId, setMemberEditId] = useState(null);\n const [editData, setEditData] = useState(null);\n const [openMemberModal, setOpenMemberModal] = useState(false);\n const [isAdmin, setIsAdmin] = useState(false);\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n // const history = useHistory()\n const classes = useStyles();\n\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n if (props.currentUser.role === \"Admin\") {\n setIsAdmin(true);\n }\n\n if (props.departmentIds.length === 0) {\n dispatch(searchDepartments({ GetAll: true }));\n }\n if (props.teamIds.length === 0) {\n dispatch(searchTeams({ GetAll: true }));\n }\n getMember();\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n const getMember = async () => {\n const id = props.match.params.id;\n let user = [];\n setLoading(true);\n if (props.memberIds.length > 0 && props.members[id]) {\n setLoading(false);\n user = props.members[id];\n if (props.members[id]?.image) {\n user[\"profileImg\"] = `${config.resourcesUrl+props.members[id]?.image?.name}`;\n } else {\n user[\"profileImg\"] = \"\";\n }\n } else {\n await dispatch(getUserById({ id: id }))\n .then((res) => {\n setLoading(false);\n if (res.value?.data) {\n user = res.value.data;\n user[\"id\"] = res.value.data.userId;\n if (user.image?.name) {\n user[\"profileImg\"] = `${config.resourcesUrl+user.image.name}`;\n } else {\n user[\"profileImg\"] = \"\";\n }\n }\n })\n .catch((err) => {\n setLoading(false);\n setErrorMessage(\"Fehler bei Laden der Nutzerdetails.\");\n setOpenAlert(true);\n });\n }\n if (user) {\n setMember(user);\n setMemberEditId(user.userId);\n setEditData({\n id: user.userId,\n name: user.firstName,\n firstName: user.firstName,\n lastName: user.lastName,\n teamId: user.teamId,\n departmentId: user.departmentId,\n locationId: user.locationId,\n email: user.email,\n phoneNumber: user.phoneNumber,\n role: user.role,\n imageSrc: user.profileImg,\n supervisorId: user.supervisorId,\n position: user.position,\n });\n }\n };\n\n const getDepartmentName = (depId) => {\n let depName = \"\";\n if (depId && props.departmentIds.length > 0 && props.departments[depId]) {\n depName = props.departments[depId].name;\n }\n return depName;\n };\n\n const getTeamName = (teamId) => {\n let teamName = \"\";\n if (teamId && props.teamIds.length > 0 && props.teams[teamId]) {\n teamName = props.teams[teamId].name;\n }\n return teamName;\n };\n\n const editMemberHandler = (id) => {\n if (!isAdmin) return;\n setOpenMemberModal(true);\n setMemberEditId(id);\n };\n\n const onSuccessHandler = (msg) => {\n setSuccessMessage(msg);\n setOpenAlert(true);\n };\n\n return (\n \n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {loading ? (\n
    \n \n
    \n ) : (\n member && (\n <>\n {\n setOpenMemberModal(false);\n getMember();\n }}\n editId={memberEditId}\n selectedMember={editData}\n getMembers={getMember}\n currentUser={props.currentUser}\n showSuccessMsg={onSuccessHandler}\n />\n
    \n \n \n \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n \n {member.firstName + \" \" + member.lastName}\n \n
    \n {\n editMemberHandler(member.userId);\n }}\n />\n
    \n \n \n E-mail :\n \n \n {member.email ? member.email : \"\"}\n \n \n \n \n Telefon :\n \n \n {member.phoneNumber ? member.phoneNumber : \"\"}\n \n \n \n \n Abteilung :\n \n \n {getDepartmentName(member.departmentId)}\n \n \n \n \n Team :\n \n {getTeamName(member.teamId)}\n \n \n \n Position :\n \n \n {member.position ? member.position : \"\"}\n \n \n \n \n Rolle :\n \n \n {member.role ? member.role : \"\"}\n \n \n \n \n Supervisor :\n \n \n {member.supervisorId ? member.supervisorId : \"\"}\n \n \n
    \n
    \n
    \n
    \n \n )\n )}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n memberIds: state.user.allIds,\n members: state.user.byId,\n teamIds: state.team.allIds,\n teams: state.team.byId,\n departmentIds: state.department.allIds,\n departments: state.department.byId,\n});\n\nexport default connect(mapStateToProps, null)(MemberDetails);\n","import React, { Fragment, useState } from \"react\";\nimport { Checkbox } from \"@material-ui/core\";\nimport InputField from \"../../components/inputField/inputField\";\nimport { ReactComponent as DeleteIcon } from '../../assets/images/delete.svg';\n\nconst QuestionBox = (props) => {\n // const { t } = useTranslation();\n const [buttonClicked] = useState(false);\n const [check1BOX, setCheck1BOX] = useState(false);\n const [check2BOX, setCheck2BOX] = useState(false);\n const [check3BOX, setCheck3BOX] = useState(false);\n const [check4BOX, setCheck4BOX] = useState(false);\n \n\n\n \n const handlecheckBOX1 = (x)=>{\n\n if(check1BOX===false){\n setCheck1BOX(true);\n setCheck2BOX(false);\n setCheck3BOX(false);\n setCheck4BOX(false);\n }else{\n setCheck1BOX(false);\n }\n \n }\n const handlecheckBOX2 = (x)=>{\n if(check2BOX===false){\n setCheck1BOX(false);\n setCheck2BOX(true);\n setCheck3BOX(false);\n setCheck4BOX(false);\n }else{\n setCheck2BOX(false);\n }\n \n }\n const handlecheckBOX3 = (x)=>{\n if(check3BOX===false){\n setCheck1BOX(false);\n setCheck2BOX(false);\n setCheck3BOX(true);\n setCheck4BOX(false);\n }else{\n setCheck3BOX(false);\n }\n \n }\n const handlecheckBOX4 = (x)=>{\n if(check4BOX===false){\n setCheck1BOX(false);\n setCheck2BOX(false);\n setCheck3BOX(false);\n setCheck4BOX(true);\n }else{\n setCheck4BOX(false);\n }\n \n }\n \n \n\n\n \n\n return(\n \n
    \n \n {\n props.data!=='no' ?\n \n :\n <>\n }\n \n
    \n
    \n \n \n \n\n \n \n
    \n \n\n
    \n \n \n \n\n \n \n
    \n\n \n
    \n );\n}\n\nexport default QuestionBox;\n\n\n","import \"babel-polyfill\";\nimport React, { useEffect, useState } from \"react\";\nimport { Dialog } from \"@material-ui/core\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Button from \"@material-ui/core/Button\";\nimport { connect } from \"react-redux\";\nimport axios from \"axios\";\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport QuestionBox from \"./QuestionBox\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport InputField from \"../../components/inputField/inputField\";\nimport Dropdown from \"../../components/dropdown/dropdown\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport FilePreview from \"../../components/filePreview/filePreview\";\nimport { ReactComponent as Upload } from \"../../assets/images/upload.svg\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport auth from \"../../auth\";\nimport { useTranslation } from \"react-i18next\";\nimport { nanoid } from \"nanoid\";\n\nconst QuizModal = (props) => {\n const { t } = useTranslation();\n const { open, closeModal, currentUser, getArticles, articleId } = props;\n const [buttonClicked, setButtonClicked] = useState(false);\n const [addQBOXClicked, setaddQBOXClicked] = useState([]);\n\n function addComponent() {\n const newId = nanoid();\n setaddQBOXClicked([...addQBOXClicked, newId]);\n }\n\n const [departments, setDepartments] = useState([]);\n const [departmentName, setDepartmentName] = useState(\"\");\n const [categories, setCategories] = useState([]);\n const [categoryName, setCategoryName] = useState(\"\");\n\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [selectedDepartments, setSelectedDepartments] = useState([]);\n const [selectedCategories, setSelectedCategories] = useState([]);\n\n const [selectedOptionsDepartments, setSelectedOptionsDepartments] = useState(\n []\n );\n const [selectedOptionsCategories, setSelectedOptionsCategories] = useState(\n []\n );\n\n const [values, setValues] = useState({\n name: \"\",\n });\n const [selectedFile, setSelectedFile] = useState([]);\n const [files, setFiles] = useState([]);\n\n const handleChange = (prop) => (event) => {\n setValues({ ...values, [prop]: event.target.value });\n };\n const onFileChange = (event) => {\n if (event.target.files.length <= 0) return;\n\n // eslint-disable-next-line eqeqeq\n if (!selectedFile.find((f) => f.name == event.target.files[0].name))\n setSelectedFile([...selectedFile, event.target.files[0]]);\n };\n\n const resetValues = () => {\n setValues({ ...values, name: \"\" });\n setSelectedCategories([]);\n setSelectedDepartments([]);\n setSelectedFile([]);\n setFiles([]);\n setSelectedOptionsCategories([]);\n setSelectedOptionsDepartments([]);\n setDepartmentName(\"\");\n setCategoryName(\"\");\n };\n\n const AddDepartment = async () => {\n if (categoryName) {\n await setButtonClicked(true);\n await axios\n .post(`${config.apiURL}/api/Department`, {\n name: departmentName,\n workspaceId: props.currentUser.workspaceId,\n })\n .then((res) => {\n setButtonClicked(false);\n setDepartmentName(\"\");\n getDepartments();\n })\n .catch((err) => {\n setButtonClicked(false);\n setDepartmentName(\"\");\n setErrorMessage(err.response.data.errors.Name[0]);\n setOpenAlert(true);\n });\n }\n };\n\n const AddCategory = async () => {\n if (categoryName) {\n await setButtonClicked(true);\n await axios\n .post(`${config.apiURL}/api/Category`, {\n name: categoryName,\n workspaceId: props.currentUser.workspaceId,\n })\n .then((res) => {\n setButtonClicked(false);\n setCategoryName(\"\");\n getCategories();\n })\n .catch((err) => {\n setButtonClicked(false);\n setCategoryName(\"\");\n });\n }\n };\n\n const getDepartments = async () => {\n await axios\n .get(`${config.apiURL}/api/Department`, {\n params: {\n WorkspaceId: currentUser.workspaceId,\n GetAll: true,\n },\n })\n .then((res) => {\n setDepartments(\n res.data.departments.map((dep) => {\n return {\n value: dep.id,\n label: dep.name,\n };\n })\n );\n })\n .catch((err) => logError(err));\n };\n const getCategories = async () => {\n await axios\n .get(`${config.apiURL}/api/Category`, {\n params: {\n WorkspaceId: currentUser.workspaceId,\n GetAll: true,\n },\n })\n .then((res) => {\n setCategories(\n res.data.categories.map((dep) => {\n return {\n value: dep.id,\n label: dep.name,\n };\n })\n );\n })\n .catch((err) => logError(err));\n };\n\n const AddArticle = async () => {\n setOpenAlert(false);\n await setButtonClicked(true);\n await axios\n .post(`${config.apiURL}/api/Quiz`, {\n title: values.name,\n visibleDepartments: selectedDepartments.map((dep) => dep.value),\n categories: selectedCategories.map((cat) => {\n return { id: cat.value, name: cat.label };\n }),\n workspaceId: props.currentUser.workspaceId,\n authorId: auth.getId(),\n })\n .then((res) => {\n Promise.all([\n selectedFile.forEach(async (file) => {\n const formData = new FormData();\n formData.append(\"File\", file);\n\n return await axios.put(\n `${config.apiURL}/api/Article/insert-file/${res.data.id}`,\n formData\n );\n }),\n ])\n .then((res) => {\n setButtonClicked(false);\n closeModal();\n resetValues();\n getArticles();\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n resetValues();\n setErrorMessage(\n err.response\n ? err.response.data.errors.Title[0]\n : \"Error while adding quiz.\"\n );\n setOpenAlert(true);\n setTimeout(() => closeModal(), 2500);\n });\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n resetValues();\n setErrorMessage(\n err.response\n ? err.response.data.errors.Title[0]\n : \"Error while adding quiz.\"\n );\n setOpenAlert(true);\n setTimeout(() => closeModal(), 2500);\n });\n };\n\n const EditArticle = async () => {\n setOpenAlert(false);\n await setButtonClicked(true);\n await axios\n .put(`${config.apiURL}/api/Article/${articleId}`, {\n title: values.name,\n visibleDepartments: selectedDepartments.map((dep) => dep.value),\n categories: selectedCategories.map((cat) => {\n return { id: cat.value, name: cat.label };\n }),\n workspaceId: props.currentUser.workspaceId,\n authorId: auth.getId(),\n })\n .then((res) => {\n Promise.all([\n selectedFile.forEach(async (file) => {\n const formData = new FormData();\n formData.append(\"File\", file);\n\n return await axios.put(\n `${config.apiURL}/api/Article/insert-file/${articleId}`,\n formData\n );\n }),\n ])\n .then((res) => {\n setButtonClicked(false);\n closeModal();\n resetValues();\n getArticles();\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n resetValues();\n setErrorMessage(\n err.response\n ? err.response.data.errors.Title[0]\n : \"Error while adding article.\"\n );\n setOpenAlert(true);\n setTimeout(() => closeModal(), 2500);\n });\n getArticleById();\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n resetValues();\n setErrorMessage(\n err.response\n ? err.response.data.errors.Title[0]\n : \"Error while adding article.\"\n );\n setOpenAlert(true);\n setTimeout(() => closeModal(), 2500);\n });\n };\n\n const getArticleById = async () => {\n await axios\n .get(`${config.apiURL}/api/Article/${articleId}`)\n .then((res) => {\n setValues({ name: res.data.title });\n setFiles(res.data.files);\n // const blocksFromHTML = convertFromHTML(res.data.content);\n // const state = ContentState.createFromBlockArray(\n // blocksFromHTML.contentBlocks,\n // blocksFromHTML.entityMap\n // );\n\n // const blocksFromHtml = htmlToDraft(res.data.content);\n // const { contentBlocks, entityMap } = blocksFromHtml;\n // const state = ContentState.createFromBlockArray(\n // contentBlocks,\n // entityMap\n // );\n\n setSelectedOptionsDepartments(res.data.visibleDepartments);\n setSelectedOptionsCategories(res.data.categories.map((cat) => cat.id));\n })\n .catch((err) => logError(err));\n };\n\n const deleteFile = async (file) => {\n await axios\n .put(`${config.apiURL}/api/Article/delete-file/${articleId}`, {\n fileId: file.id,\n name: file.name,\n url: file.url,\n })\n .then((res) => {\n getArticleById();\n })\n .catch((err) => logError(err));\n };\n\n const deleteFilePreview = (file) => {\n // eslint-disable-next-line eqeqeq\n const tempFiles = selectedFile.filter((f) => f.name != file.name);\n setSelectedFile(tempFiles);\n };\n\n useEffect(() => {\n if (currentUser) {\n getDepartments();\n getCategories();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentUser]);\n\n useEffect(() => {\n if (articleId) getArticleById();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [articleId]);\n const deleteHandeler = (removeId) =>\n setaddQBOXClicked((addQBOXClicked) =>\n addQBOXClicked.filter((id) => id !== removeId)\n );\n return (\n {\n resetValues();\n closeModal();\n }}\n aria-labelledby=\"dialog-title\"\n aria-describedby=\"dialog-description\"\n className=\"department-members articles-modal\"\n >\n setOpenAlert(false)}>\n {errorMessage}\n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n \n
    \n
    \n

    {t(\"uploaded_files\")}

    \n {selectedFile.length || (articleId && files.length) ? (\n
    \n {files?.map((file) => (\n deleteFile(file)}\n edit={true}\n />\n ))}\n {selectedFile?.map((file) => (\n deleteFilePreview(file)}\n />\n ))}\n
    \n ) : (\n {t(\"nothing_uploaded\")}\n )}\n
    \n\n {/* question and answer feilds */}\n\n \n {addQBOXClicked.map((id) => (\n deleteHandeler(id)}\n />\n ))}\n\n {/* add new question button */}\n
    \n \n {t(\"add_new\")}\n \n
    \n\n
    \n {\n resetValues();\n closeModal();\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {articleId ? `${t(\"save\")}` : `${t(\"add_new\")}`}\n \n
    \n
    \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n});\n\nexport default connect(mapStateToProps, null)(QuizModal);\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport axios from \"axios\";\nimport { connect } from \"react-redux\";\n\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\n\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport ArticleModal from \"../Quizzes/QuizModal\";\n\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\n\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\n\nimport \"../../assets/css/pages/articles.scss\";\nimport App from \"../../App\";\n\nimport { useTranslation } from \"react-i18next\";\n\nconst Articles = (props) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [loading, setLoading] = useState(true);\n const [params, setParams] = useState({\n currentPage: 1,\n totalPages: 1,\n pageSize: 10,\n totalCount: 0,\n hasNext: false,\n hasPrevious: false,\n });\n const [articles, setArticles] = useState(null);\n const [search, setSearch] = useState(\"\");\n const [defaultPage, setDefaultPage] = useState(false);\n const [selectedSort, setSelectedSort] = useState(1);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [articleEditId, setArticleEditId] = useState(null);\n const [openArticleModal, setOpenArticleModal] = useState(false);\n\n const getArticles = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Article`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n PageSize: 10,\n ...params,\n },\n })\n .then((res) => {\n const {\n currentPage,\n totalPages,\n pageSize,\n totalCount,\n hasNext,\n hasPrevious,\n } = res.data;\n setParams({\n currentPage,\n totalPages,\n pageSize,\n totalCount,\n hasNext,\n hasPrevious,\n });\n let articleNo = currentPage * 5 - 5;\n setArticles(\n res.data.articles.map((dep, i) => {\n return {\n no: ++articleNo,\n id: dep.id,\n name: dep.title,\n categories: dep.categories,\n };\n })\n );\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n const DeleteArticleModal = (id) => {\n setArticleEditId(id);\n setConfirmDeleteModal(true);\n };\n const DeleteArticle = async () => {\n await setButtonClicked(true);\n await axios\n .delete(`${config.apiURL}/api/Article/${articleEditId}`, {\n data: { workspaceId: props.currentUser.workspaceId },\n })\n .then((res) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setArticleEditId(null);\n getArticles();\n })\n .catch((err) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setArticleEditId(null);\n // setErrorMessage(err.response.data.ERROR[0]);\n // setOpenAlert(true);\n });\n };\n\n const EditArticleModal = (id) => {\n setArticleEditId(id);\n setOpenArticleModal(true);\n };\n\n const getSearchValue = (search) => {\n setSearch(search);\n if (props.currentUser) {\n getArticles({ PageNumber: 1, Title: search });\n }\n setDefaultPage(!defaultPage);\n };\n const handleSort = (e) => {\n setSelectedSort(e.value);\n getArticles({ PageNumber: params.currentPage, Sort: e.value });\n };\n const getPageNumber = (newPage) => {\n getArticles({\n PageNumber: newPage,\n Name: search,\n Sort: selectedSort,\n });\n };\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n getArticles();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n return (\n \n \n
    \n
    \n \n {\n return setOpenArticleModal(true);\n // resetValues()\n }}\n >\n {t(\"add_new\")}\n \n setConfirmDeleteModal(false)}\n >\n

    {t(\"sure_delete_article\")}

    \n
    \n setConfirmDeleteModal(false)}>\n {t(\"Abbrechen\")}\n \n \n {t(\"delete\")}\n \n
    \n \n {\n setOpenArticleModal(false);\n setArticleEditId(null);\n }}\n getArticles={getArticles}\n articleId={articleEditId}\n />\n
    \n \n
    \n \n \n \n \n {t(\"No\")}.\n Name\n {t(\"Category\")}\n {t(\"Options\")}\n \n \n \n {loading ? (\n \n \n
    \n \n
    \n \n
    \n ) : /*search &&*/ !loading && !articles?.length ? (\n \n \n {t(\"nothing_found_article\")}\n \n \n ) : (\n articles?.map((row) => (\n \n history.push(`/article/${row.id}`)}\n >\n {row.no + \".\"}\n \n history.push(`/article/${row.id}`)}\n >\n {row.name}\n \n history.push(`/article/${row.id}`)}\n >\n {row.categories\n .map((cat, i) => (i < 2 ? cat.name : \"...\"))\n .join(\", \")}\n \n \n
    \n EditArticleModal(row.id)} />\n DeleteArticleModal(row.id)} />\n
    \n
    \n
    \n ))\n )}\n
    \n
    \n
    \n {!articles?.length && search ? null : (\n \n )}\n
    \n );\n};\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n});\n\nexport default connect(mapStateToProps, null)(Articles);\n","const eventss = [\n {\n title: \"Big Meeting\",\n allDay: true,\n start: new Date(2021, 9, 0),\n end: new Date(2021, 9, 0),\n },\n {\n title: \"Vacation\",\n start: new Date(2021, 9, 7),\n end: new Date(2021, 9, 10),\n },\n {\n title: \"Conference\",\n start: new Date(2021, 9, 20),\n end: new Date(2021, 9, 23),\n }\n];\n\nexport default eventss;","import React, { useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Button from \"@material-ui/core/Button\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport format from \"date-fns/format\";\nimport getDay from \"date-fns/getDay\";\nimport parse from \"date-fns/parse\";\nimport startOfWeek from \"date-fns/startOfWeek\";\nimport { Calendar, dateFnsLocalizer } from \"react-big-calendar\";\nimport withDragAndDrop from \"react-big-calendar/lib/addons/dragAndDrop\";\nimport \"react-big-calendar/lib/css/react-big-calendar.css\";\nimport DatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\n// import Breadcrumbs from '../../components/breadcrumbs/breadcrumbs'\nimport eventss from \"./eventss\";\nimport { useTranslation } from \"react-i18next\";\nimport \"../../assets/css/pages/dashboard.scss\";\nimport \"./events.scss\";\nimport App from \"../../App\";\nconst DragAndDropCalendar = withDragAndDrop(Calendar);\n\nconst locales = {\n \"en-US\": require(\"date-fns/locale/en-US\"),\n};\nconst localizer = dateFnsLocalizer({\n format,\n parse,\n startOfWeek,\n getDay,\n locales,\n});\n\nconst Events = () => {\n const history = useHistory();\n const { t } = useTranslation();\n const [newEvent, setNewEvent] = useState({ title: \"\", start: \"\", end: \"\" });\n const [allEvents, setAllEvents] = useState(eventss);\n const [openModal, setOpenModal] = useState(false);\n\n function handleAddEvent() {\n setAllEvents([...allEvents, newEvent]);\n setOpenModal(false);\n setNewEvent({ title: \"\", start: \"\", end: \"\" });\n }\n\n const moveEvent = ({ event, start, end }) => {\n const idx = eventss.indexOf(event);\n const updatedEvent = { ...event, start, end };\n const nextEvents = [...eventss];\n\n nextEvents.splice(idx, 1, updatedEvent);\n\n setAllEvents(nextEvents);\n };\n\n return (\n \n
    \n
    \n
      \n history.push(`/dashboard`)}\n className=\"dashboard-link\"\n >\n {t(\"news\")}\n \n history.push(`/events`)}\n className=\"active-link dashboard-link\"\n >\n {t(\"events\")}\n \n history.push(`/knowledge`)}\n className=\"dashboard-link\"\n >\n {t(\"Knowledge\")}\n \n
    \n
    \n
    \n
    \n setOpenModal(true)}\n >\n \n {t(\"add_new_event\")}\n \n
    \n {\n setOpenModal(false);\n setNewEvent({ title: \"\", start: \"\", end: \"\" });\n }}\n >\n \n setNewEvent({ ...newEvent, title: e.target.value })\n }\n />\n setNewEvent({ ...newEvent, start })}\n />\n setNewEvent({ ...newEvent, end })}\n />\n
    \n {\n setOpenModal(false);\n setNewEvent({ title: \"\", start: \"\", end: \"\" });\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {t(\"add_event\")}\n \n
    \n \n
    \n
    \n {/*

    Calendar

    */}\n \n {/*

    Add New Event

    \n
    \n setNewEvent({ ...newEvent, title: e.target.value })} />\n setNewEvent({ ...newEvent, start })} \n />\n setNewEvent({ ...newEvent, end })} \n />\n \n
    */}\n
    \n
    \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n});\n\nexport default connect(mapStateToProps, null)(Events);\n","import React from 'react';\nimport { useHistory } from 'react-router-dom';\nimport BookmarkBorderIcon from '@material-ui/icons/BookmarkBorder';\nimport CommentIcon from '@material-ui/icons/Comment';\nimport WatchLaterIcon from '@material-ui/icons/WatchLater';\nimport { useTranslation } from 'react-i18next';\n\n\n\nfunction ArticleCard(props) {\n const history = useHistory();\n const { t } = useTranslation()\n return (\n props && (\n
    \n
    history.push(`/article/${props.id}`)}>\n
    \n {props.name}\n
    \n
    \n Article\n
    \n

    by {props.authorName}

    \n

    {props.date}

    \n
    \n
    \n

    \n {props.name}\n

    \n {props.articleKlein ? '' : (\n

    \n {/* */}\n Unsere Sprache hinkt dem gesellschaftlichen Wandel hinterher, sagt Diversity-Expertin Veronika Hucke. Ihr Appell an Führungskräfte: Ändern Sie Ihre Sprache, gestalten Sie sie fair. Es lohnt sich.\n

    \n )} \n {t('read_time')}: {props.readTime} Min.\n {/* */}\n
    \n
    \n {/* */}\n
    \n \n 120\n
    \n \n \n \n\n
    \n
    \n )\n );\n}\n\nexport default ArticleCard;","import React from 'react';\nimport { useHistory } from 'react-router-dom';\n// import clsx from 'clsx';\nimport BookmarkBorderIcon from '@material-ui/icons/BookmarkBorder';\n// import BookmarkIcon from '@material-ui/icons/Bookmark';\nimport CommentIcon from '@material-ui/icons/Comment';\nimport WatchLaterIcon from '@material-ui/icons/WatchLater';\n\n\n\nexport default function CourseCard(props) {\n const history = useHistory();\n\n return (\n props &&\n
    \n
    history.push(`/course/${props.id}`)}>\n
    \n {props.name}\n
    \n
    \n Course\n
    \n

    by {props.authorName}

    \n

    {props.date}

    \n
    \n
    \n

    \n {props.name}\n

    \n

    \n {/* */}\n {props.description}\n

    \n
    \n {props.date}\n
    \n
    \n
    \n {/* */}\n
    120
    \n \n \n
    \n
    \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport Slider from \"react-slick\";\nimport axios from 'axios';\nimport { useHistory } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\n\nimport ArticleCard from './ArticleCard'\nimport CourseCard from './CourseCard'\nimport Breadcrumbs from '../breadcrumbs/breadcrumbs'\n\n// import Typography from '@material-ui/core/Typography';\n// import MenuBookIcon from '@material-ui/icons/MenuBook';\n// import AutoStoriesIcon from '@material-ui/icons/AutoStories';\n// import GroupIcon from '@material-ui/icons/Group';\n// import SchoolIcon from '@material-ui/icons/School';\n// import IconButton from '@material-ui/core/IconButton';\nimport { makeStyles } from '@material-ui/core'\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\n\nimport { useTranslation } from 'react-i18next'\n\nimport './cardSlider.scss'\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\n\nimport config from '../../config/api.config';\nimport { logError } from \"../../helpers/helpers\";\nimport auth from '../../auth';\n\n// function SampleNextArrow(props) {\n// const { className, style, onClick } = props;\n// return (\n// \n// );\n// }\n\n// function SamplePrevArrow(props) {\n// const { className, style, onClick } = props;\n// return (\n// \n// );\n// }\n\nconst useStyles = makeStyles((theme) => ({\n yellow: {\n // color: '#ffab2c',\n fontSize: '5rem'\n },\n green: {\n // color: '#5FC682',\n fontSize: '5rem'\n },\n blue: {\n // color: '#30AAEF',\n fontSize: '5rem'\n },\n statType: {\n paddingLeft: '12px',\n fontSize: '2rem'\n },\n showAllArrow: {\n fontSize: '1.2rem',\n paddingBottom: \"2px\"\n }\n}));\n\nconst WORDS_PER_MINUTE = 250;\n\nconst CardSlider = (props) => {\n const history = useHistory();\n // eslint-disable-next-line no-unused-vars\n const [loading, setLoading] = useState(true);\n const [members ] = useState(null)\n const [articles, setArticles] = useState(null);\n const [courses, setCourses] = useState(null);\n const classes = useStyles()\n // const [totalWords, setTotalWords] = useState(0);\n\n const { t } = useTranslation()\n const ReadTime = (text) => {\n const words = text.split(\" \");\n const time = Math.ceil(words.length / WORDS_PER_MINUTE);\n return time;\n };\n\n const getMembers = async (params) => {\n setLoading(true);\n // await axios\n // .get(`${config.apiURL}/api/User`, {\n // params: {\n // WorkspaceId: props.currentUser.workspaceId,\n // GetAll: true,\n // ...params\n // }\n // })\n // .then((res) => {\n // setMembers(\n // res.data.users.map((mem, i) => {\n // return {\n // id: mem.userId,\n // name: mem.firstName + ' ' + mem.lastName,\n // image: mem.image ? mem.image.url : null,\n // email: mem.email\n // };\n // })\n // );\n // setLoading(false);\n // })\n // .catch((err) => {\n // setLoading(false);\n // logError(err);\n // });\n };\n\n const getArticles = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Article`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n },\n headers: {\n 'Authorization': 'Bearer ' + auth.accessToken \n }\n } )\n .then((res) => {\n setArticles(\n res.data.articles.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n categories: dep.categories,\n authorId: dep.authorId,\n createdDate: moment(dep.dateCreated,).format(`${t('momentjs_datum')}`),\n lastModified: dep.dateModified,\n content: dep.content,\n readTime: ReadTime(dep.content)\n };\n })\n );\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n const getCourses = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Course`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n }\n })\n .then((res) => {\n setCourses(\n res.data.courses.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n authorId: dep.author.authorId,\n authorImg: dep.author.imageUrl,\n authorName: dep.author.firstName + ' ' + dep.author.lastName,\n date: moment(dep.dateCreated).format('MMMM DD, YYYY'),\n description: dep.description\n };\n })\n );\n\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n var settings = {\n dots: true,\n infinite: true,\n speed: 1000,\n slidesToShow: 3,\n slidesToScroll: 3,\n initialSlide: 0,\n autoplay: true,\n autoplaySpeed: 3000,\n cssEase: \"linear\",\n arrows: false,\n // nextArrow: ,\n // prevArrow: ,\n responsive: [\n {\n breakpoint: 1960,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 2,\n infinite: true,\n dots: true\n }\n },\n {\n breakpoint: 1460,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n infinite: false,\n dots: true\n }\n },\n {\n breakpoint: 1290,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n infinite: false,\n dots: true\n }\n },\n {\n breakpoint: 950,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n infinite: false,\n dots: true\n }\n },\n {\n breakpoint: 650,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n infinite: false,\n dots: true\n }\n }\n ]\n };\n var settings2 = {\n dots: true,\n infinite: true,\n speed: 1000,\n slidesToShow: 3,\n slidesToScroll: 3,\n initialSlide: 0,\n autoplay: true,\n autoplaySpeed: 2000,\n cssEase: \"linear\",\n arrows: false,\n // nextArrow: ,\n // prevArrow: ,\n responsive: [\n {\n breakpoint: 1960,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 2,\n infinite: false,\n dots: true\n }\n },\n {\n breakpoint: 1460,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n // initialSlide: 1,\n infinite: false,\n dots: true\n }\n },\n {\n breakpoint: 1290,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n infinite: false,\n dots: true\n }\n },\n {\n breakpoint: 950,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n infinite: false,\n dots: true\n }\n },\n {\n breakpoint: 650,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n infinite: false,\n dots: true\n }\n }\n ]\n };\n\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n getMembers();\n getArticles();\n getCourses();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n return (\n
    \n {/*
    \n \n
    \n
    history.push(`/courses`)} >\n \n
    \n \n {t('Courses')}\n \n \n {courses && courses.length}\n \n
    \n
    \n
    history.push(`/members`)}>\n \n
    \n \n {t('Members')}\n \n \n {members && members.length}\n \n
    \n
    \n
    history.push(`/articles`)}>\n \n
    \n \n {t('Articles')}\n \n \n {articles && articles.length}\n \n
    \n
    \n
    \n
    */}\n\n
    \n \n
    \n history.push(`/articles`)}>{t('show_all')} \n
    \n \n {articles === null || articles.length === 0 ? (\n
    \n {t('nothing_found_department')}\n
    \n ) : (articles.sort((a, b) => {\n let datea = moment(a.createdDate, 'x')\n let dateb = moment(b.createdDate, 'x')\n return dateb - datea\n }).slice(0, 4).map((article, i) => {\n return (\n mem.id === article.authorId)[0].name}\n authorId={article.authorId}\n date={article.createdDate}\n categories={article.categories}\n content={article.content}\n readTime={article.readTime}\n />\n )\n }))}\n
    \n
    \n
    \n \n
    \n history.push(`/courses`)}>{t('show_all')} \n
    \n \n {courses === null || courses.length === 0 ? (\n
    \n {t('nothing_found_department')}\n
    \n ) :\n (courses.sort((a, b) => {\n let datea = moment(a.date, 'x')\n let dateb = moment(b.date, 'x')\n return dateb - datea\n }).slice(0, 4).map((course, i) => {\n return (\n \n )\n }))}\n
    \n
    \n
    \n\n );\n}\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser\n});\n\nexport default connect(mapStateToProps, null)(CardSlider);","import React, { useState, useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport Breadcrumbs from '../../components/breadcrumbs/breadcrumbs'\nimport CardSlider from '../../components/card/CardSlider'\nimport { makeStyles } from '@material-ui/core'\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\nimport ArticleCard from '../../components/card/ArticleCard'\nimport { useTranslation } from 'react-i18next'\nimport axios from 'axios';\nimport moment from 'moment';\nimport '../../assets/css/pages/dashboard.scss'\nimport '../../assets/css/pages/knowledge.scss'\nimport config from '../../config/api.config';\nimport { logError } from \"../../helpers/helpers\";\n\n\nconst useStyles = makeStyles((theme) => ({\n yellow: {\n // color: '#ffab2c',\n fontSize: '5rem'\n },\n green: {\n // color: '#5FC682',\n fontSize: '5rem'\n },\n blue: {\n // color: '#30AAEF',\n fontSize: '5rem'\n },\n statType: {\n paddingLeft: '12px',\n fontSize: '2rem'\n },\n showAllArrow: {\n fontSize: '1.2rem',\n paddingBottom: \"2px\"\n }\n}));\n\nconst WORDS_PER_MINUTE = 250;\n\nconst Knowledge = (props) => {\n const history = useHistory();\n const classes = useStyles()\n const [members, ] = useState(null)\n const [articles, setArticles] = useState(null);\n const [ setCourses] = useState(null);\n const [ setLoading] = useState(true);\n const { t } = useTranslation()\n\n\n const ReadTime = (text) => {\n const words = text.split(\" \");\n const time = Math.ceil(words.length / WORDS_PER_MINUTE);\n return time;\n };\n\n const getMembers = async (params) => {\n setLoading(true);\n // await axios\n // .get(`${config.apiURL}/api/User`, {\n // params: {\n // WorkspaceId: props.currentUser.workspaceId,\n // GetAll: true,\n // ...params\n // }\n // })\n // .then((res) => {\n // setMembers(\n // res.data.users.map((mem, i) => {\n // return {\n // id: mem.userId,\n // name: mem.firstName + ' ' + mem.lastName,\n // image: mem.image ? mem.image.url : null,\n // email: mem.email\n // };\n // })\n // );\n // setLoading(false);\n // })\n // .catch((err) => {\n // setLoading(false);\n // logError(err);\n // });\n };\n\n const getArticles = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Article`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n }\n })\n .then((res) => {\n setArticles(\n res.data.articles.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n categories: dep.categories,\n authorId: dep.authorId,\n createdDate: moment(dep.dateCreated,).format(`${t('momentjs_datum')}`),\n lastModified: dep.dateModified,\n content: dep.content,\n readTime: ReadTime(dep.content)\n };\n })\n );\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n const getCourses = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Course`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n }\n })\n .then((res) => {\n setCourses(\n res.data.courses.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n authorId: dep.author.authorId,\n authorImg: dep.author.imageUrl,\n authorName: dep.author.firstName + ' ' + dep.author.lastName,\n date: moment(dep.dateCreated).format('MMMM DD, YYYY'),\n description: dep.description\n };\n })\n );\n\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n getMembers();\n getArticles();\n getCourses();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n\n return (\n\n \n
    \n
    \n
      \n
    • history.push(`/dashboard`)} className='dashboard-link'>{t('news')}
    • \n
    • history.push(`/events`)} className='dashboard-link'>{t('events')}
    • \n
    • history.push(`/knowledge`)} className='active-link dashboard-link'>{t('Knowledge')}
    • \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n history.push(`/favourites`)}>{t('show_all')} \n
    \n
    \n
    \n {articles === null || articles.length === 0 ? (\n
    \n {t('nothing_found_article')}\n
    \n ) : (articles.sort((a, b) => {\n let datea = moment(a.createdDate, 'x')\n let dateb = moment(b.createdDate, 'x')\n return dateb - datea\n }).slice(0, 4).map((article, i) => {\n return (\n mem.id === article.authorId)[0].name}\n authorId={article.authorId}\n date={article.createdDate}\n categories={article.categories}\n content={article.content}\n readTime={article.readTime}\n />\n )\n }))}\n
    \n
    \n
    \n
    \n \n
    \n history.push(`/watch_later`)}>{t('show_all')} \n
    \n
    \n
    \n {articles === null || articles.length === 0 ? (\n
    \n {t('nothing_found_article')}\n
    \n ) : (articles.sort((a, b) => {\n let datea = moment(a.createdDate, 'x')\n let dateb = moment(b.createdDate, 'x')\n return dateb - datea\n }).slice(0, 4).map((article, i) => {\n return (\n mem.id === article.authorId)[0].name}\n authorId={article.authorId}\n date={article.createdDate}\n categories={article.categories}\n content={article.content}\n readTime={article.readTime}\n />\n )\n }))}\n
    \n
    \n
    \n
    \n
    \n \n \n )\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser\n});\n\nexport default connect(mapStateToProps, null)(Knowledge);","import React, { useState, useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport Breadcrumbs from '../../components/breadcrumbs/breadcrumbs'\nimport ArticleCard from '../../components/card/ArticleCard'\nimport CourseCard from '../../components/card/CourseCard'\nimport { useTranslation } from 'react-i18next'\nimport axios from 'axios';\nimport moment from 'moment';\nimport config from '../../config/api.config';\nimport { logError } from \"../../helpers/helpers\";\nimport '../../assets/css/pages/favourites.scss';\nimport App from '../../App';\nimport auth from '../../auth';\n\n\nconst WORDS_PER_MINUTE = 250;\n\nconst Favourites = (props) => {\n const [members] = useState(null)\n const [articles, setArticles] = useState(null);\n const [courses, setCourses] = useState(null);\n const [ setLoading] = useState(true);\n const { t } = useTranslation()\n\n const ReadTime = (text) => {\n const words = text.split(\" \");\n const time = Math.ceil(words.length / WORDS_PER_MINUTE);\n return time;\n };\n\n const getMembers = async (params) => {\n setLoading(true);\n // await axios\n // .get(`${config.apiURL}/api/User`, {\n // params: {\n // WorkspaceId: props.currentUser.workspaceId,\n // GetAll: true,\n // ...params\n // }\n // })\n // .then((res) => {\n // setMembers(\n // res.data.users.map((mem, i) => {\n // return {\n // id: mem.userId,\n // name: mem.firstName + ' ' + mem.lastName,\n // image: mem.image ? mem.image.url : null,\n // email: mem.email\n // };\n // })\n // );\n // setLoading(false);\n // })\n // .catch((err) => {\n // setLoading(false);\n // logError(err);\n // });\n };\n\n const getArticles = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Article`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n },\n \n headers: {\n 'Authorization': 'Bearer ' + auth.accessToken \n }\n })\n .then((res) => {\n setArticles(\n res.data.articles.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n categories: dep.categories,\n authorId: dep.authorId,\n createdDate: moment(dep.dateCreated,).format(`${t('momentjs_datum')}`),\n lastModified: dep.dateModified,\n content: dep.content,\n readTime: ReadTime(dep.content)\n };\n })\n );\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n const getCourses = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Course`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n }\n })\n .then((res) => {\n setCourses(\n res.data.courses.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n authorId: dep.author.authorId,\n authorImg: dep.author.imageUrl,\n authorName: dep.author.firstName + ' ' + dep.author.lastName,\n date: moment(dep.dateCreated).format('MMMM DD, YYYY'),\n description: dep.description\n };\n })\n );\n\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n getMembers();\n getArticles();\n getCourses();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n\n return (\n \n
    \n
    \n
    \n \n
    \n
    \n {articles === null || articles.length === 0 ? (\n
    \n {t('nothing_found_article')}\n
    \n ) : (articles.map((article, i) => {\n return (\n mem.id === article.authorId)[0].name}\n authorId={article.authorId}\n date={article.createdDate}\n categories={article.categories}\n content={article.content}\n readTime={article.readTime}\n />\n )\n }))}\n
    \n
    \n
    \n
    \n \n
    \n
    \n {courses === null || courses.length === 0 ? (\n
    \n {t('nothing_found_course')}\n
    \n ) : (courses.map((course, i) => {\n return (\n \n )\n }))}\n
    \n
    \n
    \n\n
    \n \n )\n}\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser\n});\n\nexport default connect(mapStateToProps, null)(Favourites);\n\n","import React, { useState, useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport Breadcrumbs from '../../components/breadcrumbs/breadcrumbs'\nimport ArticleCard from '../../components/card/ArticleCard'\nimport CourseCard from '../../components/card/CourseCard'\nimport { useTranslation } from 'react-i18next'\nimport axios from 'axios';\nimport moment from 'moment';\nimport config from '../../config/api.config';\nimport { logError } from \"../../helpers/helpers\";\nimport '../../assets/css/pages/favourites.scss';\nimport App from '../../App';\n\nconst WORDS_PER_MINUTE = 250;\n\nconst WatchLater = (props) => {\n const [members, setMembers] = useState(null)\n const [articles, setArticles] = useState(null);\n const [courses, setCourses] = useState(null);\n const [, setLoading] = useState(true);\n const { t } = useTranslation()\n\n const ReadTime = (text) => {\n const words = text.split(\" \");\n const time = Math.ceil(words.length / WORDS_PER_MINUTE);\n return time;\n };\n\n const getMembers = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/User`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n GetAll: true,\n ...params\n }\n })\n .then((res) => {\n setMembers(\n res.data.users.map((mem, i) => {\n return {\n id: mem.userId,\n name: mem.firstName + ' ' + mem.lastName,\n image: mem.image ? mem.image.url : null,\n email: mem.email\n };\n })\n );\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n const getArticles = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Article`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n }\n })\n .then((res) => {\n setArticles(\n res.data.articles.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n categories: dep.categories,\n authorId: dep.authorId,\n createdDate: moment(dep.dateCreated,).format(`${t('momentjs_datum')}`),\n lastModified: dep.dateModified,\n content: dep.content,\n readTime: ReadTime(dep.content)\n };\n })\n );\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n const getCourses = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Course`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n }\n })\n .then((res) => {\n setCourses(\n res.data.courses.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n authorId: dep.author.authorId,\n authorImg: dep.author.imageUrl,\n authorName: dep.author.firstName + ' ' + dep.author.lastName,\n date: moment(dep.dateCreated).format('MMMM DD, YYYY'),\n description: dep.description\n };\n })\n );\n\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n getMembers();\n getArticles();\n getCourses();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n\n return (\n \n
    \n
    \n
    \n \n
    \n
    \n {articles === null || articles.length === 0 ? (\n
    \n {t('nothing_found_article')}\n
    \n ) : (articles.map((article, i) => {\n return (\n mem.id === article.authorId)[0].name}\n authorId={article.authorId}\n date={article.createdDate}\n categories={article.categories}\n content={article.content}\n readTime={article.readTime}\n />\n )\n }))}\n
    \n
    \n
    \n
    \n \n
    \n
    \n {courses === null || courses.length === 0 ? (\n
    \n {t('nothing_found_course')}\n
    \n ) : (courses.map((course, i) => {\n return (\n \n )\n }))}\n
    \n
    \n
    \n
    \n \n )\n}\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser\n});\n\nexport default connect(mapStateToProps, null)(WatchLater);\n\n\n","import React, { useState, useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport Breadcrumbs from '../../components/breadcrumbs/breadcrumbs'\nimport ArticleCard from '../../components/card/ArticleCard'\nimport CourseCard from '../../components/card/CourseCard'\nimport { useTranslation } from 'react-i18next'\nimport axios from 'axios';\nimport moment from 'moment';\nimport config from '../../config/api.config';\nimport { logError } from \"../../helpers/helpers\";\nimport '../../assets/css/pages/favourites.scss';\nimport App from '../../App';\n\nconst WORDS_PER_MINUTE = 250;\n\nconst LastDone = (props) => { \n const [members] = useState(null);\n const [articles, setArticles] = useState(null);\n const [courses, setCourses] = useState(null);\n const [ setLoading] = useState(true);\n const { t } = useTranslation()\n\n const ReadTime = (text) => {\n const words = text.split(\" \");\n const time = Math.ceil(words.length / WORDS_PER_MINUTE);\n return time;\n };\n\n const getMembers = async (params) => {\n setLoading(true);\n // await axios\n // .get(`${config.apiURL}/api/User`, {\n // params: {\n // WorkspaceId: props.currentUser.workspaceId,\n // GetAll: true,\n // ...params\n // }\n // })\n // .then((res) => {\n // setMembers(\n // res.data.users.map((mem, i) => {\n // return {\n // id: mem.userId,\n // name: mem.firstName + ' ' + mem.lastName,\n // image: mem.image ? mem.image.url : null,\n // email: mem.email\n // };\n // })\n // );\n // setLoading(false);\n // })\n // .catch((err) => {\n // setLoading(false);\n // logError(err);\n // });\n };\n\n const getArticles = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Article`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n }\n })\n .then((res) => {\n setArticles(\n res.data.articles.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n categories: dep.categories,\n authorId: dep.authorId,\n createdDate: moment(dep.dateCreated,).format(`${t('momentjs_datum')}`),\n lastModified: dep.dateModified,\n content: dep.content,\n readTime: ReadTime(dep.content)\n };\n })\n );\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n const getCourses = async (params) => {\n setLoading(true);\n await axios\n .get(`${config.apiURL}/api/Course`, {\n params: {\n WorkspaceId: props.currentUser.workspaceId,\n ...params\n }\n })\n .then((res) => {\n setCourses(\n res.data.courses.map((dep, i) => {\n return {\n id: dep.id,\n name: dep.title,\n authorId: dep.author.authorId,\n authorImg: dep.author.imageUrl,\n authorName: dep.author.firstName + ' ' + dep.author.lastName,\n date: moment(dep.dateCreated).format('MMMM DD, YYYY'),\n description: dep.description\n };\n })\n );\n\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n logError(err);\n });\n };\n\n\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n getMembers();\n getArticles();\n getCourses();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n\n return (\n \n
    \n
    \n
    \n \n
    \n
    \n {articles === null || articles.length === 0 ? (\n
    \n {t('nothing_found_article')}\n
    \n ) : (articles.map((article, i) => {\n return (\n mem.id === article.authorId)[0].name}\n authorId={article.authorId}\n date={article.createdDate}\n categories={article.categories}\n content={article.content}\n readTime={article.readTime}\n />\n )\n }))}\n
    \n
    \n
    \n
    \n \n
    \n
    \n {courses === null || courses.length === 0 ? (\n
    \n {t('nothing_found_course')}\n
    \n ) : (courses.map((course, i) => {\n return (\n \n )\n }))}\n
    \n
    \n
    \n
    \n \n )\n}\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser\n});\n\nexport default connect(mapStateToProps, null)(LastDone);\n\n\n\n","import React, { useState, useEffect } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport Backdrop from \"../../components/backdrop/backdrop\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport DepartmentMembers from \"../Departments/departmentMembers\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport { useTranslation } from \"react-i18next\";\nimport \"../../assets/css/pages/departments.scss\";\nimport App from \"../../App\";\nimport {\n searchLocations,\n addLocation,\n updateLocation,\n deleteLocation,\n} from \"../../redux/location/action\";\nimport MembersSelect from \"../../components/dropdown/membersSelect\";\nimport { searchUsers } from \"../../redux/users/action\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\n\nconst Locations = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [openModal, setOpenModal] = useState(false);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [locationName, setLocationName] = useState(\"\");\n const [buttonClicked, setButtonClicked] = useState(false);\n const [locationEditId, setLocationEditId] = useState(null);\n const [search, setSearch] = useState(\"\");\n const [openDepartmentMember, setOpenDepartmentMember] = useState(false);\n const [selectedLocation, setSelectedLocation] = useState(\"\");\n const [departmentMembers, setDepartmentMembers] = useState(null);\n const [selectedSort, setSelectedSort] = useState(1);\n const [defaultPage, setDefaultPage] = useState(false);\n const [openBackdrop, setOpenBackdrop] = useState(false);\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [selectedHead, setSelectedHead] = useState(\"\");\n const [isAdmin, setIsAdmin] = useState(false);\n const [successMessage, setSuccessMessage] = useState(\"\");\n\n const AddLocation = async () => {\n if (!isAdmin) return;\n\n await setButtonClicked(true);\n await dispatch(\n addLocation({\n Name: locationName,\n headId: selectedHead,\n })\n )\n .then((res) => {\n setButtonClicked(false);\n setOpenModal(false);\n setLocationName(\"\");\n setSelectedHead(\"\");\n setSuccessMessage(\"Standort erfolgreich hinzugefügt\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n logError(err);\n setButtonClicked(false);\n let errMsg = \"Fehler bei Hinzufügen von Standort.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const EditLocationModal = (id, name, headId) => {\n if (!isAdmin) return;\n\n setLocationEditId(id);\n setLocationName(name);\n setOpenModal(true);\n setSelectedHead(headId);\n };\n\n const EditLocation = async () => {\n let reqData = {\n name: locationName,\n headId: selectedHead,\n locationId: locationEditId,\n };\n await setButtonClicked(true);\n await dispatch(updateLocation(reqData))\n .then((res) => {\n setButtonClicked(false);\n setOpenModal(false);\n setLocationEditId(null);\n setLocationName(\"\");\n setSelectedHead(\"\");\n setSuccessMessage(\"Standort wurde erfolgreich bearbeitet.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Bearbeiten des Standortes.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const DeleteLocationModal = (id) => {\n if (!isAdmin) return;\n\n setLocationEditId(id);\n setConfirmDeleteModal(true);\n };\n\n const DeleteLocation = async () => {\n await setButtonClicked(true);\n dispatch(\n deleteLocation({\n locationId: locationEditId,\n })\n )\n .then((res) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setLocationEditId(null);\n dispatch(\n searchLocations({\n Sort: selectedSort,\n PageNumber: 1,\n Name: search.trim(),\n })\n );\n setSuccessMessage(\"Standort wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n setLocationEditId(null);\n let errMsg = \"Fehler bei Löschen des Standortes.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const handleDepartmentMember = async (\n locationId,\n name,\n search = null,\n pageNumber = 1\n ) => {};\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n searchLocations({\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n })\n );\n };\n\n useEffect(async () => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n\n if (props.currentUser.role === \"Admin\") {\n setIsAdmin(true);\n }\n\n if (props.allLocationIds.length === 0) {\n await dispatch(searchLocations({ GetAll: true }));\n }\n if (props.memberIds.length === 0) {\n await dispatch(searchUsers({ GetAll: true }));\n }\n\n dispatch(\n searchLocations({\n Sort: 1,\n PageNumber: 1,\n })\n );\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n const getSearchValue = (search) => {\n setSearch(search.trim());\n if (props.currentUser) {\n dispatch(\n searchLocations({\n PageNumber: 1,\n Name: search.trim(),\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n searchLocations({\n PageNumber: newPage,\n Name: search,\n Sort: selectedSort,\n })\n );\n };\n\n const headChangeHandler = (selectedVal) => {\n setSelectedHead(selectedVal);\n };\n\n const getHeadName = (id) => {\n let name = \"\";\n if (id && props.members[id]) {\n name = props.members[id].firstName + \" \" + props.members[id].lastName;\n }\n return name;\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n \n
    \n
    \n \n setOpenModal(true)}\n disabled={!isAdmin}\n >\n \n {t(\"Hinzufügen\")}\n \n {\n setOpenModal(false);\n setLocationName(\"\");\n setLocationEditId(null);\n setSelectedHead(\"\");\n }}\n >\n setLocationName(target.value)}\n />\n \n
    \n {\n setOpenModal(false);\n setLocationName(\"\");\n setLocationEditId(null);\n setSelectedHead(\"\");\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {locationEditId ? \"Speichern\" : \"Hinzufügen\"}\n \n
    \n \n\n setConfirmDeleteModal(false)}\n >\n

    {t(\"Standort löschen?\")}

    \n
    \n setConfirmDeleteModal(false)}>\n {t(\"Abbrechen\")}\n \n \n {t(\"Löschen\")}\n \n
    \n \n\n setOpenDepartmentMember(false)}\n />\n
    \n\n \n
    \n\n \n \n \n \n {t(\"Nr.\")}.\n {t(\"Name\")}\n {t(\"Verantwortlich\")}\n {isAdmin && {t(\"Datenbank ID\")}}\n {t(\"Optionen\")}\n \n \n \n {props.isLoading ? (\n \n \n
    \n \n
    \n \n
    \n ) : /*search &&*/ !props.isLoading && !props.locationIds.length ? (\n \n \n {t(\"nothing_found_location\")}\n \n \n ) : (\n <>\n {!props.isLoading &&\n props.locationIds.length &&\n props.locationIds?.map((id) => {\n return (\n props.locations[id] && (\n \n \n {props.locations[id].no + \".\"}\n \n \n {props.locations[id].name}\n \n \n {getHeadName(props.locations[id].headId)}\n \n {isAdmin && (\n \n {id}\n \n )}\n \n
    \n \n EditLocationModal(\n id,\n props.locations[id].name,\n props.locations[id].headId\n )\n }\n />\n DeleteLocationModal(id)}\n />\n
    \n
    \n
    \n )\n );\n })}\n \n )}\n
    \n
    \n
    \n {!props.locationIds?.length && search ? null : (\n <>\n {Object.keys(props.pageParams).length > 0 && (\n \n )}\n \n )}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n isLoading: state.location.isLoading,\n allLocationIds: state.location.allIds,\n locations: state.location.byId,\n locationIds: state.location.searchIds,\n pageParams: state.location.pageParams,\n memberIds: state.user.allIds,\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(Locations);\n","import React, { useState, useEffect } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport Select from \"react-select\";\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport AddButton from \"../../components/auth/button\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport DepartmentMembers from \"../Departments/departmentMembers\";\nimport Backdrop from \"../../components/backdrop/backdrop\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport config from \"../../config/api.config.js\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport \"../../assets/css/pages/positions.scss\";\nimport App from \"../../App\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n searchTeams,\n addTeam,\n updateTeam,\n deleteTeam,\n} from \"../../redux/team/action\";\nimport {\n searchLocations,\n getDepartmentsByLoc,\n} from \"../../redux/location/action\";\nimport {\n searchDepartments,\n getTeamsByDepartment,\n} from \"../../redux/department/action\";\nimport { searchUsers } from \"../../redux/users/action\";\nimport MembersSelect from \"../../components/dropdown/membersSelect\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\n\nconst Teams = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [locations, setLocations] = useState(null);\n const [locationsForAdd, setLocationsForAdd] = useState([]);\n const [departments, setDepartments] = useState(null);\n const [departmentsForAdd, setDepartmentsForAdd] = useState([]);\n const [selectedSort, setSelectedSort] = useState(1);\n const [search, setSearch] = useState(\"\");\n const [openModal, setOpenModal] = useState(false);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [openTeamMember, setOpenTeamMember] = useState(false);\n const [selectedTeam, setSelectedTeam] = useState(\"\");\n const [teamMembers, setTeamMembers] = useState(null);\n const [teamName, setTeamName] = useState(\"\");\n const [teamEditId, setTeamEditId] = useState(null);\n const [positionId, setPositionId] = useState(null);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [defaultPage, setDefaultPage] = useState(false);\n const [openBackdrop, setOpenBackdrop] = useState(false);\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [selectedOptionsLocations, setSelectedOptionsLocations] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [selectedPosition, setSelectedPosition] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [selectedHead, setSelectedHead] = useState(\"\");\n const [isAdmin, setIsAdmin] = useState(false);\n\n const getDepartments_Drop = async (locid) => {\n if (\n Object.keys(props.departmentsByLoc).length === 0 ||\n !props.departmentsByLoc[locid] ||\n props.departmentsByLoc[locid].length === 0\n ) {\n await dispatch(getDepartmentsByLoc({ LocationId: locid }));\n } else {\n setDepartmentDropdown(locid);\n }\n };\n\n useEffect(() => {\n if (selectedPosition && selectedPosition.add?.value) {\n setDepartmentDropdown(selectedPosition.add.value);\n }\n }, [props.departmentsByLoc]);\n\n const setDepartmentDropdown = (locId) => {\n if (props.departmentsByLoc[locId]) {\n setDepartmentsForAdd(\n props.departmentsByLoc[locId].map((dep) => {\n return {\n value: dep.id,\n label: dep.name,\n locationid: dep.locationId,\n };\n })\n );\n } else {\n setDepartmentsForAdd([]);\n }\n };\n\n const AddTeam = async () => {\n if (!isAdmin) return;\n\n await setButtonClicked(true);\n\n let reqData = {\n name: teamName,\n departmentId: selectedOptionsLocations.add.value,\n };\n if (selectedHead) {\n reqData.headId = selectedHead;\n }\n await dispatch(addTeam(reqData))\n .then((res) => {\n updateTeamsByDepartment(selectedOptionsLocations.add.value);\n setButtonClicked(false);\n setOpenModal(false);\n setTeamName(\"\");\n setSelectedPosition({ ...selectedPosition, add: null });\n setSelectedHead(\"\");\n setSelectedOptionsLocations({ ...selectedOptionsLocations, add: null });\n setDepartmentsForAdd([]);\n setSuccessMessage(\"Team erfolgreich hinzugefügt.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Hinzufügen von Team.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const EditTeamModal = (id, name, positionId, headId) => {\n if (!isAdmin) return;\n\n setPositionId(positionId);\n setTeamEditId(id);\n setTeamName(name);\n setSelectedHead(headId);\n setOpenModal(true);\n };\n\n const EditTeam = async () => {\n let reqData = {\n teamId: teamEditId,\n name: teamName,\n headId: selectedHead,\n departmentId: positionId,\n };\n await setButtonClicked(true);\n await dispatch(updateTeam(reqData))\n .then((res) => {\n updateTeamsByDepartment(positionId);\n setButtonClicked(false);\n setOpenModal(false);\n setTeamEditId(null);\n setTeamName(\"\");\n setSelectedHead(\"\");\n setSuccessMessage(\"Team wurde erfolgreich bearbeitet.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Bearbeitung von Team.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const DeleteTeamModal = (id, positionId) => {\n if (!isAdmin) return;\n\n setPositionId(positionId);\n setTeamEditId(id);\n setConfirmDeleteModal(true);\n };\n\n const DeleteTeam = async () => {\n await setButtonClicked(true);\n dispatch(\n deleteTeam({\n teamId: teamEditId,\n })\n )\n .then((res) => {\n updateTeamsByDepartment(positionId);\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setTeamEditId(null);\n dispatch(\n searchTeams({\n Sort: selectedSort,\n PageNumber: 1,\n Name: search.trim(),\n DepartmentId: null,\n })\n );\n setSuccessMessage(\"Team wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setTeamEditId(null);\n let errMsg = \"Fehler bei Löschen des Teams.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n searchTeams({\n PageNumber: newPage,\n Name: search,\n Sort: selectedSort,\n })\n );\n };\n\n const getSearchValue = (search) => {\n setSearch(search.trim());\n if (props.currentUser) {\n dispatch(\n searchTeams({\n PageNumber: 1,\n Name: search.trim(),\n PositionId: selectedPosition.search.value,\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n searchTeams({\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n })\n );\n };\n\n const getTeamByDepartment = (e) => {\n setSelectedPosition({ selectedPosition, search: e });\n dispatch(\n searchTeams({\n DepartmentId: e.value,\n Sort: selectedSort,\n Name: search.trim(),\n })\n );\n setDefaultPage(!defaultPage);\n };\n\n const handleTeamMember = async (\n teamId,\n name,\n positionId,\n search = null,\n pageNumber = 1\n ) => {};\n\n useEffect(\n (_) => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n\n if (props.currentUser.role === \"Admin\") {\n setIsAdmin(true);\n }\n\n if (props.allTeamIds.length === 0) {\n dispatch(searchTeams({ GetAll: true }));\n }\n\n if (props.locationIds.length === 0) {\n dispatch(searchLocations({ GetAll: true }));\n }\n\n if (props.departmentIds.length === 0) {\n dispatch(searchDepartments({ GetAll: true }));\n }\n\n if (props.memberIds.length === 0) {\n dispatch(searchUsers({ GetAll: true }));\n }\n\n dispatch(\n searchTeams({\n Sort: 1,\n PageNumber: 1,\n DepartmentId: null,\n })\n );\n\n return () => {\n abortController.abort();\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.currentUser]\n );\n\n useEffect(() => {\n if (props.locationIds.length > 0) {\n const _loc = new Array({ value: null, label: \"All\" });\n props.locationIds.forEach((id) => {\n _loc.push({\n value: id,\n label: props.locations[id].name,\n });\n });\n setLocations(_loc);\n setLocationsForAdd(\n props.locationIds.map((id) => {\n return {\n value: id,\n label: props.locations[id].name,\n };\n })\n );\n } else {\n setLocations(null);\n setLocationsForAdd([]);\n }\n }, [props.locationIds.length]);\n\n useEffect(() => {\n if (props.departmentIds.length > 0) {\n const _pos = new Array({ value: null, label: \"All\" });\n props.departmentIds.forEach((id) => {\n _pos.push({\n value: id,\n label: props.departments[id].name,\n locationid: props.departments[id].locationId,\n });\n });\n setDepartments(_pos);\n } else {\n setDepartments(null);\n }\n }, [props.departmentIds.length, props.departmentIds]);\n\n useEffect((_) => {\n setSearch(\"\");\n }, []);\n\n const updateTeamsByDepartment = (depId) => {\n if (\n Object.keys(props.teamsByDepartment).length > 0 &&\n props.teamsByDepartment[depId]\n ) {\n dispatch(getTeamsByDepartment({ DepartmentId: depId }));\n }\n };\n\n const headChangeHandler = (selectedVal) => {\n setSelectedHead(selectedVal);\n };\n\n const getHeadName = (id) => {\n let name = \"\";\n if (id && props.members[id]) {\n name = props.members[id].firstName + \" \" + props.members[id].lastName;\n }\n return name;\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n \n
    \n
    \n \n 0 ? \"\" : \"disabled\"\n }`}\n onClick={() => setOpenModal(true)}\n disabled={isAdmin && props.departmentIds.length > 0 ? false : true}\n >\n {t(\"Neu\")}\n \n\n {\n setOpenModal(false);\n setTeamName(\"\");\n setSelectedPosition({ ...selectedPosition, add: null });\n setSelectedOptionsLocations({\n ...selectedOptionsLocations,\n add: null,\n });\n setTeamEditId(null);\n setSelectedHead(\"\");\n setDepartmentsForAdd([]);\n }}\n >\n {!teamEditId ? (\n <>\n {\n setSelectedPosition({ add: e });\n setSelectedOptionsLocations({\n ...selectedOptionsLocations,\n add: null,\n });\n getDepartments_Drop(e.value);\n }}\n options={locationsForAdd}\n isSearchable={false}\n />\n\n {\n setSelectedOptionsLocations({ add: e });\n }}\n options={departmentsForAdd}\n isSearchable={false}\n />\n \n ) : null}\n setTeamName(target.value)}\n style={{ marginBottom: \"1.5rem\" }}\n />\n \n
    \n {\n setOpenModal(false);\n setTeamName(\"\");\n setSelectedPosition({ ...selectedPosition, add: null });\n setSelectedOptionsLocations({\n ...selectedOptionsLocations,\n add: null,\n });\n setTeamEditId(null);\n setSelectedHead(\"\");\n setDepartmentsForAdd([]);\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {teamEditId ? \"Bearbeiten\" : \"Hinzufügen\"}\n \n
    \n \n\n setConfirmDeleteModal(false)}\n >\n

    {t(\"Team löschen?\")}

    \n
    \n setConfirmDeleteModal(false)}>\n {t(\"Abbrechen\")}\n \n \n {t(\"Löschen\")}\n \n
    \n \n\n setOpenTeamMember(false)}\n />\n
    \n
    \n \n {\n getTeamByDepartment(e);\n }}\n options={departments}\n isSearchable={false}\n />\n
    \n \n
    \n\n \n \n \n \n {t(\"Nr.\")}.\n {t(\"Team\")}\n {t(\"Abteilung\")}\n {t(\"Standort\")}\n {t(\"Verantwortlich\")}\n {isAdmin && {t(\"Datenbank ID\")}}\n {t(\"Optionen\")}\n \n \n\n \n {props.isLoading ? (\n \n \n
    \n \n
    \n \n
    \n ) : /*search &&*/ !props.isLoading &&\n (!props.teamIds?.length ||\n !departments?.length ||\n !locations?.length) ? (\n \n \n {t(\"nothing_found_team\")}\n \n \n ) : (\n <>\n {!props.isLoading &&\n props.teamIds.length > 0 &&\n props.teamIds?.map((id) => {\n return (\n props.teams[id] && (\n \n \n {props.teams[id].no + \".\"}\n \n \n {props.teams[id].name}\n \n \n {\n departments.find(\n (p) => p.value === props.teams[id].departmentId\n )?.label\n }\n \n \n {\n locations.find(\n (p) =>\n p.value ===\n departments.find(\n (p) =>\n p.value === props.teams[id].departmentId\n )?.locationid\n )?.label\n }\n \n \n {getHeadName(props.teams[id].headId)}\n \n {isAdmin && (\n \n {id}\n \n )}\n \n
    \n \n EditTeamModal(\n id,\n props.teams[id].name,\n props.teams[id].departmentId,\n props.teams[id].headId\n )\n }\n />\n \n DeleteTeamModal(\n id,\n props.teams[id].departmentId\n )\n }\n />\n
    \n
    \n
    \n )\n );\n })}\n \n )}\n
    \n
    \n {!props.teamIds?.length && search ? null : (\n <>\n {Object.keys(props.pageParams).length > 0 && (\n \n )}\n \n )}\n
    \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n isLoading: state.team.isLoading,\n allTeamIds: state.team.allIds,\n teams: state.team.byId,\n teamIds: state.team.searchIds,\n pageParams: state.team.pageParams,\n locationIds: state.location.allIds,\n locations: state.location.byId,\n departmentIds: state.department.allIds,\n departments: state.department.byId,\n departmentsByLoc: state.location.departments,\n teamsByDepartment: state.department.teams,\n memberIds: state.user.allIds,\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(Teams);\n","import React, { useState, useEffect } from \"react\";\nimport { Tree, TreeNode } from \"react-organizational-chart\";\nimport App from \"../../App\";\nimport Select from \"react-select\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport Box from \"@mui/material/Box\";\nimport Card from \"@mui/material/Card\";\nimport CardContent from \"@mui/material/CardContent\";\nimport CardMedia from \"@mui/material/CardMedia\";\nimport config from \"../../config/api.config.js\";\nimport Typography from \"@mui/material/Typography\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { setChartData } from \"../../redux/users/action\";\nimport { searchLocations } from \"../../redux/location/action\";\nimport { searchUsers } from \"../../redux/users/action\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\n\nconst StyledNode = ({\n text,\n head,\n position,\n onCardClick,\n type,\n userId,\n members,\n}) => {\n const history = useHistory();\n const cardClickHandler = () => {\n if (type === \"user\" && userId) {\n history.push(`/member-details/${userId}`);\n }\n };\n\n const getUserImage = () => {\n let image =\n \"data:image/png;base64,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\";\n if (type === \"user\" || userId) {\n if (members && members[userId]?.image) {\n image = `${config.resourcesUrl+members[userId].image.name}`;\n }\n }\n return image;\n };\n\n return (\n \n \n \n\n \n \n \n {type === \"department\" ? (\n
    {text}
    \n ) : type === \"user\" ? (\n
    {text}
    \n ) : (\n {text}\n )}\n \n {head && (\n \n Leitung: \n {head}\n \n )}\n {position && (\n \n {\"(\" + position + \")\"}\n \n )}\n \n \n \n \n );\n};\n\nconst ChartOrganization = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [locations, setLocations] = useState(null);\n const [locationName, setLocationName] = useState(null);\n const [locationHead, setLocationHead] = useState(null);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [locationHeadId, setLocationHeadId] = useState(\"\");\n const [locationId, setLocationId] = useState(\"\");\n\n const getData = async (et) => {\n dispatch(setChartData({ id: et }))\n .then(() => {})\n .catch(function (err) {\n setErrorMessage(\"Fehler bei Laden der Daten.\");\n setOpenAlert(true);\n });\n };\n useEffect((_) => {\n if (props.locationIds.length === 0) {\n dispatch(searchLocations({ GetAll: true }));\n }\n }, []);\n\n useEffect(() => {\n if (props.locationIds.length > 0) {\n if (props.memberIds.length === 0) {\n dispatch(searchUsers({ GetAll: true }));\n }\n const _loc = new Array();\n props.locationIds.forEach((id) => {\n _loc.push({\n value: id,\n label: props.locations[id].name,\n });\n });\n setLocations(_loc);\n } else {\n setLocations(null);\n }\n }, [props.locationIds.length]);\n\n const locationChangeHandler = (e) => {\n getData(e.value);\n setLocationId(e.value);\n setLocationName(e.label);\n let head = props.locations[e.value]?.headId\n ? getHeadName(props.locations[e.value].headId)\n : null;\n setLocationHead(head);\n let headId = props.locations[e.value]?.headId\n ? props.locations[e.value].headId\n : \"\";\n setLocationHeadId(headId);\n };\n\n const getHeadName = (id) => {\n let name = \"\";\n if (id && props.members[id]) {\n name = props.members[id].firstName + \" \" + props.members[id].lastName;\n }\n return name;\n };\n\n const isHeadOfAnyDep = (userId) => {\n const _temp = props?.chartData[0]?.filter((item) => {\n return item.headId === userId;\n });\n if (_temp.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n const isHeadOfAnyTeam = (userId) => {\n const _temp = props?.chartData[1]?.filter((item) => {\n return item.headId === userId;\n });\n if (_temp.length > 0) {\n return true;\n } else {\n return false;\n }\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n \n

    \n

    \n
    \n \n \n
    \n

    \n

    \n {!props.isLoading && props.chartData && locationName ? (\n \n }\n >\n {/* if no department & team is assigned to user */}\n {props.chartData[2]?.map((o, oIndex) =>\n o.locationId === locationId &&\n !o.teamId &&\n !o.departmentId &&\n !isHeadOfAnyDep(o.userId) &&\n !isHeadOfAnyTeam(o.userId) ? (\n \n }\n >\n ) : null\n )}\n {props.chartData[0]?.map((p, pIndex) => (\n \n }\n >\n {/* if no team is assigned to user */}\n {props.chartData[2]?.map((q, qIndex) =>\n p.id === q.departmentId &&\n q.teamId === null &&\n !isHeadOfAnyDep(q.userId) &&\n !isHeadOfAnyTeam(q.userId) ? (\n \n }\n >\n ) : null\n )}\n {props.chartData[1]?.map((r, rIndex) =>\n p.id === r.departmentId ? (\n \n }\n >\n {props.chartData[2]?.map((h, hIndex) =>\n r.id === h.teamId &&\n !isHeadOfAnyDep(h.userId) &&\n !isHeadOfAnyTeam(h.userId) ? (\n \n }\n >\n ) : null\n )}\n \n ) : null\n )}\n \n ))}\n \n ) : null}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n chartData: state.user.chartData,\n isLoading: state.user.isLoading,\n locationIds: state.location.allIds,\n locations: state.location.byId,\n memberIds: state.user.allIds,\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(ChartOrganization);\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { connect, useDispatch } from \"react-redux\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport Backdrop from \"../../components/backdrop/backdrop\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport auth from \"../../auth\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport { useTranslation } from \"react-i18next\";\nimport \"../../assets/css/pages/departments.scss\";\nimport App from \"../../App\";\nimport Select from \"react-select\";\nimport { searchUsers, getUserById } from \"../../redux/users/action\";\nimport {\n searchProcesses,\n addProcess,\n updateProcess,\n deleteProcess,\n getProcessTasks,\n} from \"../../redux/process/action\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport moment from \"moment\";\n\nconst Processes = (props) => {\n const dispatch = useDispatch();\n const [membersData, setMembersData] = useState(null);\n const history = useHistory();\n const [assignModal, setAssignModal] = useState(false);\n const [pros, setPros] = useState(null);\n const [prosName, setProsName] = useState(null);\n const [prosDes, setProsDes] = useState(null);\n const [prosRes, setProsRes] = useState(null);\n const [prosTasks, setProsTasks] = useState(null);\n const { t } = useTranslation();\n const [openModal, setOpenModal] = useState(false);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [processName, setProcessName] = useState(\"\");\n const [taskss, setTasks] = useState(\"\");\n const [buttonClicked, setButtonClicked] = useState(false);\n const [processEditId, setProcessEditId] = useState(null);\n const [search, setSearch] = useState(\"\");\n const [selectedSort, setSelectedSort] = useState(1);\n const [defaultPage, setDefaultPage] = useState(false);\n const [openBackdrop, setOpenBackdrop] = useState(false);\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [members, setMembers] = useState(null);\n const [selectedUser, setSelectedUser] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [deadLines, setDeadLines] = useState([]);\n const [loading, setLoading] = useState([]);\n const [statuses, setStatuses] = useState([]);\n const [selectedFilter, setSelectedFilter] = useState([\n { value: null, label: \"All\" },\n ]);\n\n const AddProcess = async () => {\n let obj = {\n name: processName,\n description: description,\n responsible: selectedUser.add.value,\n creator: auth.getId(),\n tasks: [],\n };\n await setButtonClicked(true);\n await dispatch(addProcess(obj))\n .then(() => {\n setButtonClicked(false);\n setOpenModal(false);\n setProcessName(\"\");\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setDescription(\"\");\n setSuccessMessage(\"Prozess wurde erfolgreich erstell.\");\n setOpenAlert(true);\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n let errMsg = \"Fehler bei Bearbeitung des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const EditProcessModal = (id, name, tasks, description, responsible) => {\n let namew = members.find((item) => item.value === responsible);\n setSelectedUser({ add: namew });\n setDescription(description);\n setProcessEditId(id);\n setProcessName(name);\n setTasks(tasks);\n setOpenModal(true);\n };\n\n const EditProcess = async () => {\n let reqData = {\n name: processName,\n tasks: taskss,\n description: description,\n responsible: selectedUser.add.value,\n processId: processEditId,\n };\n setOpenAlert(false);\n await setButtonClicked(true);\n await dispatch(updateProcess(reqData))\n .then(() => {\n setButtonClicked(false);\n setOpenModal(false);\n setProcessEditId(null);\n setProcessName(\"\");\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setDescription(\"\");\n setTasks(\"\");\n setSuccessMessage(\"Prozess wurde erfolgreich bearbeitet.\");\n setOpenAlert(true);\n })\n .catch((err) => {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Bearbeiten des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const Continue = async () => {\n history.push(\"assigntouser\", {\n process: pros,\n processName: prosName,\n processTasks: prosTasks,\n des: prosDes,\n responsible: prosRes,\n membersData: membersData,\n });\n };\n\n const DeleteProcessModal = (id) => {\n setProcessEditId(id);\n setConfirmDeleteModal(true);\n };\n\n const DeleteProcess = async () => {\n await setButtonClicked(true);\n await dispatch(\n deleteProcess({\n processId: processEditId,\n })\n )\n .then(() => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setProcessEditId(null);\n dispatch(\n searchProcesses({\n isTemplate: false,\n Sort: selectedSort,\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n setDefaultPage(!defaultPage);\n //to update user tasks\n const userId = auth.getId();\n if (props.members[userId]) {\n dispatch(getUserById({ id: userId }));\n }\n setSuccessMessage(\"Prozess wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n })\n .catch((err) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setProcessEditId(null);\n let errMsg = \"Fehler bei Löschen des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n searchProcesses({\n isTemplate: false,\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Active: selectedFilter.value,\n })\n );\n };\n\n useEffect(async () => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n\n if (props.allProcessIds.length === 0) {\n dispatch(searchProcesses({ isTemplate: false, GetAll: true }));\n }\n\n if (props.memberIds.length === 0) {\n await dispatch(searchUsers({ GetAll: true }));\n }\n\n const _statusOptions = [\n { value: null, label: \"Alle\" },\n { value: \"true\", label: \"Aktiv\" },\n { value: \"false\", label: \"Inaktiv\" },\n ];\n setStatuses(_statusOptions);\n\n dispatch(\n searchProcesses({\n isTemplate: false,\n Sort: 1,\n PageNumber: 1,\n })\n );\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n useEffect(() => {\n const _members = [];\n const _memberTasks = [];\n if (props.memberIds.length > 0) {\n props.memberIds.forEach((id) => {\n _members.push({\n value: props.members[id].userId,\n label: props.members[id].firstName + \" \" + props.members[id].lastName,\n });\n _memberTasks.push(props.members[id].tasks);\n });\n setMembers(_members);\n setMembersData(_memberTasks);\n }\n }, [props.memberIds.length]);\n\n const getSearchValue = (search) => {\n setSearch(search.trim());\n if (props.currentUser) {\n dispatch(\n searchProcesses({\n isTemplate: false,\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n Active: selectedFilter.value,\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n searchProcesses({\n isTemplate: false,\n PageNumber: newPage,\n Sort: selectedSort,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Active: selectedFilter.value,\n })\n );\n };\n\n const getResponsiblePerson = (id) => {\n let name = \"\";\n if (id && props.members[id]) {\n name = props.members[id].firstName + \" \" + props.members[id].lastName;\n }\n return name;\n };\n\n const getProcessStatus = (process) => {\n let status = \"\";\n if (!process.isActivated) {\n status = \"Entwurf\";\n return status;\n }\n const processTotalTasks = process.tasks.length;\n let completedTasksCount = 0;\n process.tasks?.map((task) => {\n membersData?.map((memberTask) => {\n if (memberTask && memberTask.length > 0) {\n let _task = memberTask.find(\n (item) =>\n item.id === task.id &&\n item.processId === process.id &&\n item.compeleted === true &&\n item.approved === true\n );\n if (_task) {\n completedTasksCount = completedTasksCount + 1;\n }\n }\n });\n });\n\n if (\n process.isActivated &&\n processTotalTasks === completedTasksCount &&\n process.compeleted\n ) {\n status = \"Erledigt\";\n } else {\n status = \"Aktiv\";\n }\n return status;\n };\n\n useEffect(async () => {\n let temp = [];\n setLoading(true);\n if (props.processIds.length > 0) {\n for (const id of props.processIds) {\n if (props.processes[id]) {\n let _tasks = [];\n await dispatch(getProcessTasks({ processId: id })).then((res) => {\n if (res.value?.data) {\n _tasks = res.value.data.tasks;\n let latest = {};\n if (_tasks.length > 0) {\n latest = _tasks.reduce(function (r, a) {\n return r.dateBeDone > a.dateBeDone ? r : a;\n });\n }\n if (Object.keys(latest).length > 0) {\n temp[id] = moment(latest.dateBeDone).format(\"DD.MM.YYYY\");\n }\n }\n });\n }\n }\n setDeadLines(temp);\n }\n setLoading(false);\n }, [props.processIds]);\n\n const getProcessByStatus = (e) => {\n setSelectedFilter(e);\n dispatch(\n searchProcesses({\n isTemplate: false,\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n Active: e.value,\n })\n ).catch((err) => {\n logError(err);\n setErrorMessage(\"Fehler bei Laden des Prozesseses.\");\n setOpenAlert(true);\n });\n setDefaultPage(!defaultPage);\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n \n
    \n
    \n \n \n history.push(\"/add-process\", {\n type: \"create\",\n step: \"createProcess\",\n })\n }\n >\n \n {t(\"Neu\")}\n \n {\n setOpenModal(false);\n setProcessName(\"\");\n setProcessEditId(null);\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setDescription(\"\");\n setTasks(\"\");\n }}\n >\n
    \n Prozessnamen angeben:\n
    \n setProcessName(target.value)}\n />\n
    \n Kurzbeschreibung angeben:\n
    \n setDescription(target.value)}\n />\n\n
    \n Verantwortlich:\n
    \n {\n setSelectedUser({ add: e });\n }}\n options={members}\n isSearchable={true}\n />\n\n
    \n {\n setOpenModal(false);\n setProcessName(\"\");\n setTasks(\"\");\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setDescription(\"\");\n setProcessEditId(null);\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {processEditId ? \"Bearbeiten\" : \"Hinzufügen\"}\n \n
    \n \n\n setConfirmDeleteModal(false)}\n >\n

    {t(\"Prozess löschen?\")}

    \n
    \n setConfirmDeleteModal(false)}>\n {t(\"Abbrechen\")}\n \n \n {t(\"Löschen\")}\n \n
    \n \n\n {\n setAssignModal(false);\n }}\n >\n
    Wurden dem Prozess alle notwendigen Aufgaben zugewiesen?
    \n
    \n {\n setAssignModal(false);\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setDescription(\"\");\n setProcessName(\"\");\n }}\n >\n Abbrechen\n \n\n \n Weiter\n \n
    \n \n
    \n
    \n \n {\n getProcessByStatus(e);\n }}\n isSearchable={false}\n />\n
    \n \n
    \n\n \n \n \n \n {t(\"No\")}.\n {t(\"Name\")}\n {/* {t(\"Aufgaben\")}\n {t(\"Zuweisen\")} */}\n {t(\"responsible_person\")}\n {t(\"status\")}\n {t(\"deadline\")}\n {t(\"Optionen\")}\n \n \n \n {props.isLoading || loading ? (\n \n \n
    \n \n
    \n \n
    \n ) : !props.isLoading && !loading && !props.processIds?.length ? (\n \n \n \n {t(\"Aktuell keine Prozesse hinterlegt\")}\n \n \n \n ) : (\n <>\n {!props.isLoading &&\n !loading &&\n props.processIds.length > 0 &&\n props.processIds?.map((id) => {\n return (\n props.processes[id] && (\n \n \n {props.processes[id].no + \".\"}\n \n history.push(`/process/${id}`)}\n >\n {props.processes[id].name}\n \n \n {getResponsiblePerson(\n props.processes[id].responsible\n )}\n \n \n {getProcessStatus(props.processes[id])}\n \n \n {deadLines[id] ? deadLines[id] : \"\"}\n \n \n
    \n \n history.push(`/edit-process/${id}`, {\n type: \"edit\",\n step: \"editProcess\",\n })\n }\n />\n DeleteProcessModal(id)}\n />\n
    \n
    \n \n )\n );\n })}\n \n )}\n
    \n
    \n
    \n {!props.processIds?.length && search ? null : (\n <>\n {Object.keys(props.pageParams).length > 0 && (\n \n )}\n \n )}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n isLoading: state.process.isLoading,\n allProcessIds: state.process.allIds,\n processes: state.process.byId,\n processIds: state.process.searchIds,\n pageParams: state.process.pageParams,\n memberIds: state.user.allIds,\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(Processes);\n","import React, { useEffect, useState, useRef } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Grid } from \"@material-ui/core\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { getUserById } from \"../../redux/users/action\";\nimport moment from \"moment\";\n\nconst Comment = (props) => {\n const dispatch = useDispatch();\n const { userId, comment, date } = props;\n const [user, setUser] = useState(\"\");\n\n useEffect(async() => {\n if(props.members && props.members[userId]){\n const _user = await getUser(userId);\n setUser(_user);\n }\n }, []);\n\n const getUser = async(id) => {\n let user = \"\";\n if(props.members && props.members[id]){\n user = props.members[id].firstName + \" \" + props.members[id].lastName;\n } else {\n await dispatch(getUserById({id: id}))\n .then((res) => {\n if(res.value?.data){\n user = res.value.data.firstName + \" \" + res.value.data.lastName;\n }\n });\n }\n return user;\n };\n\n return(\n \n \n \n
    {user}
    \n

    {comment}

    \n

    {moment(date).fromNow()}

    \n
    \n
    \n
    \n ); \n};\n\nconst mapStateToProps = (state) => ({\n memberIds: state.user.allIds,\n members: state.user.byId,\n});\n\nexport default connect(mapStateToProps, null)(Comment);\n","import React, { useEffect, useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport Modal from \"../../components/modal/modal\";\nimport FilePreview from \"../../components/filePreview/filePreview\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport moment from \"moment\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport Comment from \"../Tasks/Comment\";\nimport { getUserById } from \"../../redux/users/action\";\nimport Switch from \"@material-ui/core/Switch\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\n\nconst TaskDetailsModal = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const {open, closeModal, onAttachmentClick, onMediaClick, selectedTask, isProcessTask = false} = props;\n\n const [articles, setArticles] = useState([]);\n const [medias, setMedias] = useState([]);\n const [comments, setComments] = useState([]);\n const [attachments, setAttachments] = useState([]);\n const [nextStep, setNextStep] = useState(\"\");\n const [creator, setCreator] = useState(\"\")\n\n useEffect(() => { \n const fetchData = async () => {\n if (selectedTask?.articles?.length > 0) {\n let _articles = [];\n selectedTask.articles.forEach((id) => {\n if (props.articles && props.articles[id]) {\n _articles.push(props.articles[id]);\n }\n });\n setArticles(_articles);\n } else {\n setArticles([]);\n }\n \n if (selectedTask?.medias?.length > 0) {\n let _medias = [];\n selectedTask.medias.forEach((id) => {\n if (props.medias && props.medias[id]) {\n _medias.push(props.medias[id]);\n }\n });\n setMedias(_medias);\n } else {\n setMedias([]);\n }\n \n if (selectedTask?.comments?.length > 0) {\n setComments(selectedTask.comments);\n } else {\n setComments([]);\n }\n \n if (selectedTask?.uploadedAttachments?.length > 0) {\n setAttachments(selectedTask?.uploadedAttachments);\n } else {\n setAttachments([]);\n }\n \n let _nextStep = \"\";\n if (selectedTask?.compeleted && selectedTask?.approved) {\n _nextStep =\n \"Diese Aufgabe ist abgeschloßen. Keine weiteren Schritte notwendig.\";\n } else if (selectedTask?.compeleted && !selectedTask?.approved) {\n _nextStep =\n \"Diese Aufgabe wartet auf Genehmigung durch Prozessverantwortlichen.\";\n } else if (!selectedTask?.compeleted && !selectedTask?.approved) {\n if (moment().isAfter(selectedTask?.dateBeDone)) {\n _nextStep = \"Eskalation! Die Deadline wurde überfahren.\";\n } else {\n _nextStep =\n \"Diese Aufgabe wartet auf Bearbeitung, durch Aufgabenverantwortlichen.\";\n }\n }\n setNextStep(_nextStep);\n \n if(selectedTask.creator){\n let _creator = await getUserName(selectedTask.creator);\n setCreator(_creator);\n }\n };\n\n fetchData();\n\n }, [selectedTask]);\n\n const attachmentClickHandler = (fileName) => {\n onAttachmentClick(fileName);\n };\n\n const handleMediaDisplay = (id) => {\n onMediaClick(id);\n };\n\n const closeModaHandler = () => {\n closeModal();\n setMedias([]);\n setArticles([]);\n setComments([]);\n setAttachments([]);\n setNextStep(\"\");\n }\n\n const getUserName = async(id) => {\n let name = \"\";\n if(props.members && props.members[id]){\n name = props.members[id].firstName + \" \" + props.members[id].lastName;\n }else{\n await dispatch(getUserById({ id: id }))\n .then((res) => {\n if(res.value?.data){\n name = res.value.data.firstName + \" \" + res.value.data.lastName;\n }\n })\n .catch((err) => logError(err));\n }\n return name;\n }\n\n const ColorSwitch = withStyles({\n switchBase: {\n color: config.colorActive,\n \"&$checked\": {\n color: config.colorSecondary,\n },\n \"&$checked + $track\": {\n backgroundColor: config.colorSecondary,\n },\n },\n checked: {},\n track: {},\n })(Switch);\n\n const StyledFormControlLabel = withStyles(() => ({\n label: {\n fontSize: '1rem',\n marginLeft: '0px !important',\n fontWeight: 'bolder',\n color: '#212529'\n }\n }))(FormControlLabel);\n\n return(\n \n
    \n
    \n {\"Name:\"}   \n {selectedTask?.name}\n
    \n
    \n {\"Beschreibung:\"}   \n \n {selectedTask?.description}\n \n
    \n\n {isProcessTask &&\n <>\n
    \n {\"Verantwortlich:\"}   \n \n {props.members && props.members[selectedTask?.responsible]\n ? props.members[selectedTask?.responsible].firstName +\n \" \" +\n props.members[selectedTask?.responsible].lastName\n : \"\"}\n \n
    \n
    \n {\"Für wen:\"}   \n \n {selectedTask?.benefactor &&\n props.members &&\n props.members[selectedTask?.benefactor]\n ? props.members[selectedTask?.benefactor].firstName +\n \" \" +\n props.members[selectedTask?.benefactor].lastName\n : \"\"}\n \n
    \n \n }\n
    \n {\"Erstellt von:\"}   \n {creator}\n
    \n
    \n {\"Wurde erstellt am:\"}   \n \n {moment(selectedTask?.dateCreated).format(\n `${t(\"momentjs_datum\")}`\n )}\n \n
    \n {isProcessTask &&
    \n {\"Erledigen bis:\"}   \n \n {moment(selectedTask?.dateBeDone).format(`${t(\"momentjs_datum\")}`)}\n \n
    }\n {isProcessTask && selectedTask?.preTask &&
    \n \n }\n labelPlacement=\"start\"\n label=\"Aufgabe kann parallel bearbeitet werden\"\n />\n
    }\n {isProcessTask &&
    \n {\"Wird informiert:\"}   \n {selectedTask?.notifies?.length > 0 ? (\n \n {selectedTask?.notifies.map((person, index) => {\n return (\n \n {person && props.members && props.members[person]\n ? props.members[person].firstName +\n \" \" +\n props.members[person].lastName +\n \" \"\n : \"\"}\n
    \n );\n })}\n
    \n ) : (\n \n )}\n }\n
    \n {\"Attachments:\"}   \n {selectedTask?.files?.length > 0 &&\n selectedTask?.files.map((file, i) => (\n attachmentClickHandler(file?.name)}\n key={file?.name}\n >\n \n
    \n ))}\n \n
    \n {\"Artikel:\"}   \n
    \n {articles.length > 0 &&\n articles.map((article, i) => (\n \n \n {article.title}\n \n    \n \n ))}\n
    \n
    \n {\"Medien:\"}   \n
    \n {medias.length > 0 &&\n medias.map((media, i) => (\n \n handleMediaDisplay(media.id)}\n style={{ color: config.colorSecondary }}\n >\n {media.title}\n \n    \n \n ))}\n
    \n {isProcessTask && \n <>\n
    \n {\"Nächster Schritt:\"}   \n {nextStep}\n
    \n \n {\"Kommentare:\"}   \n
    \n {comments.length > 0 ? (\n comments.map((comment, i) => {\n return (\n \n {comment.message && }\n \n );\n })\n ) : (\n \n {\"Keine Kommentare vorhanden.\"}\n \n )}\n \n \n {\"Anhänge:\"}   \n
    \n {attachments.length > 0 ? (\n attachments.map((file, i) => (\n attachmentClickHandler(file?.name)}\n key={file?.name}\n style={{ marginBottom: \"1.5rem\" }}\n >\n \n \n ))\n ) : (\n \n {\"Keine Anhänge vorhanden.\"}\n \n )}\n \n \n }\n \n
    \n \n {t(\"Schließen\")}\n \n
    \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n processes: state.process.byId,\n memberIds: state.user.allIds,\n members: state.user.byId,\n articleIds: state.article.allIds,\n articles: state.article.byId,\n mediaIds: state.media.allIds,\n medias: state.media.byId,\n});\n \nexport default connect(mapStateToProps, null)(TaskDetailsModal);\n","import React, { useState, useEffect } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Select from \"react-select\";\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport Backdrop from \"../../components/backdrop/backdrop\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport auth from \"../../auth\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport config from \"../../config/api.config.js\";\nimport { getFileType, logError } from \"../../helpers/helpers\";\nimport { useTranslation } from \"react-i18next\";\nimport \"../../assets/css/pages/departments.scss\";\nimport App from \"../../App\";\nimport FilePreview from \"../../components/filePreview/filePreview\";\nimport { ReactComponent as Upload } from \"../../assets/images/upload.svg\";\nimport { searchTasks, addTask, updateTask, deleteTask, insertTaskFile, deleteTaskFile } from \"../../redux/task/action\";\nimport { searchArticles } from \"../../redux/article/action\";\nimport { searchMedias } from \"../../redux/media/action\";\nimport TaskDetailsModal from \"./TaskDetailsModal\";\nimport MediaDisplayModal from \"../Medias/MediaDisplayModal\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\n\nconst Tasks = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [openModal, setOpenModal] = useState(false);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [taskName, setTaskName] = useState(\"\");\n const [taskDescription, setTaskDescription] = useState(\"\");\n const [buttonClicked, setButtonClicked] = useState(false);\n const [taskEditId, setTaskEditId] = useState(null);\n const [search, setSearch] = useState(\"\");\n const [selectedSort, setSelectedSort] = useState(1);\n const [defaultPage, setDefaultPage] = useState(false);\n const [openBackdrop, setOpenBackdrop] = useState(false);\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [arts, setArts] = useState([]);\n const [selectedArticles, setSelectedArticles] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [articles, setArticles] = useState([]);\n const [successMessage, setSuccessMessage] = useState(\"\");\n\n //media states\n const [mds, setMds] = useState([]);\n const [selectedMedias, setSelectedMedias] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [medias, setMedias] = useState([]);\n //end media state\n\n const [sizeError, setSizeError] = useState(null);\n const [typeError, setTypeError] = useState(null);\n const [mustdelete, setMustdelete] = useState([]);\n const [editselectedFile, setEditselectedFile] = useState([]);\n const [isAdmin, setIsAdmin] = useState(false);\n const [selectedFile, setSelectedFile] = useState([]);\n const [openTaskModal, setOpenTaskModal] = useState(false);\n const [displayUrl, setDisplayUrl] = useState(\"\");\n const [displayMedia, setDisplayMedia] = useState(false);\n const [displayMediaName, setDisplayMediaName] = useState(\"\");\n const [displayMediaTitle, setDisplayMediaTitle] = useState(\"\");\n const [selectedTask, setSelectedTask] = useState([]);\n\n const DeleteFromArts = (id) => {\n const newArrr2 = arts.filter((item) => {\n return item.id !== id;\n });\n setArts(newArrr2);\n };\n\n const getFileExtension = (filename) => {\n return filename.split(\".\").pop();\n };\n\n const onFileChange = (event) => {\n let file = event.target.files[0];\n\n if (file.size > 20 * 1024 * 1024) {\n setSizeError(\"Please upload a file smaller than 20 MB\");\n return false;\n }\n if (!config.allowedFileExtensions.includes(getFileExtension(file.name))) {\n setTypeError(\"File type not support\");\n return false;\n }\n\n if (event.target.files.length <= 0) return;\n\n // eslint-disable-next-line eqeqeq\n if (!selectedFile.find((f) => f.name == event.target.files[0].name)) setSelectedFile([...selectedFile, event.target.files[0]]);\n setSizeError(null);\n setTypeError(null);\n };\n\n const deleteFilePreview = (file) => {\n // eslint-disable-next-line eqeqeq\n const tempFiles = selectedFile.filter((f) => f.name != file.name);\n setSelectedFile(tempFiles);\n };\n\n const deleteEditFilePreview = (file) => {\n // eslint-disable-next-line eqeqeq\n const tempFiles = editselectedFile.filter((f) => f.name != file.name);\n setEditselectedFile(tempFiles);\n setMustdelete([...mustdelete, file.name]);\n };\n\n const DeleteFromMds = (id) => {\n const newArrr = mds.filter((item) => {\n return item.id !== id;\n });\n setMds(newArrr);\n };\n\n const AddTask = async () => {\n let artsArr = [];\n arts.map((item) => {\n artsArr.push(item.id);\n });\n\n let mdsArr = [];\n mds.map((item) => {\n mdsArr.push(item.id);\n });\n let data = {\n name: taskName,\n description: taskDescription,\n creator: auth.getId(),\n articles: artsArr,\n medias: mdsArr,\n compeleted: false,\n };\n\n dispatch(addTask(data))\n .then((res) => {\n let _errMsg = \"\";\n if (selectedFile.length !== 0) {\n Promise.all([\n selectedFile?.forEach(async (file) => {\n const formData = new FormData();\n formData.append(\"File\", file);\n return await dispatch(\n insertTaskFile({\n taskId: res.value.id,\n formData: formData,\n })\n ).catch((err) => {\n _errMsg = \"Fehler beim Hochladen der Anhänge.\";\n });\n }),\n ])\n .then((res) => {\n setButtonClicked(false);\n setOpenModal(false);\n setTaskName(\"\");\n setTaskDescription(\"\");\n setSelectedFile([]);\n setArts([]);\n setMds([]);\n setTimeout(() => {\n if (_errMsg) {\n setErrorMessage(_errMsg);\n setOpenAlert(true);\n } else {\n setSuccessMessage(\"Aufgabe wurde erfolgreich hinzugefügt.\");\n setOpenAlert(true);\n }\n }, 1000);\n })\n .catch((err) => {\n logError(err);\n });\n } else {\n setButtonClicked(false);\n setOpenModal(false);\n setTaskName(\"\");\n setTaskDescription(\"\");\n setSelectedFile([]);\n setArts([]);\n setMds([]);\n setSuccessMessage(\"Aufgabe wurde erfolgreich hinzugefügt.\");\n setOpenAlert(true);\n }\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n setOpenModal(false);\n setTaskName(\"\");\n setTaskDescription(\"\");\n let errMsg = \"Fehler bei Hinzufügen der Aufgabe.\";\n if (err.response?.data?.errors) {\n errMsg = err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const EditTaskModal = (id, name, description, mediass, articless, files) => {\n if (!isAdmin) return;\n\n setEditselectedFile(files);\n let filteredArray = medias.filter(function (n) {\n if (!mediass || !Array.isArray(mediass)) return false;\n for (var i = 0; i < mediass.length; i++) {\n if (n.value === mediass[i]) {\n return true;\n }\n }\n return false;\n });\n\n let mdsArr = [];\n filteredArray.map((item) => {\n mdsArr.push({ id: item.value, name: item.label });\n });\n\n let filteredArray2 = articles.filter(function (n) {\n if (!articless || !Array.isArray(articless)) return false;\n for (var i = 0; i < articless.length; i++) {\n if (n.value === articless[i]) {\n return true;\n }\n }\n return false;\n });\n\n let artArr = [];\n filteredArray2.map((item) => {\n artArr.push({ id: item.value, name: item.label });\n });\n\n setArts(artArr);\n setMds(mdsArr);\n setTaskEditId(id);\n setTaskName(name);\n setTaskDescription(description);\n setOpenModal(true);\n };\n\n const EditTask = async () => {\n let artsArr = [];\n arts.map((item) => {\n artsArr.push(item.id);\n });\n\n let mdsArr = [];\n mds.map((item) => {\n mdsArr.push(item.id);\n });\n\n let data = {\n taskId: taskEditId,\n name: taskName,\n description: taskDescription,\n articles: artsArr,\n medias: mdsArr,\n };\n\n setOpenAlert(false);\n await setButtonClicked(true);\n dispatch(updateTask(data))\n .then(() => {\n let _uploadErrMsg = \"\";\n let _deleteErrMsg = \"\";\n if (selectedFile.length !== 0) {\n Promise.all([\n selectedFile?.forEach(async (file) => {\n const formData = new FormData();\n formData.append(\"File\", file);\n return await dispatch(\n insertTaskFile({\n taskId: taskEditId,\n formData: formData,\n })\n ).catch((err) => {\n _uploadErrMsg = \"Fehler beim Hochladen der Anhänge.\";\n });\n }),\n ])\n .then(() => {\n if (mustdelete.length !== 0) {\n Promise.all([\n mustdelete.forEach(async (file) => {\n await dispatch(\n deleteTaskFile({\n taskId: taskEditId,\n fileName: file,\n })\n ).catch((err) => {\n _deleteErrMsg = \"Fehler bei Löschen der Anhänge.\";\n });\n }),\n ])\n .then(() => {\n setButtonClicked(false);\n setOpenModal(false);\n setTaskEditId(null);\n setTaskName(\"\");\n setTaskDescription(\"\");\n setArts([]);\n setMds([]);\n setSelectedFile([]);\n setEditselectedFile([]);\n setMustdelete([]);\n setTimeout(() => {\n if (_deleteErrMsg) {\n setErrorMessage(_deleteErrMsg);\n setOpenAlert(true);\n } else if (_uploadErrMsg) {\n setErrorMessage(_uploadErrMsg);\n setOpenAlert(true);\n } else {\n setSuccessMessage(\"Aufgabe erfolgreich bearbeitet.\");\n setOpenAlert(true);\n }\n }, 1000);\n })\n .catch((err) => {\n logError(err);\n });\n } else {\n setButtonClicked(false);\n setOpenModal(false);\n setTaskEditId(null);\n setTaskName(\"\");\n setTaskDescription(\"\");\n setArts([]);\n setMds([]);\n setSelectedFile([]);\n setEditselectedFile([]);\n setMustdelete([]);\n setTimeout(() => {\n if (_uploadErrMsg) {\n setErrorMessage(_uploadErrMsg);\n setOpenAlert(true);\n } else {\n setSuccessMessage(\"Aufgabe erfolgreich bearbeitet.\");\n setOpenAlert(true);\n }\n }, 1000);\n }\n })\n .catch((err) => {\n logError(err);\n });\n } else {\n if (mustdelete.length !== 0) {\n Promise.all([\n mustdelete.forEach(async (file) => {\n await dispatch(\n deleteTaskFile({\n taskId: taskEditId,\n fileName: file,\n })\n ).catch((err) => {\n _deleteErrMsg = \"Fehler bei Löschen der Anhänge.\";\n });\n }),\n ])\n .then(() => {\n setButtonClicked(false);\n setOpenModal(false);\n setTaskEditId(null);\n setTaskName(\"\");\n setTaskDescription(\"\");\n setArts([]);\n setMds([]);\n setSelectedFile([]);\n setEditselectedFile([]);\n setMustdelete([]);\n setTimeout(() => {\n if (_deleteErrMsg) {\n setErrorMessage(_deleteErrMsg);\n setOpenAlert(true);\n } else {\n setSuccessMessage(\"Aufgabe erfolgreich bearbeitet.\");\n setOpenAlert(true);\n }\n }, 1000);\n })\n .catch((err) => {\n logError(err);\n });\n } else {\n setButtonClicked(false);\n setOpenModal(false);\n setTaskEditId(null);\n setTaskName(\"\");\n setTaskDescription(\"\");\n setArts([]);\n setMds([]);\n setSelectedFile([]);\n setEditselectedFile([]);\n setMustdelete([]);\n setTimeout(() => {\n if (_deleteErrMsg) {\n setErrorMessage(_deleteErrMsg);\n setOpenAlert(true);\n } else if (_uploadErrMsg) {\n setErrorMessage(_uploadErrMsg);\n setOpenAlert(true);\n } else {\n setSuccessMessage(\"Aufgabe erfolgreich bearbeitet.\");\n setOpenAlert(true);\n }\n }, 1000);\n }\n }\n })\n .catch((err) => {\n setButtonClicked(false);\n setOpenModal(false);\n setTaskEditId(null);\n setTaskName(\"\");\n setTaskDescription(\"\");\n setArts([]);\n setMds([]);\n setSelectedFile([]);\n setEditselectedFile([]);\n setMustdelete([]);\n\n let errMsg = \"Fehler bei Bearbeiten des Teams.\";\n if (err.response?.data?.errors) {\n errMsg = err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const DeleteTaskModal = (id) => {\n if (!isAdmin) return;\n\n setTaskEditId(id);\n setConfirmDeleteModal(true);\n };\n\n const DeleteTask = async () => {\n await setButtonClicked(true);\n dispatch(\n deleteTask({\n taskId: taskEditId,\n })\n )\n .then((res) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setTaskEditId(null);\n dispatch(\n searchTasks({\n Sort: selectedSort,\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n setSuccessMessage(\"Aufgabe wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n })\n .catch((err) => {\n setButtonClicked(false);\n setConfirmDeleteModal(false);\n setTaskEditId(null);\n let errMsg = \"Fehler bei Löschen der Aufgabe.\";\n if (err.response?.data?.errors) {\n errMsg = err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n searchTasks({\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n\n useEffect(() => {\n const abortController = new AbortController();\n\n if (!props.currentUser) return;\n\n if (props.currentUser.role === \"Admin\") {\n setIsAdmin(true);\n }\n\n if (props.allTaskIds.length === 0) {\n dispatch(searchTasks({ GetAll: true }));\n }\n\n if (props.mediaIds.length === 0) {\n dispatch(searchMedias({ GetAll: true }));\n }\n\n if (props.articleIds.length === 0) {\n dispatch(searchArticles({ Include_owner: true }));\n }\n\n dispatch(\n searchTasks({\n Sort: 1,\n PageNumber: 1,\n })\n );\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n useEffect(() => {\n if (props.mediaIds.length > 0) {\n const _medias = [];\n props.mediaIds.forEach((id) => {\n _medias.push({\n value: id,\n label: props.medias[id].title,\n url: props.medias[id].name,\n });\n });\n setMedias(_medias);\n } else {\n setMedias([]);\n }\n }, [props.mediaIds.length]);\n\n useEffect(() => {\n if (props.articleIds.length > 0) {\n const _articles = [];\n props.articleIds.forEach((id) => {\n _articles.push({\n value: id,\n label: props.articles[id].title,\n });\n });\n setArticles(_articles);\n } else {\n setArticles([]);\n }\n }, [props.articleIds.length]);\n\n const getSearchValue = (search) => {\n setSearch(search.trim());\n if (props.currentUser) {\n dispatch(\n searchTasks({\n PageNumber: 1,\n Sort: selectedSort,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n searchTasks({\n PageNumber: newPage,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n })\n );\n };\n\n const taskClickHandler = (id) => {\n setSelectedTask(props.tasks[id]);\n setOpenTaskModal(true);\n };\n\n const resetValues = () => {\n setOpenTaskModal(false);\n setSelectedTask([]);\n };\n\n const attachmentClickHandler = (filename) => {\n window.open(`${config.resourcesUrl + filename}`, \"_blank\");\n };\n\n const handleMediaDisplay = (id) => {\n let media = props.medias[id];\n let type = getFileType(media.name);\n if (type !== \"Document\") {\n let url = `${config.resourcesUrl + media.name}`;\n setDisplayUrl(url);\n setDisplayMedia(true);\n setDisplayMediaName(media.name);\n setDisplayMediaTitle(media.title);\n }\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n \n
    \n
    \n \n \n {\n setButtonClicked(false);\n setOpenModal(false);\n setTaskEditId(null);\n setTaskName(\"\");\n setTaskDescription(\"\");\n setArts([]);\n setMds([]);\n setSelectedFile([]);\n setEditselectedFile([]);\n setMustdelete([]);\n }}\n >\n setTaskName(target.value)} />\n setTaskDescription(target.value)}\n />\n\n
    \n \n \n
    \n\n
    \n {typeError ? {typeError} : null}\n {sizeError ? {sizeError} : null}\n {editselectedFile.length || selectedFile.length ? (\n
    \n {editselectedFile?.map((file) => (\n deleteEditFilePreview(file)} />\n ))}\n {selectedFile?.map((file) => (\n deleteFilePreview(file)} />\n ))}\n
    \n ) : (\n {t(\"Aktuell keine Anhänge vorhanden\")}\n )}\n
    \n\n
    \n {/* Choosiing related articles */}\n
    \n Relevante Artikel:\n
    \n\n {\n setArts([...arts, { id: e.value, name: e.label }]);\n }}\n options={articles}\n isSearchable={true}\n style={{ marginTop: \"10px\" }}\n />\n\n {arts.length > 0 ? (\n \n {arts.map((person, index) => {\n return index !== 0 ? (\n \n {person.name} DeleteFromArts(person.id)} width={30} height={30} />\n
    \n ) : (\n \n {person.name} DeleteFromArts(person.id)} width={30} height={30} />\n
    \n );\n })}\n
    \n ) : (\n \n )}\n \n\n
    \n {/* Choosiing related medias */}\n
    \n Related Medias:\n
    \n\n {\n setMds([...mds, { id: e.value, name: e.label, url: e.url }]);\n }}\n options={medias}\n isSearchable={true}\n style={{ marginTop: \"10px\" }}\n />\n\n {mds.length > 0 ? (\n \n {mds.map((person, index) => {\n return index !== 0 ? (\n \n {person.name} DeleteFromMds(person.id)} width={30} height={30} />\n
    \n ) : (\n \n {person.name} DeleteFromMds(person.id)} width={30} height={30} />\n \n );\n })}\n \n ) : (\n \n )}\n \n\n
    \n {\n setButtonClicked(false);\n setOpenModal(false);\n setTaskEditId(null);\n setTaskName(\"\");\n setTaskDescription(\"\");\n setArts([]);\n setMds([]);\n setSelectedFile([]);\n setEditselectedFile([]);\n setMustdelete([]);\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {taskEditId ? \"Ändern\" : \"Hinzufügen\"}\n \n
    \n \n\n setConfirmDeleteModal(false)}>\n

    {t(\"Aufgabe entfernen?\")}

    \n
    \n setConfirmDeleteModal(false)}>{t(\"Abbrechen\")}\n \n {t(\"Löschen\")}\n \n
    \n
    \n\n {\n setDisplayMedia(false);\n setDisplayUrl(\"\");\n setDisplayMediaName(\"\");\n setDisplayMediaTitle(\"\");\n }}\n mediaUrl={displayUrl}\n title={displayMediaTitle}\n name={displayMediaName}\n />\n\n {\n resetValues();\n }}\n onAttachmentClick={attachmentClickHandler}\n onMediaClick={handleMediaDisplay}\n selectedTask={selectedTask}\n isProcessTask={false}\n />\n \n\n \n \n\n \n \n \n \n {t(\"No\")}.\n {t(\"Name\")}\n {t(\"Beschreibung\")}\n {t(\"Optionen\")}\n \n \n \n {props.isLoading ? (\n \n \n
    \n \n
    \n
    \n
    \n ) : /*search &&*/ !props.isLoading && !props.taskIds?.length ? (\n \n \n {t(\"nothing_found_task\")}\n \n \n ) : (\n <>\n {!props.isLoading &&\n props.taskIds.length > 0 &&\n props.taskIds?.map((id) => {\n return (\n props.tasks[id] && (\n \n taskClickHandler(id)}>\n {props.tasks[id].no + \".\"}\n \n taskClickHandler(id)}>\n {props.tasks[id].name}\n \n taskClickHandler(id)}>\n {props.tasks[id].description.length > 50 ? props.tasks[id].description.substring(0, 50) + \"...\" : props.tasks[id].description}\n \n \n
    \n {\n EditTaskModal(id, props.tasks[id].name, props.tasks[id].description, props.tasks[id].medias, props.tasks[id].articles, props.tasks[id].files);\n }}\n />\n DeleteTaskModal(id)} />\n
    \n
    \n
    \n )\n );\n })}\n \n )}\n
    \n
    \n
    \n {!props.taskIds?.length && search ? null : <>{Object.keys(props.pageParams).length > 0 && }}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n isLoading: state.task.isLoading,\n allTaskIds: state.task.allIds,\n tasks: state.task.byId,\n taskIds: state.task.searchIds,\n pageParams: state.task.pageParams,\n mediaIds: state.media.allIds,\n medias: state.media.byId,\n articleIds: state.article.allIds,\n articles: state.article.byId,\n});\n\nexport default connect(mapStateToProps, null)(Tasks);\n","import React, { useState, useRef, useEffect } from \"react\";\nimport { Dialog } from \"@material-ui/core\";\nimport { useTranslation } from \"react-i18next\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport InputField from \"../../components/inputField/inputField\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport FilePreview from \"../../components/filePreview/filePreview\";\nimport { ReactComponent as Upload } from \"../../assets/images/upload.svg\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { addMedia, updateMedia } from \"../../redux/media/action\";\nimport auth from \"../../auth\";\nimport moment from \"moment\";\nimport config from \"../../config/api.config\";\n\nconst MediaModal = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const { open, closeModal, mediaId, selectedMedia, showSuccessMsg } = props;\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [inputValues, setInputValues] = useState({\n title: \"\",\n shortDescription: \"\",\n length: \"\",\n size: \"\",\n type: \"\",\n });\n const [uploadedFile, setUploadedFile] = useState(null);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [sizeError, setSizeError] = useState(false);\n const [typeError, setTypeError] = useState(false);\n const [disableUpload, setDisableUpload] = useState(false);\n const [file, setFile] = useState(null);\n const [editMedia, setEditMedia] = useState(null);\n const fileRef = useRef();\n\n useEffect(() => {\n if (mediaId && selectedMedia?.id === mediaId) {\n setInputValues((prevState) => {\n return {\n ...prevState,\n title: selectedMedia.title,\n shortDescription: selectedMedia.description,\n };\n });\n setDisableUpload(true);\n setFile(selectedMedia.name);\n setEditMedia(selectedMedia);\n }\n }, [mediaId, selectedMedia]);\n\n const handleChange = (prop) => (event) => {\n setInputValues((prevState) => {\n return {\n ...prevState,\n [prop]: event.target.value,\n };\n });\n };\n\n const resetValues = () => {\n setInputValues((prevState) => {\n return {\n ...prevState,\n title: \"\",\n shortDescription: \"\",\n length: \"\",\n size: \"\",\n type: \"\",\n duration: \"\",\n };\n });\n setUploadedFile(null);\n setDisableUpload(false);\n setErrorMessage(\"\");\n setButtonClicked(false);\n setTypeError(\"\");\n setSizeError(\"\");\n setFile(null);\n setEditMedia(null);\n };\n\n const onFileChange = (event) => {\n let file = event.target.files[0];\n if (file && file.size > 10000000000 * 1024 * 1024) {\n setSizeError(\"Please upload a file smaller than 1GB\");\n return false;\n }\n\n if (!config.allowedFileExtensions.includes(getFileExtension(file.name))) {\n setTypeError(\"File type not support\");\n return false;\n }\n\n if (file) {\n setUploadedFile(file);\n }\n\n if (\n getFileExtension(file.name) === \"mp4\" ||\n getFileExtension(file.name) === \"mp3\"\n ) {\n var reader = new FileReader();\n reader.onload = function () {\n var aud = new Audio(reader.result);\n aud.onloadedmetadata = function () {\n var duration = moment.utc(aud.duration * 1000).format(\"mm:ss\");\n setInputValues((prevState) => {\n return {\n ...prevState,\n type: getFileExtension(file.name),\n size: file.size,\n duration: duration,\n };\n });\n };\n };\n reader.readAsDataURL(file);\n } else {\n setInputValues((prevState) => {\n return {\n ...prevState,\n type: getFileExtension(file.name),\n size: file.size,\n duration: \"\",\n };\n });\n }\n setDisableUpload(true);\n\n setSizeError(null);\n setTypeError(null);\n };\n\n const getFileExtension = (filename) => {\n return filename.split(\".\").pop();\n };\n\n const addMediaHandler = async () => {\n setOpenAlert(false);\n await setButtonClicked(true);\n const formData = new FormData();\n formData.append(\"File\", uploadedFile);\n formData.append(\"Description\", inputValues.shortDescription);\n formData.append(\"Title\", inputValues.title);\n formData.append(\"creator\", auth.getId());\n formData.append(\"duration\", inputValues.duration);\n\n dispatch(addMedia(formData))\n .then((res) => {\n setButtonClicked(false);\n closeModal();\n resetValues();\n showSuccessMsg(\"Datei wurde erfolgreich hinzugefügt.\");\n })\n .catch(function (err) {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Hinzufügen von Media.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const editMediaHandler = async () => {\n setOpenAlert(false);\n await setButtonClicked(true);\n let reqData = {\n mediaId: editMedia.id,\n title: inputValues.title,\n description: inputValues.shortDescription,\n name: editMedia.name,\n };\n\n dispatch(updateMedia(reqData))\n .then((res) => {\n setButtonClicked(false);\n closeModal();\n resetValues();\n showSuccessMsg(\"Datei wurde erfolgreich bearbeitet.\");\n })\n .catch(function (err) {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Bearbeiten der Datei.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const deleteFilePreview = (file) => {\n setUploadedFile(null);\n setDisableUpload(false);\n fileRef.current.value = \"\";\n };\n\n return (\n {\n resetValues();\n closeModal();\n }}\n aria-labelledby=\"dialog-title\"\n aria-describedby=\"dialog-description\"\n className=\"department-members articles-modal\"\n >\n setOpenAlert(false)}>\n {errorMessage}\n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n {t(\"Hier klicken um Datei hochzuladen\")}\n \n \n
    \n
    \n {typeError ? {typeError} : null}\n {sizeError ? {sizeError} : null}\n

    {t(\"Hochgeladene Datei\")}

    \n {file && (\n
    \n \n
    \n )}\n {uploadedFile && (\n
    \n \n
    \n )}\n {uploadedFile == null && file == null && (\n {t(\"Es wurde noch keine Datei hochgeladen\")}\n )}\n
    \n
    \n {\n resetValues();\n closeModal();\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {mediaId ? `${t(\"Speichern\")}` : `${t(\"Hinzufügen\")}`}\n \n
    \n
    \n \n );\n};\nconst mapStateToProps = (state) => ({});\nexport default connect(mapStateToProps, null)(MediaModal);\n","import React, { useState, useEffect } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport Button from \"@material-ui/core/Button\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport config from \"../../config/api.config.js\";\nimport { getFileType, getFileExtension } from \"../../helpers/helpers\";\nimport { useTranslation } from \"react-i18next\";\nimport App from \"../../App\";\nimport MediaModal from \"./MediaModal\";\nimport { searchMedias, deleteMedia } from \"../../redux/media/action\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport MediaDisplayModal from \"./MediaDisplayModal\";\nimport Download from \"@material-ui/icons/ArrowDownwardOutlined\";\nimport auth from \"../../auth\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\n\nconst Medias = (props) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [openMediaModal, setOpenMediaModal] = useState(false);\n const [mediaEditId, setMediaEditId] = useState(null);\n const [mediaDeleteId, setMediaDeleteId] = useState(null);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [search, setSearch] = useState(\"\");\n const [defaultPage, setDefaultPage] = useState(false);\n const [selectedSort, setSelectedSort] = useState(1);\n const [displayMedia, setDisplayMedia] = useState(false);\n const [displayUrl, setDisplayUrl] = useState(\"\");\n const [displayMediaName, setDisplayMediaName] = useState(\"\");\n const [displayMediaTitle, setDisplayMediaTitle] = useState(\"\");\n const [isAdmin, setIsAdmin] = useState(false);\n const [successMessage, setSuccessMessage] = useState(\"\");\n\n useEffect(() => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n if (props.currentUser.role === \"Admin\") {\n setIsAdmin(true);\n }\n if (props.allMediaIds.length === 0) {\n dispatch(searchMedias({ GetAll: true }));\n }\n dispatch(\n searchMedias({\n Sort: 1,\n PageNumber: 1,\n })\n );\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n const getSearchValue = (search) => {\n setSearch(search);\n if (props.currentUser) {\n dispatch(\n searchMedias({\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n })\n );\n }\n // forceCheck()\n setDefaultPage(!defaultPage);\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n searchMedias({\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n\n const deleteMediaHandler = (id) => {\n if (!isAdmin && props.medias[id].creator !== auth.getId()) return;\n setMediaDeleteId(id);\n setConfirmDeleteModal(true);\n };\n\n const deleteMediaFile = async () => {\n setOpenAlert(false);\n await setButtonClicked(true);\n\n await dispatch(\n deleteMedia({\n mediaId: mediaDeleteId,\n name: props.medias[mediaDeleteId].name,\n })\n )\n .then((res) => {\n resetDeleteModal(false);\n dispatch(searchMedias());\n setSuccessMessage(\"Datei wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n })\n .catch(function (err) {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Löschen der Datei.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const resetDeleteModal = () => {\n setMediaDeleteId(null);\n setConfirmDeleteModal(false);\n setButtonClicked(false);\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n searchMedias({\n PageNumber: newPage,\n Name: search,\n Sort: selectedSort,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n\n const handleMediaDisplay = (id) => {\n let media = props.medias[id];\n let type = getFileType(media.name);\n if (type !== \"Document\") {\n let url = `${config.resourcesUrl+media.name}`;\n setDisplayUrl(url);\n setDisplayMedia(true);\n setDisplayMediaName(media.name);\n setDisplayMediaTitle(media.title);\n }\n };\n\n const downloadMediaHandler = (id) => {\n let media = props.medias[id];\n let href = `${config.resourcesUrl+media.name}`;\n const link = document.createElement(\"a\");\n link.href = href;\n link.download = media.name;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n };\n\n const editMediaHandler = (id) => {\n if (!isAdmin && props.medias[id].creator !== auth.getId()) return;\n setMediaEditId(id);\n setOpenMediaModal(true);\n };\n\n const successMsgHandler = (msg) => {\n setSuccessMessage(msg);\n setOpenAlert(true);\n };\n\n const formatSize = (bytes, decimals) => {\n if (bytes === 0) return \"0 Bytes\";\n var k = 1000,\n dm = decimals || 2,\n sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"],\n i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n
    \n
    \n \n {\n return setOpenMediaModal(true);\n }}\n >\n {t(\"Neu\")}\n \n\n {\n setOpenMediaModal(false);\n setMediaEditId(null);\n }}\n mediaId={mediaEditId}\n selectedMedia={props.medias[mediaEditId]}\n showSuccessMsg={successMsgHandler}\n />\n\n {\n setDisplayMedia(false);\n setDisplayUrl(\"\");\n setDisplayMediaName(\"\");\n setDisplayMediaTitle(\"\");\n }}\n mediaUrl={displayUrl}\n title={displayMediaTitle}\n name={displayMediaName}\n />\n\n \n

    {t(\"sure_delete_media\")}

    \n
    \n \n Abbrechen\n \n \n {t(\"Löschen\")}\n \n
    \n \n
    \n \n
    \n\n \n \n \n \n {t(\"No\")}.\n {t(\"Name\")}\n {t(\"Medientyp\")}\n {t(\"Size\")}\n {t(\"Duration\")}\n {t(\"Optionen\")}\n \n \n \n {props.isLoading && (\n \n \n
    \n \n
    \n \n
    \n )}\n {!props.isLoading && !props.mediaIds.length && (\n \n \n {t(\"nothing_found_media\")}\n \n \n )}\n {!props.isLoading &&\n props.mediaIds.length > 0 &&\n props.mediaIds?.map((id) => {\n return (\n props.medias[id] && (\n \n {props.medias[id].no + \".\"}\n handleMediaDisplay(id)}\n >\n {props.medias[id].title}\n \n \n {getFileType(props.medias[id].name)}\n \n \n {formatSize(props.medias[id].size)}\n \n \n {props.medias[id].duration}\n \n \n
    \n downloadMediaHandler(id)} />\n editMediaHandler(id)}\n />\n deleteMediaHandler(id)}\n />\n
    \n
    \n
    \n )\n );\n })}\n
    \n
    \n
    \n\n {!props.mediaIds?.length && search ? null : (\n <>\n {Object.keys(props.pageParams).length > 0 && (\n \n )}\n \n )}\n
    \n );\n};\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n isLoading: state.media.isLoading,\n allMediaIds: state.media.allIds,\n mediaIds: state.media.searchIds,\n medias: state.media.byId,\n pageParams: state.media.pageParams,\n});\n\nexport default connect(mapStateToProps, null)(Medias);\n","import React, { useEffect, useState, useRef } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport App from \"../../App\";\nimport auth from \"../../auth\";\nimport moment from \"moment\";\nimport { useTranslation } from \"react-i18next\";\nimport { getProcessById, getProcessTasks } from \"../../redux/process/action\";\nimport { Grid } from \"@material-ui/core\";\nimport { getUserById } from \"../../redux/users/action\";\nimport { getArticleById } from \"../../redux/article/action\";\nimport { searchMedias } from \"../../redux/media/action\";\nimport {\n completeTask,\n insertTaskAttachment,\n approveTask,\n rejectTask,\n deleteTaskAttachment,\n changeTaskDeadline,\n changeTaskResponsible,\n} from \"../../redux/task/action\";\nimport \"./tasks.scss\";\nimport FilePreview from \"../../components/filePreview/filePreview\";\nimport { Link } from \"react-router-dom\";\nimport config from \"../../config/api.config.js\";\nimport { getFileType, getFileExtension, logError } from \"../../helpers/helpers\";\nimport MediaDisplayModal from \"../Medias/MediaDisplayModal\";\nimport { ReactComponent as Upload } from \"../../assets/images/upload.svg\";\nimport AddButton from \"../../components/auth/button\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport Comment from \"./Comment\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport MembersSelect from \"../../components/dropdown/membersSelect\";\nimport DatePicker from \"react-datepicker\";\n\nconst TaskDetails = (props) => {\n const dispatch = useDispatch();\n const history = useHistory();\n const { t } = useTranslation();\n const [task, setTask] = useState([]);\n const [member, setMember] = useState([]);\n const [process, setProcess] = useState([]);\n const [responsible, setResponsible] = useState(\"\");\n const [benefactor, setBenefactor] = useState(\"\");\n const [creator, setCreator] = useState(\"\");\n const [notifies, setNotifies] = useState([]);\n const [articles, setArticles] = useState([]);\n const [medias, setMedias] = useState([]);\n const [displayUrl, setDisplayUrl] = useState(\"\");\n const [displayMedia, setDisplayMedia] = useState(false);\n const [displayMediaName, setDisplayMediaName] = useState(\"\");\n const [displayMediaTitle, setDisplayMediaTitle] = useState(\"\");\n const [comment, setComment] = useState(\"\");\n const [selectedFile, setSelectedFile] = useState([]);\n const [sizeError, setSizeError] = useState(null);\n const [typeError, setTypeError] = useState(null);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [allowComplete, setAllowComplete] = useState(false);\n const [userId, setUserId] = useState(\"\");\n const [successMsg, setSuccessMsg] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [taskCompleted, setTaskCompleted] = useState(false);\n const [userType, setUserType] = useState(\"\");\n const [comments, setComments] = useState([]);\n const [rejectButtonClicked, setRejectButtonClicked] = useState(false);\n const fileRef = useRef();\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [attachmentsToDelete, setAttachmentsToDelete] = useState([]);\n const [uploadedAttachments, setUploadedAttachments] = useState([]);\n const [openUpdateModal, setOpenUpdateModal] = useState(false);\n const [selectedRes, setSelectedRes] = useState(\"\");\n const [actionType, setActionType] = useState(\"\");\n const [selectedDeadline, setSelectedDeadline] = useState(null);\n const [allowUpdate, setAllowUpdate] = useState(false);\n const [updateComment, setUpdateComment] = useState(\"\");\n const [taskIsActive, setTaskIsActive] = useState(false);\n\n useEffect(async () => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n setUserId(auth.getId());\n setUserType(props.location.state?.userType);\n\n if (props.location?.state?.task) {\n setTask(props.location.state.task);\n }\n\n if (props.location?.state?.member) {\n setMember(props.location.state.member);\n }\n\n if (props.location?.state?.isActive) {\n setTaskIsActive(props.location.state.isActive);\n }\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n useEffect(async () => {\n if (task?.medias?.length > 0 && props.mediaIds.length === 0) {\n await dispatch(searchMedias({ GetAll: true }));\n }\n await setTaskDetails();\n if (task.processId) {\n const processId = props.location.state.task.processId;\n let _process = [];\n\n if (props.processes && props.processes[processId]) {\n _process = props.processes[processId];\n } else {\n await dispatch(getProcessById({ id: processId }))\n .then((res) => {\n if (res.value?.data) {\n _process = res.value.data;\n }\n })\n .catch((err) => {\n logError(err);\n setErrorMessage(\"Fehler bei Laden des Prozesses.\");\n setOpenAlert(true);\n });\n }\n setProcess(_process);\n } else {\n setProcess([]);\n }\n }, [task]);\n\n const setTaskDetails = async () => {\n setResponsible(\"\");\n setBenefactor(\"\");\n setCreator(\"\");\n setNotifies([]);\n setComments([]);\n setUploadedAttachments([]);\n if (task) {\n if (\n task.responsible === userId &&\n !task.compeleted &&\n userType !== \"task_benefactor\" &&\n taskIsActive\n ) {\n setAllowComplete(true);\n } else {\n setAllowComplete(false);\n }\n if (task.compeleted) {\n setTaskCompleted(true);\n } else {\n setTaskCompleted(false);\n }\n if (task.responsible) {\n let user = await getUser(task.responsible);\n setResponsible(user);\n }\n if (task.benefactor) {\n let user = await getUser(task.benefactor);\n setBenefactor(user);\n }\n if (task.creator) {\n let user = await getUser(task.creator);\n setCreator(user);\n }\n\n if (task.notifies?.length > 0) {\n let _notifies = [];\n task.notifies.forEach((personId) => {\n getUser(personId).then((data) => {\n if (data) {\n _notifies.push(data);\n }\n });\n setNotifies(_notifies);\n });\n }\n\n if (task.articles?.length > 0) {\n let _articles = [];\n task.articles.forEach((articleId) => {\n getArticle(articleId).then((data) => {\n if (data) {\n _articles.push(data);\n }\n });\n setArticles(_articles);\n });\n }\n\n if (task.medias?.length > 0) {\n let _medias = [];\n task.medias.forEach((mediaId) => {\n getMedia(mediaId).then((data) => {\n if (data) {\n _medias.push(data);\n }\n });\n setMedias(_medias);\n });\n }\n\n if (task.comments?.length > 0) {\n setComments(task.comments);\n }\n\n if (task?.uploadedAttachments?.length > 0) {\n setUploadedAttachments(task.uploadedAttachments);\n }\n }\n };\n\n const getUser = async (id) => {\n let user = \"\";\n if (props.members && props.members[id]) {\n user = props.members[id].firstName + \" \" + props.members[id].lastName;\n } else if (props.members[id] === member?.id) {\n user = member.firstName + \" \" + member.lastName;\n } else {\n await dispatch(getUserById({ id: id }))\n .then((res) => {\n if (res.value?.data) {\n user = res.value.data.firstName + \" \" + res.value.data.lastName;\n }\n })\n .catch((err) => {\n setErrorMessage(\"Fehler bei Laden des Nutzers.\");\n setOpenAlert(true);\n });\n }\n return user;\n };\n\n const getArticle = async (id) => {\n let article = \"\";\n if (props.articles && props.articles[id]) {\n article = props.articles[id];\n } else {\n await dispatch(getArticleById({ id: id, includeOwner: true }))\n .then((res) => {\n if (res.value?.data) {\n article = res.value.data;\n }\n })\n .catch((err) => {\n setErrorMessage(\"Fehler bei Laden des Artikels.\");\n setOpenAlert(true);\n });\n }\n return article;\n };\n\n const getMedia = async (id) => {\n let media = \"\";\n if (props.medias && props.medias[id]) {\n media = props.medias[id];\n }\n return media;\n };\n\n const handleMediaDisplay = (id) => {\n let media = props.medias[id];\n let type = getFileType(media.name);\n if (type !== \"Document\") {\n let url = `${config.resourcesUrl+media.name}`;\n setDisplayUrl(url);\n setDisplayMedia(true);\n setDisplayMediaName(media.name);\n setDisplayMediaTitle(media.title);\n }\n };\n\n const attachmentClickHandler = (filename) => {\n window.open(`${config.resourcesUrl+filename}`, \"_blank\");\n };\n\n const onFileChange = (event) => {\n let file = event.target.files[0];\n\n if (file.size > 20 * 1024 * 1024) {\n setSizeError(\"Please upload a file smaller than 20 MB\");\n return false;\n }\n if (!config.allowedFileExtensions.includes(getFileExtension(file.name))) {\n setTypeError(\"File type not support\");\n return false;\n }\n\n if (event.target.files.length <= 0) return;\n\n // eslint-disable-next-line eqeqeq\n if (!selectedFile.find((f) => f.name == event.target.files[0].name))\n setSelectedFile([...selectedFile, event.target.files[0]]);\n setSizeError(null);\n setTypeError(null);\n };\n\n const deleteFilePreview = (file) => {\n // eslint-disable-next-line eqeqeq\n const tempFiles = selectedFile.filter((f) => f.name != file.name);\n setSelectedFile(tempFiles);\n fileRef.current.value = \"\";\n };\n\n const taskDoneHandler = async () => {\n setOpenAlert(false);\n await setButtonClicked(true);\n\n await dispatch(\n completeTask({\n taskid: task.id,\n processid: process.id,\n comment: comment,\n })\n )\n .then(async (res) => {\n let isUploadError = false;\n let isDeleteError = false;\n\n if (selectedFile.length !== 0) {\n isUploadError = await uploadTaskAttachments(selectedFile);\n }\n\n if (attachmentsToDelete.length > 0) {\n isDeleteError = await deleteAttachments(attachmentsToDelete);\n }\n\n if (isUploadError && isDeleteError) {\n setErrorMessage(\"Fehler beim Hochladen und Löschen der Anhänge\");\n } else if (isUploadError) {\n setErrorMessage(\"Fehler beim Hochladen der Anhänge\");\n } else if (isDeleteError) {\n setErrorMessage(\"Fehler bei Löschen der Anhänge\");\n } else {\n setSuccessMessage(\"Aufgabe wurde erfolgreich als erledigt markiert.\");\n }\n setOpenAlert(true);\n setAllowComplete(false);\n setButtonClicked(false);\n resetValues();\n if (props.members && props.members[userId]) {\n dispatch(getUserById({ id: userId }));\n }\n if (props.processTasks && props.processTasks[process.id]) {\n dispatch(getProcessTasks({ processId: process.id }));\n }\n\n setTimeout(() => {\n history.push(`/dashboard`);\n }, 500);\n })\n .catch((err) => {\n logError(err);\n setOpenAlert(true);\n setErrorMessage(\"Fehler beim Senden.\");\n setButtonClicked(false);\n resetValues();\n });\n };\n\n const resetValues = () => {\n setComment(\"\");\n setSelectedFile([]);\n setSizeError(\"\");\n setTypeError(\"\");\n setAttachmentsToDelete([]);\n setUploadedAttachments([]);\n fileRef.current.value = \"\";\n };\n\n const taskApproveHandler = async () => {\n setOpenAlert(false);\n await setButtonClicked(true);\n\n await dispatch(\n approveTask({\n taskId: task.id,\n processId: process.id,\n comment: comment,\n userId: userId,\n taskResId: task.responsible,\n })\n )\n .then(async (res) => {\n let isUploadError = false;\n let isDeleteError = false;\n if (selectedFile.length !== 0) {\n isUploadError = await uploadTaskAttachments(selectedFile);\n }\n if (attachmentsToDelete.length > 0) {\n isDeleteError = await deleteAttachments(attachmentsToDelete);\n }\n if (isUploadError && isDeleteError) {\n setErrorMessage(\"Fehler beim Hochladen und Löschen der Anhänge\");\n } else if (isUploadError) {\n setErrorMessage(\"Fehler beim Hochladen der Anhänge\");\n } else if (isDeleteError) {\n setErrorMessage(\"Fehler bei Löschen der Anhänge\");\n } else {\n setSuccessMessage(\"Aufgabe erfolgreich abgeschlossen.\");\n }\n\n setButtonClicked(false);\n resetValues();\n setOpenAlert(true);\n setAllowComplete(false);\n if (props.members && props.members[userId]) {\n dispatch(getUserById({ id: userId }));\n }\n if (props.processTasks && props.processTasks[process.id]) {\n dispatch(getProcessTasks({ processId: process.id }));\n }\n\n setTimeout(() => {\n history.push(`/dashboard`);\n }, 500);\n })\n .catch((err) => {\n logError(err);\n setOpenAlert(true);\n setErrorMessage(\"Fehler bei Fertigmeldung der Aufgabe\");\n setButtonClicked(false);\n resetValues();\n });\n };\n\n const sendToTaskOwnerHandler = async () => {\n setOpenAlert(false);\n await setRejectButtonClicked(true);\n\n await dispatch(\n rejectTask({\n taskId: task.id,\n processId: process.id,\n comment: comment,\n userId: userId,\n taskResId: task.responsible,\n })\n )\n .then(async (res) => {\n let isUploadError = false;\n let isDeleteError = false;\n\n if (selectedFile.length !== 0) {\n isUploadError = await uploadTaskAttachments(selectedFile);\n }\n\n if (attachmentsToDelete.length > 0) {\n isDeleteError = await deleteAttachments(attachmentsToDelete);\n }\n\n if (isUploadError && isDeleteError) {\n setErrorMessage(\"Fehler beim Hochladen und Löschen der Anhänge\");\n } else if (isUploadError) {\n setErrorMessage(\"Fehler beim Hochladen der Anhänge\");\n } else if (isDeleteError) {\n setErrorMessage(\"Fehler bei Löschen der Anhänge\");\n } else {\n setSuccessMessage(\"Task send back to its owner.\");\n }\n\n setOpenAlert(true);\n setRejectButtonClicked(false);\n resetValues();\n setAllowComplete(false);\n if (props.members && props.members[userId]) {\n dispatch(getUserById({ id: userId }));\n }\n if (props.processTasks && props.processTasks[process.id]) {\n dispatch(getProcessTasks({ processId: process.id }));\n }\n setTimeout(() => {\n history.push(`/dashboard`);\n }, 500);\n })\n .catch((err) => {\n logError(err);\n setOpenAlert(true);\n setErrorMessage(\"Fehler bei Rückgabe der Aufgabe\");\n setRejectButtonClicked(false);\n resetValues();\n });\n };\n\n const deleteAttachments = async (files) => {\n let deleteError = false;\n for (const file of files) {\n await dispatch(\n deleteTaskAttachment({\n TaskId: task.id,\n ProcessId: process.id,\n taskOwner: task.responsible,\n fileName: file,\n })\n ).catch((err) => {\n deleteError = true;\n logError(err);\n });\n }\n return deleteError;\n };\n\n const uploadTaskAttachments = async (files) => {\n let uploadError = false;\n for (const file of files) {\n const formData = new FormData();\n formData.append(\"File\", file);\n await dispatch(\n insertTaskAttachment({\n TaskId: task.id,\n ProcessId: process.id,\n taskOwner: task.responsible,\n formData: formData,\n })\n ).catch((err) => {\n uploadError = true;\n logError(err);\n });\n }\n return uploadError;\n };\n\n const deleteAttachmentHandler = (e, file) => {\n e.stopPropagation();\n let attachments = uploadedAttachments.filter((item) => {\n return item.id !== file.id;\n });\n setUploadedAttachments(attachments);\n setAttachmentsToDelete([...attachmentsToDelete, file.name]);\n };\n\n const resChangeHandler = (selectedVal) => {\n setSelectedRes(selectedVal);\n if (selectedVal === task.responsible) {\n setAllowUpdate(false);\n } else {\n setAllowUpdate(true);\n }\n };\n\n const updateHandler = async () => {\n await setButtonClicked(true);\n if (actionType === \"changeRes\") {\n updateResponsiblePerson();\n }\n if (actionType === \"changeDeadline\") {\n updateTaskDeadline();\n }\n };\n\n const deadLineHandler = (date) => {\n setSelectedDeadline(date);\n if (moment(task.dateBeDone).isSame(date)) {\n setAllowUpdate(false);\n } else {\n setAllowUpdate(true);\n }\n };\n\n const updateResponsiblePerson = async () => {\n let _comment =\n props.members[auth.getId()]?.firstName +\n \" \" +\n props.members[auth.getId()]?.lastName +\n \" hat Namen für verantwortliche Person zu \" +\n props.members[selectedRes]?.firstName +\n \" \" +\n props.members[selectedRes]?.lastName +\n \" geändert\";\n _comment = updateComment ? _comment + \". \" + updateComment : _comment;\n await dispatch(\n changeTaskResponsible({\n taskId: task.id,\n processId: task.processId,\n userId: auth.getId(),\n responsible: selectedRes,\n prevRes: task.responsible,\n comment: _comment,\n })\n )\n .then(async (res) => {\n resetUpdateModal();\n setButtonClicked(false);\n setOpenAlert(true);\n setSuccessMessage(\"Responsible Person updated successfully.\");\n setTimeout(() => {\n history.push(`/dashboard`);\n }, 500);\n })\n .catch((err) => {\n logError(err);\n setOpenAlert(true);\n setErrorMessage(\"Fehler bei Bearbeitung der Aufgabe\");\n setButtonClicked(false);\n });\n };\n\n const updateTaskDeadline = async () => {\n let oldDate = moment(task.dateBeDone).format(`${t(\"momentjs_datum\")}`);\n let newDate = moment(selectedDeadline).format(`${t(\"momentjs_datum\")}`);\n let _comment =\n props.members[auth.getId()]?.firstName +\n \" \" +\n props.members[auth.getId()]?.lastName +\n \" hat Fälligkeitsdatum verschoben von \" +\n oldDate +\n \" auf \" +\n newDate;\n _comment = updateComment ? _comment + \". \" + updateComment : _comment;\n await dispatch(\n changeTaskDeadline({\n taskId: task.id,\n processId: task.processId,\n responsible: task.responsible,\n userId: auth.getId(),\n deadline: selectedDeadline,\n comment: _comment,\n })\n )\n .then(async (res) => {\n resetUpdateModal();\n setButtonClicked(false);\n setOpenAlert(true);\n setSuccessMessage(\"Bearbeitung des Fälligkeitsdatums erfolgreich.\");\n setTimeout(() => {\n history.push(`/dashboard`);\n }, 500);\n })\n .catch((err) => {\n logError(err);\n setOpenAlert(true);\n setErrorMessage(\"Fehler bei Bearbeitung der Aufgabe\");\n setButtonClicked(false);\n });\n };\n\n const resetUpdateModal = () => {\n setOpenUpdateModal(false);\n setSelectedRes(\"\");\n setActionType(\"\");\n setSelectedDeadline(null);\n setAllowUpdate(false);\n setUpdateComment(\"\");\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n {\n setDisplayMedia(false);\n setDisplayUrl(\"\");\n setDisplayMediaName(\"\");\n setDisplayMediaTitle(\"\");\n }}\n mediaUrl={displayUrl}\n title={displayMediaTitle}\n name={displayMediaName}\n />\n \n
    \n
    \n
    \n {\"Aufgabe:\"}   {task.name}\n
    \n
    \n
    \n \n \n
    \n
    Kommentarverlauf:
    \n {comments.length > 0 ? (\n comments.map((comment, i) => {\n return (\n \n {comment.message && (\n \n )}\n \n );\n })\n ) : (\n

    \n {\"Keine Kommentare vorhanden\"}\n

    \n )}\n
    \n
    \n
    Anhänge
    \n {uploadedAttachments.length > 0 ? (\n uploadedAttachments.map((file, i) => (\n attachmentClickHandler(file?.name)}\n key={file?.name}\n style={{ marginBottom: \"1.5rem\" }}\n >\n deleteAttachmentHandler(e, file)}\n />\n
    \n ))\n ) : (\n

    \n {\"Keine Anhänge vorhanden\"}\n

    \n )}\n
    \n

    Kommentar:

    \n setComment(target.value)}\n disabled={\n (taskCompleted && userType !== \"process_owner\") ||\n userType === \"task_benefactor\"\n ? true\n : false\n }\n />\n\n
    \n \n \n {t(\"Hier klicken um Datei hochzuladen\")}\n \n \n
    \n\n
    \n {typeError ? (\n {typeError}\n ) : null}\n {sizeError ? (\n {sizeError}\n ) : null}\n {selectedFile.length > 0 ? (\n
    \n {selectedFile.map((file) => (\n deleteFilePreview(file)}\n />\n ))}\n
    \n ) : (\n {t(\"Aktuell keine Anhänge vorhanden\")}\n )}\n
    \n {(userType === \"task_owner\" ||\n userType === \"task_benefactor\") && (\n {\n if (task.responsible === process.responsible) {\n taskApproveHandler();\n } else {\n taskDoneHandler();\n }\n }}\n >\n {t(\"Aufgabe als erledigt markieren\")}\n \n )}\n\n {userType === \"process_owner\" && (\n \n {t(\"task_completed\")}\n \n )}\n\n {userType === \"process_owner\" && (\n \n {t(\"back_to_task_owner\")}\n \n )}\n \n \n

    \n {\" \"}\n {t(\"Prozessname\")}: {process.name}\n

    \n

    \n {\" \"}\n {t(\"date_created\")}:{\" \"}\n {moment(task.dateCreated).format(`${t(\"momentjs_datum\")}`)}\n

    \n

    \n {\" \"}\n {t(\"responsible\")}: {responsible}\n

    \n

    \n {\" \"}\n {t(\"benefactor_name\")}: {benefactor}\n

    \n

    \n {\" \"}\n {t(\"task_creator\")}: {creator}\n

    \n

    \n {\" \"}\n {t(\"notifies\")}:{\" \"}\n {notifies.length > 0 ? notifies.join(\", \") : \"\"}\n

    \n

    \n {\" \"}\n {t(\"to_be_completed_until\")}:{\" \"}\n {moment(task.dateBeDone).format(`${t(\"momentjs_datum\")}`)}\n

    \n

    \n {t(\"description\")}:
    \n {task.description}\n

    \n

    \n {t(\"articles\")}:
    \n {articles.length > 0 &&\n articles.map((article, i) => (\n \n \n {article.title}\n \n    \n \n ))}\n

    \n

    \n {t(\"medias\")}:
    \n {medias.length > 0 &&\n medias.map((media, i) => (\n \n handleMediaDisplay(media.id)}\n style={{ color: config.colorSecondary }}\n >\n {media.title}\n \n    \n \n ))}\n

    \n

    \n {t(\"attachments\")}:
    \n

    \n
    \n {task.files?.length > 0 &&\n task.files.map((file, i) => (\n attachmentClickHandler(file?.name)}\n key={file?.name}\n >\n \n
    \n ))}\n
    \n {(userType !== \"process_owner\" || userType !== \"task_owner\") && (\n
    \n {\n setOpenUpdateModal(true);\n setActionType(\"changeRes\");\n }}\n >\n {t(\"change_responsible\")}\n \n {\n setOpenUpdateModal(true);\n setActionType(\"changeDeadline\");\n }}\n >\n {t(\"change_deadline\")}\n \n
    \n )}\n \n \n \n \n \n \n {actionType === \"changeRes\" && (\n \n )}\n {actionType === \"changeDeadline\" && (\n deadLineHandler(date)}\n placeholderText=\"Datum\"\n minDate={new Date()}\n />\n )}\n
    \n Kurzbeschreibung angeben:\n
    \n setUpdateComment(target.value)}\n />\n
    \n \n {t(\"Abbrechen\")}\n \n \n {\"Bearbeiten\"}\n \n
    \n \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n processes: state.process.byId,\n memberIds: state.user.allIds,\n members: state.user.byId,\n articles: state.article.byId,\n mediaIds: state.media.allIds,\n medias: state.media.byId,\n processTasks: state.process.tasks,\n});\n\nexport default connect(mapStateToProps, null)(TaskDetails);\n","import React from \"react\";\nimport Box from \"@mui/material/Box\";\nimport Card from \"@mui/material/Card\";\nimport CardContent from \"@mui/material/CardContent\";\nimport CardMedia from \"@mui/material/CardMedia\";\nimport Typography from \"@mui/material/Typography\";\nimport { LightTooltip } from \"../../components/tooltip/tooltip\";\n\nconst TaskCard = (props) => {\n const { color, onCardClick, text, des, shortDes, status, resPerson } = props;\n\n const cardClickHandler = () => {\n onCardClick();\n };\n\n return (\n \n \n \n \n \n \n {text && (\n \n {text}\n \n )}\n \n {des && (\n \n {des.length > 50 ? des.substring(0, 50) + \"...\" : des}\n \n )}\n {shortDes && (\n

    \n {shortDes}\n

    \n )}\n \n {resPerson && (\n \n {\"Verantwortlich:\"} {resPerson}\n \n )}\n \n
    \n \n \n \n );\n};\n\nexport default TaskCard;\n","import React, { useEffect, useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport config from \"../../config/api.config.js\";\nimport { getFileType, logError } from \"../../helpers/helpers\";\nimport { useTranslation } from \"react-i18next\";\nimport App from \"../../App\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport ATT from \"array-to-tree\";\nimport { Tree, TreeNode } from \"react-organizational-chart\";\nimport {\n getProcessById,\n getProcessTasks,\n completeProcess,\n} from \"../../redux/process/action\";\nimport { searchUsers } from \"../../redux/users/action\";\nimport TaskCard from \"../../components/card/TaskCard\";\nimport moment from \"moment\";\nimport { searchMedias } from \"../../redux/media/action\";\nimport { searchArticles } from \"../../redux/article/action\";\nimport MediaDisplayModal from \"../Medias/MediaDisplayModal\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport AddButton from \"../../components/auth/button\";\nimport TaskDetailsModal from \"../Tasks/TaskDetailsModal\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport auth from \"../../auth\";\nimport { useHistory } from \"react-router\";\n\nconst ProcessDetails = (props) => {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const history = useHistory();\n const [process, setProcess] = useState([]);\n const [tasks, setTasks] = useState([]);\n const [sort, setSort] = useState([]);\n const [openTaskModal, setOpenTaskModal] = useState(false);\n const [selectedTask, setSelectedTask] = useState([]);\n const [displayUrl, setDisplayUrl] = useState(\"\");\n const [displayMedia, setDisplayMedia] = useState(false);\n const [displayMediaName, setDisplayMediaName] = useState(\"\");\n const [displayMediaTitle, setDisplayMediaTitle] = useState(\"\");\n const [isLoading, setisLoading] = useState(false);\n const [isAllTasksCompleted, setIsAllTasksCompleted] = useState(false);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [isProcessOwner, setIsProcessOwner] = useState(false);\n\n useEffect(() => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n\n if (props.memberIds.length === 0) {\n dispatch(searchUsers({ GetAll: true }));\n }\n\n if (props.mediaIds.length === 0) {\n dispatch(searchMedias({ GetAll: true }));\n }\n\n if (props.articleIds.length === 0) {\n dispatch(searchArticles({ Include_owner: true }));\n }\n\n getProcess(props.match.params.id);\n getTasks(props.match.params.id);\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser, props.match.params.id]);\n\n const StyledNodeR = () =>
    ;\n\n const CustomCard = (propss) => {\n return (\n <>\n {propss.data.map((item, index) => {\n let color = \"\";\n let resPerson = \"\";\n let status = \"\";\n let comment = \"\";\n if (!item.responsible) {\n color = \"red\";\n status = \"Status: Aufgabe hat keine Zuweisung\";\n comment = \"Aufgabe wurde noch keiner Person zugewiesen!\";\n } else if (item.compeleted && item.approved) {\n color = \"#B4D264\";\n status = \"Status: Aufgabe erledigt und genehmigt!\";\n } else if (item.compeleted && !item.approved) {\n color = \"#FF6FCC\";\n status = \"Status: Aufgabe erledigt aber nicht genehmigt!\";\n } else if (!item.compeleted && !item.approved) {\n if (moment().isAfter(item.dateBeDone)) {\n color = \"red\";\n status = \"Status: Kritisch! Termine überschritten.\";\n } else {\n color = \"#D076FF\";\n status = \"Status: Aufgabe wurde noch nicht erledigt.\";\n }\n }\n\n if (props.members && props.members[item.responsible]) {\n resPerson =\n props.members[item.responsible].firstName +\n \" \" +\n props.members[item.responsible].lastName;\n }\n\n return (\n \n }\n >\n {item.children?.length && (\n \n )}\n \n );\n })}\n \n );\n };\n\n const StyledNode = ({\n text,\n des,\n color,\n status,\n resPerson,\n keepId,\n comment,\n }) => {\n const cardClickHandler = async () => {\n const _task = tasks.filter((item) => item.id === keepId);\n if (_task.length > 0) {\n setSelectedTask(_task[0]);\n } else {\n setSelectedTask([]);\n }\n setOpenTaskModal(true);\n };\n return (\n \n );\n };\n\n const getProcess = async (id) => {\n let _process = [];\n if (props.processes && props.processes[id]) {\n _process = props.processes[id];\n } else {\n await dispatch(getProcessById({ id: id }))\n .then((res) => {\n if (res.value?.data) {\n _process = res.value.data;\n }\n })\n .catch((err) => logError(err));\n }\n setProcess(_process);\n if (_process?.responsible === auth.getId()) {\n setIsProcessOwner(true);\n } else {\n setIsProcessOwner(false);\n }\n };\n\n const getTasks = async (processId) => {\n let _tasks = [];\n setisLoading(true);\n await dispatch(getProcessTasks({ processId: processId }))\n .then((res) => {\n if (res.value?.data) {\n _tasks = res.value.data.tasks;\n setisLoading(false);\n }\n })\n .catch((err) => {\n logError(err);\n setisLoading(false);\n setErrorMessage(\"Fehler bei Laden des Prozesses Tasks.\");\n setOpenAlert(true);\n });\n setTasks(_tasks);\n if (_tasks.length > 0) {\n const completedTasks = _tasks.filter((item) => {\n return item.compeleted === true && item.approved === true;\n });\n if (completedTasks.length === _tasks.length) {\n setIsAllTasksCompleted(true);\n } else {\n setIsAllTasksCompleted(false);\n }\n }\n\n setSort(\n ATT(_tasks, {\n parentProperty: \"preTask\",\n customID: \"id\",\n })\n );\n };\n\n const resetValues = () => {\n setOpenTaskModal(false);\n setSelectedTask([]);\n };\n\n const attachmentClickHandler = (filename) => {\n window.open(`${config.resourcesUrl+filename}`, \"_blank\");\n };\n\n const handleMediaDisplay = (id) => {\n let media = props.medias[id];\n let type = getFileType(media.name);\n if (type !== \"Document\") {\n let url = `${config.resourcesUrl+media.name}`;\n setDisplayUrl(url);\n setDisplayMedia(true);\n setDisplayMediaName(media.name);\n setDisplayMediaTitle(media.title);\n }\n };\n\n const processCompleteHandler = async (processId) => {\n await setButtonClicked(true);\n await dispatch(completeProcess({ processId: processId }))\n .then((res) => {\n setButtonClicked(false);\n setSuccessMessage(\"Prozess wurde erfolgreich abgeschlossen.\");\n setOpenAlert(true);\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n let errMsg = \"Fehler bei Abschluss des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n {\n setDisplayMedia(false);\n setDisplayUrl(\"\");\n setDisplayMediaName(\"\");\n setDisplayMediaTitle(\"\");\n }}\n mediaUrl={displayUrl}\n title={displayMediaTitle}\n name={displayMediaName}\n />\n

    \n

    \n {isLoading ? (\n
    \n \n
    \n ) : !isLoading && tasks.length === 0 ? (\n <>\n \n Aktuell sind diesem Prozess keine Aufgaben zugewiesen.\n \n \n ) : (\n <>\n }\n >\n \n \n\n {!process.isTemplate && (\n {\n processCompleteHandler(process.id);\n }}\n buttonClicked={buttonClicked}\n disabled={process?.compeleted || !isAllTasksCompleted}\n style={{\n cursor: process?.compeleted ? \"not-allowed\" : \"pointer\",\n float: \"right\",\n margin: \"50px 0 0 0\",\n }}\n >\n {!process.compeleted && \"Prozess abschließen\"}\n {process.compeleted && \"Prozess erfolgreich abgeschloßen\"}\n \n )}\n\n {(isProcessOwner || process.isTemplate) && (\n \n history.push(`/edit-process/${process.id}`, {\n type: \"edit\",\n step: \"editProcess\",\n })\n }\n buttonClicked={false}\n style={{\n float: \"right\",\n margin: \"50px 20px 0 0\",\n }}\n >\n Prozess bearbeiten\n \n )}\n \n )}\n\n {\n resetValues();\n }}\n onAttachmentClick={attachmentClickHandler}\n onMediaClick={handleMediaDisplay}\n selectedTask={selectedTask}\n isProcessTask={!process.isTemplate}\n />\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n processes: state.process.byId,\n memberIds: state.user.allIds,\n members: state.user.byId,\n articleIds: state.article.allIds,\n articles: state.article.byId,\n mediaIds: state.media.allIds,\n medias: state.media.byId,\n});\n\nexport default connect(mapStateToProps, null)(ProcessDetails);\n","import React, { useEffect, useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport auth from \"../../auth\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport { useTranslation } from \"react-i18next\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport App from \"../../App\";\nimport {\n getProcessesByUser,\n getProcessTasks,\n deleteProcess,\n} from \"../../redux/process/action\";\nimport { searchUsers } from \"../../redux/users/action\";\nimport { useHistory } from \"react-router\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport Select from \"react-select\";\nimport Search from \"../../components/search/search\";\nimport moment from \"moment\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\n\nconst MyProcesses = (props) => {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const history = useHistory();\n const [assignedProcesses, setAssignedProcesses] = useState([]);\n const [membersData, setMembersData] = useState([]);\n const [defaultPage, setDefaultPage] = useState(false);\n const [selectedSort, setSelectedSort] = useState(1);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [statuses, setStatuses] = useState([]);\n const [selectedFilter, setSelectedFilter] = useState([\n { value: null, label: \"All\" },\n ]);\n const [search, setSearch] = useState(\"\");\n const [deadLines, setDeadLines] = useState([]);\n const [loading, setLoading] = useState([]);\n const [showConfirmDeleteModal, setShowConfirmDeleteModal] = useState(false);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [processToDelete, setProcessToDelete] = useState([]);\n\n useEffect(() => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n\n const _statusOptions = [\n { value: null, label: \"Alle\" },\n { value: \"true\", label: \"Aktiv\" },\n { value: \"false\", label: \"Inaktiv\" },\n ];\n setStatuses(_statusOptions);\n\n const fetchData = async () => {\n if (props.memberIds.length === 0) {\n await dispatch(searchUsers({ GetAll: true }));\n }\n\n await dispatch(getProcessesByUser({ userId: auth.getId() })).catch(\n (err) => {\n logError(err);\n setErrorMessage(\"Fehler bei Laden des Prozesseses.\");\n setOpenAlert(true);\n }\n );\n };\n fetchData();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n useEffect(async () => {\n await getMembers();\n }, [props.memberIds.length]);\n\n const getMembers = async () => {\n const _memberTasks = [];\n if (props.memberIds.length > 0) {\n props.memberIds.forEach((id) => {\n _memberTasks.push(props.members[id].tasks);\n });\n setMembersData(_memberTasks);\n } else {\n setMembersData([]);\n }\n };\n\n const getProcessStatus = (process) => {\n let status = \"\";\n if (!process.isActivated) {\n status = \"Inactive\";\n return status;\n }\n const processTotalTasks = process.tasks.length;\n let completedTasksCount = 0;\n process.tasks?.map((task) => {\n membersData?.map((memberTask) => {\n if (memberTask && memberTask.length > 0) {\n let _task = memberTask.find(\n (item) =>\n item.id === task.id &&\n item.processId === process.id &&\n item.compeleted === true &&\n item.approved === true\n );\n if (_task) {\n completedTasksCount = completedTasksCount + 1;\n }\n }\n });\n });\n\n if (process.isActivated && processTotalTasks === completedTasksCount) {\n status = \"Done\";\n } else {\n status = \"Active\";\n }\n return status;\n };\n\n const hanldeProcssClick = (id) => {\n history.push(`/process/${id}`);\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n getProcessesByUser({\n userId: auth.getId(),\n PageNumber: newPage,\n Sort: selectedSort,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Active: selectedFilter.value,\n })\n );\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n getProcessesByUser({\n userId: auth.getId(),\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Active: selectedFilter.value,\n })\n );\n };\n\n const getProcessByStatus = (e) => {\n setSelectedFilter(e);\n dispatch(\n getProcessesByUser({\n userId: auth.getId(),\n Search: search.replace(/\\s+/g, \" \").trim(),\n Active: e.value,\n Sort: selectedSort,\n PageNumber: props.pageParams.currentPage,\n })\n ).catch((err) => {\n logError(err);\n setErrorMessage(\"Fehler bei Laden des Prozesses.\");\n setOpenAlert(true);\n });\n setDefaultPage(!defaultPage);\n };\n\n const getSearchValue = (search) => {\n setSearch(search.trim());\n if (props.currentUser) {\n dispatch(\n getProcessesByUser({\n userId: auth.getId(),\n PageNumber: props.pageParams.currentPage,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n Active: selectedFilter.value,\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n useEffect(async () => {\n let temp = [];\n setLoading(true);\n if (props.assignedProcesses.length > 0) {\n for (const item of props.assignedProcesses) {\n if (item) {\n let _tasks = [];\n await dispatch(getProcessTasks({ processId: item.id })).then(\n (res) => {\n if (res.value?.data) {\n _tasks = res.value.data.tasks;\n let latest = {};\n if (_tasks.length > 0) {\n latest = _tasks.reduce(function (r, a) {\n return r.dateBeDone > a.dateBeDone ? r : a;\n });\n }\n if (Object.keys(latest).length > 0) {\n temp[item.id] = moment(latest.dateBeDone).format(\n \"DD.MM.YYYY\"\n );\n }\n }\n }\n );\n }\n }\n setDeadLines(temp);\n }\n setLoading(false);\n }, [props.assignedProcesses]);\n\n const deleteProcessHandler = async () => {\n await setButtonClicked(true);\n await dispatch(\n deleteProcess({\n processId: processToDelete.id,\n })\n )\n .then(async () => {\n setButtonClicked(false);\n setShowConfirmDeleteModal(false);\n setProcessToDelete([]);\n await dispatch(getProcessesByUser({ userId: auth.getId() }));\n setSuccessMessage(\"Prozess wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n })\n .catch((err) => {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Löschen des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n
    \n
    \n \n
    \n
    \n \n {\n getProcessByStatus(e);\n }}\n isSearchable={false}\n />\n
    \n \n
    \n \n \n \n \n {t(\"No\")}.\n {t(\"Name\")}\n {t(\"date_created\")}\n {t(\"deadline\")}\n {t(\"Status\")}\n {t(\"Optionen\")}\n \n \n \n {props.isLoading || loading ? (\n \n \n
    \n \n
    \n \n
    \n ) : !props.isLoading &&\n !loading &&\n props.assignedProcesses?.length === 0 ? (\n \n \n \n {t(\"Aktuell keine Prozesse hinterlegt\")}\n \n \n \n ) : (\n <>\n {!props.isLoading &&\n !loading &&\n props.assignedProcesses?.length > 0 &&\n props.assignedProcesses.map((process, index) => {\n return (\n \n \n {process.no + \".\"}\n \n hanldeProcssClick(process.id)}\n >\n {process.name}\n \n \n {moment(process.dateCreated).format(\"DD.MM.YYYY\")}\n \n \n {deadLines[process.id] ? deadLines[process.id] : \"\"}\n \n \n {getProcessStatus(process)}\n \n \n
    \n {\n if (!process.isTemplate) {\n setShowConfirmDeleteModal(true);\n setProcessToDelete(process);\n }\n }}\n />\n
    \n
    \n \n );\n })}\n \n )}\n
    \n
    \n
    \n {!props.assignedProcesses?.length ? null : (\n <>\n {props.assignedProcesses.length > 0 && (\n \n )}\n \n )}\n {\n setShowConfirmDeleteModal(false);\n setProcessToDelete([]);\n }}\n >\n {processToDelete?.isActivated && (\n

    \n {t(\n \"Das ist ein aktiver Prozess. Wollen Sie diesen Prozess und die Aufgaben für immer löschen?\"\n )}{\" \"}\n

    \n )}\n\n {!processToDelete?.isActivated && (\n

    {t(\"Wollen Sie diesen Prozess für immer löschen?\")}

    \n )}\n
    \n {\n setShowConfirmDeleteModal(false);\n setProcessToDelete([]);\n }}\n >\n {t(\"Nein\")}\n \n \n {t(\"Ja\")}\n \n
    \n \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n memberIds: state.user.allIds,\n members: state.user.byId,\n pageParams: state.process.assignedProcessesPageParams,\n assignedProcesses: state.process.assignedProcesses,\n isLoading: state.process.isLoading,\n});\n\nexport default connect(mapStateToProps, null)(MyProcesses);\n","import React, { useEffect, useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport auth from \"../../auth\";\nimport { useHistory } from \"react-router\";\nimport { useTranslation } from \"react-i18next\";\nimport App from \"../../App\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport { getTasksWaitingForApproval } from \"../../redux/task/action\";\nimport { getProcessById } from \"../../redux/process/action\";\nimport { getUserById, searchUsers } from \"../../redux/users/action\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport Search from \"../../components/search/search\";\nimport moment from \"moment\";\n\nconst MyApproval = (props) => {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const history = useHistory();\n const [tasksForApproval, setTasksForApproval] = useState([]);\n const [member, setMember] = useState([]);\n const [isLoading, setIsLoading] = useState(false);\n const [defaultPage, setDefaultPage] = useState(false);\n const [selectedSort, setSelectedSort] = useState(1);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [search, setSearch] = useState(\"\");\n\n useEffect(() => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n const userId = auth.getId();\n\n const fetchData = async () => {\n if (props.memberIds.length === 0) {\n await dispatch(searchUsers({ GetAll: true }));\n }\n dispatch(getTasksWaitingForApproval({ userId: userId })).catch((err) => {\n setIsLoading(false);\n logError(err);\n setErrorMessage(\"Fehler bei Laden der Aufgabes.\");\n setOpenAlert(true);\n });\n\n if (props.members[userId]) {\n setMember(props.members[userId]);\n } else {\n await dispatch(getUserById({ id: userId }))\n .then((res) => {\n if (res.value?.data) {\n let user = res.value.data;\n user[\"id\"] = res.value.data.userId;\n setMember(user);\n }\n })\n .catch((err) => logError(err));\n }\n };\n fetchData();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n useEffect(() => {\n if (props.tasksForApproval.length > 0) {\n formatTasks(props.tasksForApproval);\n } else {\n setTasksForApproval([]);\n }\n }, [props.tasksForApproval]);\n\n const formatTasks = async (tasks) => {\n let _tasks = [];\n for (const task of tasks) {\n await getProcess(task.processId).then((process) => {\n task.processName = process && process.name ? process.name : \"\";\n _tasks.push(task);\n });\n }\n setTasksForApproval(_tasks);\n };\n\n const getProcess = async (id) => {\n if (props.processes[id]) {\n return props.processes[id];\n } else {\n return await dispatch(getProcessById({ id: id }))\n .then((res) => {\n if (res.value?.data) {\n return res.value.data;\n }\n })\n .catch((err) => {\n logError(err);\n setErrorMessage(\"Fehler bei Laden des Prozesses.\");\n setOpenAlert(true);\n });\n }\n };\n\n const taskClickHandler = (task, userType) => {\n history.push(`/task/${task.id}`, {\n task: task,\n member: member,\n userType: userType,\n isActive: true,\n });\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n getTasksWaitingForApproval({\n userId: auth.getId(),\n PageNumber: newPage,\n Sort: selectedSort,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n getTasksWaitingForApproval({\n userId: auth.getId(),\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n\n const getSearchValue = (search) => {\n setSearch(search.trim());\n if (props.currentUser) {\n dispatch(\n getTasksWaitingForApproval({\n userId: auth.getId(),\n PageNumber: props.pageParams.currentPage,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n \n
    \n
    \n \n
    \n \n
    \n \n \n \n \n {t(\"No\")}.\n {t(\"Aufgabe\")}\n {t(\"Verantwortlich\")}\n {t(\"Verantwortlich\")}\n {t(\"Process\")}\n \n \n \n {props.isLoading ? (\n \n \n
    \n \n
    \n \n
    \n ) : !props.isLoading && tasksForApproval?.length === 0 ? (\n \n \n {t(\"nothing_found_task\")}\n \n \n ) : (\n <>\n {!props.isLoading &&\n tasksForApproval?.length > 0 &&\n tasksForApproval.map((task, index) => {\n return (\n \n \n {index + 1 + \".\"}\n \n \n taskClickHandler(task, \"process_owner\")\n }\n >\n {task.name}\n \n \n {props.members[task.responsible]?.firstName +\n \" \" +\n props.members[task.responsible]?.lastName}\n \n \n {moment(task.dateBeDone).format(\"DD.MM.YYYY\")}\n \n {task.processName}\n \n );\n })}\n \n )}\n
    \n
    \n
    \n {!tasksForApproval?.length ? null : (\n <>\n {tasksForApproval.length > 0 && (\n \n )}\n \n )}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n members: state.user.byId,\n memberIds: state.user.allIds,\n processes: state.process.byId,\n tasksForApproval: state.task.approveTasks,\n isLoading: state.task.isLoading,\n pageParams: state.task.pageParams,\n});\n\nexport default connect(mapStateToProps, null)(MyApproval);\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport { useTranslation } from 'react-i18next'\nimport './dropdown.scss';\n\nconst useStyles = makeStyles((theme) => ({\n formControl: {\n margin: theme.spacing(1),\n minWidth: 120\n },\n selectEmpty: {\n marginTop: theme.spacing(2)\n },\n noLabel: {\n marginTop: theme.spacing(3)\n },\n displayInput: {\n height:\"auto\",\n opacity: \"1\",\n transition: \"opacity 1.7s linear\",\n marginBottom:\"5px\",\n marginTop: \"5px\"\n },\n noDisplay: {\n height: \"0\",\n overflow: \"hidden\",\n opacity: \"0\",\n transition: \"opacity 1.7s linear\"\n },\n addIconStyle:{\n width:'10px'\n }\n}));\n\nconst SingleSelectDropdown = ({labelWidth, options, selected, setSelected, label, disabled}) => {\n const { t } = useTranslation()\n const classes = useStyles();\n const handleChange = (event) => {\n setSelected(event.target.value);\n };\n\n return(\n \n {label}\n \n }\n >\n {!options.length &&
    {t('nothing_found')}
    }\n {options.length > 0 && \n options.map((op) => (\n \n {op.label}\n \n ))\n }\n \n
    \n );\n};\n\nexport default SingleSelectDropdown;\n","import React, { useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport InputField from '../../components/inputField/inputField';\nimport { connect } from \"react-redux\";\nimport Dropdown from '../../components/dropdown/singleSelectDropdown';\nimport { ReactComponent as Upload } from '../../assets/images/upload.svg';\nimport AddButton from \"../../components/auth/button\";\n\nconst CreateProcess = (props) => {\n const { t } = useTranslation();\n const {\n values,\n setValues,\n processImg,\n selectedUser,\n setSelectedUser,\n onClick,\n showErrorMsg,\n members,\n selectedFile,\n setSelectedFile,\n buttonClicked,\n setButtonClicked,\n allowUserToEdit\n } = props;\n\n const userSelectHandler = (val) => {\n setSelectedUser({ add: val });\n setValues({ ...values, processRes: { add: val } })\n };\n// console.log(process.env.REACT_APP_API_URL_2 + `/resources/${processImg.name}`)\n const onFileChange = (event) => {\n if (\n event.target.files.length <= 0 ||\n selectedFile?.name === event.target.files[0].name\n )\n return;\n\n if (!event.target.files[0].type.includes('image')) {\n showErrorMsg(`${ t('course_image_error_message') }`);\n return;\n }\n setSelectedFile(event.target.files[0]);\n };\n\n const onClickHandler = async () => {\n await setButtonClicked(true);\n onClick();\n }\n \n return(\n <>\n
    \n
    \n setValues({ ...values, processName: e.target.value })}\n buttonClicked={buttonClicked || !allowUserToEdit}\n />\n \n setValues({ ...values, processDes: e.target.value })\n }\n buttonClicked={buttonClicked || !allowUserToEdit}\n />\n \n
    \n
    \n
    \n {!selectedFile && !processImg ? (\n \n \n \n ): (\n <>\n {selectedFile? (\n \n ) : (\n \n \n )}\n \n )}\n \n \n
    \n
    \n
    \n
    \n \n Weiter\n \n
    \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n});\n\nexport default connect(mapStateToProps, null)(CreateProcess);\n","import React, { useState, useEffect } from \"react\";\nimport { Tree, TreeNode } from \"react-organizational-chart\";\nimport Button from \"@material-ui/core/Button\";\nimport Delete from \"@material-ui/icons/Delete\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport Select from \"react-select\";\nimport ATT from \"array-to-tree\";\nimport { useHistory } from \"react-router-dom\";\nimport TaskCard from \"../../components/card/TaskCard\";\nimport { connect, useDispatch } from \"react-redux\";\nimport {\n getProcessById,\n updateProcess,\n getProcessTasks,\n} from \"../../redux/process/action\";\nimport { searchTasks } from \"../../redux/task/action\";\nimport AddIconCircle from \"@material-ui/icons/AddCircleRounded\";\nimport { LightTooltip } from \"../../components/tooltip/tooltip\";\nimport auth from \"../../auth\";\nimport \"./styles.css\";\nimport moment from \"moment\";\n\nconst AssignTasks = (props) => {\n const history = useHistory();\n const {\n assignUserHandler,\n saveAsTemplateHandler,\n showSuccessMsg,\n showErrorMsg,\n } = props;\n const routeState = history.location.state;\n\n const StyledNode = ({ text, des, preTask, id }) => {\n let temp = taskOfProcess?.filter((item) => {\n return item.id === id;\n });\n let status = \"\";\n let color = \"red\";\n if (temp.length > 0) {\n if (!temp[0].responsible) {\n color = \"red\";\n status = \"Status: Aufgabe hat keine Zuweisung!\";\n } else if (temp[0].compeleted && temp[0].approved) {\n color = \"#B4D264\";\n status = \"Status: Aufgabe erledigt und genehmigt!\";\n } else if (temp[0].compeleted && !temp[0].approved) {\n color = \"#FF6FCC\";\n status = \"Status: Aufgabe erledigt aber nicht genehmigt!\";\n } else if (\n !temp[0].compeleted &&\n !temp[0].approved &&\n temp[0].responsible\n ) {\n if (moment().isAfter(temp[0].dateBeDone)) {\n color = \"red\";\n status = \"Status: Kritisch! Termine überschritten.\";\n } else {\n color = \"#D076FF\";\n status = \"Status: Aufgabe wurde noch nicht erledigt.\";\n }\n }\n }\n const cardClickHandler = () => {\n setSelectedTaskCard(temp);\n if (process.isActivated && process.compeleted) {\n setOpenWarningModal(true);\n } else {\n if (preTask) {\n setIsRootTask(false);\n if (\n (!process.isActivated ||\n (process.isActivated && !process.compeleted)) &&\n allowUserToEdit\n ) {\n if (temp[0]?.compeleted) {\n setWarningMsg(\n \"Diese Aufgabe ist bereits fertig gemeldet. Sie kann nicht mehr geändert werden\"\n );\n setOpenWarningModal(true);\n } else {\n setOpenModalEdit(true);\n setActionType(\"\");\n }\n } else {\n setOpenWarningModal(true);\n }\n } else {\n setIsRootTask(true);\n if (\n (!process.isActivated ||\n (process.isActivated && !process.compeleted)) &&\n allowUserToEdit\n ) {\n if (temp[0]?.compeleted) {\n setWarningMsg(\n \"Diese Aufgabe ist bereits fertig gemeldet. Sie kann nicht mehr geändert werden\"\n );\n setOpenWarningModal(true);\n } else {\n if (taskOfProcess.length === 1 && !taskOfProcess[0].preTask) {\n setAllowDeleteRoot(true);\n setActionType(\"delete\");\n setModalTitle(\"Aufgabe entfernen\");\n setR2({\n add: {\n value: temp[0].id,\n label: temp[0].name,\n pre: temp[0].preTask,\n },\n });\n setOpenModalEdit(true);\n } else {\n setAllowDeleteRoot(false);\n setActionType(\"changeRoot\");\n setModalTitle(\"Startaufgabe ändern\");\n setOpenModalEdit(true);\n }\n }\n } else {\n setOpenWarningModal(true);\n }\n }\n }\n };\n return (\n \n );\n };\n const StyledNodeR = () =>
    ;\n\n const CustomCard = (props) => {\n return (\n <>\n {props.data.map((item, index) => (\n \n }\n >\n {item.children?.length && (\n \n )}\n \n ))}\n \n );\n };\n\n const dispatch = useDispatch();\n const [prosDes, setProsDes] = useState(null);\n const [prosRes, setProsRes] = useState(null);\n const [prosName, setProsName] = useState(null);\n const [propTasks, setPropTasks] = useState(routeState.process.tasks);\n const [openModal, setOpenModal] = useState(false);\n const [openModalEdit, setOpenModalEdit] = useState(false);\n const [sort, setSetsort] = useState(\n ATT(propTasks, {\n parentProperty: \"preTask\",\n customID: \"id\",\n })\n );\n const [process, setProcess] = useState(routeState.process);\n const [tasksForAdd, setTasksForAdd] = useState([]);\n const [presForAdd, setPresForAdd] = useState(\n propTasks.map((loc) => {\n return {\n value: loc.id,\n label: loc.name,\n };\n })\n );\n\n const [buttonClicked, setButtonClicked] = useState(false);\n const [pre, setPre] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [selectedTask, setSelectedTask] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n\n const [noroot, setNoroot] = useState([]);\n const [R1, setR1] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n\n const [norootForDelete, setNorootForDelete] = useState(null);\n const [R2, setR2] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n\n const [bottomList, setBottomList] = useState([]);\n const [bottom, setBottom] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [openWarningModal, setOpenWarningModal] = useState(false);\n const [openSaveAsTemplateModal, setOpenSaveAsTemplateModal] = useState(false);\n const [openContinueModal, setOpenContinueModal] = useState(false);\n const [isTemplateProcess, setIsTemplateProcess] = useState(\"\");\n const [isAllTasksCompleted, setIsAllTasksCompleted] = useState(false);\n\n const [isRootTask, setIsRootTask] = useState(false);\n const [actionType, setActionType] = useState(null);\n const [modalTitle, setModalTitle] = useState(null);\n const [selectedTaskCard, setSelectedTaskCard] = useState([]);\n const [taskOfProcess, setTaskOfProcess] = useState([]);\n const [isUserAssigned, setIsUserAssigned] = useState(false);\n const [warningMsg, setWarningMsg] = useState(\"\");\n const [allowDeleteRoot, setAllowDeleteRoot] = useState(false);\n const [allowUserToEdit, setAllowUserToEdit] = useState(false);\n\n const getBottom_Drop = (id) => {\n const newArr = presForAdd.filter((item) => {\n return item.value !== id;\n });\n setBottomList(newArr);\n };\n\n const getProcess = async () => {\n let _process = [];\n if (props.processes && props.processes[routeState.process.id]) {\n _process = props.processes[routeState.process.id];\n } else {\n await dispatch(getProcessById({ id: routeState.process.id }))\n .then((res) => {\n if (res.value?.data) {\n _process = res.value.data;\n }\n })\n .catch((err) => {\n logError(err);\n let errMsg = \"Fehler bei Laden des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[\n Object.keys(err.response.data.errors)[0]\n ];\n }\n showErrorMsg(errMsg);\n });\n }\n\n if (_process) {\n setProcess(_process);\n setProsDes(_process.description);\n setProsRes(_process.responsible);\n setProsName(_process.name);\n setIsTemplateProcess(_process.isTemplate);\n\n if (\n _process.responsible === auth.getId() ||\n _process.creator === auth.getId() ||\n props.currentUser?.role === \"Admin\" ||\n _process.isTemplate\n ) {\n setAllowUserToEdit(true);\n } else {\n setAllowUserToEdit(false);\n }\n\n setSetsort(\n ATT(_process.tasks, {\n parentProperty: \"preTask\",\n customID: \"id\",\n })\n );\n setPresForAdd(\n _process.tasks.map((task) => {\n return {\n value: task.id,\n label: task.name,\n };\n })\n );\n const box = [];\n _process.tasks.forEach((task) => {\n box.push({\n value: task.id,\n label: task.name,\n pre: task.preTask,\n });\n });\n const newArr = box.filter((item) => {\n return item.pre !== null;\n });\n setNoroot(newArr);\n if (_process.tasks.length !== 1) {\n setNorootForDelete(newArr);\n } else {\n setNorootForDelete(box);\n }\n }\n };\n\n const getTasks = async () => {\n if (process && props.taskIds.length > 0) {\n const _tasks = [];\n const _processTasks = [];\n\n process.tasks.forEach((task) => {\n _processTasks.push({\n value: task.id,\n label: task.name,\n des: task.description,\n });\n });\n\n props.taskIds.forEach((id) => {\n _tasks.push({\n value: id,\n label: props.tasks[id].name,\n des: props.tasks[id].description,\n });\n });\n\n var newPre = _tasks.filter(function (objFromA) {\n return !_processTasks.find(function (objFromB) {\n return objFromA.value === objFromB.value;\n });\n });\n\n setTasksForAdd(newPre);\n } else {\n setTasksForAdd([]);\n }\n };\n\n const AddTask = async () => {\n await setButtonClicked(true);\n let temp = process.tasks;\n\n const task = {\n id: selectedTask.add.value,\n name: selectedTask.add.label,\n description: selectedTask.add.des,\n preTask: sort.length === 0 ? null : pre.add.value,\n processId: routeState.process.id,\n dateCreated: new Date(),\n };\n\n temp.push(task);\n setPropTasks(temp);\n\n await dispatch(\n updateProcess({\n name: prosName,\n description: prosDes,\n responsible: prosRes,\n tasks: temp,\n processId: routeState.process.id,\n isTemplate: isTemplateProcess,\n })\n )\n .then(async () => {\n setButtonClicked(false);\n setOpenModal(false);\n setSelectedTask({ ...selectedTask, add: null });\n setPre({ ...pre, add: null });\n getProcess();\n let processTasks = await getTasksOfProcess();\n setTaskOfProcess(processTasks);\n getTasks();\n showSuccessMsg(\"Aufgabe wurde erfolgreich hinzugefügt.\");\n })\n .catch((err) => {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Hinzufügen der Aufgabe.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n showErrorMsg(errMsg);\n setOpenModal(false);\n setSelectedTask({ ...selectedTask, add: null });\n setPre({ ...pre, add: null });\n getProcess();\n getTasks();\n });\n };\n\n const Replace = async () => {\n await setButtonClicked(true);\n let objIndex = process.tasks.findIndex((obj) => obj.id === R1.add.value);\n let keep_pre = process.tasks[objIndex].preTask;\n\n process.tasks.map((item, index) => {\n return item.preTask === R1.add.value\n ? (process.tasks[index].preTask = keep_pre)\n : null;\n });\n process.tasks[objIndex].preTask = bottom.add.value;\n\n await dispatch(\n updateProcess({\n name: prosName,\n description: prosDes,\n responsible: prosRes,\n tasks: process.tasks,\n processId: routeState.process.id,\n isTemplate: isTemplateProcess,\n })\n )\n .then(async () => {\n setButtonClicked(false);\n setOpenModalEdit(false);\n setActionType(null);\n setModalTitle(null);\n setR1({ ...R1, add: null });\n setBottom({ ...bottom, add: null });\n getProcess();\n let processTasks = await getTasksOfProcess();\n setTaskOfProcess(processTasks);\n getTasks();\n showSuccessMsg(\"Aufgabe erfolgreich bearbeitet.\");\n })\n .catch((err) => {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Bearbeitung der Aufgabe.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n showErrorMsg(errMsg);\n setOpenModalEdit(false);\n setActionType(null);\n setModalTitle(null);\n setR1({ ...R1, add: null });\n setBottom({ ...bottom, add: null });\n getProcess();\n getTasks();\n });\n };\n\n const Change = async () => {\n await setButtonClicked(true);\n let objIndex = process.tasks.findIndex((obj) => obj.id === R1.add.value);\n let pre = process.tasks[objIndex].preTask;\n\n let rootIndex = process.tasks.findIndex((obj) => obj.preTask === null);\n\n process.tasks[rootIndex].preTask = pre;\n\n process.tasks[objIndex].preTask = null;\n process.tasks.forEach((element, index) => {\n if (element.preTask === process.tasks[rootIndex].id) {\n element.preTask = R1.add.value;\n }\n });\n\n await dispatch(\n updateProcess({\n name: prosName,\n description: prosDes,\n responsible: prosRes,\n tasks: process.tasks,\n processId: routeState.process.id,\n isTemplate: isTemplateProcess,\n })\n )\n .then(async (res) => {\n setButtonClicked(false);\n // setOpenModalChange(false);\n setR1({ ...R1, add: null });\n getProcess();\n let processTasks = await getTasksOfProcess();\n setTaskOfProcess(processTasks);\n getTasks();\n setOpenModalEdit(false);\n setActionType(null);\n setModalTitle(null);\n showSuccessMsg(\"Aufgabe wurde erfolgreich geändert.\");\n })\n .catch((err) => {\n setButtonClicked(false);\n // setOpenModalChange(false);\n setOpenModalEdit(false);\n setActionType(null);\n setModalTitle(null);\n setR1({ ...R1, add: null });\n getProcess();\n getTasks();\n let errMsg = \"Fehler bei Bearbeitung der Aufgabe.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n showErrorMsg(errMsg);\n });\n };\n\n const DeleteTask = async () => {\n await setButtonClicked(true);\n let objIndex = process.tasks.findIndex((obj) => obj.id === R2.add.value);\n let keep_pre2 = process.tasks[objIndex].preTask;\n\n process.tasks.map((item, index) => {\n return item.preTask === R2.add.value\n ? (process.tasks[index].preTask = keep_pre2)\n : null;\n });\n if (keep_pre2 === null) {\n setPropTasks([]);\n }\n\n var newSet = process.tasks.filter(function (obj) {\n return obj.id !== R2.add.value;\n });\n\n await dispatch(\n updateProcess({\n name: prosName,\n description: prosDes,\n responsible: prosRes,\n tasks: newSet,\n processId: routeState.process.id,\n isTemplate: isTemplateProcess,\n })\n )\n .then(async (res) => {\n setButtonClicked(false);\n // setOpenModalDelete(false);\n setOpenModalEdit(false);\n setActionType(null);\n setModalTitle(null);\n setR2({ ...R2, add: null });\n getProcess();\n let processTasks = await getTasksOfProcess();\n setTaskOfProcess(processTasks);\n getTasks();\n showSuccessMsg(\"Aufgabe wurde erfolgreich gelöscht.\");\n setAllowDeleteRoot(false);\n })\n .catch((err) => {\n setButtonClicked(false);\n // setOpenModalDelete(false);\n setOpenModalEdit(false);\n setActionType(null);\n setModalTitle(null);\n setR2({ ...R2, add: null });\n getProcess();\n getTasks();\n let errMsg = \"Fehler bei Löschen der Aufgabe.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n showErrorMsg(errMsg);\n });\n };\n\n useEffect(async (_) => {\n await getProcess();\n let processTasks = await getTasksOfProcess();\n setTaskOfProcess(processTasks);\n\n if (processTasks?.length > 0) {\n const newArr = processTasks.filter((item) => {\n return item.responsible !== null && item.responsible !== \"\";\n });\n\n if (newArr.length > 0) {\n //disable updates if task is assigned to a user\n setIsUserAssigned(true);\n } else {\n setIsUserAssigned(false);\n }\n\n const _incompleteTasks = processTasks.filter((item) => {\n return !item.compeleted;\n });\n\n if (_incompleteTasks.length > 0) {\n setIsAllTasksCompleted(false);\n } else {\n setIsAllTasksCompleted(true);\n }\n } else {\n setIsAllTasksCompleted(false);\n }\n\n if (props.taskIds.length == 0) {\n await dispatch(searchTasks({ GetAll: true }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n getTasks();\n }, [props.taskIds.length, process]);\n\n const getTasksOfProcess = async () => {\n let _tasks = [];\n await dispatch(getProcessTasks({ processId: routeState.process.id }))\n .then((res) => {\n if (res.value?.data) {\n _tasks = res.value.data.tasks;\n }\n })\n .catch((err) => {\n logError(err);\n let errMsg = \"Fehler bei Laden des Prozesses Tasks.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response?.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n showErrorMsg(errMsg);\n });\n return _tasks;\n };\n\n const assignTaskContinueHandler = () => {\n setOpenContinueModal(false);\n assignUserHandler();\n };\n\n const continueClickHandler = () => {\n if (process.isActivated || isUserAssigned) {\n assignUserHandler();\n } else {\n setOpenContinueModal(true);\n }\n };\n\n const backBtnHandler = () => {\n if (process.isTemplate) {\n history.push(`/master-processes`);\n } else {\n history.push(`/processes`);\n }\n };\n\n const deleteInput = () => {\n return (\n <>\n
    Soll die Aufgabe vom Prozess entfernt werden?
    \n\n
    \n {\n setOpenModalEdit(false);\n setActionType(null);\n setModalTitle(null);\n setSelectedTask({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setR2({ ...R2, add: null });\n setAllowDeleteRoot(false);\n }}\n >\n Abbrechen\n \n \n Entfernen\n \n
    \n \n );\n };\n\n const changeRootTask = () => {\n return (\n <>\n {\n setR1({ add: e });\n }}\n options={noroot}\n isSearchable={true}\n />\n\n
    \n {\n setOpenModalEdit(false);\n setActionType(null);\n setModalTitle(null);\n setSelectedTask({\n search: { value: null, label: \"All\" },\n add: null,\n });\n }}\n >\n Abbrechen\n \n\n \n Ändern\n \n
    \n \n );\n };\n\n const deleteHandler = () => {\n const temp = norootForDelete?.filter((item) => {\n return item.value === selectedTaskCard[0]?.id;\n });\n if (temp.length > 0) {\n setR2({ add: temp[0] });\n }\n setActionType(\"delete\");\n setModalTitle(\"Aufgabe entfernen\");\n };\n\n const reAssignHandler = () => {\n const temp = noroot?.filter((item) => {\n return item.value === selectedTaskCard[0]?.id;\n });\n if (temp.length > 0) {\n setR1({ add: temp[0] });\n getBottom_Drop(temp[0].value);\n } else {\n getBottom_Drop([]);\n }\n\n setActionType(\"reassign\");\n setModalTitle(\"Aufgabe bearbeiten\");\n };\n\n return (\n <>\n

    \n
    \n
    \n \n Zurück\n \n {!process.isTemplate && (\n 0 ? true : false}\n style={{\n height: \"2.8rem !important\",\n cursor: process.tasks?.length === 0 ? \"not-allowed\" : \"pointer\",\n }}\n disabled={process.tasks?.length === 0}\n onClick={() => {\n setOpenSaveAsTemplateModal(true);\n }}\n >\n Als Masterprozess festlegen\n \n )}\n
    \n {!process.isTemplate && (\n 0\n ? \"pointer\"\n : \"not-allowed\",\n }}\n onClick={continueClickHandler}\n >\n Weiter\n \n )}\n
    \n

    \n

    \n\n {process?.tasks?.length === 0 ? (\n \n Aktuell sind diesem Prozess keine Aufgaben zugewiesen!\n \n ) : (\n }\n >\n \n \n )}\n \n \n {\n if (\n (!process.isActivated || !process.compeleted) &&\n allowUserToEdit\n ) {\n setOpenModal(true);\n }\n }}\n />\n \n \n {\n setOpenModal(false);\n }}\n >\n {\n setSelectedTask({ add: e });\n }}\n options={tasksForAdd}\n isSearchable={true}\n />\n {process?.tasks?.length === 0 ? null : (\n {\n setPre({ add: e });\n }}\n options={presForAdd}\n isSearchable={true}\n />\n )}\n\n
    \n {\n setOpenModal(false);\n setSelectedTask({\n search: { value: null, label: \"All\" },\n add: null,\n });\n }}\n >\n Abbrechen\n \n {process?.tasks?.length === 0 ? (\n \n Hinzufügen\n \n ) : (\n \n Hinzufügen\n \n )}\n
    \n \n\n {/* Edit Modal */}\n {\n setOpenModalEdit(false);\n setR1({ ...R1, add: null });\n setBottom({ ...bottom, add: null });\n setBottomList([]);\n setIsRootTask(false);\n setActionType(null);\n setModalTitle(null);\n setAllowDeleteRoot(false);\n }}\n >\n {isRootTask && actionType === \"changeRoot\" && changeRootTask()}\n\n {isRootTask &&\n allowDeleteRoot &&\n actionType === \"delete\" &&\n deleteInput()}\n\n {!isRootTask && !actionType && (\n
    \n \n \n Aufgabe entfernen\n \n \n Neu zuordnen\n \n
    \n )}\n\n {!isRootTask && actionType === \"delete\" && deleteInput()}\n\n {!isRootTask && actionType === \"reassign\" && (\n <>\n {\n setR1({ add: e });\n getBottom_Drop(e.value);\n }}\n options={noroot}\n isSearchable={false}\n isOptionDisabled={() => true}\n />\n\n {\n setBottom({ add: e });\n }}\n options={bottomList}\n isSearchable={true}\n />\n\n
    \n {\n setOpenModalEdit(false);\n setSelectedTask({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setR1({ ...R1, add: null });\n setBottom({ ...bottom, add: null });\n setBottomList([]);\n setActionType(null);\n setModalTitle(null);\n }}\n >\n Abbrechen\n \n\n \n Zuordnen\n \n
    \n \n )}\n \n\n {\n setOpenWarningModal(false);\n setWarningMsg(\"\");\n }}\n >\n {warningMsg ? (\n
    {warningMsg}
    \n ) : (\n
    \n Prozess wurde bereits aktiviert, somit sind keine Änderungen mehr\n möglich.\n
    \n )}\n
    \n {\n setOpenWarningModal(false);\n setWarningMsg(\"\");\n }}\n >\n Abbrechen\n \n
    \n \n {\n setOpenSaveAsTemplateModal(false);\n }}\n >\n
    Diesen Prozess als Master speichern?
    \n
    \n {\n setOpenSaveAsTemplateModal(false);\n }}\n >\n Abbrechen\n \n {\n setOpenSaveAsTemplateModal(false);\n saveAsTemplateHandler();\n }}\n buttonClicked={buttonClicked}\n >\n Speichern\n \n
    \n \n {\n setOpenContinueModal(false);\n }}\n >\n
    Wurden alle Aufgaben dem Prozess zugewiesen?
    \n
    \n {\n setOpenContinueModal(false);\n }}\n >\n Abbrechen\n \n \n Weiter\n \n
    \n \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n processes: state.process.byId,\n taskIds: state.task.allIds,\n tasks: state.task.byId,\n});\n\nexport default connect(mapStateToProps, null)(AssignTasks);\n","import React, { useState, useEffect } from \"react\";\nimport { Tree, TreeNode } from \"react-organizational-chart\";\nimport Close from \"@material-ui/icons/Close\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport Select from \"react-select\";\nimport ATT from \"array-to-tree\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport DatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport \"./styles.css\";\nimport { connect, useDispatch } from \"react-redux\";\nimport {\n searchUsers,\n assignUserToProcessTask,\n updateUserProcessTask,\n} from \"../../redux/users/action\";\nimport TaskCard from \"../../components/card/TaskCard\";\nimport {\n getTaskById,\n changeTaskDeadline,\n changeTaskResponsible,\n} from \"../../redux/task/action\";\nimport {\n updateProcessStatus,\n getProcessById,\n getProcessTasks,\n} from \"../../redux/process/action\";\nimport { useHistory } from \"react-router-dom\";\nimport moment from \"moment\";\nimport { useTranslation } from \"react-i18next\";\nimport auth from \"../../auth\";\nimport Button from \"@material-ui/core/Button\";\nimport Switch from \"@material-ui/core/Switch\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\n\nconst CustomCard = (props) => {\n const dispatch = useDispatch();\n const history = useHistory();\n const { t } = useTranslation();\n\n const {\n showSuccessMsg,\n showErrorMsg,\n setOpenAlert,\n BackToAssignTask,\n } = props;\n\n const routeState = history.location.state;\n const [editmode, setEditmode] = useState(false);\n const [members, setMembers] = useState([]);\n const [membersData, setMembersData] = useState(\n routeState.assignUser.membersData\n );\n const [selTask, setSeltask] = useState();\n const [editModal, setEditModal] = useState(false);\n const [isAllTasksAssigned, setIsAllTasksAssigned] = useState(false);\n const [process, setProcess] = useState([]);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [openActivatedAlert, setOpenActivatedAlert] = useState(false);\n const [isProcessActivated, setIsProcessActivated] = useState(false);\n const [isAdmin, setIsAdmin] = useState(false);\n const [isReassignAllowed, setIsReassignAllowed] = useState(false);\n const [allowUserToEdit, setAllowUserToEdit] = useState(false);\n\n const StyledNode = ({ text, des, keepId, color, filled }) => {\n const cardClickHandler = () => {\n const _task = taskOfProcess?.filter((item) => {\n return item.id === keepId;\n });\n setSelectedTaskCard(_task);\n if (\n (!isProcessActivated && allowUserToEdit) ||\n (isProcessActivated &&\n (!_task[0]?.responsible || !_task[0]?.compeleted) &&\n allowUserToEdit)\n ) {\n setIsReassignAllowed(true);\n } else {\n setIsReassignAllowed(false);\n }\n\n if (filled === false) {\n setOpenModal(true);\n setSeltask(keepId);\n getSingleTask(keepId);\n } else {\n if (process.isActivated) {\n if (allowUserToEdit) {\n if (_task[0]?.compeleted) {\n setOpenModal(true);\n } else {\n setEditModal(true);\n }\n } else {\n setOpenModal(true);\n }\n } else {\n setEditModal(true);\n }\n setSeltask(keepId);\n let x = _task[0];\n\n setSelectedUserR({\n add: members.find((item) => item.value === x.responsible),\n });\n setSelectedUser({\n add: members.find((item) => item.value === x.benefactor),\n });\n setStartDate(new Date(x.dateBeDone));\n\n let filteredArray = members.filter(function (n) {\n for (var i = 0; i < x.notifies?.length; i++) {\n if (n.value === x.notifies[i]) {\n return true;\n }\n }\n return false;\n });\n\n let mdsArr = [];\n filteredArray.map((item) => {\n mdsArr.push({ id: item.value, name: item.label });\n });\n setPersons(mdsArr);\n setEditmode(true);\n setTaskDetail(x);\n setExecuteConcurrently(_task[0]?.toggle);\n /* } */\n }\n };\n return (\n \n );\n };\n const StyledNodeR = () =>
    ;\n\n const CustomCard = (propss) => {\n return (\n <>\n {propss.data.map((item, index) => {\n let _temp = taskOfProcess?.find((item2) => item2.id === item.id);\n\n let color = _temp?.responsible ? \"#B4D264\" : \"red\";\n let _filled = _temp?.responsible ? true : false;\n\n return (\n \n }\n >\n {item.children?.length && (\n \n )}\n \n );\n })}\n \n );\n };\n\n const [success, setSuccess] = useState(false);\n const [name, setName] = useState(null);\n const [taskName, setTaskName] = useState(null);\n const [startDate, setStartDate] = useState(null);\n const [openModal, setOpenModal] = useState(false);\n const [taskDetail, setTaskDetail] = useState(null);\n const [tasks, setTasks] = useState(\n routeState.assignUser.processTasks.map((loc) => {\n return {\n value: loc.id,\n label: loc.name,\n pre: loc.preTask,\n des: loc.description,\n };\n })\n );\n const [selectedTask, setSelectedTask] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n\n const [sort, setSort] = useState(\n ATT(routeState.assignUser.processTasks, {\n parentProperty: \"preTask\",\n customID: \"id\",\n })\n );\n\n const [selectedUserR, setSelectedUserR] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [selectedUser, setSelectedUser] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [selectedUser2, setSelectedUser2] = useState({\n search: { value: null, label: \"All\" },\n add: null,\n });\n const [persons, setPersons] = useState([]);\n const [arts, setArts] = useState([]);\n const [taskOfProcess, setTaskOfProcess] = useState([]);\n const [selectedTaskCard, setSelectedTaskCard] = useState([]);\n const [executeConcurrently, setExecuteConcurrently] = useState(false);\n\n const getSingleTask = async (idd) => {\n let _task = [];\n if (props.taskIds.length > 0 && props.tasks[idd]) {\n _task = props.tasks[idd];\n } else {\n let res = await dispatch(getTaskById({ id: idd })).catch((err) => {\n showErrorMsg(\"Fehler bei Laden der Aufgabe.\");\n });\n if (res.value?.data) {\n _task = res.value.data;\n }\n }\n setTaskDetail(_task);\n };\n const editSingleTask = async () => {\n let personsArr = [];\n persons.map((item) => {\n personsArr.push(item.id);\n });\n let obj = {\n id: selTask,\n name: taskDetail.name,\n description: taskDetail.description,\n preTask: taskDetail.preTask,\n responsible: selectedTaskCard[0].responsible,\n // responsible: selectedUserR.add.value,\n creator: taskDetail.creator,\n articles: taskDetail.articles,\n medias: taskDetail.medias,\n notifies: personsArr,\n benefactor: selectedUser.add === null ? null : selectedUser.add?.value,\n compeleted: false,\n dateBeDone: selectedTaskCard[0].dateBeDone,\n // dateBeDone: startDate === null ? Date.now : startDate,\n processId: taskDetail.processId,\n files: taskDetail.files,\n active: false,\n prevUser: taskDetail.responsible,\n toggle: executeConcurrently,\n dateCreated: taskDetail.dateCreated,\n };\n\n await dispatch(updateUserProcessTask({ task: obj }))\n .then(async () => {\n if (\n isProcessActivated &&\n !moment(selectedTaskCard[0].dateBeDone).isSame(startDate)\n ) {\n let oldDate = moment(selectedTaskCard[0].dateBeDone).format(\n `${t(\"momentjs_datum\")}`\n );\n let newDate = moment(startDate).format(`${t(\"momentjs_datum\")}`);\n let _comment =\n props.members[auth.getId()].firstName +\n \" \" +\n props.members[auth.getId()].lastName +\n \" hat Fälligkeitsdatum verschoben von \" +\n oldDate +\n \" auf \" +\n newDate;\n await dispatch(\n changeTaskDeadline({\n taskId: selTask,\n processId: taskDetail.processId,\n responsible: selectedTaskCard[0].responsible,\n userId: auth.getId(),\n deadline: startDate ? startDate : Date.now,\n comment: _comment,\n })\n );\n }\n\n if (\n isProcessActivated &&\n selectedUserR.add.value !== selectedTaskCard[0].responsible\n ) {\n let _comment =\n props.members[auth.getId()].firstName +\n \" \" +\n props.members[auth.getId()].lastName +\n \" hat Namen für verantwortliche Person zu \" +\n props.members[selectedUserR.add.value]?.firstName +\n \" \" +\n props.members[selectedUserR.add.value]?.lastName +\n \" geändert\";\n await dispatch(\n changeTaskResponsible({\n taskId: selTask,\n processId: taskDetail.processId,\n userId: auth.getId(),\n responsible: selectedUserR.add.value,\n prevRes: selectedTaskCard[0].responsible,\n comment: _comment,\n })\n );\n }\n\n setSuccess(true);\n getMembers();\n let processTasks = await getTasksOfProcess();\n setTaskOfProcess(processTasks);\n setOpenModal(false);\n setPersons([]);\n setArts([]);\n setSeltask(null);\n setStartDate(null);\n setTaskDetail(null);\n setSelectedUserR({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setSelectedTask({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setExecuteConcurrently(false);\n setName(\n members.find((item) => item.value === selectedUserR.add.value).label\n );\n setTaskName(tasks.find((item) => item.value === selTask).label);\n showSuccessMsg(\"Aufgabe erfolgreich bearbeitet.\");\n })\n .catch((err) => {\n logError(err);\n let errMsg = \"Fehler bei Bearbeitung der Aufgabe.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n showErrorMsg(errMsg);\n });\n };\n\n const setSingleTask = async () => {\n let personsArr = [];\n persons.map((item) => {\n personsArr.push(item.id);\n });\n let artsArr = [];\n arts.map((item) => {\n artsArr.push(item.id);\n });\n let obj = {\n id: selTask,\n name: tasks.find((item) => item.value === selTask).label,\n description: tasks.find((item) => item.value === selTask).des,\n preTask: tasks.find((item) => item.value === selTask).pre,\n responsible: selectedUserR.add?.value,\n creator: taskDetail.creator,\n articles: taskDetail.articles,\n medias: taskDetail.medias,\n notifies: personsArr,\n benefactor: selectedUser.add === null ? null : selectedUser.add?.value,\n compeleted: false,\n dateBeDone: startDate === null ? Date.now : startDate,\n processId: routeState.assignUser.process,\n files: taskDetail.files,\n active: false,\n userId: selectedUserR.add?.value,\n toggle: executeConcurrently,\n dateCreated: selectedTaskCard[0].dateCreated,\n };\n\n await dispatch(assignUserToProcessTask({ task: obj }))\n .then(async () => {\n setSuccess(true);\n getMembers();\n let processTasks = await getTasksOfProcess();\n setTaskOfProcess(processTasks);\n setOpenModal(false);\n setPersons([]);\n setArts([]);\n setSeltask(null);\n setStartDate(null);\n setTaskDetail(null);\n setSelectedUserR({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setSelectedTask({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setExecuteConcurrently(false);\n setName(\n members.find((item) => item.value === selectedUserR.add.value).label\n );\n\n setTaskName(tasks.find((item) => item.value === selTask).label);\n showSuccessMsg(\"Aufgabe erfolgreich zugewiesen.\");\n })\n .catch((err) => {\n logError(err);\n let errMsg = \"Fehler bei Zuweisung der Aufgabe.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n showErrorMsg(errMsg);\n });\n };\n\n const getMembers = async () => {\n const _member = [];\n const _memberTasks = [];\n if (props.memberIds.length > 0) {\n props.memberIds.forEach((id) => {\n _member.push({\n value: props.members[id].userId,\n label: props.members[id].firstName + \" \" + props.members[id].lastName,\n tasks: props.members[id].tasks,\n });\n _memberTasks.push(props.members[id].tasks);\n });\n setMembersData(_memberTasks);\n setMembers(_member);\n } else {\n setMembersData(routeState.assignUser.membersData);\n setMembers([]);\n }\n };\n\n const DeleteFromPersons = (id) => {\n const newArrr = persons.filter((item) => {\n return item.id !== id;\n });\n setPersons(newArrr);\n };\n\n useEffect(async () => {\n if (props.memberIds.length === 0) {\n await dispatch(searchUsers({ GetAll: true }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(async () => {\n await getMembers();\n await getProcess();\n let processTasks = await getTasksOfProcess();\n setTaskOfProcess(processTasks);\n }, [props.memberIds.length]);\n\n useEffect(() => {\n if (\n routeState?.assignUser?.processTasks?.length > 0 &&\n membersData?.length > 0\n ) {\n let ProcessTaskCount = routeState.assignUser.processTasks.length;\n let assignedTaskCount = 0;\n routeState.assignUser.processTasks.map((processTask) => {\n membersData.map((memberTask) => {\n if (memberTask && memberTask.length > 0) {\n let _task = memberTask.find(\n (item) =>\n item.id === processTask.id &&\n item.processId === routeState.assignUser.process\n );\n if (_task) {\n assignedTaskCount = assignedTaskCount + 1;\n }\n }\n });\n });\n\n if (ProcessTaskCount === assignedTaskCount) {\n setIsAllTasksAssigned(true);\n } else {\n setIsAllTasksAssigned(false);\n }\n }\n }, [routeState.assignUser.processTasks, membersData]);\n\n useEffect(() => {\n if (props.currentUser?.role === \"Admin\") {\n setIsAdmin(true);\n } else {\n setIsAdmin(false);\n }\n }, [props.currentUser]);\n\n const activateProcessHandler = async () => {\n setOpenAlert(false);\n if (!process.isActivated) {\n await setButtonClicked(true);\n await dispatch(\n updateProcessStatus({ processId: routeState.assignUser.process })\n )\n .then((res) => {\n setButtonClicked(false);\n if (res.value?.data === true) {\n getProcess();\n setOpenActivatedAlert(true);\n showSuccessMsg(\"Prozess wurde erfolgreich aktiviert.\");\n } else {\n showErrorMsg(\"Fehler bei Aktivierung des Prozesses.\");\n }\n })\n .catch((err) => {\n setButtonClicked(false);\n logError(err);\n let errMsg = \"Fehler bei Aktivierung des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[\n Object.keys(err.response.data.errors)[0]\n ];\n }\n showErrorMsg(errMsg);\n });\n }\n };\n\n const getProcess = async () => {\n let _process = [];\n if (props.processes && props.processes[routeState.assignUser.process]) {\n _process = props.processes[routeState.assignUser.process];\n } else {\n await dispatch(getProcessById({ id: routeState.assignUser.process }))\n .then((res) => {\n if (res.value?.data) {\n _process = res.value.data;\n }\n })\n .catch((err) => logError(err));\n }\n\n if (_process) {\n setIsProcessActivated(_process.isActivated);\n setProcess(_process);\n }\n\n if (\n _process.responsible === auth.getId() ||\n _process.creator === auth.getId() ||\n props.currentUser?.role === \"Admin\"\n ) {\n setAllowUserToEdit(true);\n } else {\n setAllowUserToEdit(false);\n }\n };\n\n const getTasksOfProcess = async () => {\n let _tasks = [];\n await dispatch(getProcessTasks({ processId: routeState.process.id }))\n .then((res) => {\n if (res.value?.data) {\n _tasks = res.value.data.tasks;\n }\n })\n .catch((err) => {\n logError(err);\n let errMsg = \"Fehler beim Laden der Prozessaufgaben\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response?.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n showErrorMsg(errMsg);\n });\n return _tasks;\n };\n\n const ColorSwitch = withStyles({\n switchBase: {\n color: config.colorActive,\n \"&$checked\": {\n color: config.colorSecondary,\n },\n \"&$checked + $track\": {\n backgroundColor: config.colorSecondary,\n },\n },\n checked: {},\n track: {},\n })(Switch);\n\n const StyledFormControlLabel = withStyles(() => ({\n label: {\n fontSize: \"1rem\",\n marginLeft: \"0px !important\",\n fontWeight: \"bolder\",\n color: \"#212529\",\n },\n }))(FormControlLabel);\n\n const deadLineHandler = async (date) => {\n let preTaskId = selectedTaskCard[0]?.preTask ?? null;\n if (preTaskId) {\n let isValid = await validateDeadline(\n date,\n preTaskId,\n executeConcurrently\n );\n if (isValid) {\n setStartDate(date);\n } else {\n setStartDate(\"\");\n showErrorMsg(\n \"Achtung, das Datum liegt vor der vorhergehenden Aufgabe!\"\n );\n }\n } else {\n setStartDate(date);\n }\n };\n\n const validateDeadline = async (date, preTaskId, canExecute) => {\n let isValid = false;\n let preTask = taskOfProcess?.find((item) => item.id === preTaskId);\n if (!canExecute) {\n if (\n preTask?.dateBeDone === \"0001-01-01T00:00:00Z\" ||\n moment(date).isBefore(preTask?.dateBeDone)\n ) {\n isValid = false;\n } else {\n isValid = true;\n }\n } else {\n if (preTask.preTask) {\n isValid = await validateDeadline(date, preTask.preTask, preTask.toggle);\n } else {\n isValid = true;\n }\n }\n return isValid;\n };\n\n useEffect(() => {\n deadLineHandler(startDate);\n }, [executeConcurrently]);\n\n return (\n <>\n

    \n
    \n BackToAssignTask()}\n >\n Zurück\n \n
    \n {\n setOpenActivatedAlert(false);\n history.push(`/processes`);\n }}\n >\n
    Prozess wurde erfolgreich aktiviert.
    \n
    \n {\n setOpenActivatedAlert(false);\n history.push(`/processes`);\n }}\n >\n Weiter\n \n
    \n \n\n {success === true ? (\n <>\n

    \n \n Aufgabe: {taskName} wurde erfolgreich an {name} vergeben.\n setSuccess(false)}\n >\n \n \n \n \n ) : null}\n

    \n

    \n

    \n {routeState.assignUser.processTasks.length === 0 ? (\n <>\n \n Aktuell sind diesem Prozess keine Aufgaben zugewiesen.\n \n \n ) : (\n <>\n }\n >\n \n \n\n \n {process?.isActivated === false && \"Prozess aktivieren\"}\n {process?.isActivated === true && \"Prozess aktiv\"}\n \n \n )}\n {\n setOpenModal(false);\n setSeltask(null);\n setPersons([]);\n setSelectedUserR({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setStartDate(null);\n setEditmode(false);\n setExecuteConcurrently(false);\n }}\n >\n
    \n
    \n Verantwortlichen eingeben:   \n {!isReassignAllowed && {selectedUserR?.add?.label}}\n
    \n {isReassignAllowed && (\n {\n setSelectedUserR({ add: e });\n }}\n options={members}\n isSearchable={true}\n // isOptionDisabled={() => editmode === true}\n />\n )}\n\n
    \n Zu Gunsten von:   \n {!isReassignAllowed && {selectedUser?.add?.label}}\n
    \n {isReassignAllowed && (\n {\n setSelectedUser({ add: e });\n }}\n options={members}\n isSearchable={true}\n />\n )}\n\n
    \n Folgende Leute Informieren:\n
    \n {isReassignAllowed && (\n {\n setPersons([...persons, { id: e.value, name: e.label }]);\n }}\n options={members}\n isSearchable={true}\n />\n )}\n\n {persons.length > 0 ? (\n \n {persons.map((person, index) => {\n return index !== 0 ? (\n \n {person.name}{\" \"}\n {isReassignAllowed && (\n DeleteFromPersons(person.id)}\n width={30}\n height={30}\n />\n )}\n
    \n ) : (\n \n {person.name}{\" \"}\n {isReassignAllowed && (\n DeleteFromPersons(person.id)}\n width={30}\n height={30}\n />\n )}\n \n );\n })}\n \n ) : (\n \n )}\n \n\n
    \n Erledigen bis:   \n {!isReassignAllowed && (\n {moment(startDate).format(`${t(\"momentjs_datum\")}`)}\n )}\n
    \n {isReassignAllowed && (\n
    \n deadLineHandler(date)}\n placeholderText=\"Datum\"\n minDate={new Date()}\n />\n
    \n )}\n\n {selectedTaskCard[0]?.preTask && (\n
    \n setExecuteConcurrently((prev) => !prev)}\n />\n }\n labelPlacement=\"start\"\n label=\"Aufgabe kann parallel bearbeitet werden\"\n />\n
    \n )}\n\n
    \n {\n setOpenModal(false);\n setSeltask(null);\n setPersons([]);\n setSelectedUserR({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setStartDate(null);\n setEditmode(false);\n setExecuteConcurrently(false);\n }}\n >\n Abbrechen\n \n\n {isReassignAllowed && (\n \n {isProcessActivated ? \"Änderungen freigeben\" : \"Hinzufügen\"}\n \n )}\n
    \n \n\n {\n setEditModal(false);\n setSeltask(null);\n setPersons([]);\n setSelectedUserR({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setStartDate(null);\n setEditmode(false);\n }}\n >\n
    \n Diese Aufgabe wurde bereits zugewiesen.\n
    \n Soll die Zuweisung bearbeitet werden?\n
    \n
    \n {\n setEditModal(false);\n setSeltask(null);\n setPersons([]);\n setSelectedUserR({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setSelectedUser({\n search: { value: null, label: \"All\" },\n add: null,\n });\n setStartDate(null);\n setEditmode(false);\n }}\n >\n Abbrechen\n \n\n {\n setEditModal(false);\n setOpenModal(true);\n }}\n >\n Bearbeiten\n \n
    \n \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n memberIds: state.user.allIds,\n members: state.user.byId,\n taskIds: state.task.allIds,\n tasks: state.task.byId,\n processes: state.process.byId,\n});\n\nexport default connect(mapStateToProps, null)(CustomCard);\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { connect, useDispatch } from \"react-redux\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport { useTranslation } from \"react-i18next\";\nimport App from \"../../App\";\nimport auth from \"../../auth\";\nimport { logError } from \"../../helpers/helpers\";\nimport { searchUsers } from \"../../redux/users/action\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport CreateProcess from \"./CreateProcess\";\nimport AssignTasks from \"./AssignTasks\";\nimport AssignUsers from \"./AssignUsers\";\nimport {\n addProcess,\n uploadProcessImage,\n updateProcess,\n getProcessById,\n} from \"../../redux/process/action\";\n\nconst AddProcess = (props) => {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const history = useHistory();\n const [activeStep, setActiveStep] = useState(0);\n const [values, setValues] = useState({\n processName: \"\",\n processDes: \"\",\n processRes: \"\",\n processTasks: [],\n });\n const [processImg, setProcessImg] = useState(null);\n const [members, setMembers] = useState([]);\n const [selectedUser, setSelectedUser] = useState({\n search: { value: null, label: \"All\" },\n add: \"\",\n });\n const [buttonClicked, setButtonClicked] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [membersData, setMembersData] = useState(null);\n const [selectedFile, setSelectedFile] = useState(null);\n const [title, setTitle] = useState(null);\n const steps = [\"create\", \"assignTask\", \"assignUser\"];\n const [allowUserToEdit, setAllowUserToEdit] = useState(false);\n\n const processInfoHandler = () => {\n if (\n props.location.state?.type === \"create\" ||\n props.location.state?.type === \"useTemplate\"\n ) {\n processCreateHandler();\n }\n if (props.location.state?.type === \"edit\") {\n processUpdateHandler();\n }\n };\n\n const processUpdateHandler = async () => {\n let id = props.match.params.id;\n const state = { ...history.location.state };\n state.id = id;\n state.step = \"assignTask\";\n if (id) {\n if (\n values.processName === props.processes[id].name &&\n values.processDes === props.processes[id].description &&\n values.processRes.add.value === props.processes[id].responsible &&\n !selectedFile\n ) {\n state.process = {\n id: id,\n name: props.processes[id].name,\n tasks: props.processes[id].tasks,\n };\n history.replace({ ...history.location, state });\n } else {\n let reqData = {\n processId: id,\n name: values.processName,\n tasks: props.processes[id].tasks,\n description: values.processDes,\n responsible: values.processRes.add.value,\n isTemplate: props.processes[id].isTemplate,\n };\n await EditProcess(reqData).then(() => {\n setTitle(values.processName);\n state.process = {\n id: id,\n name: values.processName,\n tasks: props.processes[id].tasks,\n };\n history.replace({ ...history.location, state });\n });\n }\n }\n setButtonClicked(false);\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n\n const BackToAssignTaskHandler = () => {\n const state = { ...history.location.state };\n state.step = \"assignTask\";\n const id = state.process.id;\n state.process = {\n id: state.id,\n name: props.processes[id].name,\n tasks: props.processes[id].tasks,\n };\n history.replace({ ...history.location, state });\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n };\n\n const processCreateHandler = async () => {\n let obj = {\n name: values.processName,\n description: values.processDes,\n responsible: values.processRes.add.value,\n creator: auth.getId(),\n tasks: [],\n image: processImg,\n };\n\n await setButtonClicked(true);\n await createNewProcess(obj);\n setButtonClicked(false);\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n\n const createNewProcess = async (reqData, type = null) => {\n let _processTasks = [];\n if (type === \"saveAsTemplate\") {\n _processTasks = reqData.tasks;\n } else {\n _processTasks = values.processTasks;\n }\n\n let obj = { ...reqData, tasks: [] };\n await dispatch(addProcess(obj))\n .then(async (res) => {\n if (res.value) {\n setTitle(res.value.name);\n if (selectedFile) {\n const formData = new FormData();\n formData.append(\"File\", selectedFile);\n await dispatch(\n uploadProcessImage({\n formData: formData,\n processId: res.value.id,\n })\n ).catch(function (err) {\n logError(err);\n });\n }\n const state = { ...history.location.state };\n if (!type) {\n state.id = res.value.id;\n state.step = \"assignTask\";\n }\n\n if (_processTasks.length > 0) {\n let _tasks = [];\n for (const item of _processTasks) {\n item.processId = res.value.id;\n item.dateCreated = new Date();\n _tasks.push(item);\n }\n\n let updateReq = {\n processId: res.value.id,\n name: res.value.name,\n description: res.value.description,\n responsible: res.value.responsible,\n tasks: _tasks,\n };\n\n if (type === \"saveAsTemplate\") {\n updateReq.isTemplate = true;\n }\n\n await dispatch(updateProcess(updateReq)).then((updateRes) => {\n if (!type) {\n state.process = {\n id: res.value.id,\n name: res.value.name,\n tasks: _tasks,\n };\n }\n });\n } else {\n if (!type) {\n state.process = {\n id: res.value.id,\n name: res.value.name,\n tasks: res.value.tasks,\n };\n }\n }\n if (!type) {\n history.replace({ ...history.location, state });\n }\n }\n if (type === \"saveAsTemplate\") {\n successMsgHandler(\"Process created as Master\");\n history.push(`/master-processes`);\n } else {\n successMsgHandler(\"Prozess wurde erfolgreich erstell.\");\n }\n })\n .catch((err) => {\n logError(err);\n setButtonClicked(false);\n let errMsg = \"Fehler bei Bearbeitung des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n errorMsgHandler(errMsg);\n });\n };\n\n const assignUserHandler = () => {\n const state = { ...history.location.state };\n state.step = \"assignUser\";\n state.assignUser = {\n process: state.id,\n processName: props.processes[state.id].name,\n processTasks: props.processes[state.id].tasks,\n des: props.processes[state.id].description,\n responsible: props.processes[state.id].responsible,\n membersData: membersData,\n };\n history.replace({ ...history.location, state });\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n\n const saveAsTemplateHandler = async () => {\n const state = { ...history.location.state };\n let reqData = {\n name: props.processes[state.id].name,\n tasks: props.processes[state.id].tasks,\n description: props.processes[state.id].description,\n responsible: props.processes[state.id].responsible,\n isTemplate: true,\n };\n if (props.location.state?.type === \"edit\") {\n reqData.image = props.processes[state.id].image;\n await createNewProcess(reqData, \"saveAsTemplate\");\n } else {\n reqData.processId = state.id;\n await EditProcess(reqData, \"saveAsTemplate\");\n }\n };\n\n const EditProcess = async (reqData, type = null) => {\n setOpenAlert(false);\n await setButtonClicked(true);\n await dispatch(updateProcess(reqData))\n .then(async () => {\n setButtonClicked(false);\n setTitle(reqData.name);\n if (type == \"saveAsTemplate\") {\n successMsgHandler(\"Process saved as Master\");\n history.push(`/master-processes`);\n } else {\n if (selectedFile) {\n const formData = new FormData();\n formData.append(\"File\", selectedFile);\n await dispatch(\n uploadProcessImage({\n formData: formData,\n processId: reqData.processId,\n })\n ).catch(function (err) {\n logError(err);\n });\n }\n successMsgHandler(\"Prozess wurde erfolgreich bearbeitet.\");\n }\n })\n .catch((err) => {\n setButtonClicked(false);\n let errMsg = \"Fehler bei Bearbeiten des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n errorMsgHandler(errMsg);\n });\n };\n\n const getStepContent = (stepIndex, user) => {\n switch (stepIndex) {\n case 0:\n return (\n \n );\n case 1:\n return (\n \n );\n case 2:\n return (\n \n );\n default:\n return \"Unknown stepIndex\";\n }\n };\n\n useEffect(() => {\n async function fetchData() {\n const abortController = new AbortController();\n if (props.allMemberIds.length === 0) {\n await dispatch(searchUsers({ GetAll: true }));\n }\n\n if (!props.location.state?.type) {\n history.push(`/processes`);\n }\n return () => {\n abortController.abort();\n };\n }\n fetchData();\n }, []);\n\n useEffect(() => {\n const _members = [];\n const _memberTasks = [];\n if (props.allMemberIds.length > 0) {\n props.allMemberIds.forEach((id) => {\n _members.push({\n value: props.members[id].userId,\n label: props.members[id].firstName + \" \" + props.members[id].lastName,\n });\n _memberTasks.push(props.members[id].tasks);\n });\n setMembersData(_memberTasks);\n setMembers(_members);\n } else {\n setMembers([]);\n }\n\n if (props.location.state?.type === \"edit\" && props.match.params.id) {\n getProcess(props.match.params.id).then((process) => {\n if (process) {\n let temp = _members.find(\n (item) => item.value === process.responsible\n );\n if (temp) {\n setSelectedUser({ add: temp });\n }\n\n setValues((prevState) => {\n return {\n ...prevState,\n processName: process.name,\n processDes: process.description,\n processRes: { add: temp },\n };\n });\n setProcessImg(process.image);\n setTitle(process.name);\n if (\n process.responsible === auth.getId() ||\n process.creator === auth.getId() ||\n props.currentUser?.role === \"Admin\" ||\n process.isTemplate\n ) {\n setAllowUserToEdit(true);\n } else {\n setAllowUserToEdit(false);\n }\n }\n });\n }\n if (props.location.state?.type === \"create\") {\n setTitle(\"Create New Process\");\n setAllowUserToEdit(true);\n }\n if (props.location.state?.type === \"useTemplate\") {\n let process = props.location.state?.templateData;\n if (process) {\n setValues((prevState) => {\n return {\n ...prevState,\n processName: process.name,\n processDes: process.description,\n // processRes: { add: temp}\n processTasks: process.tasks,\n };\n });\n setProcessImg(process.image);\n setTitle(process.name);\n }\n setAllowUserToEdit(true);\n }\n }, [props.allMemberIds.length]);\n\n useEffect(() => {\n if (\n props.location.state?.step === \"createProcess\" ||\n props.location.state?.step === \"editProcess\" ||\n props.location.state?.step === \"useTemplate\"\n ) {\n setActiveStep(0);\n } else if (props.location.state?.step === \"assignTask\") {\n setActiveStep(1);\n } else if (props.location.state?.step === \"assignUser\") {\n setActiveStep(2);\n }\n }, []);\n\n const successMsgHandler = (msg) => {\n setSuccessMessage(msg);\n setOpenAlert(true);\n };\n\n const errorMsgHandler = (msg) => {\n setErrorMessage(msg);\n setOpenAlert(true);\n };\n\n const getProcess = async (id) => {\n let _process = [];\n if (props.processes && props.processes[id]) {\n _process = props.processes[id];\n } else {\n await dispatch(getProcessById({ id: id }))\n .then((res) => {\n if (res.value?.data) {\n _process = res.value.data;\n }\n })\n .catch((err) => logError(err));\n }\n\n return _process;\n };\n\n return (\n \n
    \n {props.location.state?.step !== \"assignTask\" ? (\n \n ) : (\n \n )}\n
    \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n
    \n {activeStep === steps.length ? null : (\n <>{getStepContent(activeStep, props.currentUser)}\n )}\n
    \n
    \n
    \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n allProcessIds: state.process.allIds,\n processes: state.process.byId,\n processIds: state.process.searchIds,\n allMemberIds: state.user.allIds,\n members: state.user.byId,\n memberIds: state.user.searchIds,\n});\n\nexport default connect(mapStateToProps, null)(AddProcess);\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport App from \"../../App\";\nimport config from \"../../config/api.config.js\";\nimport \"../../assets/css/pages/departments.scss\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport SnackbarSuccess from \"../../components/alert/SnackbarSuccess\";\nimport Search from \"../../components/search/search\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport { ReactComponent as EditIcon } from \"../../assets/images/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"../../assets/images/delete.svg\";\nimport Modal from \"../../components/modal/modal\";\nimport OutlinedButton from \"../../components/buttons/outlinedButton\";\nimport AddButton from \"../../components/auth/button\";\nimport {\n searchProcesses,\n deleteProcess,\n getProcessTasks,\n} from \"../../redux/process/action\";\nimport { searchUsers } from \"../../redux/users/action\";\nimport FileCopy from \"@material-ui/icons/FileCopy\";\nimport AccessTimeIcon from \"@material-ui/icons/AccessTime\";\nimport DatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport {\n Radio,\n RadioGroup,\n FormControlLabel,\n FormControl,\n FormLabel,\n} from \"@material-ui/core\";\nimport moment from \"moment\";\nimport {\n scheduleProcessTask,\n scheduleProcessTaskEndDate,\n} from \"../../redux/process/action\";\nimport { handleValidateEmail } from \"../../helpers/helpers\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\n\nconst MasterProcesses = (props) => {\n const dispatch = useDispatch();\n const history = useHistory();\n const { t } = useTranslation();\n\n const [search, setSearch] = useState(\"\");\n const [selectedSort, setSelectedSort] = useState(2);\n const [defaultPage, setDefaultPage] = useState(false);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [successMessage, setSuccessMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [openDeleteModal, setOpenDeleteModal] = useState(false);\n const [processDeleteId, setProcessDeleteId] = useState(\"\");\n const [buttonClicked, setButtonClicked] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [masterProcessName, setMasterProcessName] = useState(false);\n const [masterProcessId, setMasterProcessId] = useState(false);\n const [email, setEmail] = useState();\n const [isEmailValid, setIsEmailValid] = useState(null);\n const [tasks, setTasks] = useState([]);\n const [step, setStep] = useState(1);\n const [taskDates, setTaskDates] = useState([]);\n const [option, setOption] = useState(\"1\");\n const [userSuggestions, setUserSuggestions] = useState([]);\n const [emailValue, setEmailValue] = useState();\n const [endDate, setEndDate] = useState();\n const [individualTaskEndDate, setIndividualTaskEndDate] = useState([]);\n\n useEffect(() => {\n async function fetchData() {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n\n handleSort({ value: 2 });\n return () => {\n abortController.abort();\n };\n }\n fetchData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n const getSearchValue = (search) => {\n setSearch(search.trim());\n if (props.currentUser) {\n dispatch(\n searchProcesses({\n isTemplate: true,\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n searchProcesses({\n isTemplate: true,\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n searchProcesses({\n isTemplate: true,\n PageNumber: newPage,\n Sort: selectedSort,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n\n const deleteMasterProcess = async () => {\n await setButtonClicked(true);\n await dispatch(\n deleteProcess({\n processId: processDeleteId,\n })\n )\n .then(() => {\n setButtonClicked(false);\n setOpenDeleteModal(false);\n setProcessDeleteId(\"\");\n dispatch(\n searchProcesses({\n isTemplate: true,\n Sort: selectedSort,\n PageNumber: 1,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n setDefaultPage(!defaultPage);\n setSuccessMessage(\"Prozess wurde erfolgreich gelöscht.\");\n setOpenAlert(true);\n })\n .catch((err) => {\n setButtonClicked(false);\n setOpenDeleteModal(false);\n setProcessDeleteId(null);\n let errMsg = \"Fehler bei Löschen des Prozesses.\";\n if (err.response?.data?.errors) {\n errMsg =\n err.response.data.errors[Object.keys(err.response.data.errors)[0]];\n }\n setErrorMessage(errMsg);\n setOpenAlert(true);\n });\n };\n\n const duplicateTemplateHandler = (processId) => {\n history.push(\"/add-process\", {\n type: \"useTemplate\",\n step: \"createProcess\",\n templateData: props.processes[processId],\n });\n };\n\n const StartOnboardingForProcess = async (id, name) => {\n setOpenModal(true);\n setMasterProcessId(id);\n setMasterProcessName(name);\n getTasks(id);\n };\n\n const getTasks = async (processId) => {\n let _tasks = [];\n await dispatch(getProcessTasks({ processId: processId })).then((res) => {\n if (res.value?.data) {\n _tasks = res.value.data.tasks;\n }\n });\n setTasks(_tasks);\n setTaskDates(_tasks.map((t) => ({ taskId: t.id, date: \"\" })));\n return _tasks;\n };\n\n const handleOptionChange = (e) => {\n setOption(e.target.value);\n };\n const getEndDate = async () => {\n await dispatch(\n scheduleProcessTaskEndDate({\n processId: masterProcessId,\n endDate: endDate,\n })\n ).then((result) => {\n setIndividualTaskEndDate(result);\n setStep(3);\n });\n };\n const runProcess = async () => {\n //TODO: Send option, tasks and dates to the backend. Close the modal. Show success message.\n setOpenModal(false);\n await dispatch(\n scheduleProcessTask({\n processId: masterProcessId,\n option: parseInt(option),\n emailRecipient: email,\n ...(option === \"1\" && {\n taskDatePairs: tasks.map((task) => {\n return {\n taskId: task.id,\n scheduledDate: taskDates.find((date) => date.taskId === task.id)\n ?.date,\n };\n }),\n }),\n ...(option === \"4\" && { endDate: endDate }),\n })\n ).then((result) => {\n setOpenModal(false);\n setMasterProcessName(\"\");\n setMasterProcessId(null);\n setStep(1);\n setEmail(\"\");\n setTaskDates([]);\n setIndividualTaskEndDate([]);\n setEndDate();\n setOption(\"1\");\n setSuccessMessage(\"Prozess wurde erolgreich gestartet\");\n setOpenAlert(true);\n });\n };\n\n const closeStartOnboardingForProcessModal = () => {\n setOpenModal(false);\n setMasterProcessName(\"\");\n setMasterProcessId(null);\n setStep(1);\n setEmail(\"\");\n setTaskDates([]);\n setIndividualTaskEndDate([]);\n setEndDate(\"\");\n setOption(\"1\");\n };\n const goToNextStep = () => {\n if (option === \"1\") {\n setStep(3);\n } else if (option === \"4\") {\n getEndDate();\n }\n };\n\n const validateStepTwo = (option) => {\n switch (option) {\n case \"1\":\n if (email && option && taskDates.every((td) => td && td.date))\n return true;\n else return false;\n case \"4\":\n if (email && option && endDate) return true;\n else return false;\n }\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n {successMessage && (\n {\n setOpenAlert(false);\n setSuccessMessage(\"\");\n }}\n >\n {successMessage}\n \n )}\n \n
    \n
    \n \n \n {step === 1 && (\n \n \n\n {\n setEmailValue(newValue);\n const isValidEmail = handleValidateEmail(\n newValue ? newValue.email : \"\"\n );\n setIsEmailValid(isValidEmail);\n setEmail(newValue ? newValue.email : \"\");\n }}\n onInputChange={async (e) => {\n if (!e || !e.target.value || e.target.value === \"\") {\n setUserSuggestions([]);\n return;\n }\n setEmail(e.target.value);\n const isValidEmail = handleValidateEmail(e.target.value);\n setIsEmailValid(isValidEmail);\n const request = searchUsers({ Search: e.target.value });\n if (request.payload) {\n const response = await request.payload;\n setUserSuggestions(response.data.users);\n }\n }}\n inputValue={email || \"\"}\n value={emailValue || \"\"}\n getOptionLabel={(u) =>\n u ? `${u.firstName} ${u.lastName} (${u.email})` : \"\"\n }\n renderInput={(params) => (\n
    \n \n
    \n )}\n />\n
    \n setStep(2)}\n >\n {t(\"next\")}\n \n
    \n \n {t(\"Abbrechen\")}\n \n
    \n
    \n
    \n )}\n\n {step === 2 && (\n \n \n {t(\"masterproccess.choose_option\")}:\n \n }\n label={t(\"masterproccess.for_each_task\")}\n />\n }\n label={t(\"masterproccess.previous_one\")}\n disabled\n />\n }\n label={t(\"masterproccess.all_at_once\")}\n disabled\n />\n }\n label={t(\"masterproccess.automatic\")}\n />\n \n \n\n {option === \"1\" ? (\n \n \n \n {tasks &&\n tasks.map((task, i) => (\n \n \n {task.name}\n \n {\n taskDates[i].date = date;\n setTaskDates([...taskDates]);\n }}\n />\n \n ))}\n \n
    \n
    \n ) : option === \"4\" ? (\n <>\n
    \n setEndDate(date)}\n />\n
    \n \n \n \n {tasks &&\n tasks.map((task, i) => (\n \n \n {task.name}\n \n \n ))}\n \n
    \n
    \n \n ) : null}\n
    \n goToNextStep()}\n >\n {t(\"next\")}\n \n
    \n \n {t(\"Abbrechen\")}\n \n
    \n
    \n
    \n )}\n\n {step === 3 && (\n \n {t(\"masterproccess.click_run\")}\n \n \n \n {tasks &&\n tasks.map((task, i) => (\n \n \n {task.name}\n \n \n {option === \"4\" &&\n individualTaskEndDate.value.data[i].item2 &&\n moment(\n individualTaskEndDate.value.data[i].item2\n ).format(\"DD.MM.YYYY\")}\n\n {option === \"1\" &&\n taskDates[i].date &&\n moment(taskDates[i].date).format(\"DD.MM.YYYY\")}\n \n \n ))}\n \n
    \n
    \n
    \n td && td.date)\n : email && option && endDate\n }\n onClick={runProcess}\n >\n {t(\"masterproccess.run\")}\n \n
    \n \n {t(\"Abbrechen\")}\n \n
    \n
    \n setStep(2)}>\n {t(\"edit\")}\n \n
    \n
    \n
    \n )}\n\n {/* Next */}\n {/* \n
    \n {\n setOpenModal(false);\n setLocationName(\"\");\n setLocationEditId(null);\n setSelectedHead(\"\");\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {locationEditId ? \"Speichern\" : \"Hinzufügen\"}\n \n
    */}\n \n
    \n \n
    \n \n \n \n \n {t(\"No\")}.\n {t(\"Name\")}\n {t(\"Optionen\")}\n \n \n \n {props.isLoading ? (\n \n \n
    \n \n
    \n \n
    \n ) : !props.isLoading && !props.processIds?.length ? (\n \n \n \n {t(\"Aktuell keine Prozesse hinterlegt\")}\n \n \n \n ) : (\n <>\n {!props.isLoading &&\n props.processIds.length > 0 &&\n props.processIds?.map((id) => {\n return (\n props.processes[id] && (\n \n \n {props.processes[id].no + \".\"}\n \n history.push(`/process/${id}`)}\n >\n {props.processes[id].name}\n \n\n \n
    \n \n await StartOnboardingForProcess(\n id,\n props.processes[id].name\n )\n }\n />\n duplicateTemplateHandler(id)}\n />\n \n history.push(`/edit-process/${id}`, {\n type: \"edit\",\n step: \"editProcess\",\n })\n }\n />\n {\n setOpenDeleteModal(true);\n setProcessDeleteId(id);\n }}\n />\n
    \n
    \n \n )\n );\n })}\n \n )}\n
    \n
    \n
    \n {!props.processIds?.length && search ? null : (\n <>\n {Object.keys(props.pageParams).length > 0 && (\n \n )}\n \n )}\n {\n setOpenDeleteModal(false);\n setProcessDeleteId(\"\");\n }}\n >\n

    {`Soll der MasterProzess ${props.processes[processDeleteId]?.name} gelöscht werden?`}

    \n
    \n {\n setOpenDeleteModal(false);\n setProcessDeleteId(\"\");\n }}\n >\n {t(\"Abbrechen\")}\n \n \n {t(\"Löschen\")}\n \n
    \n \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n isLoading: state.process.isLoading,\n allProcessIds: state.process.allIds,\n processes: state.process.byId,\n processIds: state.process.searchIds,\n pageParams: state.process.pageParams,\n});\n\nexport default connect(mapStateToProps, null)(MasterProcesses);\n","import Dashboard from '../pages/Dashboard/Dashboard';\nimport Departments from '../pages/Departments/Departments';\nimport Categories from '../pages/Categories/Categories';\nimport Articles from '../pages/Articles/Articles';\nimport ArticleDetails from '../pages/Articles/ArticleDetails';\nimport Courses from '../pages/Courses/Courses';\nimport AddCourse from '../pages/Courses/AddCourse';\nimport CourseDetails from '../pages/Courses/CourseDetails';\nimport Members from '../pages/Members/Members';\nimport MemberDetails from '../pages/Members/MemberDetails';\nimport Quizzes from '../pages/Quizzes/Quizzes';\n// import News from '../pages/News/News';\nimport Events from '../pages/Events/Events';\nimport Knowledge from '../pages/Knowledge/Knowledge';\nimport Favourites from '../pages/Favourites/Favourites';\nimport WatchLater from '../pages/WatchLater/WatchLater';\nimport LastDone from '../pages/LastDone/LastDone';\nimport Locations from '../pages/Locations/Locations';\nimport Teams from '../pages/Teams/Teams';\nimport ChartOrganization from '../pages/Chart/ChartOrganization';\nimport Processes from '../pages/Processes/Processes';\nimport Tasks from '../pages/Tasks/Tasks'\nimport Medias from '../pages/Medias/Medias';\nimport TaskDetails from '../pages/Tasks/TaskDetails'\nimport ProcessDetails from '../pages/Processes/ProcessDetails';\nimport MyTasks from '../pages/Tasks/MyTasks';\nimport MyProcesses from '../pages/Processes/MyProcesses';\nimport MyApproval from '../pages/Tasks/MyApproval';\nimport AddProcess from '../pages/Processes/AddProcess';\nimport MasterProcesses from '../pages/Processes/MasterProcesses';\n\n\nexport const routes = [\n { path: '/dashboard', Component: Dashboard },\n // { path: '/news', Component: News },\n { path: '/events', Component: Events },\n { path: '/knowledge', Component: Knowledge },\n { path: '/departments', Component: Departments },\n { path: '/locations', Component: Locations },\n { path: '/teams', Component: Teams },\n { path: '/processes', Component: Processes },\n { path: '/tasks', Component: Tasks },\n { path: '/chart', Component: ChartOrganization },\n { path: '/members', Component: Members },\n { path: '/member-details/:id', Component: MemberDetails },\n { path: '/categories', Component: Categories },\n { path: '/articles', Component: Articles },\n { path: '/article/:id', Component: ArticleDetails },\n { path: '/courses', Component: Courses },\n { path: '/add-course', Component: AddCourse },\n { path: '/edit-course/:id', Component: AddCourse },\n { path: '/course/:id', Component: CourseDetails },\n { path: '/quizzes', Component: Quizzes },\n { path: '/favourites', Component: Favourites },\n { path: '/watch_later', Component: WatchLater },\n { path: '/last_done', Component: LastDone },\n { path: '/medias', Component: Medias },\n { path: '/task/:id', Component: TaskDetails },\n { path: '/process/:id', Component: ProcessDetails },\n { path: '/my-tasks', Component: MyTasks },\n { path: '/my-processes', Component: MyProcesses },\n { path: '/my-approval', Component: MyApproval},\n { path: '/add-process', Component: AddProcess },\n { path: '/edit-process/:id', Component: AddProcess },\n { path: '/master-processes', Component: MasterProcesses } \n \n];\n","import React from 'react';\nimport { Route, Redirect } from 'react-router-dom';\nimport auth from '../../auth';\nimport LocalStorageService from '../../LocalStorageService';\n\nexport const DefaultProtection = ({ component: Component, ...otherProps }) => {\n return (\n {\n if (\n auth.isAuthenticated() &&\n !auth.isTokenExpired() &&\n LocalStorageService.get('access_token')\n ) {\n return ;\n } else {\n return (\n \n );\n }\n }}\n />\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport './myinput.scss';\n\nconst NewInput = ({\n \n onChange,\n value,\n type,\n label,\n onKeyUp,\n buttonClicked = false,\n valid = true,\n errorMessage = null\n}) => {\n \n \n\n\n const [emptyInput,setEmptyInput] = useState(false);\n useEffect(() => {\n if (value) setEmptyInput(true);\n else setEmptyInput(false);\n }, [value]);\n\n return (\n \n );\n};\n\nexport default NewInput;","import React from 'react'\nimport './labelcss.scss';\nconst NewLabel=({\n name\n})=>{\n \nreturn (\n
    \n {name}\n
    \n)\n}\nexport default NewLabel;","import React from 'react'\nimport './newButton.scss';\n\nconst NewButton=({name,onClick,otherProps,buttonClicked,valid})=>{\n return(\n
    \n \n
    \n \n )\n}\nexport default NewButton;","import React from \"react\";\nimport \"./newError.scss\";\n\nconst NewError = () => {\n return (\n
    \n Email oder Passwort ist falsch. Bitte noch mal anmelden.{\" \"}\n
    \n );\n};\nexport default NewError;\n","import React, { useState } from \"react\";\n\nconst Logo = () => {\n const [logo, setLogo] = useState(\"\");\n\n import(`../../assets/images/${process.env.REACT_APP_LOGO}`).then((module) => {\n setLogo(module.default);\n });\n\n return \"logo\";\n};\nexport default Logo;\n","import React, { useState, useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport \"../../assets/css/pages/login.scss\";\nimport NewInput from \"../../components/inputField/NewInput\";\nimport NewLabel from \"../../components/label/NewLabel\";\nimport NewButton from \"../../components/buttons/NewButton\";\nimport NewError from \"../../components/alert/NewError\";\nimport { loginUserAction } from \"../../redux/login/actions\";\nimport { useLocation } from \"react-router-dom\";\nimport config from \"../../config/api.config.js\";\nimport \"../../assets/css/_scss-variables.scss\";\nimport Logo from \"../../layout/logo/logo.js\";\n\nconst Login = (props) => {\n const [error, setError] = useState(false);\n const [buttonClicked, setButtonClicked] = useState(false);\n const [openAlert, setOpenAlert] = useState(false);\n\n const [loginState, setLoginState] = useState(true);\n\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const location = useLocation();\n\n const [values, setValues] = useState({\n email: \"\",\n password: \"\",\n });\n const [readyToRender, setReadyToRender] = useState(false);\n\n const handleChange = (prop) => (event) => {\n setValues({ ...values, [prop]: event.target.value });\n };\n\n const handleClick = async () => {\n await setButtonClicked(true);\n setError(false);\n await props.makeLogin(setLoginState, values);\n };\n\n const handleClose = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setOpenAlert(false);\n };\n\n const handleKeyUp = (e) => {\n if (e.key === \"Enter\") {\n if(values.email !== \"\" && values.password != \"\" ){\n handleClick();\n } \n }\n };\n\n useEffect(() => {\n const root = document.documentElement;\n root?.style.setProperty(\"--color-primary\", config.colorPrimary);\n root?.style.setProperty(\"--color-secondary\", config.colorSecondary);\n root?.style.setProperty(\"--color-active\", config.colorActive);\n root?.style.setProperty(\"--color-hover\", config.colorHover);\n setReadyToRender(true);\n }, []);\n\n return (\n <>\n {readyToRender && (\n
    \n
    \n
    \n \n
    \n
    \n
    \n

    \n {t('Willkommen zu '+config.company+' Onboarder')}\n

    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n Passwort vergessen ? \n
    \n
    \n \n
    \n {/*
    \n Don't you have an accont? Sign Up \n
    */}\n
    {loginState === false ? :
    }
    \n
    \n
    \n )}\n \n );\n};\n\nconst mapStateToProps = (state) => ({ logininfo: state.doLogin.logininfo });\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n makeLogin: (loginStateSetter, values) =>\n dispatch(loginUserAction(loginStateSetter, values)),\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Login);\n\n// const mapStateToProps = (state) => ({\n// currentUser: state.user.currentUser\n// });\n\n// export default connect(mapStateToProps, null)(Login);\n","//import {getRandomUser} from './service';\nimport config from '../../config/api.config.js';\nimport axios from 'axios';\n\nimport { FETCH_LOGIN, } from '../actionTypes';\nimport auth from '../../auth';\nimport jwt from 'jwt-decode';\n\n\n\nexport const loginUserAction=(loginState,values)=>async(dispatch,getState)=>{\n await axios\n .post(`${config.apiURL}/api/Account/login`, values)\n .then((res) => {\n const {data} = res;\n dispatch({type:FETCH_LOGIN,payload:data.token});\n\n const token = data.token;\n const dataJwt = jwt(token);\n auth.login(token, dataJwt.exp, dataJwt.UserId, dataJwt.role);\n\n loginState(true)\n\n })\n .catch((err) => {\n loginState(false)\n return err;\n \n });\n \n}\n\n\n\n","export default __webpack_public_path__ + \"static/media/birthday.99c9c5ff.png\";","import React, {useState, useEffect} from 'react';\nimport { useHistory } from 'react-router-dom';\nimport NewButton from '../../components/buttons/NewButton';\nimport Logo from '../../layout/logo/logo.js';\nimport Birthday from '../../assets/images/birthday.png';\nimport '../../assets/css/pages/login.scss';\nimport { useTranslation } from 'react-i18next'\nimport config from '../../config/api.config.js'\n\nconst EmailVerification = () => {\n const { t } = useTranslation()\n const history = useHistory();\n\n const routeChange = () => {\n let path = `/login`;\n history.push(path);\n };\n const [readyToRender, setReadyToRender] = useState(false);\n\n useEffect(() => {\n const root = document.documentElement;\n root?.style.setProperty(\n \"--color-primary\",\n config.colorPrimary\n );\n root?.style.setProperty(\n \"--color-secondary\",\n config.colorSecondary\n );\n root?.style.setProperty(\n \"--color-active\",\n config.colorActive\n );\n root?.style.setProperty(\n \"--color-hover\",\n config.colorHover\n );\n setReadyToRender(true);\n }, []);\n\n return (\n <>\n {readyToRender &&
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n

    \n {t('email_success_verified')}\n

    \n \n \"Birthday\"\n
    \n\n
    \n

    {t('now_can_login')}

    \n
    \n
    \n \n \n
    \n \n
    \n }\n \n );\n};\n\nexport default EmailVerification;\n","import React from 'react';\nimport Alert from '@material-ui/lab/Alert';\n\nimport './alert.scss';\n\nconst Error = ({ children, style, className, setOpen }) => {\n return (\n
    \n setOpen(false)}>\n {children}\n \n
    \n );\n};\n\nexport default Error;\n","export default __webpack_public_path__ + \"static/media/superhero.91f2ab0f.png\";","import React, { useState, useEffect } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport axios from \"axios\";\n\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport NewButton from \"../../components/buttons/NewButton.js\";\nimport Error from \"../../components/alert/error\";\n\nimport Logo from \"../../layout/logo/logo.js\";\nimport Superhero from \"../../assets/images/superhero.png\";\nimport { useTranslation } from \"react-i18next\";\nimport NewInput from \"../../components/inputField/NewInput.js\";\n\nconst ForgotPasswordFirstPage = ({\n firstPage,\n secondPage,\n email,\n setEmail,\n}) => {\n const { t } = useTranslation();\n const [valid, setValid] = useState(false);\n const [messageVisible, setMessageVisible] = useState(false);\n const [errorResponse, setErrorResponse] = useState(\"\");\n const [buttonClicked, setButtonClicked] = useState(false);\n\n const handleClick = async () => {\n await setButtonClicked(true);\n\n await axios\n .post(`${config.apiURL}/api/Account/forgot-password`, { email })\n .then((res) => {\n if (res) {\n setButtonClicked(false);\n firstPage(false);\n secondPage(true);\n }\n })\n .catch((err) => {\n setButtonClicked(false);\n logError(err.response);\n setMessageVisible(true);\n setErrorResponse(\"Email is not verified or doesn't exist.\");\n });\n };\n\n useEffect(() => {\n if (email) setValid(true);\n else setValid(false);\n }, [email]);\n\n return (\n
    \n
    \n \n
    \n
    \n \n {t(\"Keine Panik, wir helfen weiter!\")}\n \n \n \"Super-hero\"\n
    \n {messageVisible ? (\n \n {errorResponse}\n \n ) : null}\n \n setEmail(e.target.value)}\n />\n

    {t(\"Wir senden dir eine Email.\")}

    \n \n\n \n {/*

    \n {t(\"any_account\")}\n {t(\"signup\")}\n

    */}\n
    \n \n );\n};\n\nexport default ForgotPasswordFirstPage;\n","export default __webpack_public_path__ + \"static/media/personalEmail.38d2d59a.png\";","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { useState } from \"react\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport axios from \"axios\";\n\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport NewButton from \"../../components/buttons/NewButton.js\";\nimport Logo from \"../../layout/logo/logo.js\";\nimport PersonalEmail from \"../../assets/images/personalEmail.png\";\nimport { useTranslation } from \"react-i18next\";\nimport Snackbar from \"@material-ui/core/Snackbar\";\nimport Alert from \"@material-ui/lab/Alert\";\n\nconst ForgotPasswordSecondPage = ({ email }) => {\n const [openAlert, setOpenAlert] = useState(false);\n const { t } = useTranslation();\n const history = useHistory();\n\n const handleClose = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setOpenAlert(false);\n };\n const handleClick = () => {\n history.push(\"/login\");\n };\n\n const ResendPassword = async () => {\n await axios\n .post(`${config.apiURL}/api/Account/forgot-password`, { email })\n .then((res) => {\n setOpenAlert(true);\n })\n .catch((err) => logError(err));\n };\n\n return (\n
    \n \n \n {t(\"Erfolgreich versendet\")}\n \n \n
    \n \n
    \n
    \n {\" \"}\n \n {t(\"Link wurde an deine Email versendet\")}\n \n \n \"personal-email-pic\"\n
    \n

    \n \n {t(\"Keinen Link erhalten? \")}\n \n {t(\"Noch mal versenden\")}\n

    \n \n {/*

    \n {t('any_account')}\n {t('signup')}\n

    */}\n
    \n \n );\n};\n\nexport default ForgotPasswordSecondPage;\n","import React, { useState, useEffect } from 'react';\n\nimport FirstPage from './firstPage';\nimport SecondPage from './secondPage';\nimport config from '../../config/api.config.js';\nimport '../../assets/css/_scss-variables.scss';\n\n\n\nimport '../../assets/css/pages/forgotPassword.scss';\n\nconst ForgotPassword = () => {\n const [firstPageVisible, setFirstPageVisible] = useState(true);\n const [secondPageVisible, setSecondPageVisible] = useState(true);\n const [email, setEmail] = useState('');\n const [readyToRender, setReadyToRender] = useState(false);\n\n useEffect(() => {\n const root = document.documentElement;\n root?.style.setProperty(\n \"--color-primary\",\n config.colorPrimary\n );\n root?.style.setProperty(\n \"--color-secondary\",\n config.colorSecondary\n );\n root?.style.setProperty(\n \"--color-active\",\n config.colorActive\n );\n root?.style.setProperty(\n \"--color-hover\",\n config.colorHover\n );\n setReadyToRender(true);\n }, []);\n\n return (\n <>\n {readyToRender &&
    \n
    \n
    \n \n
    \n
    \n
    \n {firstPageVisible ? (\n \n ) : secondPageVisible ? (\n \n ) : (\n \n )}\n
    \n
    }\n \n );\n};\n\nexport default ForgotPassword;\n","import React, { useState, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport queryString from \"query-string\";\nimport axios from \"axios\";\nimport \"../../assets/css/pages/login.scss\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport { useTranslation } from \"react-i18next\";\nimport NewButton from \"../../components/buttons/NewButton.js\";\nimport Logo from \"../../layout/logo/logo.js\";\nimport NewInput from \"../../components/inputField/NewInput.js\";\nimport NewLabel from \"../../components/label/NewLabel.js\";\n\nconst ResetPasswordFirstPage = ({ firstPage, secondPage }, props) => {\n const [valid, setValid] = useState(false);\n const { t } = useTranslation();\n const location = useLocation();\n const [passwordValid, setPasswordValid] = useState(true);\n const [confirmPasswordValid, setConfirmPasswordValid] = useState(true);\n const [buttonClicked, setButtonClicked] = useState(false);\n\n const query_string = queryString.parse(location.search);\n const [values, setValues] = useState({\n token: query_string.token,\n email: query_string.email,\n confirmPassword: \"\",\n password: \"\",\n });\n\n const handleChange = (prop) => (event) => {\n setValues({ ...values, [prop]: event.target.value });\n };\n\n // [] **************************************************************************************\n\n useEffect(() => {\n if (values.password && values.confirmPassword) setValid(true);\n else setValid(false);\n }, [values.password, values.confirmPassword]);\n\n useEffect(() => {\n setPasswordValid(true);\n }, [values.password]);\n\n useEffect(() => {\n setConfirmPasswordValid(true);\n }, [values.confirmPassword]);\n\n const handleSubmit = async () => {\n let valid = true;\n\n if (values.password.length < 6) {\n setPasswordValid(false);\n valid = false;\n }\n\n if (values.password !== values.confirmPassword) {\n setConfirmPasswordValid(false);\n valid = false;\n }\n\n if (valid) {\n await setButtonClicked(true);\n\n await axios\n .post(`${config.apiURL}/api/Account/change-password`, values)\n .then((res) => {\n setButtonClicked(false);\n firstPage(false);\n secondPage(true);\n })\n .catch((err) => {\n setButtonClicked(false);\n logError(err);\n });\n }\n };\n\n return (\n
    \n
    \n
    \n \n
    \n\n
    \n

    Neues Passwort vergeben

    \n
    \n
    \n \n \n \n \n \n\n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default ResetPasswordFirstPage;\n","import React from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport NewButton from \"../../components/buttons/NewButton\";\nimport \"../../assets/css/pages/login.scss\";\nimport Logo from \"../../layout/logo/logo.js\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ResetPasswordSecondPage = () => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const handleClick = () => {\n history.push(\"/login\");\n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n {t(\"Dein Passwort wurde erfolgreich geändert!\")}\n \n
    \n

    \n {t(\"Bitte nutze ab jetzt dein neues Passwort, um dich anzumelden.\")}\n

    \n\n \n
    \n
    \n
    \n );\n};\n\nexport default ResetPasswordSecondPage;\n","import React, { useState, useEffect } from 'react';\n\nimport FirstPage from './firstPage';\nimport SecondPage from './secondPage';\nimport config from '../../config/api.config.js';\n\n\n\nconst ResetPassword = () => {\n const [firstPageVisible, setFirstPageVisible] = useState(true);\n const [secondPageVisible, setSecondPageVisible] = useState(true);\n const [readyToRender, setReadyToRender] = useState(false);\n\n useEffect(() => {\n const root = document.documentElement;\n root?.style.setProperty(\n \"--color-primary\",\n config.colorPrimary\n );\n root?.style.setProperty(\n \"--color-secondary\",\n config.colorSecondary\n );\n root?.style.setProperty(\n \"--color-active\",\n config.colorActive\n );\n root?.style.setProperty(\n \"--color-hover\",\n config.colorHover\n );\n setReadyToRender(true);\n }, []);\n\n return (\n
    \n {readyToRender &&
    \n {firstPageVisible ? (\n \n ) : secondPageVisible ? (\n \n ) : (\n \n )}\n
    }\n
    \n );\n};\n\nexport default ResetPassword;\n","export default __webpack_public_path__ + \"static/media/arrived.6d522560.png\";","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport Arrived from \"../../assets/images/arrived.png\";\nimport { useTranslation } from \"react-i18next\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport axios from \"axios\";\nimport Snackbar from \"@material-ui/core/Snackbar\";\nimport { Link } from \"react-router-dom\";\nimport Alert from \"@material-ui/lab/Alert\";\nimport NewButton from \"../../components/buttons/NewButton\";\nimport Logo from \"../../layout/logo/logo.js\";\n\nconst VerifyEmail = () => {\n const [openAlert, setOpenAlert] = useState(false);\n const { t } = useTranslation();\n const history = useHistory();\n const [readyToRender, setReadyToRender] = useState(false);\n\n useEffect(() => {\n const root = document.documentElement;\n root?.style.setProperty(\"--color-primary\", config.colorPrimary);\n root?.style.setProperty(\"--color-secondary\", config.colorSecondary);\n root?.style.setProperty(\"--color-active\", config.colorActive);\n root?.style.setProperty(\"--color-hover\", config.colorHover);\n setReadyToRender(true);\n }, []);\n\n const handleClose = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setOpenAlert(false);\n };\n\n const handleBackLogin = () => {\n history.push(\"/login\");\n };\n const handleResend = async () => {\n //send Verification Email\n let userEmail = localStorage.getItem(\"email\");\n\n await axios\n .post(`${config.apiURL}/api/Account/resend-verification-email`, {\n email: userEmail,\n })\n .then((res) => {\n setOpenAlert(true);\n })\n .catch((err) => {\n logError(err.response.data.ERROR);\n });\n\n //End Verification Email\n };\n\n return (\n <>\n {readyToRender && (\n
    \n
    \n
    \n \n \n {t(\"Erfolgreich versendet\")}\n \n \n\n
    \n \n

    \n {t(\"email_a_c\")}\n

    \n \n \"Arrived\"\n
    \n\n
    \n

    {t(\"E-mail erfolgreich versendet\")}

    \n

    \n {t(\"Keine Email bekommen?\")}\n {t(\"Noch mal senden\")}\n

    \n
    \n\n
    \n \n
    \n
    \n
    \n \n )}\n \n );\n};\n\nexport default VerifyEmail;\n","import React from 'react';\n\nconst NotFound = () => {\n return (\n

    404 - NotFound Component

    \n )\n};\n\n\n\nexport default NotFound;","import React, { useState, useEffect } from \"react\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport axios from \"axios\";\n\nimport Error from \"../../components/alert/error\";\nimport \"../../assets/css/pages/login.scss\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\n\nimport Logo from \"../../layout/logo/logo.js\";\n\nimport { useTranslation } from \"react-i18next\";\nimport NewButton from \"../../components/buttons/NewButton\";\n// import NewPopup from '../../components/popupMenu/NewPopup';\nimport NewLabel from \"../../components/label/NewLabel\";\nimport NewInput from \"../../components/inputField/NewInput\";\n\nconst RegisterFirstPage = ({ firstPage, secondPage, values, setValues }) => {\n const { t } = useTranslation();\n const [valid, setValid] = useState(false);\n const history = useHistory();\n const [nameValid, setNameValid] = useState(true);\n const [lastNameValid, setLastNameValid] = useState(true);\n const [emailValid, setEmailValid] = useState(true);\n const [passwordValid, setPasswordValid] = useState(true);\n const [confirmPasswordValid, setConfirmPasswordValid] = useState(true);\n const [error, setError] = useState(false);\n const [buttonClicked, setButtonClicked] = useState(false);\n /* const sendEmail=()=> { axios\n .post(`${config.apiURL}/api/Account/verify-email`,{email : values.email})\n .then (async (res)=>{\n history.push({\n pathname : '/confirm-your-email',\n state : {\n showNotification: true\n }\n })\n })\n\n } */\n const handleChange = (prop) => (event) => {\n setValues({ ...values, [prop]: event.target.value });\n };\n\n useEffect(() => {\n if (\n values.email &&\n values.firstName &&\n values.lastName &&\n values.password &&\n values.confirmPassword\n )\n setValid(true);\n else setValid(false);\n\n setError(false);\n }, [\n values.email,\n values.firstName,\n values.lastName,\n values.password,\n values.confirmPassword,\n ]);\n\n useEffect(() => {\n setNameValid(true);\n }, [values.firstName]);\n\n useEffect(() => {\n setLastNameValid(true);\n }, [values.lastName]);\n\n useEffect(() => {\n setEmailValid(true);\n }, [values.email]);\n\n useEffect(() => {\n setPasswordValid(true);\n }, [values.password]);\n\n useEffect(() => {\n setConfirmPasswordValid(true);\n }, [values.confirmPassword]);\n\n // const routeChange = () => {\n // let path = `/VerifyEmail`;\n // history.push(path);\n // };\n\n const handleSubmit = async () => {\n let valid = true;\n\n const body = {\n firstName: values.firstName,\n lastName: values.lastName,\n email: values.email,\n password: values.password,\n confirmPassword: values.confirmPassword,\n locationId: \"61cd8a46633a959038832bd4\",\n departmentId: \"61cd8a46633a959038832bd4\",\n teamId: \"61cd8a46633a959038832bd4\",\n };\n await setButtonClicked(true);\n await axios\n .post(`${config.apiURL}/api/Account/register`, body)\n .then((res) => {\n if (res.data) setError(false);\n setButtonClicked(true);\n // sendEmail(true);\n })\n .catch((err) => {\n logError(err.response.data.ERROR);\n valid = false;\n // eslint-disable-next-line eqeqeq\n if (err.response.data.ERROR == \"Email already exists\") setError(true);\n setButtonClicked(false);\n });\n\n if (values.firstName.length < 3) {\n setNameValid(false);\n valid = false;\n }\n if (values.lastName.length < 3) {\n setLastNameValid(false);\n valid = false;\n }\n\n if (!/\\S+@\\S+\\.\\S+/.test(values.email)) {\n setEmailValid(false);\n valid = false;\n }\n\n if (values.password.length < 6) {\n setPasswordValid(false);\n valid = false;\n }\n\n if (values.password !== values.confirmPassword) {\n setConfirmPasswordValid(false);\n valid = false;\n }\n\n if (valid) {\n firstPage(false);\n localStorage.setItem(\"email\", values.email);\n secondPage(true);\n }\n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n {error ? (\n \n {t(\"user_already_exist\")}\n \n ) : null}\n
    \n
    \n

    \n {t(\"welcome_message\")}\n

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n \n
    \n
    \n

    \n \n {t(\"Konto vorhanden?\")}\n \n {t(\"login\")}\n

    \n
    \n {/*
    \n \n
    */}\n
    \n );\n};\n\nexport default RegisterFirstPage;\n","import React, { useState } from 'react';\nimport { Link, useHistory } from 'react-router-dom';\nimport Logo from '../../layout/logo/logo.js';\nimport NewButton from '../../components/buttons/NewButton';\nimport { useTranslation } from 'react-i18next'\nimport NewInput from '../../components/inputField/NewInput.js';\nimport config from '../../config/api.config.js';\n\nconst RegisterSecondPage = ({\n firstPage,\n secondPage,\n thirdPage,\n values,\n setValues\n}) => {\n const { t } = useTranslation()\n const [valid, ] = useState(true);\n const [buttonClicked, ] = useState(false);\n \n let history = useHistory();\n\n const handleChange = (prop) => (event) => {\n setValues({ ...values, [prop]: event.target.value });\n };\n\n\n // const handleBack = () => {\n // secondPage(false);\n // firstPage(true);\n // };\n\n \n const handleSubmit = async () => {\n\n history.push({\n pathname :'/confirm-your-email',\n state : {\n showNotification :true\n }});\n \n };\n \n \n return (\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {t('welcome_message')}

    \n\n
    \n

    {t('Confirm Your Email')}

    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n

    \n {t('already_have_account')}\n {t('LOGIN')}\n

    \n
    \n
    \n \n \n );\n \n }\n\nexport default RegisterSecondPage;\n","export default __webpack_public_path__ + \"static/media/verifyEmail.ab78dd12.png\";","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport axios from \"axios\";\nimport { useTranslation } from \"react-i18next\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\n\nimport Logo from \"../../layout/logo/logo.js\";\nimport VerifyEmail from \"../../assets/images/verifyEmail.png\";\nimport { Link } from \"@material-ui/core\";\nimport NewButton from \"../../components/buttons/NewButton.js\";\nimport Alert from \"@material-ui/lab/Alert\";\n\nconst RegisterThirdPage = ({ email }) => {\n const [resend, setResend] = useState(false);\n const history = useHistory();\n const { t } = useTranslation();\n const routeChange = ({ values }) => {\n let path = `/login`;\n history.push(path);\n };\n\n const ResendVerificationEmail = async () => {\n await axios\n .post(`${config.apiURL}/api/Account/resend-verification-email`, { email })\n .then((res) => {\n setResend(true);\n })\n .catch((err) => logError(err));\n };\n\n return (\n
    \n
    \n \n
    \n
    \n
    \n

    Verify your email address

    \n
    \n \"Verify-Email\"\n
    \n
    \n
    \n

    Ein Aktivierungslink wurde an dich versendet.

    \n

    \n \n Keine Email erhalten?\n \n Noch mal senden \n {resend ? (\n \n {t(\"Erfolgreich versendet\")}\n \n ) : null}\n

    \n
    \n \n
    \n
    \n
    \n );\n};\n\nexport default RegisterThirdPage;\n","import React, { useState, useEffect } from 'react';\n\nimport FirstPage from './firstPage';\nimport SecondPage from './secondPage';\nimport ThirdPage from './thirdPage';\n\nimport '../../assets/css/pages/login.scss';\nimport '../../assets/css/pages/register.scss';\nimport config from '../../config/api.config.js';\nimport '../../assets/css/_scss-variables.scss';\n\nconst Register = () => {\n const [firstPageVisible, setFirstPageVisible] = useState(true);\n const [secondPageVisible, setSecondPageVisible] = useState(false);\n const [thirdPageVisible, setThirdPageVisible] = useState(false);\n\n const [values, setValues] = useState({\n email: '',\n firstName: '',\n lastName: '',\n password: '',\n confirmPassword: '',\n locationId:\"61cd8a46633a959038832bd4\",\n departmentId:\"61cd8a46633a959038832bd4\",\n teamId:\"61cd8a46633a959038832bd4\" \n });\n const [readyToRender, setReadyToRender] = useState(false);\n\n useEffect(() => {\n const root = document.documentElement;\n root?.style.setProperty(\n \"--color-primary\",\n config.colorPrimary\n );\n root?.style.setProperty(\n \"--color-secondary\",\n config.colorSecondary\n );\n root?.style.setProperty(\n \"--color-active\",\n config.colorActive\n );\n root?.style.setProperty(\n \"--color-hover\",\n config.colorHover\n );\n setReadyToRender(true);\n }, []);\n\n return (\n <>\n {readyToRender &&
    \n
    \n
    \n \n
    \n
    \n
    \n {firstPageVisible ? (\n \n ) : secondPageVisible ? (\n \n ) : thirdPageVisible ? (\n \n ) : (\n \n )}\n
    \n
    }\n \n );\n};\n\nexport default Register;\n","import React, {useState, useEffect} from \"react\";\nimport { history } from \"../..\";\n\nimport './newpopup.scss'\nimport config from '../../config/api.config.js'\n\n\n\nconst NewPopup =()=>{\n const [ setButtonClicked] = useState(false);\n const btnClicked = ()=>{\n setButtonClicked(true);\n history.push('/dashboard');\n window.location.reload();\n }\n const [readyToRender, setReadyToRender] = useState(false);\n\n useEffect(() => {\n const root = document.documentElement;\n root?.style.setProperty(\n \"--color-primary\",\n config.colorPrimary\n );\n root?.style.setProperty(\n \"--color-secondary\",\n config.colorSecondary\n );\n root?.style.setProperty(\n \"--color-active\",\n config.colorActive\n );\n root?.style.setProperty(\n \"--color-hover\",\n config.colorHover\n );\n setReadyToRender(true);\n }, []);\n \n return(\n <>\n \n {readyToRender &&
    \n\n
    \n
    Title
    \n
    \n \n 1. GELTUNG, VERTRAGSABSCHLUSS\n\n1.1 Die Mosaik Management GmbH (im Folgenden «Agentur»\ngenannt) erbringt Ihre Leistungen ausschließlich auf der Grundlage\nder nachstehenden Allgemeinen Geschäftsbedingungen (AGB).\nDiese gelten für alle Rechtsbeziehungen zwischen der Agentur\nund dem Vertragspartner (im Folgenden «Kunden» genannt).\nVon diesen Geschäftsbedingungen abweichende Bedingungen\ndes Kunden werden von der Agentur nur nach gesonderter und\nschriftlicher Anerkennung akzeptiert.\n\n1.2 Alle Vereinbarungen, die zwischen der Agentur und dem Kunden zwecks Ausführung eines Auftrages getroffen werden, sind in\nschriftlicher Form zu vereinbaren. Änderungen, Ergänzungen und\nNebenabreden bedürfen der Schriftform.\n\n1.3 Diese Geschäftsbedingungen gelten auch für alle künftigen\nGeschäftsbeziehungen mit dem Kunden, auch wenn sie nicht nochmals ausdrücklich vereinbart werden.\n\n1.4 Die Agentur erbringt Dienstleistungen aus den Bereichen Konzeption, Gestaltung, Umsetzung von Veranstaltung, Mediendesign\nund PR- / Kommunikationsmarketing. Die detaillierte Beschreibung\nder zu erbringenden Dienstleistungen ergeben sich aus den Ausschreibungsunterlagen, Projektverträgen, und Leistungsbeschreibungen der Agentur.\n\n2. EIGENTUMS- UND URHEBERRECHT\n\n2.1 Das erarbeitete Konzept untersteht in seinen grafischen und\nsprachlichen Teilen dem Schutz des Urheberrechts. Alle Bestandteile des Konzeptes, die einzigartig sind und das Konzept prägen,\nsind geschützt. Der (potentielle) Kunde verpflichtet sich, das\nKonzept oder Teile dieses Konzepts nicht anderweitig umsetzen zu\nlassen oder zu benutzen.\n2.2 Der Kunde erwirbt durch Zahlung des Honorars nur das Recht\nzur Nutzung zum vereinbarten Zweck.\n2.3 Bei Vertragsbruch kann die Agentur eine angemessene Entschädigung verlangen.\n2.4 Änderungen oder Weiterentwicklungen der Leistungen der\nAgentur sind nach Ende des Vertrags nur mit ausdrücklicher Zustimmung der Agentur erlaubt.\n3. LEISTUNGSUMFANG / MITWIRKUNGSPFLICHT DES KUNDEN\nDie zu erbringenden Leistungen ergeben sich aus der Auftragsbestätigung. Nachträgliche Änderungen der Leistungen sind schriftlich\nzu bestätigen. Innerhalb des vorgegeben Rahmens besteht Gestaltungsfreiheit für die Agentur. Der Kunde ist verpflichtet, die zur Verfügung gestellten Unterlagen, Texte, Bilder und andere Materialien\nauf Urheber- und Markenrecht und ergänzende Rechte zu prüfen.\nDie Agentur haftet nicht bei Rechtsstreitigkeiten diesbezüglich.\n4. HAFTUNG\nDie Agentur verpflichtet sich zur gewissenhaften Vorbereitung,\nAuswahl und Überwachung der Leistungsträger. Die Haftung der\nAgentur richtet sich ausschließlich nach den schriftlichen Vereinbarungen der Parteien. Alle hierin nicht ausdrücklich zugestandenen\nAnsprüche - auch Schadenersatzansprüche, gleich aus welchem\nRechtsgrund - sind ausgeschlossen, es sei denn, sie beruhen\nauf einer vorsätzlichen oder grob fahrlässigen Vertragsverletzung\ndurch die Agentur, durch einen gesetzlichen Vertreter oder Erfüllungsgehilfen. Darüber hinaus vereinbaren die Vertragsparteien,\ndass ein Schadenersatzanspruch gegen die Agentur der Höhe\nnach, gleich aus welchem Rechtsgrunde, auf das vereinbarte\nHonorar beschränkt ist. Die Agentur haftet im Rahmen dieses\nVertrages nicht für die Folgen höherer Gewalt. Dazu gehören\nAnordnungen von Behörden, Kriege, innere Unruhen, Flugzeugentführungen, Terroranschläge, Feuer, Überschwemmungen,\nStromausfälle, Unfälle, Sturm, Streiks, Aussperrungen oder andere\nArbeitskampfmaßnahmen, von denen die Dienste der Agentur oder\nderen Lieferanten beeinflusst werden. Gleiches gilt für das Eintreten von Umständen, die die Veranstaltung unmöglich machen, aber\nvon der Agentur nicht verursacht wurden oder in anderer Weise zu\nvertreten sind.\n5. BEAUFTRAGUNG DRITTER / FREMDLEISTUNGEN\n5.1 Die Agentur ist nach freiem Ermessen berechtigt, die Leistung\nselbst auszuführen oder sich bei der Erbringung von vertragsgegenständlichen Leistungen sachkundiger Dritter zu bedienen.\n5.2 Die Beauftragung von Dritten im Rahmen einer Fremdleistung\nerfolgt entweder im eigenen Namen oder im Namen des Kunden. Die\nAgentur wird diesen Dritten sorgfältig auswählen und darauf achten,\ndass dieser über die erforderliche fachliche Qualifikation verfügt.\n5.3 Soweit die Agentur notwendige oder vereinbarte Fremdleistungen in Auftrag gibt, sind die jeweiligen Auftragnehmer keine\nErfüllungsgehilfen der Agentur.\nALLGEMEINE GESCHÄFTSBEDINGUNGEN DER MOSAIK MANAGEMENT GMBH\nPrinz-Friedrich-Karl-Straße 34, 44137 Dortmund · Tel. 0231- 28219960 Fax. 0231- 28219961\nVertreten durch: Bernd Baringhorst, Mathias Kolta, Sebastian Schalkau\nAmtsgericht Dortmund HRB 26338 · Steuernummer 317/5918/1536\n6. HONORAR/ ZAHLUNGSBEDINGUNGEN\n6.1 Bei Auftragserteilung gilt es, einen Abschlag von 25 % der\nvereinbarten Rechnungssumme zu zahlen. Die restlichen 75 % sind\nin drei gleichen Teilen nach Auftragsfortschritten fällig.\n6.2 Soweit nicht anders vertraglich festgehalten, gilt ein Zahlungsziel von 7 Kalendertagen ab Rechnungsdatum.\n6.3 Die Agentur wird bei Zahlungsverzug die geltenden Sätze für\nVerzugszinsen gem. § 280 BGB berechnen.\n6.4 Das angegebene Honorar ist ein Nettohonorar, es ist zuzüglich\ndie gesetzliche Umsatzsteuer zu entrichten.\n6.5 Die angegebene Summe des Kostenvoranschlags kann abweichen. Bei einer Abweichung von mehr als 20 % wird die Agentur\nmit dem Kunden Rücksprache halten.\n6.6 Die angegebenen Kosten sind Agenturkosten. Kosten von Drittanbietern, Künstlern, Photocredits usw. werden separat aufgeführt\nund gesondert berechnet.\n7. VERWERTUNGSGESELLSCHAFTEN\nDer Kunde verpflichtet sich, anfallende Gebühren für Verwertungsgesellschaften und Künstlerabgaben abzuführen, wie z.B. die\nGEMA-Gebühr. Verauslagt die Agentur diese Ausgaben, so hat der\nKunde gegen Nachweis diese an die Agentur zu erstatten. Dies\nkann auch nach Vertragsende erfolgen.\n8. KÜNDIGUNG\n8.1 Eine Kündigung bedarf der Schriftform.\n8.2 Eine vorzeitige Kündigung des Vertrages durch den Kunden ist\nunzulässig. Das Recht des Kunden, aus wichtigem Grund unter den\nVoraussetzungen des § 626 BGB zu kündigen bleibt unberührt.\n8.3 Kündigt der Kunde den Vertrag vorzeitig, ohne dass ein von\nder Agentur zu vertretender wichtiger Grund (§ 626 BGB) zur Kündigung oder ein gesetzlicher Grund des Rücktritts vorliegt, oder\nverweigert der Kunde die Festsetzung des Vertrages oder die Abnahme des Vertragsgegenstandes / der Veranstaltung endgültig,\nso sind alle bis dahin angefallenen Kosten zu zahlen.\n8.4 Bei Veranstaltungen sind die folgenden Prozentsätze\nzuzüglich der Umsatzsteuer verbindlich:\n· bis 60 Tage vor Veranstaltungsbeginn: 50 %\n· bis 40 Tage vor Veranstaltungsbeginn: 65 %\n· bis 10 Tage vor Veranstaltungsbeginn: 90 %\n· weniger als 10 Tage vor Veranstaltungsbeginn: 100 %\n9. GEHEIMHALTUNGSPFLICHT\nDie Agentur sowie alle Erfüllungsgehilfen verpflichten sich, alle\nKenntnisse eines Auftrags geheim zu halten und vertraulich zu\nbehandeln.\n10. SOCIAL MEDIA KANÄLE\n10.1 Die Agentur weist den Kunden vor Auftragserteilung ausdrücklich darauf hin, dass die Anbieter von «Social-Media-Kanälen»\n(z.B. Facebook, im Folgenden «Anbieter» genannt) es sich in ihren\nNutzungsbedingungen vorbehalten, Inhalte zu löschen oder nicht\nzu veröffentlichen. Die Agentur ist bestrebt, das bestmögliche\nErgebnis für Ihre Kunden zu erzielen, ist aber nicht verantwortlich\nfür das Handeln der Anbieter.\n10.2 Der Kunde ist gemäß § 4 BDSG für die Zulässigkeit der Erhebung, Verarbeitung, Löschung und Nutzung der Daten sowie die\nWahrung der Rechte der Betroffenen verantwortlich.\nDer Umgang mit den Daten erfolgt ausschließlich im Rahmen der\nBeauftragung und den vom Kunden erteilten und mit diesem abgestimmten Weisungen.\n11. GERICHTSSTAND / SALVATORISCHE KLAUSEL\nDer Erfüllungsort ist der Sitz der Agentur. Der Gerichtsstand\nentspricht dem Ort des Firmensitzes und dem damit für Dortmund\nzuständigen Gericht. Sollten einzelne Bestimmungen dieser Bedingungen unwirksam sein oder werden, so wird die Wirksamkeit\nder übrigen Bedingungen hierdurch nicht berührt. An die Stelle\nder unwirksamen Bestimmung tritt eine Ersatzregelung, die dem\nmit der unwirksamen Bestimmung angestrebten Zweck möglichst\nnahe kommt.\n\n
    \n
    \n\n\n\n
    \n \n
    \n \n
    }\n \n \n )\n}\n\nexport default NewPopup;","import \"babel-polyfill\";\nimport React, { Fragment, Suspense } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter, Switch, Route, Redirect } from \"react-router-dom\";\nimport { Provider } from \"react-redux\";\nimport store from \"./redux/store\";\nimport config from \"./config/api.config.js\";\nimport { routes } from \"./route\";\nimport { DefaultProtection } from \"./components/defaultProtection/defaultProtection\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Login from \"./pages/Login/Login\";\nimport EmailVerification from \"./pages/EmailVerfication/EmailVerification\";\nimport ForgotPassword from \"./pages/ForgotPassword/ForgotPassword\";\nimport ResetPassword from \"./pages/ResetPassword/ResetPassword\";\nimport i18next from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport HttpApi from \"i18next-http-backend\";\n// import LanguageDetector from \"i18next-browser-languagedetector\";\nimport \"./assets/css/responsive.scss\";\nimport \"flag-icon-css/css/flag-icon.min.css\";\nimport VerifyEmail from \"./pages/EmailVerfication/VerifyEmail\";\nimport NotFound from \"./pages/Numbers/NotFound\";\nimport Register from \"./pages/Register/Register\";\nimport auth from \"./auth\";\nimport LocalStorageService from \"./LocalStorageService\";\nimport NewPopup from \"./components/popupMenu/NewPopup\";\n\nexport const history = require(\"history\").createBrowserHistory();\n\ni18next\n .use(HttpApi)\n // .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n supportedLngs: [\"en\", \"de\"],\n fallbackLng: \"de\",\n debug: false,\n // Options for language detector\n detection: {\n order: [\"path\", \"cookie\", \"htmlTag\"],\n caches: [\"cookie\"],\n },\n // react: { useSuspense: false },\n backend: {\n loadPath: \"/assets/locales/{{lng}}/translation.json\",\n },\n });\n\nconst loadingMarkup = (\n
    \n \n
    \n);\n\nconst Root = () => {\n return (\n \n \n \n } />\n \n\n \n \n \n \n\n {/*test*/}\n \n {/*test*/}\n\n \n\n \n\n {/* Should Not Be Here */}\n {routes.map(({ path, Component }) => (\n \n ))}\n {/* */}\n\n {auth.isAuthenticated() &&\n !auth.isTokenExpired() &&\n LocalStorageService.get(\"access_token\") ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nReactDOM.render(\n \n \n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n","import { \n SEARCH_TASKS,\n ADD_TASK,\n UPDATE_TASK,\n DELETE_TASK,\n TASK_INSERT_FILE,\n TASK_DELETE_FILE,\n TASK_BY_ID,\n TASK_DONE,\n INSERT_TASK_ATTACHMENT,\n TASKS_WAITING_FOR_APPROVAL,\n APPROVE_TASK,\n REJECT_TASK,\n TASKS_BY_BENEFACTOR,\n ASSIGNED_TASKS,\n DELETE_TASK_ATTACHMENT,\n CHANGE_TASK_RESPONSIBLE,\n CHANGE_TASK_DEADLINE\n} from '../actionTypes';\nimport generateAuthRequest from \"../../helpers/generateAuthRequest\";\n\nexport const searchTasks = (params) => ({\n type: SEARCH_TASKS,\n payload: generateAuthRequest('GET','api/Tasks', params)\n});\n\nexport const addTask = (params) => ({\n type: ADD_TASK,\n payload: generateAuthRequest('POST','api/Tasks', params)\n});\n\nexport const updateTask = (params) => ({\n type: UPDATE_TASK,\n //payload: generateAuthRequest('PUT',`api/Tasks/${params.taskId}`, params)\n payload: generateAuthRequest('PUT',`api/Tasks/update/${params.taskId}`, params)\n}); \n\nexport const deleteTask = (params) => ({\n type: DELETE_TASK,\n //payload: generateAuthRequest('DELETE',`api/Tasks/${params.taskId}`, params)\n payload: generateAuthRequest('DELETE',`api/Tasks/delete/${params.taskId}`, params)\n});\n\nexport const insertTaskFile = (params) => ({\n type: TASK_INSERT_FILE,\n payload: generateAuthRequest('PUT',`api/Tasks/insert-file/${params.taskId}`, params.formData, params.taskId)\n});\n\nexport const deleteTaskFile = (params) => ({\n type: TASK_DELETE_FILE,\n payload: generateAuthRequest('DELETE',`api/Tasks/delete-file/${params.taskId}/${params.fileName}`, params)\n});\n\nexport const getTaskById = (params) => ({\n type: TASK_BY_ID,\n payload: generateAuthRequest('GET',`api/Tasks/${params.id}`, params)\n});\n\nexport const completeTask = (params) => ({\n type: TASK_DONE,\n payload: generateAuthRequest('PUT',`api/Tasks/submit-task/${params.taskid}/${params.processid}`, params)\n});\n\nexport const insertTaskAttachment = (params) => ({\n type: INSERT_TASK_ATTACHMENT,\n payload: generateAuthRequest('PUT',`api/Tasks/insert-attachments/${params.TaskId}/${params.ProcessId}/${params.taskOwner}`, params.formData) \n});\n\nexport const getTasksWaitingForApproval = (params) => ({\n type: TASKS_WAITING_FOR_APPROVAL,\n payload: generateAuthRequest('GET',`api/Tasks/fetch-waiting-tasks/${params.userId}`, params) \n});\n\nexport const approveTask = (params) => ({\n type: APPROVE_TASK,\n payload: generateAuthRequest('PUT',`api/Tasks/approve-task/${params.taskId}/${params.processId}/${params.taskResId}`, params)\n});\n\nexport const rejectTask = (params) => ({\n type: REJECT_TASK,\n payload: generateAuthRequest('PUT',`api/Tasks/reject-task/${params.taskId}/${params.processId}/${params.taskResId}`, params)\n});\n\nexport const getTasksByBenefactor = (params) => ({\n type: TASKS_BY_BENEFACTOR,\n payload: generateAuthRequest('GET',`api/Tasks/fetch-benefactor-tasks/${params.userId}`, params) \n});\n\nexport const getAssignedTasks = (params) => ({\n type: ASSIGNED_TASKS,\n payload: generateAuthRequest('GET',`api/Tasks/fetch-assigned-tasks/${params.userId}`, params) \n});\n\nexport const deleteTaskAttachment = (params) => ({\n type: DELETE_TASK_ATTACHMENT,\n payload: generateAuthRequest('DELETE',`api/Tasks/delete-file/${params.TaskId}/${params.ProcessId}/${params.taskOwner}/${params.fileName}`, params.formData) \n});\n\nexport const changeTaskResponsible = (params) => ({\n type: CHANGE_TASK_RESPONSIBLE,\n payload: generateAuthRequest('PUT',`api/Tasks/change-responsible-task/${params.taskId}/${params.processId}/${params.prevRes}`, params)\n});\n\nexport const changeTaskDeadline = (params) => ({\n type: CHANGE_TASK_DEADLINE,\n payload: generateAuthRequest('PUT',`api/Tasks/change-deadline-task/${params.taskId}/${params.processId}/${params.responsible}`, params)\n});","import React from 'react';\nimport NoData from '../../assets/images/noData.png';\n\nimport './searchNothingFound.scss';\n\nconst SearchNothingFound = ({ children }) => {\n return (\n
    \n

    {children}

    \n
    \n \"no-data\"/\n
    \n
    \n );\n};\n\nexport default SearchNothingFound;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARUAAAEPCAYAAABso1AfAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABwPSURBVHgB7d1dbBzXdQfwc+/scqkPUqRTu5EpW6sETWM7ral8VVYkc5ikEYykIBWYsp8iqnWBAn2QHPSpBSrqoUUKFJWEIkUfEojKU2EFFfkQpFbiciirttEGEY3Ycho05rqmJcFOxRUp2SJ3Z27vmd2llhQ/dmdmdz72/wMYkRTl0DL5573n3jNHEECE7NkzmE0bmUEpnQEika36rSmH1PjLL58bJYg0QQAh27fvaVNK2SdIDZJDeaHkONkLY9ZrY7nKx5j6Yxwhh/UX7DZRWHy++vcgWhAqHnRdPt+1JbNVf4E7fUqIXn6f/ovMKYdywrHPzvzeUxbBmkxzsKtYTPVKIQf039sgKZVzgyS9MGpZY/l1/+yXnjmmpDoqjMXdG30shAOhUqeHf3nhqOOIESLVtdbHcMAUFuz+67ufyhG4OEhsOz0oSehtDfUqpcYlqTFKFafqDQcOFsdQOy9efOF5gshBqNRhx1s/Oa5/qo7U+OF55RT63/vM16eoRa2sjwhFZ4kcy7r0Q4t86ts/NCGMwkGsVqInRVCTlYHSKdN0qGs7PZrpoB1tm+jNO/N04db79Ort2cqHdAmZnvj45R/vbqUVy1J9RNFwaVtD41QoHAm6BuI4ervkZIb1q6cIIgWhUgMdDNnqQHmsvYO+t+Nx2pHetPQxT2zupufue5jO3bxKI9d/RXNOgd/dlcoYZ/Sv/dRkS3UfoQZIcd1HdanSCcqJa48eGKOA3FsfoSmhtzZkFBpa8zDSYkzZNv/dIlQiBtufGvS8eeGMEPonr8ZBcm7n55YFykqvfjhLh9752d132HZ/M4q3WR1+xfbUYR0gpv7mNtf8QJ+fj1sfKWSGK9saP/URP7AFiiasVGqgA2Ww8vq37//EuoHCeNXyxJbuu1shQ/Cft6gBdvzix6Yw5IAjxGBREa+oNv5DhnG83s+nuj6iiqLLEHo1otQJ69K5uv45QVJKTDoFbIGiBqGygZ7LP+Ij46WTngMdD9T054Y6H1wKFUWyjwLC25pNmc1mSogB/U01WN7WkKghS6qYu95+aef0J77yznof5NZHlh37NqY+4pXURV8lBQckQiVCECobECm5FCidRkoXaGv7K+PibYWsCiUvVq2PuCFSX5JUW7xTOEgrvhnvqY+QsgSpSV0fORHFLQafIvXtP3SGP29sgaIDobIBVXTywjCoXnN2cel1Rx8vU5163vhRrzDaBu7WR1Q5Q7wHSTVBku+LnKqujyhbZHVtZFwqh+sjkQySlbieI3QQUoO2l1A/hMoG0rQ5VyT3JMcNCi7Ccs1kIy/Ov7/0ulDOO1SD6vqIqLU+4p257+uHJ9TND3XJR69GmlAfuXXrFl9609s2ZeqXrBAiZ9v2ke7u7hx5xAVihxpXs4L6IVQ2kNvdn99x5YKlXzX57ZMf/Jqe2Pn5df/MTOGOGz4V+hto1SNcd1uT3jIoDerzUR/xbOYvvjGe6x9qaD1ifn7e1L8MOI4zqF+ylffrQOFfsoZhXJ6dne3XweLtkqA+cRJ2Gx8tHyOIBEmwMds+UXmVw4KDZS1zTpGem5nSwfKR+7YilbONuz9FOUh6rvzk2I63LkxszWydFpLOKL4ots61/0YpPtBhUsB0QHTNzc0N65cz+mVWB+qEfjmmQyS7xh/p0sFylDwqbdFUjhsOCSIB91RqpFcrE0R3734MbXuQ/uRjD9NjmQ73bQ4TvlX77atvLgUKU+Q8L2w1RalU34b3R5ovf2vh9q787oO+aiccJFJKXUgu9fVQ/YXpvN4G7dKrFU+fh7l/aNhRInvx0gsjBKHD9qdGRWEfMZScECSy/DbfnOUXvq7fqQu5vOVZRV6QcZwMvQpRTdrT1Kdra6q9N++hHlHe1vRxfYTId1ByCHkvthqFMeG0ceiPEIQO258aXX/kqZwtHL5uv2zvz9fx1wgU1hXGtqYupYt5NeEg0S8nq7Y1I0TBrLz0Sqfmz2MldwukVH7v3m/uJAgdQqUOHCwzj35tt3LsI7QiXOJLHl7rd9aqj5DPezer0Vunw+QDNxgaIn2QIHQIlTqVjn1TO3U1KimXrbr436nyBgfJzZs3j+kQmdAFVD7C4pOVYWpAkKz8PPT/t0kecYNhqRcJwoZC7Qb4tIbrDnx/RJEcjvx2xoPH2raM/vC3fz8XUH3EM/3/f2Lbtm0j5FHf/memhbGAJ8KFDIXaVax1fySo26xRs1kYwyoChWS9BfLVI6WUM+4sprk2M0oQGoRKGT82oJBJDZb6a0o/rf3218TFfy3M0bwqUocI/cvB5O2X16Nlvl2rDLc2M0oQmpauqXAtgZ/o1nPlwuVixpgWpE5G7B5J05y//RuKAr7vQh6VHlMpTIJQtdRKZdX6iF6OoLBE9NJHN+hbWz9OYStfoPPcOqDXlZN8uzaI5+CCN4kPlUp9REi9rSFpJr0+4tUvC7ejsgXq9bUFUs4oGgzDlchQWa0+UjroQpCsZd6x9WpllgY3308h414gU/86Rl5wg6HTdpIgNImpqSzVR966MN3q9RGveLUSEZ7vm1Ru16LBMDyxXamgPhK8CGx9Knj7coQ84tu1epVqErZAoYhdqPC4jFS7caZq7ARhWxOMwS2hb30q3Nu1uq5ikQdGemFU2enzBKGI1faHAyWdMSbKj1dM3M3WMP155w7qMTIUFb4bDKn0zF2CpotVqBhtxnG9JskSBKJDptzC7Oj9j7qhEiXlo2XPeHyHXRrfAU0Wq+2PEO4zN8CHB1MZ+uqmbvpy+330xUwnRVj2o48+2rlp06aanu+7EsZ3hCdWdc2eKxf0qQ5WKvX6gg4PDpCvbLqPPp3eTHHhu8HwyUOXhVzsR4Nhc8VrpeLQuP4R5Pl5pq2CtzUcHhwiB7f8VpROderiu8HQUZNCtZnk9c4LeBKvrzZl6y8OA6GyCg6Sr7R3u0HyxfaO2AbJCv4bDIm4wRCh0kSxu9ax48oFfnAQqvoUq/qIZ3oL9LzeAtVdF6ncY7pv/Ofnbxz8/GklZF7YxSk/g+mhNrEKFT4inP67Pz5jd7R7Pm6Mu0p9hE9telLROQJuIKuzs7O/1g92w6R961FSPAfo3msH+gs+p4QYnXnkD08QNETkQ6V6LKf+dLM3/uizudlvfNakFpGU+ogPNY/vqNxjquXaAYdLYcHuv777qRxBoCIZKnv2DGbb2toOC+XOydGfpJgkfUTI7ezZyxNdxUxhlhKMg4QDhLc1j7RtbsUgWUaHSv9Gt2vXCpTKCJU523YnH1TjYJlfuL3b79wjWC4yX6379j1tSiEHBPd9KJUTthgne/GI9dpYrvrjVo4hTYpWqI94Vb5da633Mdy6odTdQOF518/f/8llc695umT1sDcOoK2ZLed1otS8vYKNhbZS4W1NsZjqNdzRDPy0LmXpT2aSB0NtdK/g4Sv/dswhGfv29i+U747wqU2L1Ee8yuu6Svdav9nzxoVhHh9befvA1gfoew89vurHztlFeu69KXr1dtViV6+EUMANTlNXKtX1EWWLrD7yG9dbnLPWpXN1daQuCjWWUhS7UEF9xLN1GwyF5Cv9pabSHelN9A89j635D+o0UvS9nl564n8uLW2HRMrgY2eLIBAN/6reu3eoN5USA1wfUUUeiKcm9fbmhA4SizzioV56C8TDvCJ/bR/1kWDoLZBJa37ju485cB3ouF/XUdb/O+ZgGeraTt+/8b/lP47n7gSpIV/hS/URof9jOSrv1kfSiwcDvS6t1DgJEclQ4frIQX3kWzn+hUBwg+HIyne6hXsqLB0dH+h4gGrxWKZj6XU0qQYrkFBxtzW2YUqSA3frI3pFIgsnrIsN6rtwHIsM4zhFBOojjSX0D5DVGgzvtN/pSilj6e05u0AQLs+hsqI+0q23NxwkdddH6qW/sLKLi4uD3Br/B1d/RvNOkcLA2xpehXxZn9jwqQ22NY2n/7vzrORlt2vLW2H+weWuVt4tn+xs5M2F+eo3caQcoLq+E9xtjZR9QdZHajE/P2/qX/p4LGehUDB1oLjv5y3GD25do2ZBfSRc64zv4Pqaya98/8a79Nx9O2kjL85/cPcN5UwSBGbD74qm1EdW4CayVCrF9ZIBHSQ8knPVXh9eJTQ6VD6d3qK3Nd2oj0TDqg2GyrHPCuk+gd+9g3Li+n/T8Y//7pr/kJO/+fXSXRX3zyuFhsMA3XNPpVQfSQ9KvTK4Wx9xxsmwrUYHiWEYfMmJ29351w2bBnmsxFevXw58C4T6SKQd6ezsHF35zp4rL04LEtnK20PbHqRv3/9JfcTcvvQxM4U7NKID58Vb7y+9T5HKvffogV0EgVm2UnnyyUPHlU3Densz3uz6CHm4IdshDffeB88C9qPy2IAvtHeiPhJ9/ENn9J73OuIgSZqg8g+jczevui+VG7Vz+gfPm3fmV/6pvC0c3KYNmLtS4dUJP31cKHqdUoWRRq5IKvURx3E4THwfCf/g1nX6Tj5H9UJ9JLbWvF3b88aFXpLqfPWKZS28QuEgeu8zX5siCJQbKnqFclI6dNO69MIIBWxlfYQCfhZKPVugSl0E9ZHg/KdeJf77nRtuw16zXFrIj/2fU1j1B59SIlt9GW4tgi/SCcpRFCiVV7YznpRWAcGFWIPk0clLLxykgFTVRyrbmoY+VOkH89foOzdXfz4y6iON8925GfcFAiLESBKe85IyhHFYKPs0+cRBoo+bh73WR/z4Vsd2+qKuh3x37j1378zza1Afaayx2x8gUIKm1MiOX/x4Mu4rlpT+F+m1Lv3QV0FWB0qvXpksFcnCwEe///ixTxE0x0t6ywMNYIgNH/MQdVLvK30HgQ4UHjGJ58a2kDmneTWUViKE3EYxx6Hi66SnfJqTJQAAcqcYqLyfmbPFYhF9EwCwRPqdOdvd3c3n/AgWAHClgpg5q/gGrvtYSPDqpZ/+B7326hRNv/0uxcHbf2YS9aCMFrTNP5se7Nt/yKSoEypPSuQcUuMvv3xudNlv8f/4nTk7NzfHFevzBHV7W4fI3/7NP+Xfv/bB6crEAIqBHW9dmMAT04InBI2++8jXGtoeExRz71CvY4hjOkT6REHnR/kh9e4lDr8zZ23btvQJ0NIzLaA2HCh/9Zd/n7t9Y7Z/5dQAgKizXjnHpY9h03w2q0T6vLln8CB/HUv+zdLMWTVAHpVb0dFDUYfbtz90VygIFIg7y/qXnCjSEdWmg0Uf+rihUlpy82MOvOO6CkHNXnv1MvGWB4ECScCrFuWIcfdpkJV3KqJJc9/TJnnkOM4oQc3Gx3+qz+MXRwkgIWRKjvLjZZdCRW+BLIeE58Hn5S2QRVCT6el3p7BKgSThbRDPO18KFZ4MWG4G9ExvgfCsz1o5Cnd7IIHE3Se/8XFy3/6h3N6939z5yiv/+g55oLdAfAoUmbEZSTc9Pe0+q0b/MMhSkx249auumyqcSQZJlhXt2VdnZoapyfSCIPfQQw9ZFIBlzwVwHDluCHnPGIRa8VjKubk5HC03wczMTK+Uku8GZSkEn5QZ+rmDUAnao6lNZnkaY9NdvXo1t7Cw0L9r164c+SCr3zDSYowLLeSDTryzBA3FK5QwAwUSK5vJZCb464t8WBYqbqFFiS4/DYZ6C4RxBw3W1uZeVMwSQPCy5ce/eiZXvkMfLY/7bDC0CA2GjRbJGdKQDH5rdPLedzhWAFsgXIQDaFH3hEr5dm3WzxZIJ51FANCS5GrvdFcaRe/7Ktu2UVdJuA5hEMBq5OrvVGO4XQvr+ZTRThC8z6U2U9ytGiqUKk4FcLsWdZUEezbzMdou0wTB+R0d1N9o66a4WzVUSg9rUjmfDYbYAiUYb3/+eesu95sA4eIP//39afsD7t9nEqw5aUsQnXVImuRxG6O3QLn5+fkpvWLB8WdCbZdt9Nebewigmlzzd7jBUJKvLZBerWALBNBi1gwVdwukVJ4bDMkjbjAkAGgpcr3fLDUYpj0PbsftWoDWs26ooMEQAOq1bqiUnuQks2gwBIBayY0+QCln3F5Me74IR6Wn7GMLBNAi5MYfoMakQX3kEcZ3ALSWDUMF4zsAoB4bhgrD+A4AqFWNoWKjwRAAalJTqBiGbaHBEABqUVOooMEQAGpVU6gwvl1bbjD0hBsM9S85AoBEqzlUjPTCqBDK89EywxYIIPlqDpXSFogIt2sBYD01hwpTSkxifAcArKeuUMH4DgDYSF2h4t6uFf4mGOqjaWyBABKsrlBhylGTZLtjNz2xbdsibIEAEqvuUOEGQ0XK8xYIDYYAyVZ3qKDBEADWU3eoMDQYAsBaPIWK3gJZaDAEgNV4ChV3fIf/BsNJAoDE8RQqlQZDjO8AgJW8rVQI4zsAYHWeQwXjOwBgNZ5DxR3fofzdrkWDIUDyeA4Vpo+WMb4DAJbxFSpug6FBh8kjPlrGRTiAZPEVKuXbtVmfDYYWAUBi+AoV5q40iqle8si2bdRVABLEd6hwgyFu1wJAhe9QoVRxCuM7AKDCd6hgfAcAVPO/UqFgxnfo1Q6esQKQAIGEiju+Q5KvLZBerWALBJAAgYSKuwVSKo8GQwAIJFQYGgwBgAUWKmgwBAAWWKi4DYYks2gwBGhtgYUKU8pBgyFAiws0VPh2rTTI8xB3jO8AiL9AQwXjOwAg0FBhGN8B0NoaECo2GgwBWljgoWIYtiWk8FxXYRjfARBfgYdK5XYttkAArSnwUGFBNBjqX3IEALHTkFBxGwyF8rsFwikQQAw1JFRKz1ghwu1agNbTkFBhSolJu5AZJo/QYAgQTw0LFXd8h/8GQ2yBAGKmYaGC8R0AralhocICGt+BLRBAjDQ0VLjBUAnha4IhocEQIFYaGipoMARoPQ0NFYYGQ4DW0vBQ0VsgCw2GAK2j4aFCRmEsgAmGaDAEiImGh0plgiHGdwC0hsavVAjjOwBaSVNCBeM7AFpHU0LFHd+hRBcaDAGSrymhwvTRMsZ3ALSApoWK22BokK/btbgIBxB9TQsVNBgCtIamhQoLqMEQACKsqaHCDYa4XQuQbE0NFUoVpwK4XYu6CkCENTVUKrdrfTYYYgsEEGHNXakQxncAJF3TQyWg8R24XQsQUU0Plcr4DjQYAiRT00OFocEQILlCCRU0GAIkVyih4jYYksyiwRAgeUIJFaaUgwZDgAQKLVT4dq00yPMpEMZ3AERTaKGC8R0AyRRaqDCM7wBInpBDxUaDIUDChBoqhmFbQgq/t2sxvgMgQkINFfd2rVJ5c++Q52esYAsEEC2hhgpzGwylry1QjtBgCBAZoYdKQA2GOAUCiIjQQ6XSYIjbtQDJEHqoMKXEpF3IDJNHaDAEiI5IhIo7vsN/gyG2QAAREIlQwfgOgOSIRKiwgMZ3YAsEELLIhAo3GCohfE0wJDQYAoQuMqHC4zvQYAgQf5EJFT5aRoMhQPxFZ6VC7hbIQoMhQLxFKlTIKIwFMMEQDYYAIYpUqFQmGGJ8B0B8RWulQhjfARB3kQsVjO8AiLfIhYo7vkOJLjQYAsRT5EKF6aNljO8AiKlIhgo3GAqDcLQMEEORDBVuMBQkHvezBdJwuxYgBJEMFRZQgyEANFlkQ4UbDHG7FiB+Ihsq3GAYwO1abIEAmiyyoVK5XeuzwRBbIIAmi+5KhcrjO0ia5BHGdwA0X6RDJaDxHbhdC9BEkQ6VgMZ3WAQATRPpUGEY3wEQL5EPFZmSo2gwBIiPyIeK22BIMosGQ4B4iHyoMKUcNBgCxEQsQoVv10qDPJ8CYXwHQPPEIlTKEwxN8gG3awGaIxahwjC+AyAeYhQqNhoMAWIgNqFiGLYlpPB7uxbjOwAaLDah4t6uVSpv7h3y/IwVHC0DNF5sQoW5DYbS1xaIT4ByBAANE6tQCajBEKdAAA0Uq1AJqMEQWyCABopVqDA0GAJEW+xChcd3BNBgiC0QQIPELlTKt2t9NRgKISwCgIaIXagwjO8AiK5YhgrGdwBEVyxDBeM7AKIrlqHCR8toMASIpniuVMjdAlnYAgFET2xDhYzCWABbIDQYAgQstqFSmWC4d+83d5JHGN8BELz4rlSo1GBoiPRB8gi3awGCF+tQMdJiDOM7AKIl1qGC8R0A0RPrUGG80sD4DoDoiH2ocIOhMAhHywAREftQ4QZDQeJxP1sgDbdrAQIS+1BhaDAEiI5EhAoaDAGiIxGhggZDgOhIRKhUbtf6bDDEFgggAMlYqVB5fAdJkzzSW6AcYXwHgG+JCRWM7wCIhsSECsZ3AERDYkKFYXwHQPgSFSoyJUfRYAgQrkSFittgKEQXtkAA4UlUqDDlqEk0GAKEJ3GhwrdrpUGeT4HKt2unCAA8SVyolCcYmuQDjpYBvEtcqDCM7wAITyJDBeM7AMKTyFBxx3dI4fd2baDjO/Q/j4Nq1LbtI/qlmwASKpGh4t6u1d/E5t4hz89YCeJoWQdJTr+c1iHSv23btu7Ozs4jehU0Wl4JASRSihKKGwyFVLwF8nSSo7/xp+bm5nL61SzVx+JVDs8UKt/QBWgpiQ0VbjBUdvo8+cC3a4UQxzf4mLz+mCk+MeICL1Yh0OqSWVOhwBoMT/EWZuX7q+sj+mN26W0Nb29OIVAAErxSYdxg6JQaDE+RBxwSs7Oz/YZhmPrNPh0mN7nWgm0NwNoSHSo8vkNJd/viKVRY+eFNo+UXANhAYrc/rHy7NutzfAcA1CHRKxXGBVRRGt9hUcg43Gw7PShJDOhPjACSKPGhUjW+w6IQ7NkzmE0bmUF+zouyRVZwyJFzWtH6p0oAcZX4UHHHd9htZ/Rrx6hJ9u172pRS9glSg+RQXigap0LhiPXaWK7yMX37hhAqkEiJDxU+Wu7bd2iKGwxLNZbg8bamqLdYUsgBQTSotzY5wU+QMwr91sUxHDNDS0n+SkUTQo07SpoU4Bbobn2EDvO2Rm+zxqVyxvTK6ETljkyj8N0ZIQQBNIL+2vL19dsSoeI2GNptl3UQnPLzDb+sPlIUXYY72N05YV06Z1ETFQqFsUwmc1K/ilMtCFpucXHR10PKWiJUOEjMLz1z2hFtXMd4vp4/u1QfUTRc2tbcWx9ptl27duVnZmZO6M/rJAEEJ+84zgn99ZUjH1pqDf3kvqFTJIW6ePGFNYPl3voITfH2iVc7QW5rdKF2YvLSuX7y4dq1a1n9RTCsX91JAD7oLc/rCwsLY34DpW//M9Otsf0pu3jp3DFz36GRvv2Hph1HnFbCnioWizn+vepj32bWR/zYvn17Tv8yQgAR0lKhwqxLL4yY5rOjBtmmUvKokUrruoTI6+Pf1/X2pun1EYCkablQYe58IPTzADREont/AKD5ECoAECiECgAECqECAIFCqABAoBAqABAohAoABAqhAgCBQqgAQKAQKgAQKIQKAAQKoRIWIbIEkDgKoRIeQZhHBElims9m+UFmCJWQ8PB3p9jWtCf8AzSa4ziHhaCzCJWQyNTiKf0f4LC5ZzBLADHHqxQeSWO9fG4UoRISfqKcUM4RlW6bQLBAnHGgKMc5L4p0hN/GnIeQ8TwiJcRxh+S4UVgYC/OB2gD14Jqg47Qd5RUKB4r1yjn3KfwIlQhwC1w2P96SDutTIZ77jAFkEG1Cf406Ki9ITJLeylc/y/n/AdDuN4O5JcuLAAAAAElFTkSuQmCC\"","import React, { useState, useEffect } from 'react';\n/* import Button from '@material-ui/core/Button'; */\nimport { useTranslation } from 'react-i18next'\n\nimport './search.scss';\n\nconst Search = ({ getSearchValue, customClass }) => {\n const { t } = useTranslation()\n const [search, setSearch] = useState('');\n const [searchTouched, setSearchTouched] = useState(false);\n useEffect(() =>{\n if(getSearchValue && searchTouched){\n const timer = setTimeout(() => {\n getSearchValue(search.trim());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, 400);\n\n return () => {\n clearTimeout(timer);\n };\n } \n },[search]);\n\n return (\n
    \n { \n setSearch(e.target.value);\n setSearchTouched(true);\n }}\n />\n {/* {\n getSearchValue(search);\n }}\n >\n Search\n */}\n
    \n );\n};\n\nexport default Search;\n","import React, { useState, useEffect } from 'react';\nimport Pagination from '@material-ui/lab/Pagination';\nimport TablePagination from '@material-ui/core/TablePagination';\n\nimport './pagination.scss';\n\nconst TablePaginationAction = (totalPages, page, handleChangePage) => {\n return (\n \n );\n};\n\nconst CustomPagination = ({ params, getPageNumber, defaultPage = null }) => {\n const [page, setPage] = useState(1);\n const [rowsPerPage, setRowsPerPage] = useState(params.pageSize ?? 5);\n\n const handleChangePage = (event, newPage) => {\n setPage(newPage);\n getPageNumber(newPage);\n };\n\n const handleChangeRowsPerPage = (event) => {\n setRowsPerPage(parseInt(event.target.value, 10));\n setPage(0);\n };\n\n useEffect(() => {\n setPage(1);\n }, [defaultPage]);\n\n return (\n \n params.totalPages <= 1\n ? null\n : TablePaginationAction(params.totalPages, page, handleChangePage)\n }\n />\n );\n};\n\nexport default CustomPagination;\n","import React, { useEffect, useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport auth from \"../../auth\";\nimport App from \"../../App\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableContainer from \"@material-ui/core/TableContainer\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Breadcrumbs from \"../../components/breadcrumbs/breadcrumbs\";\nimport { useTranslation } from \"react-i18next\";\nimport config from \"../../config/api.config.js\";\nimport { logError } from \"../../helpers/helpers\";\nimport NothingFound from \"../../components/searchNothingFound/searchNothingFound\";\nimport { getProcessById, getProcessTasks } from \"../../redux/process/action\";\nimport { getAssignedTasks } from \"../../redux/task/action\";\nimport Pagination from \"../../components/pagination/pagination\";\nimport SortInput from \"../../components/sortInput/sortInput\";\nimport SnackbarError from \"../../components/alert/SnackbarError\";\nimport Search from \"../../components/search/search\";\nimport moment from \"moment\";\nimport { getUserById } from \"../../redux/users/action\";\nimport { useHistory } from \"react-router-dom\";\n\nconst MyTasks = (props) => {\n const dispatch = useDispatch();\n const history = useHistory();\n const { t } = useTranslation();\n const [assignedTasks, setAssignedTasks] = useState([]);\n const [defaultPage, setDefaultPage] = useState(false);\n const [selectedSort, setSelectedSort] = useState(1);\n const [errorMessage, setErrorMessage] = useState(\"\");\n const [openAlert, setOpenAlert] = useState(false);\n const [search, setSearch] = useState(\"\");\n const [member, setMember] = useState([]);\n\n useEffect(() => {\n const abortController = new AbortController();\n if (!props.currentUser) return;\n\n const userId = auth.getId();\n\n const fetchData = async () => {\n await dispatch(getAssignedTasks({ userId: userId })).catch((err) => {\n logError(err);\n setErrorMessage(\"Fehler bei Laden der Aufgabes.\");\n setOpenAlert(true);\n });\n\n if (props.members[userId]) {\n setMember(props.members[userId]);\n } else {\n let _member = await getMember(process.responsible);\n setMember(_member);\n }\n };\n fetchData();\n\n return () => {\n abortController.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.currentUser]);\n\n useEffect(() => {\n if (props.assignedTasks.length > 0) {\n formatTasks(props.assignedTasks);\n } else {\n setAssignedTasks([]);\n }\n }, [props.assignedTasks]);\n\n const formatTasks = async (tasks) => {\n let _tasks = [];\n for (const task of tasks) {\n let process = await getProcess(task.processId);\n task.processName = process && process.name ? process.name : \"\";\n if (process && process.responsible) {\n await getMember(process.responsible);\n }\n if (task.preTask === null) {\n task.waitForPreTask = false;\n } else {\n if (!task.toggle) {\n let isCompleted = await checkIfPreTaskIsCompleted(\n task.processId,\n task.preTask\n );\n task.waitForPreTask = !isCompleted;\n } else {\n const processTasks = await getTasksOfProcess(task.processId);\n const canRun = await checkIfTaskCanExecuteConcurrently(\n processTasks,\n task.preTask,\n task.name\n );\n task.waitForPreTask = !canRun;\n }\n }\n _tasks.push(task);\n }\n setAssignedTasks(_tasks);\n };\n\n const getProcess = async (id) => {\n if (props.processes[id]) {\n return props.processes[id];\n } else {\n return await dispatch(getProcessById({ id: id }))\n .then((res) => {\n if (res.value?.data) {\n return res.value.data;\n }\n })\n .catch((err) => {\n logError(err);\n setErrorMessage(\"Fehler bei Laden des Prozesses.\");\n setOpenAlert(true);\n });\n }\n };\n\n const getTaskStatus = (task) => {\n let status = \"\";\n\n let process = props.processes[task.processId]\n ? props.processes[task.processId]\n : [];\n if (!process?.isActivated) {\n status = \"Inactive\";\n return status;\n }\n\n if (task.waitForPreTask) {\n status = \"Waiting for preTask to finish\";\n } else if (task.compeleted && task.approved) {\n status = \"Completed\";\n } else if (task.compeleted && !task.approved) {\n status = \"Waiting for Approval\";\n } else if (!task.compeleted && !task.approved) {\n status = \"Active\";\n }\n return status;\n };\n\n const getPageNumber = (newPage) => {\n dispatch(\n getAssignedTasks({\n userId: auth.getId(),\n PageNumber: newPage,\n Sort: selectedSort,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n\n const handleSort = (e) => {\n setSelectedSort(e.value);\n dispatch(\n getAssignedTasks({\n userId: auth.getId(),\n PageNumber: props.pageParams.currentPage,\n Sort: e.value,\n Search: search.replace(/\\s+/g, \" \").trim(),\n })\n );\n };\n\n const getTasksOfProcess = async (processId) => {\n if (props.processTasks[processId]) {\n return props.processTasks[processId];\n } else {\n return await dispatch(getProcessTasks({ processId: processId })).then(\n (res) => {\n if (res.value?.data) {\n return res.value.data.tasks;\n }\n }\n );\n }\n };\n\n const checkIfPreTaskIsCompleted = async (processId, taskId) => {\n const processTasks = await getTasksOfProcess(processId);\n const task = processTasks?.filter((item) => item.id === taskId);\n if (task?.length > 0 && task[0].compeleted && task[0].approved) {\n return true;\n } else {\n return false;\n }\n };\n\n const checkIfTaskCanExecuteConcurrently = (processTasks, taskId, name) => {\n const preTask = processTasks?.find((item) => item.id === taskId);\n let preTaskParent = [];\n\n if (taskId === null || preTask.preTask === null) {\n return true;\n } else {\n preTaskParent = processTasks?.find((item) => item.id === preTask.preTask);\n }\n\n if (!preTask.toggle) {\n if (preTaskParent.compeleted && preTaskParent.approved) {\n return true;\n } else {\n return false;\n }\n } else {\n return checkIfTaskCanExecuteConcurrently(\n processTasks,\n preTaskParent.preTask,\n name\n );\n }\n };\n\n const getSearchValue = (search) => {\n setSearch(search.trim());\n if (props.currentUser) {\n dispatch(\n getAssignedTasks({\n userId: auth.getId(),\n PageNumber: props.pageParams.currentPage,\n Search: search.replace(/\\s+/g, \" \").trim(),\n Sort: selectedSort,\n })\n );\n }\n setDefaultPage(!defaultPage);\n };\n\n const getMember = async (userId) => {\n let _member = [];\n if (props.members[userId]) {\n _member = props.members[userId];\n } else {\n await dispatch(getUserById({ id: userId }))\n .then((res) => {\n if (res.value?.data) {\n let user = res.value.data;\n user[\"id\"] = res.value.data.userId;\n _member = user;\n }\n })\n .catch((err) => logError(err));\n }\n return _member;\n };\n\n const showTaskDetailView = (task, userType, status) => {\n history.push(`/task/${task.id}`, {\n task: task,\n member: member,\n userType: userType,\n isActive: status === \"Active\" ? true : false,\n });\n };\n\n return (\n \n {errorMessage && (\n {\n setOpenAlert(false);\n setErrorMessage(\"\");\n }}\n >\n {errorMessage}\n \n )}\n \n
    \n
    \n \n
    \n \n
    \n \n \n \n \n {t(\"No\")}.\n {t(\"Name\")}\n {t(\"Process\")}\n {t(\"Prozessverantortlich\")}\n {t(\"Fälligkeitsdatum\")}\n {t(\"Status\")}\n \n \n \n {props.isLoading ? (\n \n \n
    \n \n
    \n \n
    \n ) : !props.isLoading && assignedTasks?.length === 0 ? (\n \n \n {t(\"nothing_found_task\")}\n \n \n ) : (\n <>\n {!props.isLoading &&\n assignedTasks?.length > 0 &&\n assignedTasks?.map((task, index) => {\n return (\n \n \n {task.no + \".\"}\n \n \n showTaskDetailView(\n task,\n \"task_owner\",\n getTaskStatus(task)\n )\n }\n >\n {task.name}\n \n \n {props.processes[task.processId]\n ? props.processes[task.processId].name\n : \"\"}\n \n \n {props.processes[task.processId]\n ? props.members[\n props.processes[task.processId].responsible\n ]?.firstName +\n \" \" +\n props.members[\n props.processes[task.processId].responsible\n ]?.lastName\n : \"\"}\n \n \n {moment(task.dateBeDone).format(\"DD.MM.YYYY\")}\n \n \n {getTaskStatus(task)}\n \n \n );\n })}\n \n )}\n
    \n
    \n
    \n {!assignedTasks?.length ? null : (\n <>\n {assignedTasks.length > 0 && (\n \n )}\n \n )}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n currentUser: state.user.currentUser,\n members: state.user.byId,\n processIds: state.process.allIds,\n processes: state.process.byId,\n pageParams: state.task.assignedTasksPageParams,\n assignedTasks: state.task.assignedTasks,\n isLoading: state.task.isLoading,\n processTasks: state.process.tasks,\n});\n\nexport default connect(mapStateToProps, null)(MyTasks);\n","import React, { useEffect, useState } from \"react\";\nimport Select from \"react-select\";\n\nimport \"./sortInput.scss\";\n\nimport { useTranslation } from \"react-i18next\";\n\nconst SortInput = ({ handleSort, selectedSort }) => {\n const { t } = useTranslation();\n const options = [\n { value: 1, label: `${t(\"sort_newest_first\")}` },\n { value: 2, label: `${t(\"sort_latest_first\")}` },\n { value: 3, label: \"A-Z\" },\n { value: 4, label: \"Z-A\" },\n ];\n\n const [selectedOption, setSelectedOption] = useState(options[1]);\n\n useEffect(() => {\n setSelectedOption(options.find(option => option.value === selectedSort))\n }, [selectedSort])\n\n return (\n
    \n \n {\n handleSort(e);\n setSelectedOption(e);\n }}\n options={options}\n isSearchable={false}\n />\n
    \n );\n};\n\nexport default SortInput;\n","export class ApiConfig {\n constructor() {\n this.apiUrl = process.env.REACT_APP_API_URL;\n this.apiURL = process.env.REACT_APP_API_URL_2;\n this.publicUrl = process.env.PUBLIC_URL;\n this.resourcesUrl = process.env.RESOURCES_URL ? process.env.RESOURCES_URL\n : process.env.REACT_APP_API_URL + '/Resources/';\n this.colorPrimary = process.env.REACT_APP_COLOR_PRIMARY? process.env.REACT_APP_COLOR_PRIMARY : '#009EA4';\n this.colorSecondary = process.env.REACT_APP_COLOR_SECONDARY? process.env.REACT_APP_COLOR_SECONDARY : '#009EA4';\n this.colorActive = process.env.REACT_APP_COLOR_ACTIVE? process.env.REACT_APP_COLOR_ACTIVE : '#D2E298';\n this.colorHover = process.env.REACT_APP_COLOR_HOVER? process.env.REACT_APP_COLOR_HOVER : '#009EA4';\n this.company = process.env.REACT_APP_COMPANY;\n this.consoleActivated = process.env.CONSOLE_ACTIVATED ? process.env.CONSOLE_ACTIVATED : false;\n\n this.allowedAudioExtensions = ['mp3'];\n this.allowedDocumentExtensions = ['csv', 'doc', 'docx', 'dot', 'dotx', 'pdf', 'xlsm', 'xlsx'];\n this.allowedFileExtensions = ['csv', 'doc', 'docx', 'dot', 'dotx', 'gif', 'jpeg', 'jpg', 'mp3', 'mp4', 'mpeg', 'pdf', 'png', 'webp', 'xlsm', 'xlsx'];\n this.allowedImageExtensions = ['gif', 'jpeg', 'jpg', 'png', 'webp'];\n this.allowedVideoExtensions = ['mp4', 'mpeg'];\n }\n}\nconst config = new ApiConfig();\nexport default config;\n"],"sourceRoot":""}