{"version":3,"sources":["assets/fonts/Quicksand-VariableFont_wght.ttf","components/layouts/LayoutRoute.jsx","components/layouts/MessageLayout.jsx","configuration/layout.js","providers/ApplicationProvider.jsx","configuration/authorization.js","components/common/NavigationLink.jsx","assets/icons/graduate.svg","assets/icons/lightbulb.svg","assets/icons/table2.svg","assets/icons/user.svg","assets/icons/hammer.svg","configuration/constants.js","components/MainMenu.jsx","assets/icons/bell.svg","assets/icons/bell_ringing.svg","components/general/ActionLink.jsx","components/general/Alert.jsx","components/general/Button.jsx","components/general/ButtonBlock.jsx","components/general/Badge.jsx","components/general/Card.jsx","components/general/Columns.jsx","components/general/CodeBlock.jsx","components/general/Grid.jsx","components/general/Form.jsx","components/general/Heading.jsx","components/general/Icon.jsx","components/general/Loader.jsx","components/general/Message.jsx","assets/icons/pen.svg","assets/icons/create.svg","assets/icons/plus.svg","assets/icons/minus.svg","assets/icons/lock.svg","assets/icons/lock_open.svg","assets/icons/check.svg","assets/icons/cross.svg","assets/icons/trash.svg","assets/icons/chevron_left.svg","assets/icons/chevron_right.svg","assets/icons/chevron_left_double.svg","assets/icons/chevron_right_double.svg","assets/icons/arrow_up.svg","assets/icons/arrow_down.svg","assets/icons/arrow_left.svg","assets/icons/arrow_right.svg","assets/icons/reset.svg","assets/icons/filter.svg","assets/icons/search.svg","components/general/MiniButton.jsx","components/general/Modal.jsx","components/general/Paragraph.jsx","components/general/PageTitle.jsx","components/general/Subheading.jsx","assets/icons/chevron_up.svg","assets/icons/chevron_down.svg","components/general/Table.jsx","components/general/useTimeout.js","components/general/useInterval.jsx","components/general/useFetch.js","components/common/User.jsx","components/HeaderPanel.jsx","components/TitlePanel.jsx","components/AlertContainer.jsx","components/SearchBar.jsx","assets/icons/folder.svg","components/FoundItems.jsx","components/layouts/DashboardLayout.jsx","components/errors/ErrorBoundary.jsx","assets/icons/bug.svg","components/messages/Error.jsx","components/errors/TopErrorBoundary.jsx","components/Home.jsx","assets/icons/info_circle.svg","components/messages/NotFound.jsx","components/NotFound.jsx","components/Auth/SignInCallback.jsx","components/Auth/SilentRenew.jsx","components/Auth/SignOutCallback.jsx","assets/icons/warning_circle.svg","components/messages/Unauthorized.jsx","components/Auth/requireAuth.jsx","components/Account/Tokens.jsx","components/Account/Profile.jsx","components/Account/Offer.jsx","components/Account/index.jsx","components/Console.jsx","components/Alerts.jsx","components/Test.jsx","components/Users/List.jsx","components/Users/Detail.jsx","components/Users/index.jsx","assets/icons/warning_hex.svg","components/messages/AccessDenied.jsx","components/Auth/requireAdmin.jsx","components/Admin/Title.jsx","components/Admin/Users/List.jsx","components/Admin/Users/Create.jsx","components/Admin/Users/Edit.jsx","components/Admin/Users/Display.jsx","components/Admin/Users/Detail.jsx","components/Admin/Users/index.jsx","helpers/colors.js","components/Admin/Targets/List.jsx","components/Admin/Targets/Create.jsx","components/Admin/Targets/Edit.jsx","components/Admin/Targets/Display.jsx","components/Admin/Targets/Detail.jsx","components/Admin/Targets/index.jsx","components/Admin/Sets/List.jsx","components/Admin/Sets/Create.jsx","components/Admin/Sets/Edit.jsx","components/common/Scale.jsx","components/Admin/Sets/Display.jsx","components/Admin/Sets/TermRoleStats.jsx","components/Admin/Sets/ContentTable.jsx","components/Admin/Sets/AddRole.jsx","components/Admin/Sets/AddTerm.jsx","components/Admin/Sets/EditRole.jsx","components/Admin/Sets/EditTerm.jsx","components/Admin/Sets/Content.jsx","components/Admin/Sets/Detail.jsx","components/Admin/Sets/Questions/Display.jsx","components/Admin/Sets/Questions/Edit.jsx","components/Admin/Sets/Questions/CreateAnswer.jsx","assets/icons/warning_triangle.svg","components/Admin/Sets/Questions/DisplayAnswer.jsx","components/Admin/Sets/Questions/EditAnswer.jsx","components/Admin/Sets/Questions/Answer.jsx","components/Admin/Sets/Questions/AnswersList.jsx","components/Admin/Sets/Questions/Question.jsx","components/Admin/Sets/Questions/QuestionsList.jsx","components/Admin/Sets/Questions/Create.jsx","components/Admin/Sets/Questions/index.jsx","components/Admin/Sets/index.jsx","components/Admin/Scales/List.jsx","components/Admin/Scales/Create.jsx","components/Admin/Scales/Edit.jsx","components/Admin/Scales/Display.jsx","components/Admin/Scales/ContentTable.jsx","components/Admin/Scales/CreateContent.jsx","components/Admin/Scales/Content.jsx","components/Admin/Scales/Detail.jsx","components/Admin/Scales/index.jsx","components/Admin/index.jsx","components/common/DateTime.jsx","components/common/LoadedUser.jsx","components/common/DragItemsList.jsx","components/common/EditableList.jsx","components/Ideas/List.jsx","components/Ideas/Create.jsx","components/Ideas/Edit.jsx","components/Ideas/Display.jsx","components/Ideas/Targets.jsx","components/Ideas/Goals.jsx","components/Ideas/Outlines.jsx","components/Ideas/Offers.jsx","components/Ideas/Detail.jsx","components/Ideas/index.jsx","components/Works/List.jsx","components/Auth/requireEvaluator.jsx","components/Works/Create.jsx","components/Works/CreateFromIdea.jsx","components/Works/Guide.jsx","components/Works/Edit.jsx","components/Works/Display.jsx","components/Works/Goals.jsx","components/Works/Outlines.jsx","components/Works/Costs.jsx","components/Works/EditCosts.jsx","components/Works/TermRoleStats.jsx","components/Works/Roles.jsx","components/Works/AddRole.jsx","components/Works/InviteRole.jsx","components/Works/InviteRoleProcessing.jsx","components/Works/State.jsx","components/Works/Detail.jsx","components/Auth/requireManager.jsx","components/Works/OverviewQuestions.jsx","components/Works/OverviewRoleStats.jsx","components/Works/Summary.jsx","components/Works/Review/Mark.jsx","components/Works/Review/Questions.jsx","components/Works/Review/index.jsx","components/Works/Overview.jsx","components/Works/Evaluation/Question.jsx","components/Works/Evaluation/Questions.jsx","components/Works/Evaluation/index.jsx","components/Works/index.jsx","components/Overviews/Sets.jsx","components/Overviews/TermStatistics.jsx","components/Overviews/DetailPageOverall.jsx","components/Overviews/DetailPageTerm.jsx","components/Overviews/DetailPager.jsx","components/Overviews/DetailPageEvaluatorsSimple.jsx","components/Overviews/List.jsx","components/Overviews/Works.jsx","components/Overviews/Summary.jsx","components/Overviews/index.jsx","App.js","serviceWorker.js","index.js"],"names":["module","exports","LayoutRoute","Component","component","Layout","layout","rest","undefined","props","Fragment","children","render","MessageLayout","styled","main","backgroundColor","color","breakpoints","devices","mobile","tablet","desktop","SET_TITLE","ADD_MESSAGE","userStore","window","localStorage","userManager","UserManager","authority","process","client_id","redirect_uri","login","automaticSilentRenew","loadUserInfo","silent_redirect_uri","post_logout_redirect_uri","response_type","scope","webAuthResponseType","filterProtocolClaims","WebStorageStateStore","store","metadata","issuer","jwks_uri","authorization_endpoint","token_endpoint","userinfo_endpoint","end_session_endpoint","check_session_iframe","revocation_endpoint","introspection_endpoint","initialState","accessToken","idToken","userId","profile","isUserLoading","title","messages","messageCounter","profileIcon","profileIconType","theme","Log","setLogger","console","setLevel","DEBUG","parseJwt","token","base64","split","replace","JSON","parse","atob","reducer","state","action","newMessages","type","push","variant","text","dismissible","expiration","splice","id","payload","icon","iconType","ApplicationContext","createContext","ApplicationProvider","Consumer","useReducer","dispatch","useEffect","events","addUserLoaded","user","tokenData","access_token","axios","get","responseType","headers","Authorization","then","response","imageData","Blob","data","reader","FileReader","onloadend","base64data","result","readAsDataURL","id_token","sub","addUserUnloaded","addAccessTokenExpiring","addAccessTokenExpired","addSilentRenewError","addUserSignedOut","getUser","expired","catch","Provider","value","useAppContext","useContext","NavigationLink","NavLink","colors","desktopBackground","desktopForeground","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","createElement","d","_ref","svgRef","height","width","viewBox","ref","ForwardRef","forwardRef","style","strokeWidth","Genders","1","2","3","0","WorkStates","4","5","6","ADMIN_ROLE","EVALUATOR_ROLE","MANAGER_ROLE","StyledMainMenu","nav","StyledMainMenuItem","menuForeground","selectedMenuForeground","MainMenuItem","MainMenu","to","fill","strokeLinecap","strokeLinejoin","transform","fillRule","ActionLink","Link","variants","default","light","defaultBackground","dark","info","infoBackground","success","successBackground","warning","warningBackground","danger","errorBackground","error","foregroundColor","defaultForeground","infoForeground","successForeground","warningForeground","errorForeground","StyledAlert","div","StyledDismissButton","span","DismissCountdown","useState","counter","setCounter","setTimeout","dismiss","DismissButton","onClick","defaultProps","Alert","keyframes","primary","outline","lightBackground","lightForeground","darkBackground","darkForeground","disabled","disabledBackground","disabledForeground","hoverForegroundColor","borderColor","Button","button","fonts","heading","size","background","ButtonBlock","Badge","CardContainer","Card","section","cardBackground","cardForeground","CardHeader","header","CardFooter","footer","CardBody","CardTypeValueList","StyledCardTypeValueItem","dl","CardTypeValueItem","CodeBlock","pre","Container","FormError","Input","input","Form","OriginalForm","Select","select","FormGroup","textarea","Label","label","OriginalField","FormTextInput","name","useField","field","meta","htmlFor","touched","FormCheckbox","FormRadioItem","checked","String","FormRadioGroup","values","map","index","FormRadio","FormSelect","Heading","h1","walk","StyledLoader","LoaderSquare","look","delay","Loader","normal","accent","logoBackground","menuBackground","MessageWrapper","Message","stroke","cx","cy","r","points","x1","x2","y1","y2","StyledMiniButton","MiniButton","glyph","EditMiniButton","UserMiniButton","CreateMiniButton","AddMiniButton","RemoveMiniButton","LockedMiniButton","UnlockedMiniButton","YesMiniButton","NoMiniButton","CancelMiniButton","NextMiniButton","LastMiniButton","PreviousMiniButton","FirstMiniButton","AlertMiniButton","DeleteMiniButton","UpMiniButton","DownMiniButton","ResetMiniButton","SearchMiniButton","StyledModalOverlay","active","ModalOverlay","isActive","setActive","isChildrenActive","setChildrenActive","tout","clearTimeout","React","cloneElement","errorForegroundd","StyledModalWindow","StyledModalHeader","StyledModalContent","StyledModalFooter","Modal","onDismiss","defaultAction","keyProcessing","useCallback","e","document","addEventListener","removeEventListener","ReactDOM","createPortal","stopPropagation","actions","querySelector","Paragraph","p","StyledPageHeaderTitle","StyledPageHeader","PageTitle","Subheading","h2","TableWrapper","Table","table","TableHeader","thead","TableBody","tbody","striped","hover","TableFooter","tfoot","TableRow","tr","DataCell","td","horizontal","vertical","HeadCell","th","Paginator","PaginatorNavigation","PaginatorSize","PaginatorPages","PaginatorPage","RowsSelection","TextColumnFilter","column","filterValue","setFilter","preFilteredRows","display","boxSizing","onChange","placeholder","BoolColumnFilter","ListColumnFilter","IndeterminateCheckbox","indeterminate","defaultRef","useRef","resolvedRef","current","DataTable","columns","fetchData","isLoading","totalPages","storageId","showRowSelect","setSelectedRows","defaultColumn","useMemo","Filter","useTable","manualPagination","pageCount","manualSortBy","disableMultiSort","manualFilters","useGlobalFilter","useFilters","useSortBy","usePagination","useRowSelect","hooks","visibleColumns","Header","getToggleAllPageRowsSelectedProps","Cell","row","getToggleRowSelectedProps","getTableProps","getTableBodyProps","headerGroups","prepareRow","page","canPreviousPage","canNextPage","pageOptions","gotoPage","nextPage","previousPage","setPageSize","selectedFlatRows","setGlobalFilter","setAllFilters","pageIndex","pageSize","sort","sortBy","filters","setItem","stringify","original","headerGroup","getHeaderGroupProps","getHeaderProps","getSortByToggleProps","isSorted","isSortedDesc","canFilter","colSpan","status","align","getRowProps","cells","cell","getCellProps","Array","num","Number","selectedRowIds","useInterval","callback","savedCallback","setInterval","clearInterval","useFetch","url","options","dependencies","setResponse","setIsLoading","setError","statusText","StyledUser","StyledUserContainer","StyledUserName","StyledUserNameLink","StyledUserDetail","User","image","detail","StyledHeaderPanel","headerForeground","StyledBellIcon","BellIcon","StyledRingingIcon","RingingIcon","StyledUserIcon","UserIcon","StyledMessageCount","HeaderLink","HeaderPanel","src","alt","preferred_username","StyledTitlePanel","TitlePanel","Helmet","StyledAlertContainer","AlertContainer","slice","item","StyledSearchBar","StyledSearchInput","SearchBar","searchAction","setSearchTerm","searchTerm","themeContext","ThemeContext","autoFocus","onKeyDown","StyledFoundPage","headerBackground","StyledFoundItems","StyledFoundItem","StyledFoundItemIcon","StyledFoundItemName","StyledFoundItemDescription","small","FoundItem","area","description","FoundItems","items","isArray","DashboardLayoutWrapper","LogoWrapper","SearchWrapper","Logo","logoForeground","logoAccent","HeaderWrapper","NavigationWrapper","ContentWrapper","FoundWrapper","DashboardLayout","searchResults","setSearchResults","processSearch","exact","className","ErrorBoundary","errorInfo","hasError","setState","componentStack","toString","x","y","enableBackground","Error","TopErrorBoundary","href","TitleContainer","TitleBlock","FrontTitle","OwnerTitle","Home","signoutRedirect","signinRedirect","NotFound","StyledSignInCallback","SignInCallback","message","setMessage","allOk","setAllOk","failure","setFailure","lockedProfile","lockedIcon","setupProfile","lockedChange","put","Id","FirstName","given_name","LastName","family_name","Gender","gender","Email","email","CanBeAuthor","theses_author","CanBeEvaluator","theses_evaluator","post","IconImage","picture","IconImageType","picture_format","formData","FormData","append","log","a","signinRedirectCallback","signResult","SilentRenew","signinSilentCallback","dismissable","SignOutCallback","signoutRedirectCallback","Unauthorized","requireAuth","WrappedComponent","Profile","middle_name","isDeleting","setIsDeleting","showClear","setShowClear","removeOffer","delete","clearOffer","Account","history","useHistory","path","Tokens","Offer","ConsoleGrid","MethodLabel","ServerLabel","CommandLabel","AuthField","Field","AuthLabel","MethodField","ServerField","CommandField","SubmitButton","MethodError","ServerError","CommandError","PayloadLabel","PayloadField","Console","setStatus","ok","setOk","initialValues","method","server","command","authorized","validate","errors","onSubmit","setSubmitting","commandConfig","isSubmitting","setFieldValue","forwardedAs","msg","Alerts","Test","showDialog","setShowDialog","showInfo","setShowInfo","showWarning","setShowWarning","showSuccess","setShowSuccess","showDanger","setShowDanger","showError","setShowError","showResult","setShowResult","formResult","setFormResult","pulsing","region","agreement","contact","reward","isValid","dirty","List","setData","setTotalPages","storedTableState","getItem","accessor","disableSortBy","parameters","order","toLowerCase","desc","f","join","pages","PersonalDetail","firstName","middleName","lastName","canBeAuthor","canBeEvaluator","iconImage","iconImageFormat","PersonalOffer","AuthoredWorks","AuthoredIdeas","Detail","useParams","AccessDenied","requireAdmin","theses_admin","Title","selectedRows","showDelete","setShowDelete","disableFilters","iconImageType","w","newValue","Create","failed","setFailed","firstname","middlename","lastname","canbeauthor","canbeevaluator","lockedicon","lockedchange","Axios","MiddleName","LockedIcon","LockedChange","required","Edit","switchEditMode","Display","isEditable","setIsEditable","owner","editing","setEditing","Users","invertColor","hex","substring","parseInt","Text","Color","Targets","scales","setScales","fetchScalesData","year","template","scale","requiredGoals","requiredOutlines","Name","Year","Active","Template","ScaleId","RequiredGoals","RequiredOutlines","scaleId","Boolean","Scale","err","showReplication","setShowReplication","isReplicating","setIsReplicating","worksCount","StyledStats","TermRoleStats","set","term","role","questions","RoleContainer","TermContainer","IconContainer","ContentTable","showRoleDelete","setShowRoleDelete","showTermDelete","setShowTermDelete","rowSpan","roles","setEditedRole","setContentMode","CONTENT_EDIT_ROLE","CONTENT_ADD_ROLE","terms","termItem","setEditedTerm","CONTENT_EDIT_TERM","roleItem","setId","CONTENT_ADD_TERM","fetchRoles","fetchTerms","AddRole","manager","classteacher","printedinapplication","printedinreview","Manager","ClassTeacher","PrintedInApplication","PrintedInReview","SetId","CONTENT_DISPLAY","AddTerm","date","warningdate","Date","WarningDate","EditRole","classTeacher","printedInApplication","printedInReview","edited","warningDate","Content","contentMode","termsResponse","setTermsResponse","rolesResponse","setRolesResponse","isTermsLoading","setIsTermsLoading","isRolesLoading","setIsRolesLoading","termsError","setTermsError","rolesError","setRolesError","editedRole","editedTerm","filter","EditTerm","t","worksResponse","setWorksResponse","setWorksCount","isWorksLoading","setIsWorksLoading","worksError","setWorksError","fetchWorks","fetchWorksCount","QuestionLayout","QuestionText","QuestionDescription","QuestionPoints","QuestionMenu","setEditMode","globalEditing","count","moveItemAction","onDoubleClick","dangerouslySetInnerHTML","__html","setGlobalEditing","Description","Points","handleBlur","editor","Editor","config","toolbar","onInit","event","getData","onBlur","onFocus","min","StyledCreateAnswerFormHidden","StyledCreateAnswerFormOpen","CreateAnswer","expand","setExpand","rating","critical","criticalInTerm","questionId","Rating","Critical","CriticalInTerm","max","AnswerLayout","AnswerText","AnswerDescription","AnswerCoeficient","AnswerMenu","Sign","DisplayAnswer","EditAnswer","StyledAnswer","Answer","editMode","StyledAnswersList","StyledEmptyParagraph","AnswersList","fetchAnswersData","StyledQuestion","Question","movingItem","useDrop","accept","monitor","dragIndex","hoverIndex","hoverBoundingRect","getBoundingClientRect","hoverMiddleY","bottom","top","hoverClientY","getClientOffset","drop","useDrag","collect","isDragging","drag","QuestionsList","roleId","termId","collection","setCollection","moveQuestion","from","draggedItem","newCollection","StyledCreateFormHidden","StyledQuestionsLayout","Questions","setIsSetLoading","setSetError","setSetData","setIsTermLoading","termError","setTermError","termData","setTermData","setIsRoleLoading","roleError","setRoleError","roleData","setRoleData","isQuestionsLoading","setIsQuestionsLoading","questionsError","setQuestionsError","questionsData","setQuestionsData","fetchSetData","fetchTermData","fetchRoleData","fetchQuestionsData","Sets","maxGrade","sets","rate","mark","removeData","setMode","isNaN","Mark","Rate","step","CreateContent","Scales","DateTime","showTime","showDate","fulldate","getFullYear","month","getMonth","day","getDate","hours","getHours","padStart","minutes","getMinutes","seconds","getSeconds","LoadedUser","StyledDragItemsContainer","ol","StyledDragItemsList","StyledDragItem","li","editable","StyledAddItemPanel","StyledDragItemWrapper","StyledDragItemContent","StyledDragItemIcons","DragItem","isEditing","setIsEditing","setText","editedText","setEditedText","itemType","opacity","updateItemAction","removeItemAction","AddItemPanel","addItemAction","preventDefault","DragItemsContainer","DragItemsList","StyledEditableItemsContainer","StyledEditableItemsList","StyledEditableItem","StyledEditableItemWrapper","StyledEditableItemContent","StyledEditableItemIcons","EditableItem","displayedText","EditableItemsContainer","EditableItemsList","TargetsShowcase","targets","cursor","location","useLocation","setURLState","targetsData","setTargetsData","qpar","fromEntries","URLSearchParams","search","participants","resources","subject","Subject","Participants","Resources","UserId","created","updated","fileContent","URL","createObjectURL","link","setAttribute","body","appendChild","click","StyledTargetsCollection","TargetsCollection","idea","usedTargets","setUsedTargets","unusedTargets","setUnusedTargets","fetchTargets","Goals","list","setList","fetchGoals","addGoal","removeGoal","moveGoal","updateGoal","Outlines","fetchOutlines","addOutline","removeOutline","updateOutline","moveOutline","Offers","offered","setOffered","fetchOffers","myOffer","addOffer","removeAll","admin","evaluator","onBoarding","showOnBoarding","setShowOnBoarding","Ideas","setsData","setSetsData","requireEvaluator","setSets","authors","setAuthors","evaluators","setEvaluators","fetchSetsData","fetchAuthorsData","fetchEvaluatorsData","classname","repositoryURL","authorid","managerid","setid","ClassName","RepositoryURL","AuthorId","ManagerId","foundSet","find","s","normalize","foundAuthor","author","setIdea","ideaGoals","setIdeaGoals","ideaOutlines","setIdeaOutlines","fetchIdeaData","fetchIdeaGoalsData","fetchIdeaOutlinesData","padding","workId","goalsTexts","outlinesTexts","authorId","managerId","setSetResponse","itemId","materialCosts","materialCostsProvidedBySchool","servicesCosts","servicesCostsProvidedBySchool","detailExpenditures","materialcosts","servicescosts","materialcostsprovidedbyschool","servicescostsprovidedbyschool","detailexpenditures","MaterialCosts","MaterialCostsProvidedBySchool","ServicesCosts","ServicesCostsProvidedBySchool","DetailExpenditures","StyledTermRoleStatsContainer","StyledTermRoleStatsQuestionsContainer","StyledTermRoleStatsPointsContainer","filledQuestions","totalQuestions","criticalAnswers","totalPoints","gainedPoints","StyledUsersInRole","StyledUserInRole","TermDate","RoleTermWrapper","UserInRole","removeUserAction","isRolesEditable","UsersInRole","work","switchMode","workRoleUsers","ASSIGN_ROLES","Roles","workData","removeUser","setFinalized","workRoleId","finalized","setRole","termIndex","roleIndex","includes","markText","params","summary","SHOW_ROLES","INVITE_ROLES","InviteRole","setInviteFormData","inviteFormData","password","INVITE_PROCESSING","InviteRoleProcessing","remoteFailed","setRemoteFailed","remoteOk","setRemoteOk","remoteSubmitting","setRemoteSubmitting","localFailed","setLocalFailed","localOk","setLocalOk","localSubmitting","setLocalSubmitting","assignFailed","setAssignFailed","assignOk","setAssignOk","assignSubmitting","setAssignSubmitting","createdUserId","setCreatedUserId","Password","InviterId","Role","createRemoteUser","userData","State","responseAll","setResponseAll","fetchNextStates","fetchAllStates","code","newState","rolesMode","setRolesMode","editingCosts","setEditingCosts","setIsRolesEditable","showRoles","Costs","requireManager","QuestionWrapper","QuestionsWrapper","dt","dd","notSet","termCritical","OverviewQuestion","question","fetchEvaluation","qId","setAnswer","OverviewQuestions","responseSummary","setResponseSummary","isLoadingSummary","setIsLoadingSummary","errorSummary","setErrorSummary","fetchSummary","wid","rid","tid","filledPoints","Math","round","calculatedMark","OverviewRoleStats","statsData","setStatsData","isStatsLoading","setIsStatsLoading","statsError","setStatsError","fetchStatsData","setRoleId","StudentQuestions","isWorkLoading","setIsWorkLoading","workError","setWorkError","setWorkData","fetchWorkData","fetchRolesData","fetchTermsData","review","storeTextAction","isSetLoading","setSetIsLoading","scalesData","setScalesData","isScalesLoading","setScalesIsLoading","scalesError","setScalesError","setIsSaving","storeMark","WorkId","WorkRoleId","MarkText","MarkValue","Finalized","fetchQuestions","addQuestion","updateQuestion","removeQuestion","isSaving","setReview","isRoleLoading","storeTextReview","Review","termsData","setTermsData","StyledAnswerCheck","CheckmarkIcon","StyledAnswerText","StyledAnswerDescription","StyledAnswerCritical","CriticalIcon","StyledQuestionText","StyledQuestionDescription","StyledQuestionFooter","StyledQuestionFooterAction","StyledQuestionFooterUser","StyledQuestionFooterDate","answer","selected","submitAction","answersResponse","setAnswersResponse","isAnswersLoading","setIsAnswersLoading","answersError","setAnswersError","evaluationResponse","setEvaluationResponse","isEvaluationLoading","setIsEvaluationLoading","evaluationError","setEvaluationError","isAnswerSubmitting","setIsAnswerSubmitting","submitAnswer","aId","QuestionId","AnswerId","deleteAnswer","setAnswerId","createdById","isTermLoading","isVisible","CreateFromIdea","Guide","Overview","Summary","Evaluation","StatsContainer","StatsMark","StatsQuestions","StatsPoints","TermStatistics","DetailPageOverall","mode","roleResponse","setRoleResponse","res","DetailPageTerm","DetailPager","MODE_TERM","DetailPageEvaluators","FeaturesContainer","setEvaluator","setTerm","dta","record","DetailPageEvaluatorsSimple","fetchEvaluators","mergedId","authorFirstName","authorLastName","Works","createBrowserHistory","GlobalStyle","createGlobalStyle","mainTheme","selectedMenuBackground","darkSuccessBackground","darkSuccessForeground","spacing","medium","large","App","DndProvider","backend","HTML5Backend","whiteColor","Admin","Overviews","hostname","match","StrictMode","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.0dccbaa2.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/Quicksand-VariableFont_wght.f9baef8a.ttf\";","import React from 'react';\r\nimport { Route } from 'react-router-dom';\r\n\r\nconst LayoutRoute = ({component: Component, layout: Layout, ...rest}) => {\r\n if (Layout === undefined) {\r\n Layout = props => ({props.children})\r\n }\r\n return (\r\n (\r\n \r\n \r\n \r\n )} />\r\n );\r\n}\r\n\r\nexport default LayoutRoute;","import styled from 'styled-components';\r\n\r\nconst MessageLayout = styled.main`\r\nheight: 100%;\r\nwidth: 100%;\r\ndisplay: flex;\r\nflex-direction: column;\r\nbackground-color: ${props => props.backgroundColor || \"#F6F6F6\"};\r\ncolor: ${props => props.color || \"white\"};\r\njustify-content: center;\r\nalign-items: center;\r\ntext-align: center;\r\npadding: 15px;\r\nbox-sizing: border-box;\r\n`;\r\n\r\nexport default MessageLayout;","export const breakpoints = {\r\n mobileS: '320px',\r\n mobileM: '375px',\r\n mobileL: '425px',\r\n tablet: '768px',\r\n laptop: '1024px',\r\n laptopL: '1440px',\r\n desktop: '2560px'\r\n};\r\nexport const devices = {\r\n mobile: `(max-width: ${breakpoints.mobileL})`,\r\n tablet: `(max-width: ${breakpoints.tablet})`,\r\n desktop: `(min-width: ${breakpoints.tablet})`\r\n };","import React, {createContext, useReducer, useContext, useEffect} from \"react\";\r\nimport { UserManager, WebStorageStateStore, Log } from \"oidc-client-ts\";\r\nimport { IDENTITY_CONFIGURATION, METADATA_OIDC } from \"../configuration/authorization\";\r\nimport axios from \"axios\";\r\n\r\nexport const SET_TITLE = \"SET_TITLE\";\r\nexport const ADD_MESSAGE = \"ADD_MESSAGE\";\r\nexport const DISMISS_MESSAGE = \"DISMISS_MESSAGE\";\r\nexport const CLEAR_MESSAGES = \"CLEAR_MESSAGES\";\r\nexport const SET_ACCESS_TOKEN = \"SET_ACCESS_TOKEN\";\r\nexport const CLEAR_ACCESS_TOKEN = \"CLEAR_ACCESS_TOKEN\";\r\nexport const SET_ID_TOKEN = \"SET_ID_TOKEN\";\r\nexport const CLEAR_ID_TOKEN = \"CLEAR_ID_TOKEN\";\r\nexport const USER_EXPIRED = \"USER_EXPIRED\";\r\nexport const USER_FOUND = \"USER_FOUND\";\r\nexport const USER_EXPIRING = \"USER_EXPIRING\";\r\nexport const LOADING_USER = \"LOADING_USER\";\r\nexport const SILENT_RENEW_ERROR = \"SILENT_RENEW_ERROR\";\r\nexport const SESSION_TERMINATED = \"SESSION_TERMINATED\";\r\nexport const LOAD_USER_ERROR = \"LOAD_USER_ERROR\";\r\nexport const USER_SIGNED_OUT = \"USER_SIGNED_OUT\";\r\nexport const SET_THEME = \"SET_THEME\";\r\nexport const SET_ICON = \"SET_ICON\";\r\n\r\nconst userStore = window.localStorage;\r\nconst userManager = new UserManager({\r\n ...IDENTITY_CONFIGURATION,\r\n userStore: new WebStorageStateStore({ store: userStore }),\r\n metadata: {\r\n ...METADATA_OIDC\r\n }\r\n});\r\n\r\nconst initialState = {\r\n userManager: userManager,\r\n accessToken: null,\r\n idToken: null,\r\n userId: null,\r\n profile: null,\r\n isUserLoading: false,\r\n title: null,\r\n messages: [],\r\n messageCounter: 0,\r\n profileIcon: null,\r\n profileIconType: null,\r\n theme: \"light\"\r\n}\r\nLog.setLogger(console);\r\nLog.setLevel(Log.DEBUG);//Log.DEBUG;\r\n\r\nconst parseJwt = token => {\r\n const base64Url = token.split(\".\")[1];\r\n const base64 = base64Url.replace(\"-\", \"+\").replace(\"_\", \"/\");\r\n return JSON.parse(window.atob(base64));\r\n};\r\n\r\nconst reducer = (state, action) => {\r\n var newMessages = [...state.messages];\r\n switch (action.type) {\r\n case SET_THEME: {\r\n return {...state, theme: action.theme };\r\n }\r\n case ADD_MESSAGE: {\r\n newMessages.push({\r\n variant: action.variant,\r\n text: action.text,\r\n dismissible: action.dismissible === true,\r\n expiration: action.expiration ? action.expiration : null\r\n });\r\n return {...state, messages: newMessages, messageCounter: state.messageCounter + 1 };\r\n }\r\n case DISMISS_MESSAGE: {\r\n newMessages.splice(action.id, 1);\r\n return {...state, messages: newMessages, messageCounter: state.messageCounter - 1 };\r\n }\r\n case CLEAR_MESSAGES: {\r\n return {...state, messages: [], messageCounter: 0 };\r\n }\r\n case SET_TITLE: {\r\n return {...state, title: action.payload };\r\n }\r\n case LOADING_USER:\r\n return {...state, isUserLoading: true}\r\n case SET_ACCESS_TOKEN:\r\n return {...state, accessToken: action.payload}\r\n case CLEAR_ACCESS_TOKEN:\r\n return {...state, accessToken: null}\r\n case SET_ID_TOKEN:\r\n return {...state, idToken: action.payload}\r\n case CLEAR_ID_TOKEN:\r\n return {...state, idToken: null}\r\n case USER_FOUND:\r\n return {...state, idToken: action.idToken, accessToken: action.accessToken, userId: action.userId, profile: action.profile, isUserLoading: false}\r\n case USER_EXPIRED:\r\n case LOAD_USER_ERROR:\r\n case SILENT_RENEW_ERROR:\r\n case USER_SIGNED_OUT:\r\n case SESSION_TERMINATED:\r\n return {...state, idToken: null, accessToken: null, userId: null, profile: null, isUserLoading: false, profileIcon: null, profileIconType: null} \r\n case SET_ICON: {\r\n return {...state, profileIcon: action.icon, profileIconType: action.iconType };\r\n } \r\n default : {\r\n return state;\r\n }\r\n }\r\n}\r\n\r\nexport const ApplicationContext = createContext(initialState);\r\nexport const ApplicationConsumer = ApplicationContext.Consumer;\r\nexport const ApplicationProvider = props => {\r\n const store = useReducer(\r\n reducer, \r\n initialState\r\n );\r\n const [, dispatch] = store;\r\n useEffect(() => { \r\n userManager.events.addUserLoaded(user => {\r\n const tokenData = parseJwt(user.access_token);\r\n axios.get(process.env.REACT_APP_AUTH_URL + \"/api/account/icon\", {\r\n responseType: \"blob\",\r\n headers: {\r\n Authorization: \"Bearer \" + user.access_token\r\n }\r\n })\r\n .then(response => {\r\n let imageData = new Blob([response.data],{type: response.headers[\"content-type\"]});\r\n let reader = new FileReader();\r\n reader.onloadend = function() {\r\n var base64 = reader.result; \r\n var base64data = base64.split(',')[1]\r\n dispatch({type: SET_ICON, icon: base64data, iconType: response.headers[\"content-type\"]});\r\n }\r\n reader.readAsDataURL(imageData); \r\n });\r\n dispatch({\r\n type: USER_FOUND, \r\n accessToken: user.access_token, \r\n idToken: user.id_token, \r\n userId: tokenData.sub, \r\n profile: user.profile\r\n });\r\n dispatch({ type: ADD_MESSAGE, text: \"Uživatel byl přihlášen.\", variant: \"success\", dismissible: true, expiration: 5 });\r\n });\r\n userManager.events.addUserUnloaded(() => {\r\n dispatch({type: ADD_MESSAGE, text: \"Informace o přihlášení jsou neplatné.\", variant: \"info\", dismissible: true, expiration: 3});\r\n dispatch({\r\n type: USER_EXPIRED\r\n });\r\n });\r\n userManager.events.addAccessTokenExpiring(() => {\r\n dispatch({type: ADD_MESSAGE, text: \"Platnost Vašeho přihlášení brzy vyprší.\", variant: \"warning\", dismissible: true, expiration: 10});\r\n dispatch({\r\n type: USER_EXPIRING\r\n });\r\n });\r\n userManager.events.addAccessTokenExpired(() => {\r\n dispatch({type: ADD_MESSAGE, text: \"Platnost Vašeho přihlášení vypršela.\", variant: \"info\", dismissible: true, expiration: 10});\r\n dispatch({\r\n type: USER_EXPIRED\r\n });\r\n });\r\n userManager.events.addSilentRenewError(() => {\r\n dispatch({type: ADD_MESSAGE, text: \"Nepodařilo se obnovit platnost Vašeho přihlášení.\", variant: \"error\", dismissible: true, expiration: false});\r\n dispatch({type: SILENT_RENEW_ERROR});\r\n });\r\n userManager.events.addUserSignedOut(() => {\r\n dispatch({type: ADD_MESSAGE, text: \"Uživatel byl automaticky odhlášen.\", variant: \"warning\", dismissible: true, expiration: 3});\r\n dispatch({\r\n type: USER_SIGNED_OUT\r\n });\r\n });\r\n \r\n userManager.getUser()\r\n .then((user)=>{\r\n if (user && !user.expired) {\r\n let tokenData = parseJwt(user.access_token);\r\n dispatch({\r\n type: USER_FOUND, \r\n accessToken: user.access_token, \r\n idToken: user.id_token, \r\n userId: tokenData.sub, \r\n profile: user.profile\r\n });\r\n } else if (!user || (user && user.expired)) {\r\n dispatch({\r\n type: USER_EXPIRED\r\n });\r\n }\r\n })\r\n .catch(()=>{\r\n dispatch({\r\n type: LOAD_USER_ERROR\r\n });\r\n });\r\n },[dispatch]); \r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\nexport const useAppContext = () => useContext(ApplicationContext);","export const IDENTITY_CONFIGURATION = {\r\n authority: process.env.REACT_APP_AUTH_URL,\r\n client_id: process.env.REACT_APP_IDENTITY_CLIENT_ID,\r\n redirect_uri: process.env.REACT_APP_CLIENT_URL + \"/oidc-callback\",\r\n login: process.env.REACT_APP_AUTH_URL + \"/oauth2/authorize\",\r\n automaticSilentRenew: true,\r\n loadUserInfo: true,\r\n silent_redirect_uri: process.env.REACT_APP_CLIENT_URL + \"/oidc-silent-renew\",\r\n post_logout_redirect_uri: process.env.REACT_APP_CLIENT_URL + \"/oidc-signout-callback\",\r\n response_type: \"code\",\r\n scope: \"openid profile email ThesesApi IdentityServerApi\",\r\n webAuthResponseType: \"id_token token\",\r\n filterProtocolClaims: true,\r\n}\r\n\r\nexport const METADATA_OIDC = {\r\n issuer: process.env.REACT_APP_AUTH_URL,\r\n jwks_uri: process.env.REACT_APP_AUTH_URL + \"/.well-known/openid-configuration/jwks\",\r\n authorization_endpoint: process.env.REACT_APP_AUTH_URL + \"/connect/authorize\",\r\n token_endpoint: process.env.REACT_APP_AUTH_URL + \"/connect/token\",\r\n userinfo_endpoint: process.env.REACT_APP_AUTH_URL + \"/connect/userinfo\",\r\n end_session_endpoint: process.env.REACT_APP_AUTH_URL + \"/connect/endsession\",\r\n check_session_iframe: process.env.REACT_APP_AUTH_URL + \"/connect/checksession\",\r\n revocation_endpoint: process.env.REACT_APP_AUTH_URL + \"/connect/revocation\",\r\n introspection_endpoint: process.env.REACT_APP_AUTH_URL + \"/connect/introspect\"\r\n}","import styled from 'styled-components';\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nconst NavigationLink = styled(NavLink)`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 5px;\r\n text-decoration: none;\r\n position: relative;\r\n overflow: hidden;\r\n &>* {\r\n z-index: 2;\r\n }\r\n\r\n &:before {\r\n content: \"\";\r\n width: 100%;\r\n height: 100%;\r\n background-color: rgba(10,10,10,.1);\r\n position: absolute;\r\n transition: all .3s ease;\r\n top: -100%;\r\n z-index: 1;\r\n }\r\n &.active {\r\n background-color: ${props => props.theme.colors.desktopBackground};\r\n color: ${props => props.theme.colors.desktopForeground};\r\n }\r\n &:hover:before {\r\n top: 0;\r\n }\r\n`;\r\n\r\nexport default NavigationLink;","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 42.9375,0 0,16.15625 l 17.15625,6.5 16.40625,-6.28125 1.75,1.875 -14.8125,5.65625 22.9375,8.6875 41.9375,-16.4375 z\",\n id: \"rect2995\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 14.3982,25.51444 43.18755,35.8685 71.47182,25.2619 73.9972,39.1515 c 0,0 -19.67267,4.76337 -30.30458,14.64721 C 31.29295,44.74218 12.37789,38.89896 12.37789,38.89896 Z\",\n id: \"rect2998\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 41.96875,10.4375 -33.625,12.5 C 7.6055,22.19374 6.52963,21.71875 5.3125,21.71875 c -2.23157,0 -4.03125,1.57863 -4.03125,3.53125 0,1.69931 1.36114,3.1291 3.1875,3.46875 l -2.4375,18 h 7.8125 C 8.02917,38.40828 8.30961,35.45471 6.8125,28.5625 c 1.3814,-0.48674 2.36758,-1.64331 2.5,-3 l 33.625,-12.5 z\",\n id: \"path3001\"\n});\n\nvar SvgGraduate = function SvgGraduate(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 53.79871,\n width: 85.375,\n id: \"svg5\",\n viewBox: \"0 0 85.375 53.79871\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgGraduate, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/graduate.152a195f.svg\";\nexport { ForwardRef as ReactComponent };","function _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 React from \"react\";\n\nvar SvgLightbulb = function SvgLightbulb(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 112,\n width: 100,\n viewBox: \"0 0 100 112\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n strokeWidth: 0.618662\n },\n d: \"m 43.870637,109.81132 c -1.359218,-1.22796 -2.317984,-2.48075 -2.130591,-2.78397 0.187399,-0.30322 3.804269,-0.5513 8.037486,-0.5513 8.734162,0 9.339523,0.4118 5.390486,3.66694 -1.928895,1.58994 -2.839707,1.90102 -5.566174,1.90102 -2.875372,0 -3.551409,-0.26337 -5.731207,-2.23269 z m -5.57486,-7.66591 c -0.470486,-0.87911 -0.470486,-1.59553 0,-2.474635 0.622077,-1.162362 1.295367,-1.237328 11.11349,-1.237328 8.676294,0 10.616404,0.165118 11.423472,0.972188 1.150149,1.150145 1.160017,1.232845 0.331759,2.780455 -0.595568,1.11283 -1.39577,1.19665 -11.42348,1.19665 -10.149874,0 -10.821926,-0.0726 -11.445241,-1.23733 z m 0.463997,-7.473486 c -1.686862,-0.982501 -1.382084,-3.579203 0.504271,-4.29639 0.872807,-0.33184 5.587448,-0.603352 10.476973,-0.603352 4.889525,0 9.604167,0.271512 10.476975,0.603352 1.952547,0.742356 2.188942,3.361565 0.390277,4.32418 -1.556867,0.833208 -20.411426,0.809234 -21.848496,-0.02779 z m -2.597129,-8.76637 C 36.031569,85.480224 35.355205,83.18344 34.659613,80.801593 33.964019,78.419744 31.551202,73.269387 29.29779,69.356352 22.029567,56.735116 20.290008,50.653609 21.588182,42.403516 23.437356,30.651721 31.152413,22.681485 43.137627,20.141298 c 5.197229,-1.101515 8.009553,-1.101515 13.206781,0 17.191978,3.643718 25.983444,19.880277 19.979079,36.898453 -0.860855,2.439921 -2.410441,5.454308 -8.87579,17.265895 -1.210635,2.211715 -2.645175,5.830885 -3.187864,8.042601 l -0.986703,4.021301 -2.488918,0.185292 c -3.519431,0.262012 -4.087735,-0.643774 -3.249366,-5.178925 0.810911,-4.386602 2.920548,-9.165924 7.49785,-16.986141 5.145903,-8.791659 6.265075,-12.375393 5.930143,-18.989052 -0.201132,-3.971629 -0.638378,-6.132838 -1.627357,-8.043678 -7.657613,-14.795549 -31.659876,-14.69496 -39.256367,0.164507 -1.572717,3.076388 -2.388633,8.935763 -1.724624,12.385074 0.941226,4.889346 2.165668,7.760486 6.509799,15.264586 4.42736,7.647865 6.267743,11.940752 7.178994,16.745767 0.410995,2.167153 0.378176,3.335412 -0.110234,3.923915 -0.880095,1.060447 -5.447762,1.111629 -5.770405,0.06468 z M 5.3938658,69.703706 C 4.5402241,67.946652 4.2442874,66.673761 4.6099535,66.331882 5.2713275,65.713524 15.204659,61.313751 15.939338,61.313751 c 0.58839,0 2.559267,4.05138 2.559267,5.260882 0,0.50223 -2.012191,1.817956 -4.630039,3.027476 -7.2197574,3.335732 -6.905267,3.331964 -8.4747002,0.101597 z m 80.6935262,0.428833 c -2.807178,-1.203274 -5.10396,-2.532159 -5.10396,-2.953084 0,-1.562479 1.901036,-5.247043 2.707189,-5.247043 1.212107,0 9.842616,3.631594 10.721723,4.511553 0.582756,0.583305 0.487669,1.323447 -0.433743,3.376384 -0.649063,1.446121 -1.541713,2.60021 -1.983685,2.564636 -0.441963,-0.03557 -3.100355,-1.049168 -5.907524,-2.252446 z M 0.1955182,48.09863 C 0.0089546,47.612442 -0.05554092,46.141381 0.05219286,44.82961 L 0.24808588,42.44457 6.3434002,42.266735 c 7.1905988,-0.209787 7.9686718,0.17784 7.7005368,3.836309 l -0.185295,2.528143 -6.6619528,0.175712 c -5.3216286,0.140355 -6.73020338,-0.0019 -7.001171,-0.708269 z m 85.5506688,0.44913 c -0.773766,-0.773773 -0.455045,-5.004676 0.432506,-5.741273 0.562145,-0.466539 2.997036,-0.655366 6.959938,-0.539752 l 6.095321,0.177835 v 3.093308 3.093309 l -6.527826,0.17435 c -3.590295,0.09589 -6.722267,-0.0201 -6.959939,-0.257777 z M 10.915359,27.52758 C 8.2808628,25.618123 6.1253713,23.642712 6.1253713,23.137785 c 0,-1.368336 2.4229574,-4.511689 3.4776958,-4.511689 1.0266319,0 10.1328609,6.546678 10.1328609,7.284747 0,0.719683 -3.077315,5.088486 -3.584254,5.088486 -0.245478,0 -2.601824,-1.562288 -5.236315,-3.471749 z m 70.430771,1.20853 c -0.880009,-1.295051 -1.600021,-2.56642 -1.600021,-2.825267 0,-0.738069 9.106221,-7.284747 10.132854,-7.284747 1.052102,0 3.477699,3.141966 3.477699,4.504786 0,0.81524 -7.641829,6.897427 -9.619746,7.656425 -0.437221,0.167775 -1.506132,-0.74931 -2.390786,-2.051197 z M 25.978465,12.777949 c -1.391814,-2.53595 -2.530568,-5.0456184 -2.530568,-5.5770428 0,-1.1048555 3.591444,-3.5167636 4.875933,-3.2745265 0.470053,0.088642 2.085422,2.4380031 3.589716,5.2207993 l 2.735079,5.059631 -2.341337,1.590981 c -1.287733,0.875042 -2.669142,1.590982 -3.069799,1.590982 -0.400652,0 -1.867215,-2.074868 -3.259024,-4.610824 z M 67.17475,15.797791 64.833406,14.20681 67.568491,9.147179 c 1.504294,-2.7827962 3.119663,-5.1321575 3.589716,-5.2207993 1.284484,-0.2422371 4.875933,2.169671 4.875933,3.2745265 0,1.4649106 -4.957108,10.1878668 -5.789591,10.1878668 -0.400657,0 -1.782067,-0.71594 -3.069799,-1.590982 z M 47.03222,11.602077 C 46.545742,11.015896 46.349218,8.9078122 46.467054,5.5394965 L 46.647711,0.3755771 49.918488,0.18778855 53.189265,0 l -0.177469,6.0650743 -0.17747,6.0650737 -2.528142,0.185296 c -1.645794,0.12062 -2.788438,-0.128347 -3.273964,-0.713367 z\",\n id: \"path2997\"\n }));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLightbulb, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/lightbulb.3ab5050a.svg\";\nexport { ForwardRef as ReactComponent };","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 2v28h32v-28h-32zM12 20v-6h8v6h-8zM20 22v6h-8v-6h8zM20 6v6h-8v-6h8zM10 6v6h-8v-6h8zM2 14h8v6h-8v-6zM22 14h8v6h-8v-6zM22 12v-6h8v6h-8zM2 22h8v6h-8v-6zM22 28v-6h8v6h-8z\"\n});\n\nvar SvgTable2 = function SvgTable2(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTable2, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/table2.01075e0f.svg\";\nexport { ForwardRef as ReactComponent };","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.75,15.67a6,6,0,1,0-7.51,0A11,11,0,0,0,5,26v1H27V26A11,11,0,0,0,19.75,15.67ZM12,11a4,4,0,1,1,4,4A4,4,0,0,1,12,11ZM7.06,25a9,9,0,0,1,17.89,0Z\"\n});\n\nvar SvgUser = function SvgUser(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 32 32\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUser, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/user.f2b138fa.svg\";\nexport { ForwardRef as ReactComponent };","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"hammer\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.562 25.905l-9.423-9.423c-0.583-0.583-1.538-0.583-2.121 0l-0.707 0.707-5.75-5.75 9.439-9.439h-10l-4.439 4.439-0.439-0.439h-2.121v2.121l0.439 0.439-6.439 6.439 5 5 6.439-6.439 5.75 5.75-0.707 0.707c-0.583 0.583-0.583 1.538 0 2.121l9.423 9.423c0.583 0.583 1.538 0.583 2.121 0l3.535-3.535c0.583-0.583 0.583-1.538 0-2.121z\"\n});\n\nvar SvgHammer = function SvgHammer(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHammer, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/hammer.e3870cdb.svg\";\nexport { ForwardRef as ReactComponent };","export const Genders = {1: \"Muž\", 2: \"Žena\", 3: \"Jiné\", 0: \"Neznámé\"};\r\nexport const WorkStates = {0: \"Připravovaná\", 1: \"Běžící\", 2: \"Nepodařená\", 3: \"Odevzdaná\", 4:\"Zhodnocená\", 5: \"Úspěšná\", 6: \"Neobhájená\"};\r\n\r\nexport const ADMIN_ROLE = \"theses_admin\";\r\nexport const EVALUATOR_ROLE = \"theses_evaluator\";\r\nexport const MANAGER_ROLE = \"theses_manager\";","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport {useAppContext} from \"../providers/ApplicationProvider\";\r\nimport NavigationLink from \"./common/NavigationLink\";\r\nimport {ReactComponent as WorkIcon} from \"../assets/icons/graduate.svg\";\r\nimport {ReactComponent as IdeaIcon} from \"../assets/icons/lightbulb.svg\";\r\nimport {ReactComponent as OverviewIcon} from \"../assets/icons/table2.svg\";\r\nimport {ReactComponent as UserIcon} from \"../assets/icons/user.svg\";\r\nimport {ReactComponent as HammerIcon} from \"../assets/icons/hammer.svg\";\r\n\r\nimport {devices} from \"../configuration/layout\";\r\nimport {ADMIN_ROLE, EVALUATOR_ROLE} from \"../configuration/constants\";\r\n\r\nconst StyledMainMenu = styled.nav`\r\n display: flex;\r\n flex-direction: column;\r\n flex-wrap: nowrap;\r\n overflow: auto;\r\n width: 100%;\r\n \r\n @media ${devices.mobile} {\r\n flex-direction: row;\r\n }\r\n`;\r\n\r\nconst StyledMainMenuItem = styled(NavigationLink)`\r\n flex-basis: 32px;\r\n padding: 5px 5px 5px 40px;\r\n justify-content: flex-start;\r\n color: ${props => props.theme.colors.menuForeground};\r\n\r\n &:before {\r\n top: 0;\r\n left: -100%;\r\n }\r\n &:hover:before {\r\n left: 0;\r\n }\r\n & > svg {\r\n position: absolute;\r\n left: 8px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n width: 18px;\r\n fill: ${props => props.theme.colors.menuForeground};\r\n }\r\n\r\n &.active {\r\n color: ${props => props.theme.colors.selectedMenuForeground};\r\n }\r\n\r\n &.active svg {\r\n fill: ${props => props.theme.colors.selectedMenuForeground};\r\n }\r\n\r\n @media ${devices.tablet} {\r\n font-size: 0;\r\n & > svg {\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n transform: translate(-50%, -50%);\r\n width: 18px;\r\n }\r\n }\r\n @media ${devices.mobile} {\r\n &:before {\r\n bottom: -100%;\r\n left: 0;\r\n top: initial; }\r\n &:hover:before {\r\n top: initial;\r\n bottom: 0;\r\n }\r\n }\r\n\r\n @media ${devices.mobile} {\r\n flex-direction: row;\r\n }\r\n`;\r\n\r\nconst MainMenuItem = props => {\r\n let {icon, text, ...rest} = props;\r\n return {icon}{text};\r\n}\r\n\r\nconst MainMenu = () => {\r\n const [{accessToken, profile}] = useAppContext();\r\n return (\r\n \r\n } text=\"Náměty\" />\r\n } text=\"Práce\" />\r\n {accessToken && (profile[ADMIN_ROLE] === \"1\" || profile[EVALUATOR_ROLE] === \"1\") ? } text=\"Souhrny\" /> : \"\"}\r\n } text=\"Uživatelé\" />\r\n {accessToken && (profile[ADMIN_ROLE] === \"1\") ? } text=\"Administrace\" /> : \"\"}\r\n \r\n );\r\n};\r\n\r\nexport default MainMenu;","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m2.41547595 3.5h10.16904815c.9116644 0 1.6507144.73905002 1.6507144 1.65071443 0 .299182-.0813106.59273912-.2352385.84928557-.9815222 1.63587038-1.5 3.50773964-1.5 5.4154759v1.0845241c0 2.209139-1.790861 4-4 4h-2c-2.209139 0-4-1.790861-4-4v-1.0845241c0-1.90773626-.51847777-3.77960552-1.5-5.4154759-.46904747-.78174578-.2155554-1.79571405.56619038-2.26476152.25654645-.15392786.55010357-.23523848.84928557-.23523848zm2.58452405-1.5c.66666667-1 1.5-1.5 2.5-1.5s1.83333333.5 2.5 1.5\",\n fill: \"none\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n transform: \"matrix(-1 0 0 -1 18 19)\"\n});\n\nvar SvgBell = function SvgBell(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 21,\n viewBox: \"0 0 21 21\",\n width: 21,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBell, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/bell.7c4e447e.svg\";\nexport { ForwardRef as ReactComponent };","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n transform: \"matrix(-1 0 0 -1 19 19)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m3.41547595 3.5h10.16904815c.9116644 0 1.6507144.73905002 1.6507144 1.65071443 0 .299182-.0813106.59273912-.2352385.84928557-.9815222 1.63587038-1.5 3.50773964-1.5 5.4154759v1.0845241c0 2.209139-1.790861 4-4 4h-2c-2.209139 0-4-1.790861-4-4v-1.0845241c0-1.90773626-.51847777-3.77960552-1.5-5.4154759-.46904747-.78174578-.2155554-1.79571405.56619038-2.26476152.25654645-.15392786.55010357-.23523848.84928557-.23523848z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1.93933983 14.1628827c.83283405.4997018 1.39051158.9942231 1.67303261 1.4835639.28252102.4893408.43195026 1.2195643.44828773 2.1906707\",\n transform: \"matrix(-.25881905 .96592583 .96592583 .25881905 -11.678043 8.960878)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m12.8509252 14.1628827c.8480897.4427672 1.413395.9088212 1.695916 1.398162.282521.4893407.4243225 1.2480316.4254044 2.2760726\",\n transform: \"matrix(.25881905 .96592583 -.96592583 .25881905 25.766123 -1.579065)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m6 2c.66666667-1 1.5-1.5 2.5-1.5s1.8333333.5 2.5 1.5\"\n}));\n\nvar SvgBellRinging = function SvgBellRinging(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 21,\n viewBox: \"0 0 21 21\",\n width: 21,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBellRinging, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/bell_ringing.6307c370.svg\";\nexport { ForwardRef as ReactComponent };","import styled from 'styled-components';\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst ActionLink = styled(Link)`\r\npadding: 5px;\r\nmargin: 0 3px;\r\nborder: 0px solid #eeeeee;\r\n&:hover {\r\n background-color: #eeeeee;\r\n}\r\n`;\r\n\r\nexport default ActionLink;","import React, {useState, useEffect} from 'react';\r\nimport styled from 'styled-components';\r\nimport theme from \"styled-theming\";\r\n\r\nconst backgroundColor = theme.variants(\"mode\", \"variant\", {\r\n default: \r\n {\r\n light: props => props.theme.colors.defaultBackground, \r\n dark: props => props.theme.colors.defaultBackground\r\n },\r\n info: \r\n {\r\n light: props => props.theme.colors.infoBackground, \r\n dark: props => props.theme.colors.infoBackground\r\n },\r\n success: \r\n {\r\n light: props => props.theme.colors.successBackground, \r\n dark: props => props.theme.colors.successBackground\r\n },\r\n warning: \r\n {\r\n light: props => props.theme.colors.warningBackground, \r\n dark: props => props.theme.colors.warningBackground\r\n },\r\n danger: \r\n {\r\n light: props => props.theme.colors.errorBackground, \r\n dark: props => props.theme.colors.errorBackground\r\n },\r\n error: \r\n {\r\n light: props => props.theme.colors.errorBackground, \r\n dark: props => props.theme.colors.errorBackground\r\n },\r\n});\r\n\r\nconst foregroundColor = theme.variants(\"mode\", \"variant\", {\r\n default: \r\n {\r\n light: props => props.theme.colors.defaultForeground, \r\n dark: props => props.theme.colors.defaultForeground\r\n },\r\n info: \r\n {\r\n light: props => props.theme.colors.infoForeground, \r\n dark: props => props.theme.colors.infoForeground\r\n },\r\n success: \r\n {\r\n light: props => props.theme.colors.successForeground, \r\n dark: props => props.theme.colors.successForeground\r\n },\r\n warning: \r\n {\r\n light: props => props.theme.colors.warningForeground, \r\n dark: props => props.theme.colors.warningForeground\r\n },\r\n danger: \r\n {\r\n light: props => props.theme.colors.errorForeground, \r\n dark: props => props.theme.colors.errorForeground\r\n },\r\n error: \r\n {\r\n light: props => props.theme.colors.errorForeground, \r\n dark: props => props.theme.colors.errorForeground\r\n },\r\n});\r\n\r\nconst StyledAlert = styled.div`\r\nbackground-color: ${backgroundColor};\r\ncolor: ${foregroundColor};\r\npadding: .7em 1.2em;\r\nmargin: 3px;\r\nborder: thin white solid;\r\ndisplay: flex;\r\nflex-direction: row;\r\nalign-items: center;\r\njustify-content: space-between;\r\nz-index: 100;\r\n`;\r\n\r\nconst StyledDismissButton = styled.span`\r\nfont-size: 12px;\r\nfill: ${foregroundColor};\r\nmargin: 3px;\r\ncursor: default;\r\n`;\r\n\r\nconst DismissCountdown = props => {\r\n const [counter, setCounter] = useState(props.expiration);\r\n useEffect(() => {\r\n counter > 0 && setTimeout(() => setCounter(counter - 1), 1000);\r\n if (counter === 0) {props.dismiss();}\r\n },[counter,props]);\r\n return (\r\n {\"(\" + counter + \"s)\"}\r\n );\r\n}\r\n\r\nconst DismissButton = props => { \r\n return (\r\n \r\n );\r\n}\r\n\r\nStyledAlert.defaultProps = {\r\n variant: \"default\"\r\n};\r\n\r\nconst Alert = props => {\r\n return (\r\n \r\n {props.text}\r\n {(props.expiration && props.dismiss) ? : \"\"}\r\n {(props.dismissible === true && props.dismiss) ? : \"\"}\r\n \r\n );\r\n};\r\n\r\nexport default Alert;","import styled, {keyframes} from 'styled-components';\r\nimport theme from \"styled-theming\";\r\n\r\nconst pulse = keyframes`\r\n0% {\r\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);\r\n}\r\n\r\n70% {\r\n box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);\r\n}\r\n\r\n100% {\r\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);\r\n}\r\n`;\r\n\r\nconst foregroundColor = theme.variants(\"mode\", \"variant\", {\r\n default: \r\n {\r\n light: props => props.theme.colors.defaultForeground, \r\n dark: props => props.theme.colors.defaultForeground\r\n },\r\n primary: \r\n {\r\n light: props => props.outline ? props.theme.colors.defaultForeground : props.theme.colors.defaultForeground, \r\n dark: props => props.outline ? props.theme.colors.defaultForeground : props.theme.colors.defaultForeground\r\n },\r\n info: \r\n {\r\n light: props => props.outline ? props.theme.colors.infoBackground : props.theme.colors.infoForeground,\r\n dark: props => props.outline ? props.theme.colors.infoBackground : props.theme.colors.infoForeground,\r\n },\r\n success: \r\n {\r\n light: props => props.outline ? props.theme.colors.successBackground : props.theme.colors.successForeground,\r\n dark: props => props.outline ? props.theme.colors.successBackground : props.theme.colors.successForeground,\r\n },\r\n warning: \r\n {\r\n light: props => props.outline ? props.theme.colors.warningBackground : props.theme.colors.warningForeground,\r\n dark: props => props.outline ? props.theme.colors.warningBackground : props.theme.colors.warningForeground,\r\n },\r\n danger: \r\n {\r\n light: props => props.outline ? props.theme.colors.errorBackground : props.theme.colors.errorForeground, \r\n dark: props => props.outline ? props.theme.colors.errorBackground : props.theme.colors.errorForeground\r\n },\r\n error: \r\n {\r\n light: props => props.outline ? props.theme.colors.errorBackground : props.theme.colors.errorForeground,\r\n dark: props => props.outline ? props.theme.colors.errorBackground : props.theme.colors.errorForeground\r\n },\r\n light: \r\n {\r\n light: props => props.outline ? props.theme.colors.lightBackground : props.theme.colors.lightForeground,\r\n dark: props => props.outline ? props.theme.colors.lightBackground : props.theme.colors.lightForeground\r\n },\r\n dark: \r\n {\r\n light: props => props.outline ? props.theme.colors.darkBackground : props.theme.colors.darkForeground,\r\n dark: props => props.outline ? props.theme.colors.darkBackground : props.theme.colors.darkForeground\r\n },\r\n disabled: \r\n {\r\n light: props => props.outline ? props.theme.colors.disabledBackground : props.theme.colors.disabledForeground,\r\n dark: props => props.outline ? props.theme.colors.disabledBackground : props.theme.colors.disabledForeground\r\n },\r\n});\r\n\r\nconst backgroundColor = theme.variants(\"mode\", \"variant\", {\r\n default: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.defaultBackground,\r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.defaultBackground\r\n },\r\n primary: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.defaultBackground, \r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.defaultBackground\r\n },\r\n info: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.infoBackground, \r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.infoBackground, \r\n },\r\n success: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.successBackground, \r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.successBackground\r\n },\r\n warning: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.warningBackground, \r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.warningBackground, \r\n },\r\n danger: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.errorBackground, \r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.errorBackground\r\n },\r\n error: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.errorBackground, \r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.errorBackground\r\n },\r\n light: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.lightBackground, \r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.lightBackground\r\n },\r\n dark: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.darkBackground, \r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.darkBackground\r\n },\r\n disabled: \r\n {\r\n light: props => props.outline ? \"transparent\" : props.theme.colors.disabledBackground, \r\n dark: props => props.outline ? \"transparent\" : props.theme.colors.disabledBackground\r\n },\r\n});\r\n\r\nconst hoverForegroundColor = theme.variants(\"mode\", \"variant\", {\r\n default: \r\n {\r\n light: props => props.theme.colors.defaultBackground, \r\n dark: props => props.theme.colors.defaultBackground\r\n },\r\n primary: \r\n {\r\n light: props => props.theme.colors.defaultBackground,\r\n dark: props => props.theme.colors.defaultBackground\r\n },\r\n info: \r\n {\r\n light: props => props.outline ? props.theme.colors.infoForeground : props.theme.colors.infoBackground,\r\n dark: props => props.outline ? props.theme.colors.infoForeground : props.theme.colors.infoBackground\r\n },\r\n success: \r\n {\r\n light: props => props.outline ? props.theme.colors.successForeground : props.theme.colors.successBackground,\r\n dark: props => props.outline ? props.theme.colors.successForeground : props.theme.colors.successBackground,\r\n },\r\n warning: \r\n {\r\n light: props => props.outline ? props.theme.colors.warningForeground : props.theme.colors.warningBackground,\r\n dark: props => props.outline ? props.theme.colors.warningForeground : props.theme.colors.warningBackground,\r\n },\r\n danger: \r\n {\r\n light: props => props.outline ? props.theme.colors.errorForeground : props.theme.colors.errorBackground, \r\n dark: props => props.outline ? props.theme.colors.errorForeground : props.theme.colors.errorBackground\r\n },\r\n error: \r\n {\r\n light: props => props.outline ? props.theme.colors.errorForeground : props.theme.colors.errorBackground,\r\n dark: props => props.outline ? props.theme.colors.errorForeground : props.theme.colors.errorBackground\r\n },\r\n light: \r\n {\r\n light: props => props.outline ? props.theme.colors.lightForeground : props.theme.colors.lightBackground,\r\n dark: props => props.outline ? props.theme.colors.lightForeground : props.theme.colors.lightBackground\r\n },\r\n dark: \r\n {\r\n light: props => props.outline ? props.theme.colors.darkForeground : props.theme.colors.darkBackground,\r\n dark: props => props.outline ? props.theme.colors.darkForeground : props.theme.colors.darkBackground\r\n },\r\n disabled: \r\n {\r\n light: props => props.outline ? props.theme.colors.disabledForeground : props.theme.colors.disabledBackground,\r\n dark: props => props.outline ? props.theme.colors.disabledForeground : props.theme.colors.disabledBackground\r\n },\r\n});\r\n\r\nconst borderColor = theme.variants(\"mode\", \"variant\", {\r\n default: \r\n {\r\n light: props => props.theme.colors.defaultForeground, \r\n dark: props => props.theme.colors.defaultForeground\r\n },\r\n primary: \r\n {\r\n light: props => props.theme.colors.defaultForeground, \r\n dark: props => props.theme.colors.defaultForeground\r\n },\r\n info: \r\n {\r\n light: props => props.theme.colors.infoBackground,\r\n dark: props => props.theme.colors.infoBackground\r\n },\r\n success: \r\n {\r\n light: props => props.theme.colors.successBackground,\r\n dark: props => props.theme.colors.successBackground,\r\n },\r\n warning: \r\n {\r\n light: props => props.theme.colors.warningBackground,\r\n dark: props => props.theme.colors.warningBackground,\r\n },\r\n danger: \r\n {\r\n light: props => props.theme.colors.errorBackground, \r\n dark: props => props.theme.colors.errorBackground\r\n },\r\n error: \r\n {\r\n light: props => props.theme.colors.errorBackground,\r\n dark: props => props.theme.colors.errorBackground\r\n },\r\n light: \r\n {\r\n light: props => props.theme.colors.lightBackground,\r\n dark: props => props.theme.colors.lightBackground\r\n },\r\n dark: \r\n {\r\n light: props => props.theme.colors.darkBackground,\r\n dark: props => props.theme.colors.darkBackground\r\n },\r\n disabled: \r\n {\r\n light: props => props.theme.colors.disabledBackground,\r\n dark: props => props.theme.colors.disabledBackground\r\n },\r\n});\r\n\r\nconst Button = styled.button`\r\n display: inline-block;\r\n text-transform: uppercase;\r\n font-family: ${props => props.theme.fonts.heading};\r\n font-size: ${props => props.size ? props.size : \"inherit\"};\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: middle;\r\n padding: 1em 2em;\r\n line-height: 1;\r\n margin: .1em;\r\n border: 2px solid ${props => props.disabled ? props.theme.colors.disabledForeground : props.color ? props.color : borderColor};\r\n background-color: ${props => props.disabled ? props.outline ? \"transparent\" : props.theme.colors.disabledBackground : props.background ? props.background : backgroundColor};\r\n color: ${props => props.disabled ? props.theme.colors.disabledForeground : props.color ? props.color : foregroundColor};\r\n cursor: ${props => props.disabled ? \"not-allowed\" : \"pointer\"};\r\n position: relative;\r\n overflow: hidden;\r\n transition: all .3s ease;\r\n box-sizing: border-box;\r\n z-index: 2;\r\n &:hover {\r\n color: ${props => props.background ? props.background : hoverForegroundColor};\r\n }\r\n &:after {\r\n content: \"\";\r\n width: 0;\r\n height: 100%;\r\n top: 0%;\r\n left: 50%;\r\n background-color: ${props => props.disabled ? props.theme.colors.disabledBackground : props.color ? props.color : foregroundColor};\r\n opacity: 0;\r\n position: absolute;\r\n transition: all .3s;\r\n z-index: -1;\r\n }\r\n &:hover:after {\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n opacity: 1;\r\n }\r\n &:focus {\r\n outline: none;\r\n }\r\n`;\r\n\r\nButton.defaultProps = {variant: \"default\"};\r\n\r\nexport default Button;","import styled from 'styled-components';\r\nimport {devices} from \"../../configuration/layout\";\r\n\r\nconst ButtonBlock = styled.div`\r\ndisplay: flex;\r\nflex-wrap: wrap;\r\nflex-direction: row;\r\n@media ${devices.tablet} {\r\n & > * { flex-grow: 1;}\r\n}\r\n@media ${devices.mobile} {\r\n flex-direction: column;\r\n}\r\n`;\r\n\r\nexport default ButtonBlock;","import styled from 'styled-components';\r\n\r\nconst Badge = styled.span`\r\ndisplay: inline-block;\r\npadding: .3em .5em;\r\nmargin: .2em;\r\nbackground-color: ${props => props.background ? props.background : \"#aaa\"};\r\ncolor: ${props => props.color ? props.color : \"inherit\"};\r\n`;\r\n\r\nexport default Badge;","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport theme from \"styled-theming\";\r\nimport {devices} from \"../../configuration/layout\";\r\n\r\nexport const CardContainer = styled.div`\r\ndisplay: flex;\r\nflex-wrap: wrap;\r\njustify-content: flex-start;\r\nalign-items: stretch;\r\n& > * {\r\n flex-basis: 45rem;\r\n}\r\n`;\r\n\r\nexport const Card = styled.section`\r\nbackground-color: ${props => props.theme.colors.cardBackground};\r\ncolor: ${props => props.theme.colors.cardForeground};\r\nflex-grow: 1;\r\nborder: 1px solid #cccccc;\r\nmargin: 5px;\r\nbox-sizing: border-box;\r\nmax-width: 100%;\r\n`;\r\nexport const CardHeader = styled.header`\r\npadding: 10px;\r\nmargin: 0;\r\n&>* {\r\n margin: 0;\r\n} \r\n`;\r\nexport const CardFooter = styled.footer`\r\npadding: 10px;\r\nmargin: 0;\r\n&>* {\r\n margin: 0;\r\n} \r\n`;\r\n\r\nexport const CardBody = styled.div`\r\npadding: 10px;\r\n& > table {\r\n padding: 0;\r\n}\r\n`;\r\n\r\nexport const CardTypeValueList = styled.div`\r\ndisplay: flex;\r\nflex-direction: column;\r\n& > dl:first-child {\r\n border-top: none;\r\n}\r\n`;\r\n\r\nconst StyledCardTypeValueItem = styled.dl`\r\ndisplay: flex;\r\nmargin: 0;\r\nflex-direction: row;\r\nborder-top: 1px solid #cccccc;\r\npadding: 5px;\r\n& > dt, & > dd {\r\n flex-basis: 50%;\r\n}\r\n& > dt {\r\n font-weight: 700;\r\n}\r\n& > dd {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n}\r\n@media ${devices.mobile} {\r\n flex-direction: column;\r\n & > dt, & > dd {\r\n flex-basis: auto;\r\n margin: 3px;\r\n }\r\n}\r\n`;\r\n\r\nexport const CardTypeValueItem = props => (\r\n \r\n
{props.type}
\r\n
{props.value}
\r\n
\r\n);","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport theme from \"styled-theming\";\r\nimport { devices } from \"../../configuration/layout\";\r\n\r\nexport const ColumnsContainer = styled.div`\r\ndisplay: flex;\r\nflex-direction: row;\r\nflex-wrap: wrap;\r\njustify-content: flex-start;\r\nalign-items: stretch;\r\noverflow: auto;\r\n& > * {\r\n flex-basis: 45rem;\r\n}\r\n`;\r\n\r\nexport const Column = styled.div`\r\n\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nconst CodeBlock = styled.pre`\r\noverflow: auto;\r\n`;\r\n\r\nexport default CodeBlock;","import styled from 'styled-components';\r\nimport {breakpoints, devices} from \"../../configuration/layout\";\r\n\r\nexport const Container = styled.div`\r\n display: block;\r\n @media (${devices.desktop}) {\r\n width: ${breakpoints.tablet};\r\n }\r\n @media (${devices.tablet}) {\r\n width: ${breakpoints.tablet};\r\n }\r\n`;\r\n\r\nexport const Row = styled.div`\r\n display: flex;\r\n`;\r\n\r\nexport const Col = styled.div`\r\n flex: ${props => props.size};\r\n`;","import React from \"react\";\r\nimport styled from 'styled-components';\r\nimport theme from \"styled-theming\";\r\nimport { Form as OriginalForm, Field as OriginalField, useField } from 'formik';\r\n\r\nconst borderColor = theme.variants(\"mode\", \"variant\", {\r\n default: \r\n {\r\n light: props => props.theme.colors.defaultForeground, \r\n dark: props => props.theme.colors.defaultForeground\r\n },\r\n success: \r\n {\r\n light: props => props.theme.colors.successBackground,\r\n dark: props => props.theme.colors.successBackground,\r\n },\r\n error: \r\n {\r\n light: props => props.theme.colors.errorBackground,\r\n dark: props => props.theme.colors.errorBackground,\r\n },\r\n});\r\n\r\nexport const FormError = styled.div`\r\ncolor: ${props => props.theme.colors.errorBackground};\r\nmargin: .5em;\r\n`;\r\n\r\nexport const Input = styled.input`\r\npadding: .5em .7em;\r\nfont-size: 1rem;\r\nborder: none;\r\nbackground: transparent;\r\nborder-bottom: 2px solid ${borderColor};\r\n&:focus {\r\n box-shadow: 0 6px 3px -3px rgba(100,100,100,.3);\r\n outline: none;\r\n}\r\n`;\r\n\r\nInput.defaultProps = {variant: \"default\"};\r\n\r\nexport const Form = styled(OriginalForm)`\r\npadding: .5em;\r\n`;\r\n\r\nexport const Select = styled.select`\r\nwidth: 100%;\r\npadding: .5em .7em;\r\nfont-size: 1rem;\r\nborder: ${props => props.size ? \"solid\" : \"none\"};\r\nbackground: transparent;\r\nborder-bottom: 2px solid ${borderColor};\r\nborder-color: ${borderColor};\r\n&:focus {\r\n box-shadow: 0 6px 3px -3px rgba(100,100,100,.3);\r\n outline: none;\r\n}\r\n`;\r\n\r\nexport const Textarea = styled.textarea`\r\npadding: .5em;\r\nfont-size: 1rem;\r\n`;\r\n\r\nexport const FormGroup = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin-bottom: .5rem;\r\n`;\r\n\r\nexport const Label = styled.label`\r\nmargin: .5em;\r\ndisplay: flex;\r\nalign-items: center;\r\ncolor: ${borderColor};\r\n& > input {\r\n margin: .2em;\r\n}\r\n`;\r\n\r\nLabel.defaultProps = {variant: \"default\"};\r\n\r\nexport const Field = styled(OriginalField)`\r\npadding: .5em;\r\nfont-size: 1rem;\r\n`;\r\n\r\nexport const FormTextInput = ({ label, name, ...rest }) => {\r\n const [field, meta] = useField(name);\r\n return (\r\n \r\n \r\n \r\n {meta.touched && meta.error ? (\r\n {meta.error}\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport const FormCheckbox = ({ label, name, ...rest }) => {\r\n const [field, meta] = useField({ name, type: 'checkbox' });\r\n return (\r\n <>\r\n \r\n {meta.touched && meta.error ? (\r\n {meta.error}\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst FormRadioItem = ({ label, name, ...rest }) => {\r\n const [field, meta] = useField({ name });\r\n field.checked = String(field.value) === String(rest.value);\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n\r\nexport const FormRadioGroup = ({ label, name, values, ...rest }) => {\r\n const [meta] = useField({ name }); \r\n return (\r\n \r\n \r\n {Object.keys(values).map((key, index)=>\r\n {\r\n return (\r\n \r\n ); \r\n })}\r\n {meta.touched && meta.error ? (\r\n {meta.error}\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport const FormRadio = ({ label, name, ...rest }) => {\r\n const [field, meta] = useField({ name });\r\n field.checked = field.value === rest.value;\r\n return (\r\n <>\r\n \r\n {meta.touched && meta.error ? (\r\n {meta.error}\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport const FormSelect = ({ label, name, ...rest }) => {\r\n const [field, meta] = useField(name);\r\n return (\r\n <>\r\n \r\n { setFilter(e.target.value || undefined) }} placeholder={`Zadejte text`}\r\n />\r\n )\r\n}\r\n\r\nexport const BoolColumnFilter = ({ column: { filterValue, preFilteredRows, setFilter }}) => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport const ListColumnFilter = ({ column: { filterValue, preFilteredRows, setFilter }}, values) => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst IndeterminateCheckbox = React.forwardRef(\r\n ({ indeterminate, ...rest }, ref) => {\r\n const defaultRef = React.useRef()\r\n const resolvedRef = ref || defaultRef\r\n\r\n React.useEffect(() => {\r\n resolvedRef.current.indeterminate = indeterminate\r\n }, [resolvedRef, indeterminate])\r\n\r\n return (\r\n <>\r\n \r\n \r\n )\r\n }\r\n)\r\n\r\nexport const DataTable = ({ columns, data, fetchData, isLoading, error, totalPages, initialState, storageId, showRowSelect = false, setSelectedRows }) => {\r\n const defaultColumn = useMemo(\r\n () => ({\r\n Filter: TextColumnFilter,\r\n }),\r\n []\r\n )\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n prepareRow,\r\n page,\r\n canPreviousPage,\r\n canNextPage,\r\n pageOptions,\r\n pageCount,\r\n gotoPage,\r\n nextPage,\r\n previousPage,\r\n setPageSize,\r\n setGlobalFilter,\r\n selectedFlatRows,\r\n setAllFilters,\r\n state,\r\n } = useTable(\r\n { columns, data, defaultColumn, initialState, manualPagination: true, pageCount: totalPages, manualSortBy: true, disableMultiSort: true, manualFilters: true },\r\n useGlobalFilter, useFilters, useSortBy, usePagination, useRowSelect,\r\n hooks => {\r\n hooks.visibleColumns.push(columns => [\r\n showRowSelect ?\r\n {\r\n id: \"selection\",\r\n Header: ({ getToggleAllPageRowsSelectedProps }) => (\r\n
\r\n \r\n
\r\n ),\r\n Cell: ({ row }) => (\r\n
\r\n \r\n
\r\n ),\r\n } : {},\r\n ...columns,\r\n ])\r\n }\r\n );\r\n\r\n useEffect(() => {\r\n fetchData({ page: state.pageIndex, size: state.pageSize, sort: state.sortBy, filters: state.filters });\r\n }, [fetchData, state.pageIndex, state.pageSize, state.sortBy, state.filters]);\r\n\r\n useEffect(() => {\r\n if (storageId) localStorage.setItem(storageId, JSON.stringify(state));\r\n }, [state, storageId]);\r\n\r\n useEffect(() => {\r\n if (setSelectedRows) { setSelectedRows(selectedFlatRows.map(d => d.original)); }\r\n }, [state]);\r\n \r\n return (\r\n <>\r\n \r\n \r\n \r\n {headerGroups.map(headerGroup => (\r\n \r\n {headerGroup.headers.map(column => (\r\n \r\n {column.render('Header')}\r\n \r\n {column.isSorted\r\n ? column.isSortedDesc\r\n ? \r\n : \r\n : ''}\r\n \r\n \r\n ))}\r\n \r\n ))}\r\n {headerGroups.map(headerGroup => (\r\n \r\n {headerGroup.headers.map(column => (\r\n \r\n {column.canFilter ? column.render('Filter') : null}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {\r\n error ? (\r\n \r\n \r\n \r\n ) : (\r\n isLoading ? (\r\n \r\n ) : page.map(\r\n (row, i) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map(cell => {\r\n return {cell.render('Cell')}\r\n })}\r\n \r\n )\r\n }\r\n )\r\n )\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n gotoPage(0)} disabled={!canPreviousPage} />\r\n previousPage()} disabled={!canPreviousPage} />\r\n nextPage()} disabled={!canNextPage} />\r\n gotoPage(pageCount - 1)} disabled={!canNextPage} />\r\n setAllFilters([])} title=\"Zobrazit vše\" />\r\n \r\n \r\n {[...Array(pageCount).keys()].map((num) => ( { gotoPage(num) }}>{num + 1}))}\r\n \r\n \r\n \r\n \r\n \r\n {showRowSelect\r\n ?\r\n \r\n {\"Je vybráno \" + Object.keys(state.selectedRowIds).length + \" řádků.\"}\r\n \r\n :\r\n null\r\n }\r\n\r\n \r\n )\r\n\r\n}\r\n\r\nDataTable.defaultProps = {\r\n initialState: { pageIndex: 0, pageSize: 50 }\r\n}","import {useEffect, useRef} from 'react';\r\n\r\nconst useTimeout = (callback, delay) => {\r\n const savedCallback = useRef();\r\n useEffect(()=>{\r\n savedCallback.current = callback;\r\n },[callback]);\r\n useEffect(()=>{\r\n if (delay !== null){\r\n let tout = setTimeout(()=>savedCallback.current(), delay);\r\n return ()=>clearTimeout(tout);\r\n }\r\n },[delay]);\r\n}\r\n\r\nexport default useTimeout;","import { useEffect, useRef } from \"react\";\r\n\r\nexport const useInterval = (callback, delay) => {\r\n const savedCallback = useRef();\r\n\r\n useEffect(() => {\r\n savedCallback.current = callback;\r\n }, [callback]);\r\n\r\n useEffect(() => {\r\n const tick = () => {\r\n savedCallback.current();\r\n }\r\n if (delay !== null) {\r\n let id = setInterval(tick, delay);\r\n return () => clearInterval(id);\r\n }\r\n }, [delay]);\r\n};\r\n\r\nexport default useInterval;","import {useState, useEffect} from \"react\";\r\nimport axios from \"axios\";\r\n\r\nexport const useFetch = (url, options, dependencies = [], callback = null) => {\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n useEffect(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(url, options)\r\n .then(response => {\r\n setResponse(response.data);\r\n //callback();\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n }\r\n })\r\n .then(()=>{setIsLoading(false);}); \r\n },[url, ...dependencies]);\r\n return {response, error, isLoading};\r\n}\r\n\r\nexport default useFetch;","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst StyledUser = styled.div`\r\ndisplay: flex;\r\nflex-direction: row;\r\nalign-items: center;\r\n& img {\r\n height: 38px;\r\n border: 1px solid white;\r\n}\r\n`;\r\nconst StyledUserContainer = styled.div`\r\nmargin: 5px;\r\ndisplay: flex;\r\nflex-direction: column;\r\n`;\r\nconst StyledUserName = styled.span`\r\ntext-decoration: none;\r\n`;\r\nconst StyledUserNameLink = styled(Link)`\r\ntext-decoration: none;\r\ncolor: inherit;\r\n&:hover {\r\n text-decoration: underline;\r\n}\r\n`;\r\nconst StyledUserDetail = styled.span`\r\nfont-size: .7em;\r\n`;\r\n\r\nconst User = props => (\r\n \r\n {props.image !== null ? props.image : null}\r\n \r\n {props.to ? {props.name} : {props.name}}\r\n {props.detail}\r\n \r\n \r\n);\r\n\r\nexport default User;","import React from 'react';\r\nimport {useAppContext} from \"../providers/ApplicationProvider\";\r\nimport {ReactComponent as BellIcon} from \"../assets/icons/bell.svg\";\r\nimport {ReactComponent as RingingIcon} from \"../assets/icons/bell_ringing.svg\";\r\nimport {ReactComponent as UserIcon} from \"../assets/icons/user.svg\";\r\nimport { Loader } from \"./general\";\r\nimport NavigationLink from \"./common/NavigationLink\";\r\nimport User from \"./common/User\";\r\nimport styled from 'styled-components';\r\n\r\nconst StyledHeaderPanel = styled.nav`\r\ndisplay: flex;\r\nflex-direction: row;\r\njustify-content: space-between;\r\nalign-items: stretch;\r\ncolor: ${props => props.theme.colors.headerForeground};\r\n& a {\r\n color: ${props => props.theme.colors.headerForeground};\r\n}\r\n`;\r\n\r\nconst StyledBellIcon = styled(BellIcon)`\r\nfill: ${props => props.theme.colors.headerForeground};\r\nstroke: ${props => props.theme.colors.headerForeground};\r\n`;\r\n\r\nconst StyledRingingIcon = styled(RingingIcon)`\r\nfill: ${props => props.theme.colors.headerForeground};\r\nstroke: ${props => props.theme.colors.headerForeground};\r\n`;\r\n\r\nconst StyledUserIcon = styled(UserIcon)`\r\nfill: ${props => props.theme.colors.headerForeground};\r\n`;\r\n\r\nconst StyledMessageCount = styled.span`\r\ncolor: ${props => props.theme.colors.headerForeground};\r\n`;\r\n\r\nconst HeaderLink = styled(NavigationLink)`\r\ncolor: ${props => props.theme.colors.headerForeground};\r\n`;\r\n\r\nconst HeaderPanel = props => {\r\n const [{accessToken, profile, messageCounter, isUserLoading, profileIcon, profileIconType}] = useAppContext();\r\n return (\r\n \r\n \r\n {messageCounter > 0 ? : }\r\n {messageCounter}\r\n \r\n \r\n {(isUserLoading === true)\r\n ?\r\n \r\n :\r\n accessToken === null \r\n ? \r\n \r\n : \r\n : \"\"} name={profile.name} detail={profile.preferred_username} />\r\n }\r\n \r\n \r\n );\r\n}\r\n\r\nexport default HeaderPanel;","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { useAppContext } from \"../providers/ApplicationProvider\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst StyledTitlePanel = styled.p`\r\npadding: 3px 10px;\r\noverflow: hidden;\r\ntext-overflow: elipsis;\r\ndisplay: flex;\r\nalign-items: center;\r\nmargin: 0;\r\n`;\r\n\r\nconst TitlePanel = props => {\r\n const [{title}] = useAppContext();\r\n return (\r\n <>\r\n \r\n {title + \" | Dlouhodobé práce SPŠSE\"}\r\n \r\n {title}\r\n \r\n );\r\n}\r\n\r\nexport default TitlePanel;","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport theme from \"styled-theming\";\r\nimport {useAppContext, DISMISS_MESSAGE} from \"../providers/ApplicationProvider\";\r\nimport {Alert} from \"./general\";\r\n\r\nconst StyledAlertContainer = styled.div`\r\nposition: fixed;\r\nbottom: 60px;\r\nright: 0;\r\ndisplay: flex;\r\nflex-direction: column;\r\nalign-items: flex-end;\r\njustify-content: flex-end;\r\nmax-width: 100%;\r\nz-index: 100;\r\n`;\r\n\r\nconst AlertContainer = props => {\r\n const [{messages}, dispatch] = useAppContext();\r\n return (\r\n \r\n {messages.slice(-5).map((item, index) => (\r\n dispatch({type: DISMISS_MESSAGE, id: index})} />\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default AlertContainer;","import React, {useContext} from \"react\";\r\nimport {Input, SearchMiniButton} from \"./general\";\r\nimport styled, {ThemeContext} from 'styled-components';\r\n\r\nconst StyledSearchBar = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n width: 100%;\r\n`;\r\nconst StyledSearchInput = styled(Input)`\r\n flex-grow: 1;\r\n border-bottom-color: currentColor;\r\n color: inherit;\r\n width: 50px;\r\n&:focus {\r\n box-shadow: 0 6px 3px -3px rgba(100,100,100,.3);\r\n outline: none;\r\n}\r\n`;\r\n\r\nconst SearchBar = ({searchAction, setSearchTerm, searchTerm, ...rest}) => {\r\n const themeContext = useContext(ThemeContext);\r\n return (\r\n \r\n {\r\n setSearchTerm(e.target.value);\r\n }}\r\n onKeyDown={e => {\r\n if (e.key === \"Enter\" && searchTerm.length > 0)\r\n searchAction(e.target.value);\r\n }} \r\n />\r\n { if (searchTerm.length > 0) searchAction(searchTerm) }} />\r\n \r\n );\r\n}\r\n\r\nexport default SearchBar;","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"folder\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 4l4 4h14v22h-32v-26z\"\n});\n\nvar SvgFolder = function SvgFolder(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFolder, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/folder.9ca3e4de.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport styled from 'styled-components';\r\nimport {Link} from \"react-router-dom\";\r\nimport {ReactComponent as UserIcon} from \"../assets/icons/user.svg\";\r\nimport {ReactComponent as IdeaIcon} from \"../assets/icons/lightbulb.svg\";\r\nimport {ReactComponent as WorkIcon} from \"../assets/icons/graduate.svg\";\r\nimport { ReactComponent as SetIcon } from \"../assets/icons/folder.svg\";\r\nimport { Heading, CancelMiniButton } from \"../components/general\";\r\n\r\nconst StyledFoundPage = styled.div`\r\n background-color: ${props => props.theme.colors.headerBackground};\r\n color: ${props => props.theme.colors.desktopForeground};\r\n padding: 15px;\r\n border-bottom: 1px solid #ccc;\r\n box-shadow: 5px 5px 10px 5px rgb(10 10 5 / 20%)\r\n`;\r\n\r\nconst StyledFoundItems = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n z-index: 100;\r\n`;\r\n\r\nconst StyledFoundItem = styled(Link)`\r\n display: grid;\r\n grid-template-columns: 50px auto;\r\n grid-template-areas: \"icon name\" \"icon description\";\r\n border-bottom: 1px solid #bbbbbb;\r\n padding: 5px;\r\n margin-bottom: .2rem;\r\n text-decoration: none;\r\n color: black;\r\n &:hover {\r\n background-color: rgba(200,200,200, .3);\r\n }\r\n`;\r\n\r\nconst StyledFoundItemIcon = styled.div`\r\n grid-area: icon;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n & > svg {\r\n width: 18px;\r\n fill: black;\r\n }\r\n`;\r\n\r\nconst StyledFoundItemName = styled.p`\r\n grid-area: name;\r\n font-size: 1em;\r\n margin: .2rem;\r\n`;\r\n\r\nconst StyledFoundItemDescription = styled.small`\r\n grid-area: description;\r\n font-size: .8em;\r\n margin: .2rem;\r\n`;\r\n\r\nconst FoundItem = ({ item, setSearchTerm }) => {\r\n let area = \"\";\r\n let icon;\r\n switch (item.type)\r\n {\r\n case 0: area = \"ideas\"; icon = ; break;\r\n case 1: area = \"works\"; icon = ; break;\r\n case 2: area = \"users\"; icon = ; break;\r\n default: area = \"sets\"; icon = ; break;\r\n }\r\n return (\r\n { setSearchTerm(\"\") }}>\r\n {icon}\r\n {item.name}\r\n {item.description}\r\n \r\n );\r\n}\r\n\r\nconst FoundItems = ({items, setSearchTerm, searchTerm}) => {\r\n return (\r\n \r\n Nalezený obsah setSearchTerm(\"\")} />\r\n

Bylo nalezeno {Array.isArray(items) && items.length ? items.length : 0} předmětů odpovídajících hledanému výrazu { searchTerm }.

\r\n \r\n {Array.isArray(items) && items.map((item, index) => (\r\n \r\n ))}\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default FoundItems;","import React, { useState, useEffect } from 'react';\r\nimport styled from 'styled-components';\r\nimport theme from \"styled-theming\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\n\r\nimport {devices} from \"../../configuration/layout\";\r\n\r\nimport MainMenu from \"../MainMenu\";\r\nimport HeaderPanel from \"../HeaderPanel\";\r\nimport TitlePanel from \"../TitlePanel\";\r\nimport AlertContainer from \"../AlertContainer\";\r\nimport SearchBar from \"../SearchBar\";\r\nimport FoundItems from \"../FoundItems\";\r\n\r\nconst DashboardLayoutWrapper = styled.div`\r\nheight: 100%;\r\nwidth: 100%;\r\ndisplay: grid;\r\ngrid-template-areas: \"logo header\" \"logo main\" \"search main\" \"navigation main\";\r\ngrid-template-columns: 180px 1fr;\r\ngrid-template-rows: 48px 0 auto 1fr;\r\n\r\n@media ${devices.tablet} {\r\n grid-template-columns: 48px 1fr;\r\n grid-template-rows: auto 48px auto 1fr;\r\n grid-template-areas: \"logo header\" \"logo search\" \"navigation main\" \"navigation main\";\r\n}\r\n\r\n@media ${devices.mobile} {\r\n grid-template-areas: \"header\" \"search\" \"main\" \"navigation\";\r\n grid-template-columns: 1fr;\r\n grid-template-rows: auto 48px 1fr 48px;\r\n}\r\n`;\r\n\r\nconst LogoWrapper = styled.div`\r\ngrid-area: logo;\r\nbackground-color: ${props => props.theme.colors.logoBackground};\r\ndisplay: flex;\r\njustify-content: center;\r\nalign-items: center;\r\n\r\n@media ${devices.mobile} {\r\ndisplay: none;\r\n}\r\n`;\r\n\r\nconst SearchWrapper = styled.div`\r\ngrid-area: search;\r\nbackground-color: ${props => props.theme.colors.menuBackground};\r\ncolor: ${props => props.theme.colors.menuForeground};\r\npadding: .5em;\r\n\r\n@media ${devices.tablet} {\r\n background-color: ${props => props.theme.colors.headerBackground};\r\n color: ${props => props.theme.colors.headerForeground};\r\n border-bottom: 1px solid #ccc;\r\n}\r\n\r\n@media ${devices.mobile} {\r\n background-color: ${props => props.theme.colors.headerBackground};\r\n color: ${props => props.theme.colors.headerForeground};\r\n border-bottom: 1px solid #ccc;\r\n}\r\n`;\r\n\r\nconst Logo = styled(NavLink)`\r\nfont-family: ${props => props.theme.fonts.heading};\r\ntext-decoration: none;\r\ncolor: ${props => props.theme.colors.logoForeground};\r\n& span {\r\n color: ${props => props.theme.colors.logoAccent};\r\n}\r\n& .full-text {\r\n display: block;\r\n font-size: 1.3rem;\r\n}\r\n& .short-text {\r\n display: none;\r\n font-size: 2rem;\r\n}\r\n@media ${devices.tablet} {\r\n & .full-text {\r\n display: none;\r\n }\r\n & .short-text {\r\n display: block;\r\n }\r\n}\r\n}\r\n`;\r\n\r\nconst HeaderWrapper = styled.div`\r\ngrid-area: header;\r\nbackground-color: ${props => props.theme.colors.headerBackground};\r\ncolor: ${props => props.theme.colors.headerForeground};\r\ndisplay: flex;\r\nflex-direction: row;\r\njustify-content: space-between;\r\nalign-items: stretch;\r\npadding: 0;\r\nborder-bottom: 1px solid #ccc;\r\n`;\r\n\r\nconst NavigationWrapper = styled.div`\r\ngrid-area: navigation;\r\nbackground-color: ${props => props.theme.colors.menuBackground};\r\ncolor: ${props => props.theme.colors.menuForeground};\r\ndisplay: flex;\r\noverflow-y: auto;\r\noverflow-x: hidden;\r\n`;\r\n\r\nconst ContentWrapper = styled.main`\r\ngrid-area: main;\r\npadding: 15px;\r\nbackground-color: ${props => props.theme.colors.desktopBackground};\r\ncolor: ${props => props.theme.colors.desktopForeground};\r\noverflow: auto;\r\nposition: relative;\r\n`;\r\n\r\nconst FoundWrapper = styled.div`\r\ngrid-area: main;\r\noverflow: auto;\r\nposition: relative;\r\nz-index: 100;\r\n`;\r\n\r\nconst DashboardLayout = props => {\r\n const [searchResults, setSearchResults] = useState(null);\r\n const [searchTerm, setSearchTerm] = useState(\"\");\r\n const processSearch = (text) => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/search?search=\" + text)\r\n .then(response => {\r\n if (response.data)\r\n setSearchResults(response.data);\r\n })\r\n }\r\n useEffect(() => { if (searchTerm.length >= 3) processSearch(searchTerm); else setSearchResults(null);}, [searchTerm]);\r\n return (\r\n \r\n \r\n \r\n
Dlouhodobé práce
\r\n
DP
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.children}\r\n \r\n {Array.isArray(searchResults)\r\n ?\r\n \r\n \r\n \r\n :\r\n null\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default DashboardLayout;","import React from 'react';\r\n\r\nexport default class ErrorBoundary extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: \"\",\r\n errorInfo: \"\", \r\n hasError: false,\r\n };\r\n }\r\n \r\n static getDerivedStateFromError(error) {\r\n return { hasError: true, error };\r\n }\r\n \r\n componentDidCatch(error, errorInfo) {\r\n console.error({error, errorInfo});\r\n this.setState({ errorInfo });\r\n }\r\n \r\n render() {\r\n if (this.state.hasError) {\r\n return (\r\n
\r\n
\r\n

Došlo k chybě.

\r\n
\r\n
\r\n Více informací\r\n {this.state.errorInfo && this.state.errorInfo.componentStack.toString()}\r\n
\r\n
\r\n );\r\n }\r\n return this.props.children;\r\n }\r\n}","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M410.22,314.947h86.358c8.516,0,15.422-6.906,15.422-15.422s-6.906-15.422-15.422-15.422h-86.361 c0,0-0.042-42.903-0.103-44.683h13.577c41.89,0,75.972-34.082,75.972-75.973v-57.464c0-8.516-6.906-15.422-15.422-15.422 s-15.422,6.906-15.422,15.422v57.466c0,24.884-20.244,45.13-45.128,45.13h-17.777c-10.465-43.338-39.279-79.59-77.73-100.044 c30.52-17.206,51.189-49.911,51.189-87.372c0-8.516-6.906-15.422-15.422-15.422c-8.516,0-15.422,6.906-15.422,15.422 c0,38.266-31.132,69.398-69.398,69.398h-46.265c-38.266,0-69.398-31.132-69.398-69.398c0-8.516-6.906-15.422-15.422-15.422 s-15.422,6.906-15.422,15.422c0,37.461,20.67,70.167,51.189,87.37c-38.451,20.454-67.265,56.706-77.73,100.044H88.309 c-24.884,0-45.128-20.246-45.128-45.13v-57.464c0-8.516-6.906-15.422-15.422-15.422c-8.516,0-15.422,6.906-15.422,15.422v57.466 c0,41.891,34.082,75.973,75.972,75.973h13.577c-0.062,1.778-0.103,44.681-0.103,44.681H15.422C6.906,284.104,0,291.01,0,299.525 s6.906,15.422,15.422,15.422h86.361v22.361c0,6.807,0.449,13.512,1.308,20.088H88.309c-41.89,0-75.972,34.082-75.972,75.972 v57.467c0,8.516,6.906,15.422,15.422,15.422c8.516,0,15.422-6.906,15.422-15.422v-57.467c0-24.884,20.244-45.128,45.128-45.128 h22.129c21.085,60.083,78.368,103.285,145.564,103.285c67.195,0,124.479-43.202,145.564-103.285h22.129 c24.884,0,45.128,20.244,45.128,45.128v57.467c0,8.516,6.906,15.422,15.422,15.422s15.422-6.906,15.422-15.422v-57.467 c0-41.89-34.082-75.972-75.972-75.972h-14.782c0.859-6.577,1.308-13.281,1.308-20.088V314.947z M240.578,459.683 c-60.771-7.617-107.952-59.572-107.952-122.374c0,0,0.06-96.11,0.136-97.888h107.816V459.683z M138.055,208.577 c15.507-50.418,62.509-87.173,117.945-87.173s102.439,36.756,117.945,87.173H138.055z M271.422,459.683V239.421h107.816 c0.077,1.778,0.136,97.888,0.136,97.888C379.373,400.11,332.192,452.066,271.422,459.683z\"\n});\n\nvar SvgBug = function SvgBug(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 512 512\",\n style: {\n enableBackground: \"new 0 0 512 512\"\n },\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBug, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/bug.7f7fc0b6.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport {Container, Heading, Paragraph, Message} from \"../general\";\r\nimport {ReactComponent as ErrorIcon} from \"../../assets/icons/bug.svg\";\r\nimport {mainTheme as theme} from \"../../App\";\r\n\r\nconst Error = props => {\r\n return (\r\n \r\n Chyba\r\n \r\n \r\n \r\n Něco se stalo.\r\n \r\n );\r\n};\r\n\r\nexport default Error;","import React from 'react';\r\nimport ErrorBoundary from \"./ErrorBoundary\";\r\nimport MessageLayout from \"../layouts/MessageLayout\";\r\nimport Error from \"../messages/Error\";\r\nimport {mainTheme as theme} from \"../../App\";\r\n \r\nexport default class TopErrorBoundary extends ErrorBoundary {\r\n render() {\r\n if (this.state.hasError) {\r\n return (\r\n \r\n \r\n \r\n
\r\n Více informací\r\n {this.state.errorInfo && this.state.errorInfo.componentStack.toString()}\r\n
\r\n
\r\n );\r\n }\r\n return this.props.children;\r\n }\r\n}","import React, {useEffect} from 'react';\r\nimport styled from 'styled-components';\r\nimport { Heading, Button } from \"./general\";\r\n\r\nimport {useAppContext, SET_TITLE} from \"../providers/ApplicationProvider\";\r\n\r\nconst TitleContainer = styled.div`\r\n max-width: 800px;\r\n width: 100%;\r\n margin: 0 auto;\r\n height: 100%;\r\n`;\r\n\r\nconst TitleBlock = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n`;\r\n\r\nconst FrontTitle = styled(Heading)`\r\n margin: 0;\r\n margin-bottom: .5em;\r\n`;\r\n\r\nconst OwnerTitle = styled.p`\r\n color: ${props => props.theme.colors.menuBackground};\r\n font-size: 2rem;\r\n margin: 0;\r\n margin-bottom: 30px;\r\n`;\r\n\r\nconst Home = props => {\r\n const [{accessToken, userManager, profile}, dispatch] = useAppContext();\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Úvodní stránka\"}); },[dispatch]);\r\n return (\r\n \r\n \r\n Dlouhodobé práce\r\n na SPŠSE a VOŠ Liberec\r\n {accessToken\r\n ? \r\n : }\r\n \r\n \r\n );\r\n}\r\n\r\nexport default Home;","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.5,\n cy: 10.5,\n r: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m10.5 14.5v-4\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.5,\n cy: 7.5,\n r: 1\n}));\n\nvar SvgInfoCircle = function SvgInfoCircle(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 21,\n viewBox: \"0 0 21 21\",\n width: 21,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInfoCircle, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/info_circle.43f9b80e.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport {Container, Heading, Paragraph, Message} from \"../general\";\r\nimport {ReactComponent as InfoIcon} from \"../../assets/icons/info_circle.svg\";\r\nimport {mainTheme as theme} from \"../../App\";\r\n\r\nconst NotFound = props => {\r\n return (\r\n \r\n Nenalezeno\r\n \r\n \r\n \r\n Požadovaná informace se v této aplikaci nenachází.\r\n \r\n );\r\n};\r\n\r\nexport default NotFound;","import React from 'react';\r\nimport NotFoundMessage from \"./messages/NotFound\";\r\n\r\nconst NotFound = props => {\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default NotFound;","import React, {useState, useEffect, useCallback} from \"react\";\r\nimport {Redirect} from \"react-router\";\r\nimport {Message, Heading, Paragraph, Loader} from \"../general\";\r\nimport {useAppContext, SET_ICON} from \"../../providers/ApplicationProvider\";\r\nimport {ReactComponent as ErrorIcon} from \"../../assets/icons/bug.svg\";\r\nimport styled from 'styled-components';\r\nimport axios from \"axios\";\r\nimport {mainTheme as theme} from \"../../App\";\r\n\r\nconst StyledSignInCallback = styled.main`\r\nheight: 100%;\r\nwidth: 100%;\r\ndisplay: flex;\r\nflex-direction: column;\r\nbackground-color: ${props => theme.colors.menuBackground};\r\ncolor: ${props => theme.colors.menuForeground};\r\njustify-content: center;\r\nalign-items: center;\r\ntext-align: center;\r\npadding: 15px;\r\nbox-sizing: border-box;\r\n`;\r\n\r\nconst SignInCallback = props => {\r\n const [message, setMessage] = useState(\"\");\r\n const [allOk, setAllOk] = useState(false);\r\n const [failure, setFailure] = useState(false);\r\n const [{userManager}, dispatch] = useAppContext();\r\n\r\n let lockedProfile = false;\r\n let lockedIcon = false;\r\n\r\n const setupProfile = useCallback((profile, accessToken, idToken) => {\r\n setMessage(\"Ověřování existence uživatele \" + profile.sub);\r\n axios.get(process.env.REACT_APP_API_URL + \"/users/\" + profile.sub, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setMessage(\"Uživatel nalezen\");\r\n lockedProfile = response.data.lockedChange;\r\n lockedIcon = response.data.lockedIcon;\r\n if (lockedProfile !== true)\r\n {\r\n setMessage(\"Aktualizace záznamu uživatele \" + profile.sub);\r\n axios.put(process.env.REACT_APP_API_URL + \"/users/\" + profile.sub, {\r\n Id: profile.sub,\r\n FirstName: profile.given_name,\r\n LastName: profile.family_name,\r\n Gender: (profile.gender === \"Male\") ? 1 : (profile.gender === \"Female\") ? 2 : (profile.gender === \"Other\") ? 3 : 0,\r\n Email: profile.email,\r\n CanBeAuthor: (profile.theses_author) ? true : false,\r\n CanBeEvaluator: (profile.theses_evaluator) ? true : false\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n }).then(response => {\r\n setMessage(\"Profil uživatele byl aktualizován.\");\r\n }).catch(error => {\r\n if (error.response) {\r\n setMessage(\"Došlo k chybě při aktualizaci profilu uživatele \" + profile.sub + \" (\" + error.response.status + \")\");\r\n }\r\n else\r\n {\r\n setMessage(\"Požadavek nevrátil očekávanou odpověď.\");\r\n }\r\n setFailure(true);\r\n });\r\n } \r\n })\r\n .catch(error => {\r\n lockedProfile = true;\r\n lockedIcon = true;\r\n if (error.response)\r\n {\r\n if (error.response.status === 404)\r\n {\r\n setMessage(\"Uživatel zatím neexistuje.\");\r\n setMessage(\"Vytváření záznamu uživatele \" + profile.sub);\r\n axios.post(process.env.REACT_APP_API_URL + \"/users\", {\r\n Id: profile.sub,\r\n FirstName: profile.given_name,\r\n LastName: profile.family_name,\r\n Gender: (profile.gender === \"Male\") ? 1 : (profile.gender === \"Female\") ? 2 : (profile.gender === \"Other\") ? 3 : 0,\r\n Email: profile.email,\r\n CanBeAuthor: (profile.theses_author) ? true : false,\r\n CanBeEvaluator: (profile.theses_evaluator) ? true : false,\r\n IconImage: profile.picture,\r\n IconImageType: profile.picture_format\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n }).then(response => {\r\n setMessage(\"Profil vytvořen\");\r\n }).catch(error => {\r\n if (error.response) {\r\n setMessage(\"Došlo k chybě při vytváření uživatele \" + profile.sub + \" (\" + error.response.status + \")\");\r\n }\r\n else\r\n {\r\n setMessage(\"Požadavek nevrátil očekávanou odpověď.\");\r\n }\r\n setFailure(true);\r\n });\r\n }\r\n else\r\n {\r\n setFailure(true);\r\n setMessage(\"Požadavek vrátil chybu: \" + error.response.status);\r\n }\r\n }\r\n else\r\n {\r\n setFailure(true);\r\n setMessage(\"Požadavek nevrátil očekávanou odpověď.\");\r\n }\r\n })\r\n .then(()=>{\r\n setMessage(\"Získávání ikony uživatele\");\r\n axios.get(process.env.REACT_APP_AUTH_URL + \"/api/account/icon\", {\r\n responseType: \"blob\",\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken\r\n }\r\n })\r\n .then(response => {\r\n let imageData = new Blob([response.data],{type: response.headers[\"content-type\"]});\r\n let reader = new FileReader();\r\n reader.onloadend = function() {\r\n var base64 = reader.result; \r\n var base64data = base64.split(',')[1]\r\n dispatch({type: SET_ICON, icon: base64data, iconType: response.headers[\"content-type\"]});\r\n }\r\n reader.readAsDataURL(imageData); \r\n if (lockedIcon !== true)\r\n {\r\n let formData = new FormData();\r\n formData.append(\"file\", imageData, \"picture.jpg\");\r\n axios.post(process.env.REACT_APP_API_URL + \"/users/\" + profile.sub + \"/icon\", \r\n formData,\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": 'multipart/form-data'\r\n }\r\n })\r\n .then(response => {\r\n })\r\n .catch(error => {\r\n setMessage(\"Při ukládání ikony došlo k chybě.\");\r\n setFailure(true);\r\n })\r\n .then(()=>{\r\n setAllOk(true);\r\n })\r\n } \r\n else\r\n {\r\n setAllOk(true);\r\n } \r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setMessage(\"Požadavek na ikonu vrátil chybu: \" + error.response.status);\r\n setFailure(true);\r\n console.log(error);\r\n } else {\r\n setMessage(\"Při získávání ikony došlo k chybě.\");\r\n setFailure(true);\r\n console.log(error);\r\n }\r\n })\r\n .then(()=>{\r\n //setAllOk(true);\r\n });\r\n });\r\n },[dispatch]);\r\n\r\n useEffect(()=>{ \r\n (async () => {\r\n setMessage(\"Čekání na uživatelská data\");\r\n const signResult = await userManager.signinRedirectCallback();\r\n setupProfile(signResult.profile, signResult.access_token, signResult.id_token);\r\n })();\r\n },[userManager, dispatch]);\r\n if (allOk)\r\n {\r\n return \r\n } \r\n else\r\n {\r\n return (\r\n \r\n \r\n {failure === true ? : }\r\n Dlouhodobé práce\r\n {message}\r\n \r\n \r\n );\r\n }\r\n}\r\n \r\nexport default SignInCallback;","import React from \"react\";\r\nimport {Redirect} from \"react-router\";\r\nimport {ADD_MESSAGE, useAppContext} from \"../../providers/ApplicationProvider\";\r\n\r\nconst SilentRenew = props => {\r\n const [{userManager},dispatch] = useAppContext();\r\n userManager.signinSilentCallback();\r\n dispatch({type: ADD_MESSAGE, variant: \"info\", text: \"Byl načten aktualizovaný bezpečnostní token.\", dismissable: true});\r\n return ;\r\n}\r\n \r\nexport default SilentRenew;","import React from \"react\";\r\nimport {Redirect} from \"react-router\";\r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\n\r\nconst SignOutCallback = props => {\r\n const [{userManager}] = useAppContext();\r\n userManager.signoutRedirectCallback();\r\n return ;\r\n}\r\n \r\nexport default SignOutCallback;","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.5,\n cy: 10.5,\n r: 8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m10.5 11.5v-5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10.5,\n cy: 14.5,\n r: 1\n}));\n\nvar SvgWarningCircle = function SvgWarningCircle(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 21,\n viewBox: \"0 0 21 21\",\n width: 21,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWarningCircle, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/warning_circle.f1901929.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport {Container, Heading, Paragraph, Button, Message} from \"../general\";\r\nimport {ReactComponent as BlockedIcon} from \"../../assets/icons/warning_circle.svg\";\r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\nimport {mainTheme as theme} from \"../../App\";\r\n\r\nconst Unauthorized = props => {\r\n const [{userManager}] = useAppContext();\r\n return (\r\n \r\n Nepřihlášený uživatel\r\n \r\n \r\n \r\n K přístupu k této činnosti je nutné se přihlásit.\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Unauthorized;","import React from 'react';\r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\nimport Unauthorized from \"../messages/Unauthorized\";\r\n\r\nconst requireAuth = (WrappedComponent) => props => {\r\n const [{accessToken}] = useAppContext();\r\n if (accessToken === null) {\r\n return ;\r\n } else {\r\n return(\r\n \r\n {props.children}\r\n \r\n );\r\n }\r\n \r\n}\r\n\r\nexport default requireAuth;","import React from 'react';\r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\nimport requireAuth from \"../Auth/requireAuth\";\r\nimport {Heading, CodeBlock} from \"../general\";\r\n\r\nconst Tokens = props => {\r\nconst [{accessToken, idToken, profile}] = useAppContext();\r\n return (\r\n <>\r\n Access Token\r\n {accessToken}\r\n Id Token\r\n {idToken}\r\n Načtený profil\r\n {JSON.stringify(profile, null, 4)}\r\n \r\n );\r\n}\r\n\r\nexport default requireAuth(Tokens);","import React, { useEffect} from 'react';\r\nimport { useAppContext, SET_TITLE } from \"../../providers/ApplicationProvider\";\r\nimport {Button, Card, CardContainer, CardHeader, CardBody, Subheading, CardTypeValueList, CardTypeValueItem} from \"../general\";\r\n\r\nconst Profile = props => {\r\n const [{ accessToken, userManager, profile, profileIcon, profileIconType }, dispatch] = useAppContext();\r\n useEffect(() => { dispatch({ type: SET_TITLE, payload: \"Uživatelský profil\" }); }, [dispatch]);\r\n if (accessToken)\r\n {\r\n return (\r\n <>\r\n \r\n \r\n Profil\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : \"není\"} />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n else\r\n {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Profile;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {useAppContext, ADD_MESSAGE, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport requireAuth from \"../Auth/requireAuth\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {Heading, Loader, Alert, Table, TableHeader, TableRow, DataCell, HeadCell, TableBody, RemoveMiniButton, Button, Modal, Paragraph, PageTitle} from \"../general\";\r\nimport axios from \"axios\";\r\n\r\nconst Offer = props => {\r\nconst [{accessToken, profile}, dispatch] = useAppContext();\r\nconst [response, setResponse] = useState(null);\r\nconst [isLoading, setIsLoading] = useState(false);\r\nconst [isDeleting, setIsDeleting] = useState(false);\r\nconst [showClear, setShowClear] = useState(false);\r\nconst [error, setError] = useState(false);\r\nconst fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/users/\" + profile.sub + \"/offers\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, profile]);\r\n const removeOffer = useCallback((id) => {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/users/\" + profile.sub + \"/offers/\" + id, {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Námět byl z nabídky odstraněn.\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Odstranění námětu se nepodařilo. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Odstranění námětu se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n })\r\n .then(()=>{\r\n setIsDeleting(false);\r\n });\r\n },[accessToken,profile]);\r\n const clearOffer = useCallback(() => {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/users/\" + profile.sub + \"/offers\", {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Seznam nabídek byl vymazán.\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Vymazání seznamu se nepodařilo. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Vymazaní seznamu se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n })\r\n .then(()=>{\r\n setIsDeleting(false);\r\n });\r\n },[accessToken,profile]);\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Mnou nabízené náměty\"});},[dispatch]);\r\n useEffect(()=>{fetchData();},[]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n Seznam mnou nabízených námětů\r\n \r\n \r\n \r\n Název\r\n Akce\r\n \r\n \r\n \r\n {Array.isArray(response) && response.length > 0 \r\n ?\r\n response.map((item, index) => (\r\n \r\n {item.name}\r\n removeOffer(item.id)} />\r\n \r\n ))\r\n :\r\n Nyní žádné náměty nenabízíte\r\n }\r\n \r\n
\r\n setShowClear(false)} \r\n title=\"Opravdu vymazat seznam?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n } \r\n >\r\n Pokud budete chtít nějaké náměty nabízet k vypracování, budete muset seznam znovu vytvořit.\r\n \r\n
\r\n {Array.isArray(response) && response.length > 0 \r\n ?\r\n \r\n :\r\n \"\"\r\n }\r\n
\r\n \r\n )\r\n } else {\r\n return ;\r\n };\r\n};\r\n\r\nexport default requireAuth(Offer);","import React from 'react';\r\nimport {ActionLink, Button, ButtonBlock} from \"../general\";\r\nimport { Route, Switch, useHistory } from \"react-router-dom\";\r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\nimport Tokens from \"./Tokens\";\r\nimport Profile from \"./Profile\";\r\nimport Offer from \"./Offer\";\r\nimport NotFound from \"../NotFound\";\r\n\r\nconst Account = props => {\r\n const [{ accessToken, userManager }] = useAppContext();\r\n let history = useHistory();\r\n if (accessToken)\r\n {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n else\r\n {\r\n return (\r\n \r\n \r\n \r\n );\r\n } \r\n}\r\n\r\nexport default Account;","import React, {useState, useEffect} from 'react';\r\nimport { Formik, Form, ErrorMessage, Field } from 'formik';\r\nimport { Button, Subheading, Label, Alert, Loader, CodeBlock, PageTitle, Input, Select} from \"./general\";\r\nimport {useAppContext, SET_TITLE} from \"../providers/ApplicationProvider\";\r\nimport {devices} from \"../configuration/layout\";\r\nimport styled from 'styled-components';\r\nimport axios from \"axios\";\r\n\r\nconst ConsoleGrid = styled.div`\r\ndisplay: grid;\r\ngrid-template-areas: \r\n \"method-label server-label command-label .\"\r\n \"method-field server-field command-field submit\" \r\n \"method-error server-error command-error .\" \r\n \"auth . . .\"\r\n \"payload-label payload-label payload-label payload-label\" \r\n \"payload-field payload-field payload-field payload-field\";\r\ngrid-template-columns: 1fr 1fr 4fr auto;\r\ngrid-row-gap: .5rem;\r\ngrid-template-rows: auto;\r\n@media ${devices.tablet} {\r\n grid-template-columns: 1fr 1fr auto;\r\n grid-template-areas: \r\n \"method-label server-label command-label\"\r\n \"method-field server-field command-field\" \r\n \"method-error server-error command-error\" \r\n \"payload-label payload-label payload-label\" \r\n \"payload-field payload-field payload-field\"\r\n \"auth auth submit\"\r\n ;\r\n }\r\n`;\r\n\r\nconst MethodLabel = styled(Label)`\r\ngrid-area: method-label;\r\n`;\r\n\r\nconst ServerLabel = styled(Label)`\r\ngrid-area: server-label;\r\n`;\r\n\r\nconst CommandLabel = styled(Label)`\r\ngrid-area: command-label;\r\n`;\r\n\r\nconst AuthField = styled(Field)`\r\n\r\n`;\r\n\r\nconst AuthLabel = styled(Label)`\r\ngrid-area: auth;\r\n`;\r\n\r\nconst MethodField = styled(Field)`\r\ngrid-area: method-field;\r\n`;\r\n\r\nconst ServerField = styled(Field)`\r\ngrid-area: server-field;\r\n`;\r\n\r\nconst CommandField = styled(Field)`\r\ngrid-area: command-field;\r\nwidth: auto;\r\n`;\r\n\r\nconst SubmitButton = styled(Button)`\r\ngrid-area: submit;\r\ndisplay: block;\r\n`;\r\n\r\nconst MethodError = styled(Alert)`\r\ngrid-area: method-error;\r\n`;\r\n\r\nconst ServerError = styled(Alert)`\r\ngrid-area: server-error;\r\n`;\r\n\r\nconst CommandError = styled(Alert)`\r\ngrid-area: command-error;\r\n`;\r\n\r\nconst PayloadLabel = styled(Label)`\r\ngrid-area: payload-label;\r\n`;\r\n\r\nconst PayloadField = styled(Field)`\r\ngrid-area: payload-field;\r\nwidth: auto;\r\n`;\r\n\r\nconst Console = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [status, setStatus] = useState(\"nic\");\r\n const [ok, setOk] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Konzola pro manipulaci s API\"}); },[dispatch]);\r\n return (\r\n <>\r\n \r\n {\r\n let errors = {};\r\n if (!values.method) errors.method = \"Zvolte metodu\";\r\n if (!values.command) errors.command = \"Uveďte cestu\";\r\n if (!values.server) errors.server = \"Vyberte server\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n setOk(false);\r\n setError(false);\r\n let commandConfig = {\r\n method: values.method,\r\n url: (values.server === \"API\" ? process.env.REACT_APP_API_URL : process.env.REACT_APP_AUTH_URL) + \"/\" + values.command,\r\n data: values.method !== \"GET\" ? values.payload : \"\",\r\n headers: {\r\n Authorization: (values.authorized === true? \"Bearer \" + accessToken : \"\"),\r\n \"Content-Type\": \"application/json\"\r\n }\r\n };\r\n axios(commandConfig)\r\n .then(response => {\r\n console.log(response.data);\r\n setOk(true);\r\n setResponse(response.data);\r\n setStatus(response.status);\r\n })\r\n .catch(error => {\r\n setError(true);\r\n if (error.response)\r\n {\r\n setResponse(error.response);\r\n setStatus(error.response.status);\r\n }\r\n else\r\n {\r\n setResponse(null);\r\n setStatus(\"???\");\r\n } \r\n }).then(()=>{\r\n setSubmitting(false);\r\n });\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue}) => (\r\n
\r\n \r\n Metoda\r\n \r\n \r\n \r\n \r\n \r\n \r\n Server\r\n \r\n \r\n \r\n \r\n {msg => }\r\n {msg => }\r\n {msg => }\r\n Příkaz\r\n \r\n Ověřovat setFieldValue(\"authorized\", !values.authorized)} />\r\n Metoda\r\n \r\n {isSubmitting ? :Odeslat}\r\n \r\n
\r\n )}\r\n
\r\n Výsledek: {status}\r\n {ok === true ? : \"\"}\r\n {error === true ? : \"\"}\r\n
\r\n                    {JSON.stringify(response, null, 4)}\r\n                
\r\n \r\n\r\n );\r\n}\r\n\r\nexport default Console;","import React, { useEffect } from 'react';\r\nimport { Heading } from \"./general\";\r\nimport {useAppContext, DISMISS_MESSAGE, CLEAR_MESSAGES, SET_TITLE} from \"../providers/ApplicationProvider\";\r\nimport {Alert, Button} from \"./general\";\r\n\r\nconst Alerts = props => {\r\n const [{messages}, dispatch] = useAppContext();\r\n useEffect(()=>{\r\n dispatch({type: SET_TITLE, payload: \"Aktuální upozornění\"});\r\n },[dispatch]);\r\n return (\r\n <>\r\n Upozornění\r\n
\r\n \r\n
\r\n {messages.map((item, index) => (\r\n dispatch({type: DISMISS_MESSAGE, id: index})} />\r\n ))}\r\n \r\n );\r\n}\r\n\r\nexport default Alerts;","import React, {useState, useEffect} from 'react';\r\nimport { Heading, Paragraph, Button, ButtonBlock, Modal, Loader, PageTitle,\r\n ResetMiniButton, UserMiniButton, EditMiniButton, RemoveMiniButton, AddMiniButton, YesMiniButton, NoMiniButton, CancelMiniButton, LockedMiniButton, UnlockedMiniButton, AlertMiniButton, DeleteMiniButton, FirstMiniButton, PreviousMiniButton, NextMiniButton, LastMiniButton, \r\n Form, FormTextInput, FormCheckbox, FormSelect, Label, FormRadio, FormRadioGroup\r\n} from \"./general\";\r\nimport { Formik } from 'formik';\r\nimport {useAppContext, ADD_MESSAGE} from \"../providers/ApplicationProvider\";\r\n\r\nconst Test = props => {\r\n const [showDialog, setShowDialog] = useState(false);\r\n const [showInfo, setShowInfo] = useState(false);\r\n const [showWarning, setShowWarning] = useState(false);\r\n const [showSuccess, setShowSuccess] = useState(false);\r\n const [showDanger, setShowDanger] = useState(false);\r\n const [showError, setShowError] = useState(false);\r\n const [showResult, setShowResult] = useState(false);\r\n const [formResult, setFormResult] = useState(null);\r\n const [, dispatch] = useAppContext();\r\n useEffect(() => {\r\n setShowDialog(false);\r\n setShowInfo(false);\r\n setShowWarning(false);\r\n setShowSuccess(false);\r\n setShowDanger(false);\r\n setShowError(false);\r\n setShowResult(false);\r\n return () => {setShowDialog(false);setShowInfo(false);setShowWarning(false);setShowSuccess(false);setShowDanger(false);setShowError(false);};\r\n },[]);\r\n return (\r\n <>\r\n Testy rozhraní\r\n Stránka demonstrující možnosti rozhraní.\r\n Tlačítka\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Dialogová okna\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Zprávy\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nahrávání\r\n
\r\n \r\n \r\n \r\n
\r\n Akce\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Formuláře\r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte jméno\";\r\n if (!values.email) errors.email = \"Vyplňte email\";\r\n if (!values.region) errors.region = \"Musíte si vybrat region\";\r\n if (!values.contact) errors.contact = \"Musíte si vybrat formu kontaktu\";\r\n if (!values.reward) errors.reward = \"Musíte si vybrat odměnu\";\r\n if (!values.agreement) errors.agreement = \"S dohodou musíte souhlasit\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setFormResult(values);\r\n setShowResult(true);\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, isValid, dirty}) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n setShowDialog(false)} \r\n title=\"Obecný dialog\"\r\n actions={\r\n <>\r\n \r\n \r\n }\r\n >\r\n

Toto je informace.

\r\n
\r\n setShowInfo(false)} \r\n title=\"Informace\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n

Toto je nějaká informace.

\r\n
\r\n setShowWarning(false)} \r\n title=\"Upozornění\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n

Toto je potřeba potvrdit.

\r\n
\r\n setShowSuccess(false)} \r\n title=\"Dokončeno\"\r\n actions={\r\n <>\r\n \r\n \r\n }\r\n >\r\n

Něco se povedlo.

\r\n
\r\n setShowDanger(false)} \r\n title=\"Pozor\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n

Teď si dejte opravdu pozor.

\r\n
\r\n setShowError(false)} \r\n title=\"Chyba\"\r\n actions={\r\n <>\r\n \r\n \r\n }\r\n >\r\n

Došlo k chybě.

\r\n
\r\n setShowResult(false)} \r\n title=\"Odeslaná data\"\r\n actions={\r\n <>\r\n \r\n \r\n }\r\n >\r\n
\r\n                {JSON.stringify(formResult,null,41)}\r\n            
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Test;","import React, {useState, useMemo, useCallback, useEffect} from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport {DataTable, BoolColumnFilter} from \"../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\n\r\nconst LOCAL_STORAGE_ID = \"prace2-users-state\";\r\n\r\nconst List = props => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n const [data, setData] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n\r\n let storedTableState = JSON.parse(localStorage.getItem(LOCAL_STORAGE_ID));\r\n\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Seznam uživatelů\"}); },[dispatch]);\r\n\r\n const columns = useMemo(() => [\r\n {Header: \"Jméno\", accessor: \"firstName\"},\r\n {Header: \"Příjmení\", accessor: \"lastName\"},\r\n {Header: \"Autor\", accessor: \"canBeAuthor\", disableSortBy: true, Cell: (data)=>(data.cell.value === true ? \"Ano\" : \"Ne\"), Filter: BoolColumnFilter},\r\n {Header: \"Hodnotitel\", accessor: \"canBeEvaluator\", disableSortBy: true, Cell: (data)=>(data.cell.value === true ? \"Ano\" : \"Ne\"), Filter: BoolColumnFilter},\r\n {Header: \"Akce\", Cell: (data)=>(Detail)}\r\n ],[]); \r\n\r\n const fetchData = useCallback(({page, size, sort, filters})=>{\r\n (async () => {\r\n setIsLoading(true);\r\n setError(false);\r\n let parameters = [];\r\n\r\n let order = sort[0] ? sort[0].id : undefined;\r\n if (order) order = order.toLowerCase();\r\n if (order && sort[0].desc) order = order + \"_desc\";\r\n\r\n if (page) parameters.push(\"page=\" + page);\r\n if (size) parameters.push(\"pageSize=\" + size);\r\n if (order) parameters.push(\"order=\" + order);\r\n if (Array.isArray(filters)) {\r\n for (let f of filters) {\r\n switch (f.id) {\r\n case \"firstName\": parameters.push(\"firstname=\" + f.value); break;\r\n case \"lastName\": parameters.push(\"lastname=\" + f.value); break;\r\n case \"canBeAuthor\": parameters.push(\"author=\" + f.value); break;\r\n case \"canBeEvaluator\": parameters.push(\"evaluator=\" + f.value); break;\r\n default: break;\r\n }\r\n }\r\n }\r\n axios.get(process.env.REACT_APP_API_URL + \"/users?\" + parameters.join(\"&\"), {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data.data);\r\n setTotalPages(response.data.pages);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setError({text: error.response.statusText, status: error.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n })(); \r\n },[accessToken]);\r\n\r\n return \r\n}\r\n\r\nexport default List;","import React, {useEffect, useCallback, useState} from 'react';\r\nimport { useParams, Link } from \"react-router-dom\";\r\nimport { useFetch, Loader, Alert, CardContainer, Card, CardHeader, CardBody, Subheading, CardTypeValueList, CardTypeValueItem, ActionLink, Paragraph, PageTitle, Table, TableBody, TableRow, DataCell } from \"../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport {EVALUATOR_ROLE} from \"../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst PersonalDetail = ({data}) => {\r\n return(\r\n <>\r\n Obecné informace\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.iconImage ? } /> : \"\"}\r\n {data.email ? {data.email}} /> : \"\"}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst PersonalOffer = props => {\r\n const {response, error, isLoading} = useFetch(process.env.REACT_APP_API_URL + \"/users/\" + props.id + \"/offers\",{\r\n method: \"GET\",\r\n headers: {\r\n Authorization: \"Bearer \" + props.accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n });\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n \r\n {Array.isArray(response) && response.length > 0 \r\n ?\r\n \r\n \r\n {response.map((item, index)=>(\r\n \r\n \r\n {item.name}\r\n \r\n \r\n ))}\r\n \r\n
\r\n :\r\n Uživatel nic nenabízí\r\n }\r\n
\r\n \r\n );\r\n } else {\r\n return ;\r\n }; \r\n}\r\n\r\nconst AuthoredWorks = props => {\r\n const {response, error, isLoading} = useFetch(process.env.REACT_APP_API_URL + \"/users/\" + props.id + \"/works\",{\r\n method: \"GET\",\r\n headers: {\r\n Authorization: \"Bearer \" + props.accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n });\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n \r\n {Array.isArray(response) && response.length > 0 \r\n ?\r\n \r\n \r\n {response.map((item, index)=>(\r\n \r\n {item.name} \r\n \r\n ))}\r\n \r\n
\r\n :\r\n Uživatel není autorem žádné práce\r\n }\r\n
\r\n \r\n );\r\n } else {\r\n return ;\r\n }; \r\n}\r\n\r\nconst AuthoredIdeas = props => {\r\n const {response, error, isLoading} = useFetch(process.env.REACT_APP_API_URL + \"/users/\" + props.id + \"/ideas\",{\r\n method: \"GET\",\r\n headers: {\r\n Authorization: \"Bearer \" + props.accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n });\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n \r\n {Array.isArray(response) && response.length > 0 \r\n ?\r\n \r\n \r\n {response.map((item, index)=>(\r\n \r\n {item.name} \r\n \r\n ))}\r\n \r\n
\r\n :\r\n Uživatel není autorem žádného námětu\r\n }\r\n
\r\n \r\n );\r\n } else {\r\n return ;\r\n }; \r\n}\r\n\r\nexport const Detail = props => {\r\n const { id } = useParams();\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Detail uživatele\"}); },[dispatch]);\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/users/\" + id,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, id]);\r\n useEffect(()=>{fetchData();},[fetchData]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n <>\r\n Seznam\r\n \r\n {response.name} \r\n \r\n \r\n \r\n \r\n \r\n Autorství prací\r\n \r\n \r\n \r\n Autorství námětů\r\n \r\n \r\n {profile && profile[EVALUATOR_ROLE] === \"1\"\r\n ?\r\n \r\n Nabídka námětů\r\n \r\n \r\n :\r\n \"\"\r\n }\r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n };\r\n};\r\n\r\nexport default Detail;","import React from 'react';\r\nimport {Route, Switch} from \"react-router-dom\";\r\nimport requireAuth from \"../Auth/requireAuth\";\r\nimport List from \"./List\";\r\nimport Detail from \"./Detail\";\r\n\r\nconst Users = props => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default requireAuth(Users);","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\",\n transform: \"translate(-1 -1)\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n points: \"11.301 2.953 17.795 5.722 20.042 11.285 17.295 17.788 11.716 20.042 5.208 17.279 2.96 11.716 5.723 5.207\",\n transform: \"rotate(22 11.501 11.497)\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.5,\n x2: 11.5,\n y1: 12.5,\n y2: 7.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 11.5,\n cy: 15.5,\n r: 1\n}));\n\nvar SvgWarningHex = function SvgWarningHex(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 21,\n viewBox: \"0 0 21 21\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWarningHex, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/warning_hex.fed2cb6a.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport {Container, Heading, Paragraph, Button, Message} from \"../general\";\r\nimport {ReactComponent as BlockedIcon} from \"../../assets/icons/warning_hex.svg\";\r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\nimport {mainTheme as theme} from \"../../App\";\r\n\r\nconst AccessDenied = props => {\r\n const [{userManager}] = useAppContext();\r\n return (\r\n \r\n Přístup odepřen\r\n \r\n \r\n \r\n K přístupu k této činnosti Vaše práva nestačí.\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AccessDenied;","import React from 'react';\r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\nimport AccessDenied from \"../messages/AccessDenied\";\r\nimport Unauthorized from \"../messages/Unauthorized\";\r\n\r\nconst requireAdmin = (WrappedComponent) => (props) => {\r\n const [{accessToken, profile}] = useAppContext();\r\n if (accessToken === null) {\r\n return ;\r\n } else if (profile.theses_admin !== \"1\" ){\r\n return ;\r\n } else {\r\n return(\r\n \r\n {props.children}\r\n \r\n );\r\n }\r\n \r\n}\r\n\r\nexport default requireAdmin;","import React, {useEffect} from 'react';\r\nimport { PageTitle } from \"../general\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\n\r\nconst Title = props => {\r\n const [,dispatch] = useAppContext();\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Úvodní stránka\"}); },[dispatch]);\r\n return (\r\n <>\r\n Administrativní rozhraní\r\n
    \r\n
  • Cíle
  • \r\n
  • Sady
  • \r\n
  • Škály
  • \r\n
  • Uživatelé
  • \r\n
  • Konzola API
  • \r\n
  • Test rozhraní
  • \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Title;","import React, {useState, useMemo, useCallback, useEffect} from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport {DataTable, BoolColumnFilter, ListColumnFilter, ActionLink, ButtonBlock, Button, Modal, Paragraph} from \"../../general\";\r\nimport {Genders} from \"../../../configuration/constants\";\r\nimport { useAppContext, SET_TITLE, ADD_MESSAGE } from \"../../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\n\r\nconst LOCAL_STORAGE_ID = \"prace2-adminusers-state\";\r\n\r\nconst List = props => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n const [data, setData] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n\r\n const [selectedRows, setSelectedRows] = useState([]);\r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n\r\n let storedTableState = JSON.parse(localStorage.getItem(LOCAL_STORAGE_ID));\r\n\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Seznam uživatelů\"}); },[dispatch]);\r\n\r\n const columns = useMemo(() => [\r\n {Header: \"Ikona\", accessor: \"iconImage\", disableFilters:true, disableSortBy: true, Cell: (data)=>(data.cell.value !== null ? \"\" : \"\")},\r\n {Header: \"Jméno\", accessor: \"firstName\"},\r\n {Header: \"Příjmení\", accessor: \"lastName\"},\r\n {Header: \"Email\", accessor: \"email\"},\r\n {Header: \"Pohlaví\", accessor: \"gender\", disableSortBy: true, Cell: (data)=>{return Genders[data.cell.value] !== undefined ? Genders[data.cell.value] : \"\"}, Filter: (column) => {return ListColumnFilter(column, Genders)}},\r\n {Header: \"Autor\", accessor: \"canBeAuthor\", disableSortBy: true, Cell: (data)=>(data.cell.value === true ? \"Ano\" : \"Ne\"), Filter: BoolColumnFilter},\r\n {Header: \"Hodnotitel\", accessor: \"canBeEvaluator\", disableSortBy: true, Cell: (data)=>(data.cell.value === true ? \"Ano\" : \"Ne\"), Filter: BoolColumnFilter},\r\n {Header: \"Akce\", Cell: (data)=>(Detail)}\r\n ],[]); \r\n\r\n const fetchData = useCallback(({page, size, sort, filters})=>{\r\n (async () => {\r\n setIsLoading(true);\r\n setError(false);\r\n let parameters = [];\r\n\r\n let order = sort[0] ? sort[0].id : undefined;\r\n if (order) order = order.toLowerCase();\r\n if (order && sort[0].desc) order = order + \"_desc\";\r\n\r\n if (page) parameters.push(\"page=\" + page);\r\n if (size) parameters.push(\"pageSize=\" + size);\r\n if (order) parameters.push(\"order=\" + order);\r\n if (Array.isArray(filters)) {\r\n for (let f of filters) {\r\n switch (f.id) {\r\n case \"gender\": parameters.push(\"gender=\" + f.value); break;\r\n case \"firstName\": parameters.push(\"firstname=\" + f.value); break;\r\n case \"lastName\": parameters.push(\"lastname=\" + f.value); break;\r\n case \"email\": parameters.push(\"email=\" + f.value); break;\r\n case \"canBeAuthor\": parameters.push(\"author=\" + f.value); break;\r\n case \"canBeEvaluator\": parameters.push(\"evaluator=\" + f.value); break;\r\n default: break;\r\n }\r\n }\r\n } \r\n axios.get(process.env.REACT_APP_API_URL + \"/users?\" + parameters.join(\"&\"), {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data.data);\r\n setTotalPages(response.data.pages);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setError({text: error.response.statusText, status: error.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n })(); \r\n },[accessToken]);\r\n \r\n return (\r\n <>\r\n <>\r\n Administrace\r\n Vytvoření\r\n \r\n \r\n {selectedRows.length > 0\r\n ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n null\r\n }\r\n setShowDelete(false)}\r\n title=\"Opravdu smazat uživatele?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Chystáte se smazat následující uživatele:\r\n
    \r\n {selectedRows.map((item, index) => (
  1. {item.lastName + \" \" + item.firstName}
  2. ))}\r\n
\r\n Takto smazané uživatele nebude možné nijak obnovit.\r\n \r\n \r\n );\r\n}\r\n\r\nexport default List;","import React, {useState, useEffect} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, Button, Label, Form, CardContainer, Card, ActionLink, FormTextInput, FormCheckbox, FormRadioGroup } from \"../../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {useAppContext, SET_TITLE} from \"../../../providers/ApplicationProvider\";\r\nimport {Genders} from \"../../../configuration/constants\";\r\nimport Axios from 'axios';\r\n\r\nexport const Create = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n let history = useHistory();\r\n useEffect(()=>{ \r\n dispatch({type: SET_TITLE, payload: \"Nový uživatel\"});\r\n setFailed(false);\r\n setOk(false); },[dispatch]);\r\n return (\r\n <>\r\n <>\r\n Administrace\r\n Seznam\r\n \r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.id) errors.id = \"Vyplňte identifikátor uživatele\";\r\n if (!values.firstname) errors.firstname = \"Vyplňte jméno uživatele\";\r\n if (!values.lastname) errors.lastname = \"Vyplňte příjmení uživatele\";\r\n if (values.gender === null) errors.gender = \"Vyplňte pohlaví uživatele\";\r\n if (!values.email) errors.email = \"Vyplňte email uživatele\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/users\", {\r\n Id: values.id,\r\n FirstName: values.firstname,\r\n MiddleName: values.middlename,\r\n LastName: values.lastname,\r\n Gender: Number(values.gender),\r\n Email: values.email,\r\n CanBeAuthor: values.canbeauthor,\r\n CanBeEvaluator: values.canbeevaluator,\r\n LockedIcon: values.lockedicon,\r\n LockedChange: values.lockedchange\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n history.push(\"/admin/users\");\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, dirty, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )} \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Create;","import React, {useState, useEffect} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, Button, Label, Form, FormTextInput, FormCheckbox, FormRadioGroup } from \"../../general\";\r\nimport {useAppContext, SET_TITLE, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport {Genders} from \"../../../configuration/constants\";\r\nimport Axios from 'axios';\r\n\r\nconst Edit = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n useEffect(() => {\r\n dispatch({type: SET_TITLE, payload: \"Editace uživatele\"});\r\n setFailed(false);\r\n setOk(false);\r\n },[dispatch]);\r\n return (\r\n {\r\n let errors = {};\r\n if (!values.id) errors.id = \"Vyplňte ID\";\r\n if (!values.firstname) errors.firstname = \"Vyplňte jméno uživatele\";\r\n if (!values.lastname) errors.lastname = \"Vyplňte příjmení uživatele\";\r\n if (values.gender === null) errors.gender = \"Vyplňte pohlaví uživatele\";\r\n if (!values.email) errors.email = \"Vyplňte email uživatele\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.put(process.env.REACT_APP_API_URL + \"/users/\" + props.data.id, {\r\n Id: values.id,\r\n FirstName: values.firstname,\r\n MiddleName: values.middlename,\r\n LastName: values.lastname,\r\n Gender: Number(values.gender),\r\n Email: values.email,\r\n CanBeAuthor: values.canbeauthor,\r\n CanBeEvaluator: values.canbeevaluator,\r\n LockedIcon: values.lockedicon,\r\n LockedChange: values.lockedchange\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Uživatel byl uložen.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.fetchData();\r\n props.switchEditMode(false);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n dispatch({type: ADD_MESSAGE, text: \"Při uložení uživatele došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n dispatch({type: ADD_MESSAGE, text: \"Při uložení uživatele došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Edit;","import React, {useState, useEffect} from 'react';\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport {Modal, ButtonBlock, CardHeader, CardBody, Subheading, CardTypeValueList, CardTypeValueItem, Button, CardFooter, Paragraph } from \"../../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {Genders, ADMIN_ROLE} from \"../../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst Display = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext(); \r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n const [isEditable, setIsEditable] = useState(true);\r\n let history = useHistory();\r\n useEffect(() => {\r\n setShowDelete(false);\r\n setIsDeleting(false);\r\n return () => {setShowDelete(false); setIsDeleting(false);};\r\n },[]);\r\n useEffect(()=>{ \r\n setIsEditable((profile !== null) && ((profile.sub === props.owner || profile[ADMIN_ROLE] === \"1\")));\r\n },[accessToken, profile, props.owner]);\r\n return (\r\n <>\r\n Obecné informace\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : \"není\"} />\r\n {props.data.email}} />\r\n \r\n \r\n \r\n \r\n {isEditable ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \"\"\r\n }\r\n setShowDelete(false)} \r\n title=\"Opravdu smazat uživatele?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazaný záznam nebude možné nijak obnovit.\r\n Pokud uživatel má nějaké vlastní náměty, je autorem nebo hodnotitelem práce, smazání nebude úspěšné.\r\n \r\n \r\n ); \r\n};\r\n\r\nexport default Display;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { CardContainer, Card, ActionLink, Alert, Loader, PageTitle } from \"../../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\nimport Edit from \"./Edit\";\r\nimport Display from \"./Display\";\r\n\r\nexport const Detail = props => {\r\n const { id } = useParams();\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [editing, setEditing] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/users/\" + id,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, id]);\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Detail uživatele\"}); },[dispatch]);\r\n useEffect(()=>{fetchData();},[]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n Administrace\r\n Seznam\r\n {response.name} \r\n \r\n \r\n {editing ? : }\r\n \r\n \r\n \r\n );\r\n \r\n } else {\r\n return ;\r\n };\r\n};\r\n\r\nexport default Detail;","import React from 'react';\r\nimport {Route, Switch} from \"react-router-dom\";\r\nimport List from \"./List\";\r\nimport Create from \"./Create\";\r\nimport Detail from \"./Detail\";\r\nimport NotFound from \"../../NotFound\";\r\nimport LayoutRoute from \"../../layouts/LayoutRoute\";\r\nimport MessageLayout from \"../../layouts/MessageLayout\";\r\nimport {mainTheme as theme} from \"../../../App\";\r\n\r\nconst Users = props => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Users;","export const invertColor = (hex) => {\r\n hex = hex.substring(1,7);\r\n if (hex.length === 3) {\r\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\r\n }\r\n var r = parseInt(hex.slice(0, 2), 16),\r\n g = parseInt(hex.slice(2, 4), 16),\r\n b = parseInt(hex.slice(4, 6), 16);\r\n var lum = r * 0.299 + g * 0.587 + b * 0.114;\r\n return (lum > 186 ? \"#000000\" : \"#ffffff\");\r\n}","import React, {useState, useMemo, useCallback, useEffect} from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport {DataTable, Badge, ActionLink} from \"../../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\nimport { invertColor } from \"../../../helpers/colors\";\r\n\r\nconst LOCAL_STORAGE_ID = \"prace2-admintargets-state\";\r\n\r\nconst List = props => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n const [data, setData] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n\r\n let storedTableState = JSON.parse(localStorage.getItem(LOCAL_STORAGE_ID));\r\n\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Seznam cílových skupin pro náměty\"}); },[dispatch]);\r\n\r\n const columns = useMemo(() => [\r\n {Header: \"Text\", accessor: \"text\"},\r\n {Header: \"Barva\", accessor: \"color\", disableSortBy: true, disableFilters:true, Cell: (data)=>({\"#\" + data.cell.value.name.substring(2,8)})},\r\n {Header: \"Akce\", Cell: (data)=>(Detail)}\r\n ],[]); \r\n\r\n const fetchData = useCallback(({page, size, sort, filters})=>{\r\n (async () => {\r\n setIsLoading(true);\r\n setError(false);\r\n let parameters = [];\r\n\r\n let order = sort[0] ? sort[0].id : undefined;\r\n if (order) order = order.toLowerCase();\r\n if (order && sort[0].desc) order = order + \"_desc\";\r\n\r\n if (page) parameters.push(\"page=\" + page);\r\n if (size) parameters.push(\"pageSize=\" + size);\r\n if (order) parameters.push(\"order=\" + order);\r\n if (Array.isArray(filters)) {\r\n for (let f of filters) {\r\n switch (f.id) {\r\n case \"text\": parameters.push(\"text=\" + f.value); break;\r\n default: break;\r\n }\r\n }\r\n } \r\n axios.get(process.env.REACT_APP_API_URL + \"/targets?\" + parameters.join(\"&\"), {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data.data);\r\n setTotalPages(response.data.pages);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setError({text: error.response.statusText, status: error.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n })(); \r\n },[accessToken]);\r\n \r\n return (\r\n <>\r\n <>\r\n Administrace\r\n Vytvoření\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default List;","import React, {useState, useEffect} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, Button, Form, ActionLink, Card, CardContainer, FormTextInput } from \"../../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {useAppContext, SET_TITLE, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\n\r\nconst Create = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n let history = useHistory();\r\n useEffect(() => {\r\n dispatch({type: SET_TITLE, payload: \"Vytvoření cílové skupiny\"});\r\n setFailed(false);\r\n setOk(false);\r\n },[dispatch]);\r\n return (\r\n <>\r\n <>\r\n Administrace\r\n Seznam\r\n \r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.text) errors.text = \"Vyplňte text\";\r\n if (!values.color) errors.color = \"Vyberte barvu\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/targets\", {\r\n Text: values.text,\r\n Color: values.color\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Cílová skupina byla vytvořena.\", variant: \"success\", dismissible: true, expiration: 3});\r\n history.push(\"/admin/targets\");\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Create;","import React, {useState, useEffect} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, Button, Form, FormTextInput, } from \"../../general\";\r\nimport {useAppContext, SET_TITLE, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\n\r\nconst Edit = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n useEffect(() => {\r\n dispatch({type: SET_TITLE, payload: \"Editace cílové skupiny\"});\r\n setFailed(false);\r\n setOk(false);\r\n },[dispatch]);\r\n return (\r\n {\r\n let errors = {};\r\n if (!values.text) errors.text = \"Vyplňte text\";\r\n if (!values.color) errors.color = \"Vyberte barvu\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n console.log(values);\r\n Axios.put(process.env.REACT_APP_API_URL + \"/targets/\" + props.data.id, {\r\n Text: values.text,\r\n Color: values.color,\r\n Id: Number(props.id)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Cíl byl uložen.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.fetchData();\r\n props.switchEditMode(false);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n dispatch({type: ADD_MESSAGE, text: \"Při ukládání cíle došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n dispatch({type: ADD_MESSAGE, text: \"Při ukládání cíle došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Edit;","import React, {useState, useEffect} from 'react';\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport {Modal, ButtonBlock, CardHeader, CardBody, Subheading, CardTypeValueList, CardTypeValueItem, Badge, Button, CardFooter, Paragraph } from \"../../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {ADMIN_ROLE} from \"../../../configuration/constants\";\r\nimport axios from \"axios\";\r\nimport {invertColor} from \"../../../helpers/colors\";\r\n\r\nconst Display = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext(); \r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n const [isEditable, setIsEditable] = useState(true);\r\n let history = useHistory();\r\n useEffect(() => {\r\n setShowDelete(false);\r\n setIsDeleting(false);\r\n return () => {setShowDelete(false); setIsDeleting(false);};\r\n },[]);\r\n useEffect(()=>{ \r\n setIsEditable((profile !== null) && ((profile.sub === props.owner || profile[ADMIN_ROLE] === \"1\")));\r\n },[accessToken, profile, props.owner]);\r\n return (\r\n <>\r\n Obecné informace\r\n \r\n \r\n \r\n \r\n {\"#\" + props.data.color.name.substring(2,8)}} />\r\n \r\n \r\n {isEditable ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \"\"\r\n }\r\n setShowDelete(false)} \r\n title=\"Opravdu smazat cílovou skupinu?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazaný záznam nebude možné nijak obnovit.\r\n Tato skupina bude odstraněna ze všech námětů, které na ni cílily.\r\n \r\n \r\n ); \r\n};\r\n\r\nexport default Display;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { CardContainer, Card, ActionLink, Alert, Loader, PageTitle } from \"../../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\nimport Edit from \"./Edit\";\r\nimport Display from \"./Display\";\r\n\r\nexport const Detail = props => {\r\n const { id } = useParams();\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [editing, setEditing] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/targets/\" + id,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, id]);\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Detail cíle\"}); },[dispatch]);\r\n useEffect(()=>{fetchData();},[]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n Administrace\r\n Seznam\r\n {response.name} \r\n \r\n \r\n {editing ? : }\r\n \r\n \r\n \r\n );\r\n \r\n } else {\r\n return ;\r\n };\r\n};\r\n\r\nexport default Detail;","import React from 'react';\r\nimport {Route, Switch} from \"react-router-dom\";\r\nimport List from \"./List\";\r\nimport Create from \"./Create\";\r\nimport Detail from \"./Detail\";\r\nimport NotFound from \"../../NotFound\";\r\nimport LayoutRoute from \"../../layouts/LayoutRoute\";\r\nimport MessageLayout from \"../../layouts/MessageLayout\";\r\nimport {mainTheme as theme} from \"../../../App\";\r\n\r\nconst Targets = props => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Targets;","import React, {useState, useMemo, useCallback, useEffect} from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport {DataTable, ActionLink, BoolColumnFilter} from \"../../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\n\r\nconst LOCAL_STORAGE_ID = \"prace2-adminsets-state\";\r\n\r\nconst List = props => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n const [data, setData] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n\r\n let storedTableState = JSON.parse(localStorage.getItem(LOCAL_STORAGE_ID));\r\n\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Seznam sad prací\"}); },[dispatch]);\r\n\r\n const columns = useMemo(() => [\r\n {Header: \"Název\", accessor: \"name\"},\r\n {Header: \"Rok\", accessor: \"year\"},\r\n {Header: \"Aktivní\", accessor: \"active\", disableSortBy: true, Cell: (data)=>(data.cell.value === true ? \"Ano\" : \"Ne\"), Filter: BoolColumnFilter},\r\n {Header: \"Akce\", Cell: (data)=>(Detail)}\r\n ],[]); \r\n\r\n const fetchData = useCallback(({page, size, sort, filters})=>{\r\n (async () => {\r\n setIsLoading(true);\r\n setError(false);\r\n let parameters = [];\r\n\r\n let order = sort[0] ? sort[0].id : undefined;\r\n if (order) order = order.toLowerCase();\r\n if (order && sort[0].desc) order = order + \"_desc\";\r\n\r\n if (page) parameters.push(\"page=\" + page);\r\n if (size) parameters.push(\"pageSize=\" + size);\r\n if (order) parameters.push(\"order=\" + order);\r\n if (Array.isArray(filters)) {\r\n for (let f of filters) {\r\n switch (f.id) {\r\n case \"name\": parameters.push(\"name=\" + f.value); break;\r\n case \"year\": parameters.push(\"year=\" + f.value); break;\r\n case \"active\": parameters.push(\"active=\" + f.value); break;\r\n default: break;\r\n }\r\n }\r\n } \r\n axios.get(process.env.REACT_APP_API_URL + \"/sets?\" + parameters.join(\"&\"), {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data.data);\r\n setTotalPages(response.data.pages);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setError({text: error.response.statusText, status: error.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n })(); \r\n },[accessToken]);\r\n \r\n return (\r\n <>\r\n <>\r\n Administrace\r\n Vytvoření\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default List;\r\n\r\n/*\r\nNová\r\n*/","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, Button, Form, FormTextInput, FormCheckbox, FormRadioGroup, FormSelect, ActionLink, Card, CardContainer} from \"../../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {useAppContext, SET_TITLE, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\n\r\nconst Create = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n const [scales, setScales] = useState(null);\r\n let history = useHistory();\r\n\r\n const fetchScalesData = useCallback(() => {\r\n Axios.get(process.env.REACT_APP_API_URL + \"/scales\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setScales(response.data.data);\r\n })\r\n },[accessToken]);\r\n useEffect(() => {\r\n dispatch({type: SET_TITLE, payload: \"Vytvoření sady\"});\r\n setFailed(false);\r\n fetchScalesData();\r\n setOk(false);\r\n },[dispatch, fetchScalesData]);\r\n return (\r\n <>\r\n <>\r\n Administrace\r\n Seznam\r\n \r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název\";\r\n if (values.year === \"\") errors.year = \"Vyplňte rok\";\r\n if (values.template === \"\") errors.template = \"Vyberte šablonu\";\r\n if (!values.scale) errors.scale = \"Vyberte standardní škálu hodnocení\";\r\n if (values.requiredGoals === \"\") errors.requiredGoals = \"Nastavte počet požadovaných cílů\";\r\n if (values.requiredOutlines === \"\") errors.requiredOutlines = \"Nastavte počet požadovaných bodů osnovy\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/sets\", {\r\n Name: values.name,\r\n Year: Number(values.year),\r\n Active: values.active,\r\n Template: Number(values.template),\r\n ScaleId: Number(values.scale),\r\n RequiredGoals: Number(values.requiredGoals),\r\n RequiredOutlines: Number(values.requiredOutlines)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Sada byla vytvořena.\", variant: \"success\", dismissible: true, expiration: 3});\r\n history.push(\"/admin/sets\");\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {Array.isArray(scales) ? scales.map((item,index) => ()) : \"\"}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Create;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, Button, Form, FormTextInput, FormCheckbox, FormRadioGroup, FormSelect} from \"../../general\";\r\nimport {useAppContext, SET_TITLE, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\n\r\nconst Edit = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n const [scales, setScales] = useState(null);\r\n const fetchScalesData = useCallback(() => {\r\n Axios.get(process.env.REACT_APP_API_URL + \"/scales\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setScales(response.data.data);\r\n })\r\n },[accessToken]);\r\n\r\n useEffect(() => {\r\n dispatch({type: SET_TITLE, payload: \"Editace sady\"});\r\n setFailed(false);\r\n fetchScalesData();\r\n setOk(false);\r\n },[dispatch, fetchScalesData]);\r\n\r\n return (\r\n {\r\n console.log(values);\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název\";\r\n if (values.year === \"\") errors.year = \"Vyplňte rok\";\r\n if (values.template === \"\") errors.template = \"Vyberte šablonu\";\r\n if (!values.scale) errors.scale = \"Vyberte standardní škálu hodnocení\";\r\n if (values.requiredGoals === \"\") errors.requiredGoals = \"Nastavte počet požadovaných cílů\";\r\n if (values.requiredOutlines === \"\") errors.requiredOutlines = \"Nastavte počet požadovaných bodů osnovy\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.put(process.env.REACT_APP_API_URL + \"/sets/\" + props.data.id, {\r\n Name: values.name,\r\n Year: Number(values.year),\r\n Active: Boolean(values.active),\r\n Template: Number(values.template),\r\n ScaleId: Number(values.scale),\r\n RequiredGoals: Number(values.requiredGoals),\r\n RequiredOutlines: Number(values.requiredOutlines),\r\n Id: Number(props.id)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Sada byla uložena.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.fetchData();\r\n props.switchEditMode(false);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n dispatch({type: ADD_MESSAGE, text: \"Při ukládání sady došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n dispatch({type: ADD_MESSAGE, text: \"Při ukládání sady došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {Array.isArray(scales) ? scales.map((item,index) => ()) : \"\"}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Edit;","import React, {useEffect, useState, useCallback} from 'react';\r\nimport {Loader } from \"../general\";\r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from \"axios\"\r\n\r\nconst Scale = ({id}) => {\r\n const [{accessToken}] = useAppContext();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [data, setData] = useState(null);\r\n const fetchData = useCallback(id => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/scales/\" + id, {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response)\r\n {\r\n setError({text: err.response.statusText, status: error.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n setData(null);\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n },[accessToken]);\r\n useEffect(() => {\r\n fetchData(id);\r\n },[]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return \"Chyba\";\r\n case 404: return \"Neznámá škála\";\r\n default: return \"Nedostupná data\";\r\n } \r\n } else if (data) {\r\n return {data.name};\r\n }\r\n else {\r\n return ;\r\n };\r\n}\r\n\r\nexport default Scale;","import React, {useState, useEffect} from 'react';\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport {Modal, ButtonBlock, CardHeader, CardBody, Subheading, CardTypeValueList, CardTypeValueItem, Button, CardFooter, Paragraph } from \"../../general\";\r\nimport Scale from \"../../common/Scale\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {ADMIN_ROLE} from \"../../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst Display = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext(); \r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n const [showReplication, setShowReplication] = useState(false);\r\n const [isReplicating, setIsReplicating] = useState(false);\r\n const [isEditable, setIsEditable] = useState(true);\r\n let history = useHistory();\r\n useEffect(() => {\r\n setShowDelete(false);\r\n setIsDeleting(false);\r\n setShowReplication(false);\r\n setIsReplicating(false);\r\n return () => {setShowDelete(false); setIsDeleting(false);};\r\n },[]);\r\n useEffect(()=>{ \r\n setIsEditable((profile !== null) && ((profile[ADMIN_ROLE] === \"1\")));\r\n },[accessToken, profile, props.owner]);\r\n return (\r\n <>\r\n Obecné informace\r\n \r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n \r\n {isEditable ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \"\"\r\n }\r\n setShowDelete(false)} \r\n title=\"Opravdu smazat sadu?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazanou sadu nebude možné nijak obnovit.\r\n Smazání sady nebude úspěšné, pokud v ní již existují nějaké práce.\r\n \r\n setShowReplication(false)}\r\n title=\"Opravdu zkopírovat sadu?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Bude vytvořena přesná kopie celé sady. V nové sadě bude potřeba aktualizovat veškeré termíny.\r\n \r\n \r\n ); \r\n};\r\n\r\nexport default Display;","import React, {useState, useEffect} from 'react';\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {useAppContext} from \"../../../providers/ApplicationProvider\";\r\nimport styled from 'styled-components';\r\nimport axios from \"axios\";\r\nimport {Loader} from \"../../general\";\r\n\r\nconst StyledStats = styled.div`\r\n cursor: pointer;\r\n`;\r\n\r\nexport const TermRoleStats = ({set, term, role}) => {\r\n const [{accessToken}] = useAppContext();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [data, setData] = useState(null);\r\n const [error, setError] = useState(false);\r\n let history = useHistory();\r\n useEffect(()=> {\r\n setIsLoading(true);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + set + \"/summary/\" + term + \"/\" + role,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setError(false);\r\n setData(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setData([]);\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n },[])\r\n if (set && term && role)\r\n {\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n return \"Chyba\";\r\n } else if (data) {\r\n return (\r\n {history.push(\"/admin/sets/\" + set + \"/questions/term/\" + term + \"/role/\" + role)}} >\r\n Otázky: {data.questions}\r\n
\r\n Body: {data.points}\r\n
\r\n );\r\n } else {\r\n return ;\r\n }\r\n }\r\n else\r\n {\r\n return \"Chybné parametry\";\r\n }\r\n}\r\n\r\nexport default TermRoleStats;","import React, {useState} from 'react';\r\nimport styled from 'styled-components';\r\nimport { Subheading, CardHeader, CardBody, Table, TableHeader, TableBody, TableRow, DataCell, HeadCell, RemoveMiniButton, AddMiniButton, EditMiniButton, Modal, Paragraph, Button } from \"../../general\";\r\nimport {CONTENT_ADD_ROLE, CONTENT_ADD_TERM, CONTENT_EDIT_ROLE, CONTENT_EDIT_TERM} from \"./Content\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport TermRoleStats from \"./TermRoleStats\";\r\nimport axios from \"axios\";\r\n\r\nexport const RoleContainer = styled.div`\r\n display: flex;\r\n align-items: center;\r\n`;\r\n\r\nexport const TermContainer = styled.div`\r\n display: flex;\r\n align-items: center;\r\n`;\r\n\r\nexport const IconContainer = styled.div`\r\n display: flex;\r\n`;\r\n\r\nconst ContentTable = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [showRoleDelete, setShowRoleDelete] = useState(null);\r\n const [showTermDelete, setShowTermDelete] = useState(null);\r\n return (\r\n <>\r\n \r\n Termíny a role\r\n \r\n \r\n \r\n \r\n \r\n Termíny\r\n Role\r\n \r\n \r\n {props.roles.map((item, index) => (\r\n \r\n \r\n {item.name}\r\n \r\n {props.setEditedRole(item.id); props.setContentMode(CONTENT_EDIT_ROLE)}} />\r\n {props.worksCount !== null && props.worksCount === 0 ? {setShowRoleDelete(item.id)}} /> : \"\"}\r\n \r\n \r\n \r\n ))}\r\n {props.worksCount !== null && props.worksCount === 0 ? props.setContentMode(CONTENT_ADD_ROLE)} /> : \"\" }\r\n \r\n \r\n \r\n {props.terms.map((termItem, index) => (\r\n \r\n \r\n \r\n {termItem.name} \r\n \r\n {props.setEditedTerm(termItem.id); props.setContentMode(CONTENT_EDIT_TERM)}} />\r\n {setShowTermDelete(termItem.id)}} />\r\n \r\n \r\n \r\n {props.roles.map((roleItem, index) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n ))}\r\n \r\n props.setContentMode(CONTENT_ADD_TERM)} />\r\n \r\n \r\n \r\n
\r\n
\r\n setShowRoleDelete(null)} \r\n title=\"Opravdu smazat roli?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazanou roli nebude možné nijak obnovit.\r\n Smazání role nebude úspěšné, pokud v ní již existují nějaké otázky.\r\n \r\n setShowTermDelete(null)} \r\n title=\"Opravdu smazat termín?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazaný termín nebude možné nijak obnovit.\r\n Smazání termínu nebude úspěšné, pokud v něm již existují nějaké otázky.\r\n \r\n \r\n )\r\n}\r\n\r\nexport default ContentTable;","import React from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Subheading, CardHeader, CardBody, Button, Form, FormTextInput, FormCheckbox, Label} from \"../../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport {CONTENT_DISPLAY} from \"./Content\";\r\nimport Axios from 'axios';\r\n\r\nexport const AddRole = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n return (\r\n <>\r\n \r\n Přidání role\r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/sets/\" + props.setId + \"/roles\", {\r\n Name: values.name,\r\n Manager: values.manager,\r\n ClassTeacher: values.classteacher,\r\n PrintedInApplication: values.printedinapplication,\r\n PrintedInReview: values.printedinreview,\r\n SetId: Number(props.setId)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Role byla přidána.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.fetchData();\r\n props.setContentMode(CONTENT_DISPLAY);\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Přidání role se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default AddRole;","import React from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Subheading, CardHeader, CardBody, Button, Form, FormTextInput, FormCheckbox, Label} from \"../../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport {CONTENT_DISPLAY} from \"./Content\";\r\nimport Axios from 'axios';\r\n\r\nexport const AddTerm = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n return (\r\n <>\r\n \r\n Přidání termínu\r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název\";\r\n if (!values.date) errors.date = \"Vyplňte datum hodnocení\";\r\n if (!values.warningdate) errors.warningdate = \"Vyplňte datum varování\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/sets/\" + props.setId + \"/terms\", {\r\n Name: values.name,\r\n Date: values.date,\r\n WarningDate: values.warningdate,\r\n SetId: Number(props.setId)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Termín byl přidán.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.fetchData();\r\n props.setContentMode(CONTENT_DISPLAY);\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Přidání termínu se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default AddTerm;","import React from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Subheading, CardHeader, CardBody, Button, Form, FormTextInput, FormCheckbox, Label} from \"../../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport {CONTENT_DISPLAY} from \"./Content\";\r\nimport Axios from 'axios';\r\n\r\nexport const EditRole = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n return (\r\n <>\r\n \r\n Editace role\r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.put(process.env.REACT_APP_API_URL + \"/sets/\" + Number(props.setId) + \"/roles/\" + Number(props.edited), {\r\n Id: props.id,\r\n Name: values.name,\r\n Manager: values.manager,\r\n ClassTeacher: values.classteacher,\r\n PrintedInApplication: values.printedinapplication,\r\n PrintedInReview: values.printedinreview,\r\n SetId: Number(props.setId)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Role byla uložena.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.fetchData();\r\n props.setContentMode(CONTENT_DISPLAY);\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Uložení role se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default EditRole;","import React from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Subheading, CardHeader, CardBody, Button, Form, FormTextInput, FormCheckbox, Label} from \"../../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport {CONTENT_DISPLAY} from \"./Content\";\r\nimport Axios from 'axios';\r\n\r\nexport const EditRole = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n console.log(props);\r\n return (\r\n <>\r\n \r\n Editace termínu\r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název\";\r\n if (!values.date) errors.date = \"Vyplňte datum hodnocení\";\r\n if (!values.warningdate) errors.warningdate = \"Vyplňte datum varování\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.put(process.env.REACT_APP_API_URL + \"/sets/\" + Number(props.setId) + \"/terms/\" + Number(props.edited), {\r\n Id: props.id,\r\n Name: values.name,\r\n Date: values.date,\r\n WarningDate: values.warningdate,\r\n SetId: Number(props.setId)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Termín byl uložen.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.fetchData();\r\n props.setContentMode(CONTENT_DISPLAY);\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Uložení termínu se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default EditRole;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { Alert, Loader } from \"../../general\";\r\nimport {useAppContext} from \"../../../providers/ApplicationProvider\";\r\nimport ContentTable from \"./ContentTable\";\r\nimport AddRole from \"./AddRole\";\r\nimport AddTerm from \"./AddTerm\";\r\nimport EditRole from \"./EditRole\";\r\nimport EditTerm from \"./EditTerm\";\r\nimport axios from \"axios\";\r\n\r\nexport const CONTENT_DISPLAY = 0;\r\nexport const CONTENT_ADD_TERM = 1;\r\nexport const CONTENT_ADD_ROLE = 2;\r\nexport const CONTENT_EDIT_TERM = 3;\r\nexport const CONTENT_EDIT_ROLE = 4;\r\n\r\nexport const Content = props => {\r\n const { id } = useParams();\r\n const [{accessToken}] = useAppContext();\r\n const [contentMode, setContentMode] = useState(CONTENT_DISPLAY);\r\n const [termsResponse, setTermsResponse] = useState(null);\r\n const [rolesResponse, setRolesResponse] = useState(null);\r\n const [isTermsLoading, setIsTermsLoading] = useState(false);\r\n const [isRolesLoading, setIsRolesLoading] = useState(false);\r\n const [termsError, setTermsError] = useState(false);\r\n const [rolesError, setRolesError] = useState(false);\r\n const [editedRole, setEditedRole] = useState(null);\r\n const [editedTerm, setEditedTerm] = useState(null);\r\n const fetchTerms = useCallback(() => {\r\n setIsTermsLoading(true);\r\n setTermsError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id + \"/terms\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setTermsResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setTermsError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setTermsError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setTermsResponse([]);\r\n });\r\n setIsTermsLoading(false);\r\n },[accessToken, id]); \r\n const fetchRoles = useCallback(() => {\r\n setIsRolesLoading(true);\r\n setRolesError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id + \"/roles\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setRolesResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setRolesError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setRolesError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setRolesResponse([]);\r\n });\r\n setIsRolesLoading(false);\r\n },[accessToken, id]); \r\n useEffect(()=>{\r\n fetchTerms();\r\n fetchRoles();\r\n },[fetchTerms, fetchRoles]);\r\n if (isTermsLoading || isRolesLoading) {\r\n return ;\r\n } else if (termsError !== false) {\r\n switch (termsError.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n }\r\n } else if (rolesError !== false) {\r\n switch (rolesError.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n }\r\n } else if (termsResponse && rolesResponse) {\r\n switch (contentMode)\r\n {\r\n case (CONTENT_ADD_TERM) : return {fetchTerms()}} />;\r\n case (CONTENT_ADD_ROLE) : return {fetchRoles()}} />;\r\n case (CONTENT_EDIT_ROLE) : return (\r\n {fetchRoles()}} \r\n edited={editedRole} \r\n data={ rolesResponse.filter(r => r.id === editedRole).length === 1 ? rolesResponse.filter(r => r.id === editedRole)[0] : null } \r\n />);\r\n case (CONTENT_EDIT_TERM) : return (\r\n {fetchTerms()}} \r\n edited={editedTerm} \r\n data={ termsResponse.filter(t => t.id === editedTerm).length === 1 ? termsResponse.filter(t => t.id === editedTerm)[0] : null } \r\n />);\r\n default : return (\r\n \r\n );\r\n }\r\n } else {\r\n return ;\r\n };\r\n};\r\n\r\nexport default Content;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { CardContainer, Card, ActionLink, Alert, Loader, PageTitle, Subheading, Table, TableBody, TableRow, DataCell, CardHeader, CardBody } from \"../../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../../providers/ApplicationProvider\";\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport Edit from \"./Edit\";\r\nimport Display from \"./Display\";\r\nimport Content from \"./Content\";\r\n\r\nexport const Detail = props => {\r\n const { id } = useParams();\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [editing, setEditing] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [worksResponse, setWorksResponse] = useState(null);\r\n const [worksCount, setWorksCount] = useState(null);\r\n const [isWorksLoading, setIsWorksLoading] = useState(false);\r\n const [worksError, setWorksError] = useState(false);\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n },[accessToken, id]); \r\n const fetchWorks = useCallback(() => {\r\n setIsWorksLoading(true);\r\n setWorksError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id + \"/works\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setWorksResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setWorksError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setWorksError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setWorksResponse([]);\r\n })\r\n .then(()=>{\r\n setIsWorksLoading(false);\r\n }); \r\n },[accessToken, id]);\r\n const fetchWorksCount = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id + \"/works/count\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setWorksCount(response.data);\r\n })\r\n .catch(error => {\r\n setWorksCount(null);\r\n }); \r\n },[accessToken, id]);\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Detail sady\"}); },[dispatch]);\r\n useEffect(()=>{\r\n fetchData();\r\n fetchWorksCount();\r\n fetchWorks();\r\n },[fetchData, fetchWorksCount, fetchWorks]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n Administrace\r\n Seznam\r\n {response.name} \r\n \r\n \r\n {editing ? : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n Seznam prací\r\n \r\n \r\n \r\n {isWorksLoading\r\n ?\r\n \r\n \r\n \r\n \r\n \r\n :\r\n worksError\r\n ?\r\n \r\n \r\n \r\n \r\n \r\n :\r\n worksResponse.map((item, index) => (\r\n \r\n {item.name}\r\n {item.className}\r\n \r\n ))\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n \r\n } else {\r\n return ;\r\n };\r\n};\r\n\r\nexport default Detail;","import React, {useState} from 'react';\r\nimport {UpMiniButton, DownMiniButton, DeleteMiniButton, EditMiniButton, Modal, Paragraph, Button} from \"../../../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\nimport styled from 'styled-components';\r\n\r\nconst QuestionLayout = styled.div`\r\nwidth: 100%;\r\ndisplay: grid;\r\ngrid-template-areas: \"text text\" \"description description\" \"points menu\";\r\ngrid-template-columns: 1fr 1fr;\r\ngrid-template-rows: auto auto auto;\r\n`;\r\n\r\nconst QuestionText = styled.div`\r\n grid-area: text;\r\n padding: 10px;\r\n font-size: 120%;\r\n`;\r\n\r\nconst QuestionDescription = styled.div`\r\n grid-area: description;\r\n font-size: 80%;\r\n padding: 0px 10px 0px 45px;\r\n color: #aaa;\r\n`;\r\n\r\nconst QuestionPoints = styled.div`\r\n grid-area: points;\r\n margin: 0 10px 10px 10px;\r\n align-self: center;\r\n`;\r\n\r\nconst QuestionMenu = styled.div`\r\n grid-area: menu;\r\n display: flex;\r\n justify-content: flex-end;\r\n flex-direction: row;\r\n margin: 0 5px;\r\n align-self: center;\r\n`;\r\n\r\nconst Display = ({value, setEditMode, globalEditing, setId, fetchData, count, moveItemAction}) => {\r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n const [{accessToken}, dispatch] = useAppContext();\r\n return (\r\n <>\r\n {if (!globalEditing) setEditMode(true)}}>\r\n \r\n {value.text}\r\n \r\n {value.description \r\n ?\r\n \r\n {}\r\n \r\n :\r\n \"\"\r\n }\r\n \r\n {value.points} bodů\r\n \r\n \r\n {globalEditing \r\n ?\r\n \"\"\r\n :\r\n <>\r\n {if (value.order < count) moveItemAction(value.order, value.order + 1)}} />\r\n {if (value.order > 0) moveItemAction(value.order, value.order - 1)}} />\r\n setEditMode(true)} />\r\n setShowDelete(true)} />\r\n \r\n } \r\n \r\n \r\n setShowDelete(false)} \r\n title=\"Opravdu smazat otázku?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazanou otázku nebude možné nijak obnovit.\r\n Smazání otázky nebude úspěšné, pokud v ní již existují nějaké odpovědi.\r\n \r\n\r\n );\r\n}\r\n\r\n\r\n\r\nexport default Display;","import React, {useState, useEffect } from 'react';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport {useAppContext} from \"../../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport {Form, Alert, FormTextInput, FormGroup, Label, Button, FormError} from \"../../../general\";\r\n\r\nconst Edit = ({value, globalEditing, setGlobalEditing, setId, fetchData, setEditMode}) => {\r\n const [{accessToken}] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n useEffect(() => {\r\n setGlobalEditing(true);\r\n },[]);\r\n return (\r\n {\r\n let errors = {};\r\n if (!values.text) errors.text = \"Vyplňte text otázky\";\r\n if (values.points === \"\") errors.points = \"Vyplňte počet bodů za otázku\";\r\n if (Number(values.points) < 0) errors.points = \"Počet bodů nemůže být záporný\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.put(process.env.REACT_APP_API_URL + \"/sets/\" + setId + \"/questions/\" + value.id, {\r\n Id: value.id,\r\n Text: values.text,\r\n Description: values.description,\r\n Points: Number(values.points)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setEditMode(false);\r\n setOk(true);\r\n setFailed(false);\r\n setGlobalEditing(false);\r\n fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }\r\n }\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, dirty, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n { } }\r\n onChange={ ( event, editor ) => {\r\n const data = editor.getData();\r\n setFieldValue(\"description\", data, true);\r\n } }\r\n onBlur={ ( event, editor ) => {\r\n } }\r\n onFocus={ ( event, editor ) => {\r\n } }\r\n />\r\n {msg => {msg}}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default Edit;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport styled from 'styled-components';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport {useAppContext} from \"../../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport {AddMiniButton, Form, Alert, FormTextInput, FormCheckbox, FormGroup, Label, Button, FormError, Subheading} from \"../../../general\";\r\n\r\nconst StyledCreateAnswerFormHidden = styled.div`\r\n text-align: center;\r\n cursor: default;\r\n`;\r\n\r\nconst StyledCreateAnswerFormOpen = styled.div`\r\n cursor: default;\r\n`;\r\n\r\nexport const CreateAnswer = props => {\r\n const [{accessToken}] = useAppContext();\r\n const [expand, setExpand] = useState(false);\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n if (expand)\r\n {\r\n return (\r\n \r\n {\r\n let errors = {};\r\n if (!values.text) errors.text = \"Vyplňte text možnosti\";\r\n if (values.rating === \"\") errors.rating = \"Vyplňte podíl bodů\";\r\n if (Number(values.rating) < 0) errors.rating = \"Podíl bodů nemůže být záporný\";\r\n if (Number(values.rating) > 100) errors.rating = \"Podíl bodů nemůže být více než 100%\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/sets/\" + props.setId + \"/questions/\" + props.questionId + \"/answers\", {\r\n Text: values.text,\r\n Description: values.description,\r\n Rating: Number(values.rating),\r\n Critical: values.critical,\r\n CriticalInTerm: values.criticalInTerm\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n setExpand(false);\r\n props.fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }\r\n }\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, dirty, isValid}) => (\r\n
\r\n Nová odpověď\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n { } }\r\n onChange={ ( event, editor ) => {\r\n const data = editor.getData();\r\n setFieldValue(\"description\", data, true);\r\n } }\r\n onBlur={ ( event, editor ) => {\r\n } }\r\n onFocus={ ( event, editor ) => {\r\n } }\r\n />\r\n {msg => {msg}}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n );\r\n }\r\n else\r\n {\r\n return {setExpand(true);setOk(false);setFailed(false);}} />\r\n }\r\n \r\n}\r\n\r\nexport default CreateAnswer;","function _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 React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\",\n transform: \"translate(1 1)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m9.5.5 9 16h-18z\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m9.5 10.5v-5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 9.5,\n cy: 13.5,\n r: 1\n}));\n\nvar SvgWarningTriangle = function SvgWarningTriangle(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 21,\n viewBox: \"0 0 21 21\",\n width: 21,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWarningTriangle, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/warning_triangle.86e90795.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useState} from 'react';\r\nimport {DeleteMiniButton, EditMiniButton, Modal, Paragraph, Button} from \"../../../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../../providers/ApplicationProvider\";\r\nimport { ReactComponent as WarningIcon } from \"../../../../assets/icons/warning_triangle.svg\";\r\nimport { ReactComponent as ImportantWarningIcon } from \"../../../../assets/icons/warning_hex.svg\";\r\nimport Axios from 'axios';\r\nimport styled from 'styled-components';\r\n\r\nconst AnswerLayout = styled.div`\r\nwidth: 100%;\r\ndisplay: grid;\r\ngrid-template-areas: \"text coeficient menu\" \"description description menu\";\r\ngrid-template-columns: 1fr 100px 50px;\r\ngrid-template-rows: auto auto;\r\n`;\r\n\r\nconst AnswerText = styled.div`\r\n grid-area: text;\r\n padding: 10px;\r\n`;\r\n\r\nconst AnswerDescription = styled.div`\r\n grid-area: description;\r\n font-size: 80%;\r\n padding: 0px 10px 0px 45px;\r\n color: #aaa;\r\n`;\r\n\r\nconst AnswerCoeficient = styled.div`\r\n grid-area: coeficient;\r\n padding: 10px;\r\n align-self: center;\r\n text-align: right;\r\n color: ${props => props.critical ? \"red\" : \"gray\"};\r\n`;\r\n\r\nconst AnswerMenu = styled.div`\r\n grid-area: menu;\r\n display: flex;\r\n justify-content: flex-end;\r\n flex-direction: row;\r\n margin: 0 5px;\r\n align-self: flex-start;\r\n`;\r\n\r\nconst Sign = styled.span`\r\n display: inline-flex;\r\n color: gray;\r\n align-items: center;\r\n & svg {\r\n fill: gray;\r\n stroke: gray;\r\n height: 1em;\r\n stroke-width: .15em;\r\n }\r\n`;\r\n\r\nconst DisplayAnswer = ({value, setEditMode, globalEditing, setId, fetchData, count, moveItemAction}) => {\r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n const [{accessToken}, dispatch] = useAppContext();\r\n return (\r\n <>\r\n {if (!globalEditing) setEditMode(true)}}>\r\n {value.text}\r\n {value.criticalInTerm ? : \"\"} {value.critical ? : \"\"} {value.rating}%\r\n {value.description \r\n ?\r\n \r\n {}\r\n \r\n :\r\n \"\"\r\n }\r\n \r\n {globalEditing \r\n ?\r\n \"\"\r\n :\r\n <>\r\n setEditMode(true)} />\r\n setShowDelete(true)} />\r\n \r\n } \r\n \r\n \r\n setShowDelete(false)} \r\n title=\"Opravdu smazat odpověď?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazanou odpověď nebude možné nijak obnovit.\r\n Smazání odpovědi nebude úspěšné, pokud ji již někdo použil.\r\n \r\n \r\n );\r\n}\r\n\r\nexport default DisplayAnswer;","import React, {useState} from 'react';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport {useAppContext} from \"../../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport {Form, Alert, FormTextInput, FormGroup, Label, Button, FormError, FormCheckbox} from \"../../../general\";\r\n\r\nconst EditAnswer = props => {\r\n const [{accessToken}] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n\r\n return (\r\n {\r\n let errors = {};\r\n if (!values.text) errors.text = \"Vyplňte text možnosti\";\r\n if (values.rating === \"\") errors.rating = \"Vyplňte podíl bodů\";\r\n if (Number(values.rating) < 0) errors.rating = \"Podíl bodů nemůže být záporný\";\r\n if (Number(values.rating) > 100) errors.rating = \"Podíl bodů nemůže být více než 100%\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.put(process.env.REACT_APP_API_URL + \"/sets/\" + props.setId + \"/answers/\" + props.value.id, {\r\n Id: props.value.Id,\r\n Text: values.text,\r\n Description: values.description,\r\n Rating: Number(values.rating),\r\n Critical: values.critical,\r\n CriticalInTerm: values.criticalInTerm\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n props.fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }\r\n }\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, dirty, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n { } }\r\n onChange={ ( event, editor ) => {\r\n const data = editor.getData();\r\n setFieldValue(\"description\", data, true);\r\n } }\r\n onBlur={ ( event, editor ) => {\r\n } }\r\n onFocus={ ( event, editor ) => {\r\n } }\r\n />\r\n {msg => {msg}}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default EditAnswer;","import React, {useState} from 'react';\r\nimport styled from 'styled-components';\r\nimport DisplayAnswer from \"./DisplayAnswer\";\r\nimport EditAnswer from \"./EditAnswer\";\r\n\r\nconst StyledAnswer = styled.div`\r\nborder-top: 1px solid silver;\r\n`;\r\n\r\nexport const Answer = ({item, globalEditing, fetchData, setId, setGlobalEditing}) => {\r\n const [editMode, setEditMode] = useState(false);\r\n if (editMode)\r\n {\r\n return (\r\n \r\n );\r\n }\r\n else\r\n {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Answer;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport styled from 'styled-components';\r\nimport axios from \"axios\";\r\nimport { Loader, Alert } from \"../../../general\";\r\nimport {useAppContext} from \"../../../../providers/ApplicationProvider\";\r\nimport CreateAnswer from \"./CreateAnswer\";\r\nimport Answer from \"./Answer\";\r\n\r\nconst StyledAnswersList = styled.div`\r\ncursor: ${props => props.globalEditing === false ? \"move\" : \"default\"};\r\n`;\r\n\r\nconst StyledEmptyParagraph = styled.p`\r\npadding: 10px;\r\ntext-align: center;\r\n`;\r\n\r\nexport const AnswersList = ({questionId, setId, setGlobalEditing, globalEditing}) => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [data, setData] = useState(null);\r\n const fetchAnswersData = useCallback(id => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + setId + \"/questions/\" + questionId + \"/answers\", {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response)\r\n {\r\n setError({text: err.response.statusText, status: err.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n setData(null);\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n },[accessToken]);\r\n useEffect(()=>{ \r\n fetchAnswersData();\r\n },[]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (data) {\r\n return (\r\n \r\n {data.length > 0 \r\n ?\r\n data.map((item, index) => ())\r\n :\r\n Zde nejsou žádné odpovědi.\r\n }\r\n \r\n \r\n )\r\n } else {\r\n return ;\r\n };\r\n}\r\n\r\nexport default AnswersList;","import React, {useState, useRef} from 'react';\r\nimport {Card} from \"../../../general\";\r\nimport styled from 'styled-components';\r\nimport { useDrag, useDrop } from 'react-dnd';\r\nimport Display from \"./Display\";\r\nimport Edit from \"./Edit\";\r\nimport AnswersList from \"./AnswersList\";\r\n\r\nconst ITEM = \"question\";\r\n\r\nconst StyledQuestion = styled(Card)`\r\ncursor: ${props => props.globalEditing === false ? \"move\" : \"default\"};\r\n`;\r\n\r\nexport const Question = ({value, globalEditing, setGlobalEditing, setId, fetchData, count, moveItemAction, index, movingItem}) => {\r\n const [editMode, setEditMode] = useState(false);\r\n const ref = useRef(null);\r\n\r\n const [ , drop ] = useDrop({\r\n accept: ITEM,\r\n hover(item, monitor) {\r\n if (!ref.current) return;\r\n\t\t\tconst dragIndex = item.index;\r\n const hoverIndex = index;\r\n if (dragIndex === hoverIndex) return;\r\n const hoverBoundingRect = ref.current?.getBoundingClientRect();\r\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\r\n const clientOffset = monitor.getClientOffset();\r\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\r\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) return;\r\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) return;\r\n movingItem(dragIndex,hoverIndex); \r\n item.index = hoverIndex;\r\n },\r\n drop(item, monitor) {\r\n moveItemAction(item.order, item.index);\r\n }\r\n });\r\n\r\n const [ { isDragging }, drag ] = useDrag({\r\n\t\titem: { type: ITEM, order: value.order, index: index },\r\n\t\tcollect: (monitor) => ({\r\n\t\t\tisDragging: monitor.isDragging(),\r\n\t\t}),\r\n });\r\n\r\n drag(drop(ref));\r\n return (\r\n \r\n {editMode\r\n ?\r\n \r\n :\r\n <>\r\n \r\n \r\n \r\n } \r\n \r\n );\r\n}\r\n\r\nexport default Question;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {Question} from \"./Question\";\r\nimport styled from 'styled-components';\r\nimport axios from \"axios\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../../providers/ApplicationProvider\";\r\n\r\nconst StyledEmptyParagraph = styled.p`\r\npadding: 10px;\r\ntext-align: center;\r\n`;\r\n\r\nexport const QuestionsList = ({data, setId, fetchData, roleId, termId}) => {\r\n const [ collection, setCollection ] = useState(data);\r\n const [ globalEditing, setGlobalEditing ] = useState(false);\r\n const [{accessToken}, dispatch] = useAppContext();\r\n\r\n const moveQuestion = useCallback((from, to) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/sets/\" + setId + \"/questions/\" + termId + \"/\" + roleId + \"/\" + from + \"/moveto/\" + to,{},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Pořadí otázek bylo změněno\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchData();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během změny pořadí otázek došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[accessToken, dispatch, fetchData, roleId, setId, termId]);\r\n\r\n useEffect(()=>{setCollection(data)},[data]);\r\n const movingItem = useCallback(\r\n (dragIndex, hoverIndex) => {\r\n let draggedItem = collection[dragIndex];\r\n let newCollection = [...collection];\r\n newCollection.splice(dragIndex, 1);\r\n newCollection.splice(hoverIndex, 0, draggedItem);\r\n setCollection(newCollection);\r\n },[collection]\r\n )\r\n if (Array.isArray(collection) && (collection.length > 0))\r\n {\r\n return (\r\n <>\r\n {collection.map((item,index) => (\r\n \r\n ))}\r\n \r\n );\r\n }\r\n else\r\n {\r\n return V tomto termínu nejsou pro tuto roli zatím žádné otázky. Tlačítkem \"+\" pod tímto textem můžete nějakou přidat.\r\n }\r\n}\r\n\r\nexport default QuestionsList;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport styled from 'styled-components';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport {useAppContext} from \"../../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport {AddMiniButton, Card, Form, Alert, FormTextInput, FormGroup, Label, Button, FormError, CardHeader, Subheading} from \"../../../general\";\r\n\r\nconst StyledCreateFormHidden = styled.span`\r\n text-align: center;\r\n`;\r\n\r\nexport const Create = props => {\r\n const [{accessToken}] = useAppContext();\r\n const [expand, setExpand] = useState(false);\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n if (expand)\r\n {\r\n return (\r\n \r\n \r\n Nová otázka\r\n \r\n {\r\n let errors = {};\r\n if (!values.text) errors.text = \"Vyplňte text otázky\";\r\n if (values.points === \"\") errors.points = \"Vyplňte počet bodů za otázku\";\r\n if (Number(values.points) < 0) errors.points = \"Počet bodů nemůže být záporný\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/sets/\" + props.setId + \"/questions/\" + props.termId + \"/\" + props.roleId, {\r\n Text: values.text,\r\n Description: values.description,\r\n Points: Number(values.points)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n setExpand(false);\r\n props.fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }\r\n }\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, dirty, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n { } }\r\n onChange={ ( event, editor ) => {\r\n const data = editor.getData();\r\n setFieldValue(\"description\", data, true);\r\n } }\r\n onBlur={ ( event, editor ) => {\r\n } }\r\n onFocus={ ( event, editor ) => {\r\n } }\r\n />\r\n {msg => {msg}}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n );\r\n }\r\n else\r\n {\r\n return {setExpand(true);setOk(false);setFailed(false);}} />\r\n }\r\n \r\n}\r\n\r\nexport default Create;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useAppContext, SET_TITLE } from \"../../../../providers/ApplicationProvider\";\r\nimport { ActionLink, Alert, Card, CardHeader, CardBody, CardTypeValueList, CardTypeValueItem, Heading, Loader } from \"../../../general\";\r\nimport styled from 'styled-components';\r\nimport axios from \"axios\";\r\nimport QuestionsList from \"./QuestionsList\";\r\nimport Create from \"./Create\";\r\n\r\nconst StyledQuestionsLayout = styled.span`\r\n display: flex;\r\n flex-direction: column;\r\n max-width: 70em;\r\n`;\r\n\r\nexport const Questions = props => {\r\n const { id } = useParams();\r\n const { term } = useParams();\r\n const { role } = useParams();\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [isSetLoading, setIsSetLoading] = useState(false);\r\n const [setError, setSetError] = useState(false);\r\n const [setData, setSetData] = useState(null);\r\n const [isTermLoading, setIsTermLoading] = useState(false);\r\n const [termError, setTermError] = useState(false);\r\n const [termData, setTermData] = useState(null);\r\n const [isRoleLoading, setIsRoleLoading] = useState(false);\r\n const [roleError, setRoleError] = useState(false);\r\n const [roleData, setRoleData] = useState(null);\r\n const [isQuestionsLoading, setIsQuestionsLoading] = useState(false);\r\n const [questionsError, setQuestionsError] = useState(false);\r\n const [questionsData, setQuestionsData] = useState(null);\r\n \r\n const fetchSetData = useCallback(id => {\r\n setIsSetLoading(true);\r\n setSetError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id, {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setSetData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response)\r\n {\r\n setSetError({text: err.response.statusText, status: err.response.status});\r\n }\r\n else\r\n {\r\n setSetError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n setSetData(null);\r\n })\r\n .then(()=>{\r\n setIsSetLoading(false);\r\n }); \r\n },[accessToken]);\r\n const fetchTermData = useCallback((id, termId) => {\r\n setIsTermLoading(true);\r\n setTermError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id + \"/terms/\" + termId, {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setTermData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response)\r\n {\r\n setTermError({text: err.response.statusText, status: err.response.status});\r\n }\r\n else\r\n {\r\n setTermError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n setTermData(null);\r\n })\r\n .then(()=>{\r\n setIsTermLoading(false);\r\n }); \r\n },[accessToken]);\r\n const fetchRoleData = useCallback((id,roleId) => {\r\n setIsRoleLoading(true);\r\n setRoleError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id + \"/roles/\" + roleId, {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setRoleData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response)\r\n {\r\n setRoleError({text: err.response.statusText, status: err.response.status});\r\n }\r\n else\r\n {\r\n setRoleError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n setRoleData(null);\r\n })\r\n .then(()=>{\r\n setIsRoleLoading(false);\r\n }); \r\n },[accessToken]);\r\n const fetchQuestionsData = useCallback((id,termId,roleId) => {\r\n setIsQuestionsLoading(true);\r\n setQuestionsError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id + \"/questions/\" + termId + \"/\" + roleId, {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setQuestionsData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response)\r\n {\r\n setQuestionsError({text: err.response.statusText, status: err.response.status});\r\n }\r\n else\r\n {\r\n setQuestionsError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n setQuestionsData(null);\r\n })\r\n .then(()=>{\r\n setIsQuestionsLoading(false);\r\n }); \r\n },[accessToken]);\r\n useEffect(() => {\r\n fetchSetData(id);\r\n fetchRoleData(id, role);\r\n fetchTermData(id, term);\r\n fetchQuestionsData(id, term, role);\r\n dispatch({ type: SET_TITLE, payload: \"Otázky v sadě\" });\r\n }, [id, term, role, dispatch, fetchQuestionsData, fetchRoleData, fetchSetData, fetchTermData]);\r\n return (\r\n <>\r\n Administrace\r\n Sady\r\n Tato sada\r\n \r\n {(setData && termData && roleData) ? \r\n <>\r\n \r\n \r\n Sada, termín a role\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isQuestionsLoading \r\n ?\r\n \r\n :\r\n <>\r\n {fetchQuestionsData(setData.id,termData.id,roleData.id)}} />\r\n {fetchQuestionsData(setData.id,termData.id,roleData.id)}} />\r\n \r\n }\r\n \r\n \r\n :\r\n (setError || termError || roleError || questionsError) ?\r\n <>\r\n {setError ? : \"\"}\r\n {termError ? : \"\"}\r\n {roleError ? : \"\"}\r\n {questionsError ? : \"\"}\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n );\r\n}\r\n\r\nexport default Questions;","import React from 'react';\r\nimport {Route, Switch} from \"react-router-dom\";\r\nimport List from \"./List\";\r\nimport Create from \"./Create\";\r\nimport Detail from \"./Detail\";\r\nimport Questions from \"./Questions/\";\r\nimport NotFound from \"../../NotFound\";\r\nimport LayoutRoute from \"../../layouts/LayoutRoute\";\r\nimport MessageLayout from \"../../layouts/MessageLayout\";\r\nimport {mainTheme as theme} from \"../../../App\";\r\n\r\nconst Sets = props => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Sets;","import React, {useState, useMemo, useCallback, useEffect} from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport {DataTable, ActionLink, BoolColumnFilter} from \"../../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\n\r\nconst LOCAL_STORAGE_ID = \"prace2-adminscales-state\";\r\n\r\nconst List = props => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n const [data, setData] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n\r\n let storedTableState = JSON.parse(localStorage.getItem(LOCAL_STORAGE_ID));\r\n\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Seznam hodnotících škál\"}); },[dispatch]);\r\n\r\n const columns = useMemo(() => [\r\n {Header: \"Název\", accessor: \"name\"},\r\n {Header: \"Stupně hodnocení\", accessor: \"grades\", disableSortBy: true, disableFilters:true},\r\n {Header: \"Použito\", accessor: \"sets\", disableFilters:true, disableSortBy: true},\r\n {Header: \"Akce\", Cell: (data)=>(Detail)}\r\n ],[]); \r\n\r\n const fetchData = useCallback(({page, size, sort, filters})=>{\r\n (async () => {\r\n setIsLoading(true);\r\n setError(false);\r\n let parameters = [];\r\n\r\n let order = sort[0] ? sort[0].id : undefined;\r\n if (order) order = order.toLowerCase();\r\n if (order && sort[0].desc) order = order + \"_desc\";\r\n\r\n if (page) parameters.push(\"page=\" + page);\r\n if (size) parameters.push(\"pageSize=\" + size);\r\n if (order) parameters.push(\"order=\" + order);\r\n if (Array.isArray(filters)) {\r\n for (let f of filters) {\r\n switch (f.id) {\r\n case \"name\": parameters.push(\"name=\" + f.value); break;\r\n default: break;\r\n }\r\n }\r\n } \r\n axios.get(process.env.REACT_APP_API_URL + \"/scales?\" + parameters.join(\"&\"), {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data.data);\r\n setTotalPages(response.data.pages);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setError({text: error.response.statusText, status: error.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n })(); \r\n },[accessToken]);\r\n \r\n return (\r\n <>\r\n <>\r\n Administrace\r\n Vytvoření\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default List;","import React, {useState, useEffect} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, Button, Form, FormTextInput, ActionLink, Card, CardContainer} from \"../../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {useAppContext, SET_TITLE, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\n\r\nconst Create = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n let history = useHistory();\r\n useEffect(() => {\r\n dispatch({type: SET_TITLE, payload: \"Vytvoření škály\"});\r\n setFailed(false);\r\n setOk(false);\r\n },[dispatch]);\r\n return (\r\n <>\r\n <>\r\n Administrace\r\n Seznam\r\n \r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/scales\", {\r\n Name: values.name,\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Škála byla vytvořena.\", variant: \"success\", dismissible: true, expiration: 3});\r\n history.push(\"/admin/scales\");\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Create;","import React, {useState, useEffect} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, Button, Form, FormTextInput} from \"../../general\";\r\nimport {useAppContext, SET_TITLE, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\n\r\nconst Edit = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n useEffect(() => {\r\n dispatch({type: SET_TITLE, payload: \"Editace škály\"});\r\n setFailed(false);\r\n setOk(false);\r\n },[dispatch]);\r\n return (\r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.put(process.env.REACT_APP_API_URL + \"/scales/\" + props.data.id, {\r\n Name: values.name,\r\n Id: Number(props.id)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Škála byla uložena.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.fetchData();\r\n props.switchEditMode(false);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n dispatch({type: ADD_MESSAGE, text: \"Při ukládání škály došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n dispatch({type: ADD_MESSAGE, text: \"Při ukládání škály došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Edit;","import React, {useState, useEffect} from 'react';\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport {Modal, ButtonBlock, CardHeader, CardBody, Subheading, CardTypeValueList, CardTypeValueItem, Button, CardFooter, Paragraph } from \"../../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {ADMIN_ROLE} from \"../../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst Display = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext(); \r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n const [isEditable, setIsEditable] = useState(true);\r\n let history = useHistory();\r\n useEffect(() => {\r\n setShowDelete(false);\r\n setIsDeleting(false);\r\n return () => {setShowDelete(false); setIsDeleting(false);};\r\n },[]);\r\n useEffect(()=>{ \r\n setIsEditable((profile !== null) && (profile[ADMIN_ROLE] === \"1\") && (Number(props.data.sets) === 0 ));\r\n },[accessToken, profile, props.owner]);\r\n return (\r\n <>\r\n Obecné informace\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isEditable ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \"\"\r\n }\r\n setShowDelete(false)} \r\n title=\"Opravdu smazat hodnotící škálu?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazanou škálu hodnocení nebude možné nijak obnovit.\r\n Její smazání nebude úspěšné, pokud je použita v nějaké sadě.\r\n \r\n \r\n ); \r\n};\r\n\r\nexport default Display;","import React from 'react';\r\nimport { Subheading, CardHeader, CardFooter, CardBody, Table, TableHeader, TableBody, TableRow, DataCell, HeadCell, RemoveMiniButton, AddMiniButton } from \"../../general\";\r\n\r\nconst ContentTable = props => {\r\n return (\r\n <>\r\n \r\n Stupně škály\r\n \r\n \r\n \r\n \r\n \r\n Horní hranice\r\n Číselné hodnocení\r\n Slovní hodnocení\r\n Akce\r\n \r\n \r\n \r\n {props.data && props.data.length > 0 ?\r\n props.data.map((item, index) => (\r\n \r\n {item.rate}\r\n {item.mark}\r\n {item.name}\r\n {props.removeData(item.rate);props.fetchData()}}/>\r\n \r\n ))\r\n :\r\n \r\n Žádné\r\n \r\n }\r\n \r\n
\r\n
\r\n {props.setMode();}} />\r\n \r\n )\r\n}\r\n\r\nexport default ContentTable;","import React, {useState, useEffect} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, Button, Form, FormTextInput, ActionLink, Card, CardContainer} from \"../../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {useAppContext, SET_TITLE, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\n\r\nconst Create = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n let history = useHistory();\r\n useEffect(() => {\r\n dispatch({type: SET_TITLE, payload: \"Vytvoření škály\"});\r\n setFailed(false);\r\n setOk(false);\r\n },[dispatch]);\r\n return (\r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte slovní hodnocení\";\r\n if (isNaN(values.mark)) errors.mark = \"Vyplňte číselné hodnocení\";\r\n if (isNaN(values.rate)) errors.rate = \"Vyplňte horní hranici\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/scales/\" + props.id + \"/values\", {\r\n Name: values.name,\r\n Mark: Number(values.mark),\r\n Rate: Number(values.rate),\r\n ScaleId: Number(props.id),\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Nová hodnota škály byla vytvořena.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.fetchData();\r\n props.setMode();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n }); \r\n }}\r\n >\r\n {({isSubmitting, isValid, dirty}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Create;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { Alert, Loader } from \"../../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../../providers/ApplicationProvider\";\r\nimport ContentTable from \"./ContentTable\";\r\nimport CreateContent from \"./CreateContent\";\r\nimport axios from \"axios\";\r\n\r\nexport const CONTENT_DISPLAY = 0;\r\nexport const CONTENT_ADD_VALUE = 1;\r\n\r\nexport const Content = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [contentMode, setContentMode] = useState(CONTENT_DISPLAY);\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/scales/\" + props.id + \"/values\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, props.id]);\r\n const removeData = useCallback(rate => {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/scales/\" + props.id + \"/values/\" + rate,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Položka škály byla odstraněna.\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Odstranění položky škály se nepodařilo. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Odstranění položky škály se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n });\r\n },[accessToken, props.id]);\r\n useEffect(()=>{\r\n fetchData();\r\n },[]); \r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n }\r\n } else if (response) {\r\n switch (contentMode)\r\n {\r\n case (CONTENT_ADD_VALUE) : return {setContentMode(CONTENT_DISPLAY)}} fetchData={() => fetchData()} />;\r\n default : return {setContentMode(CONTENT_ADD_VALUE)}} fetchData={() => fetchData()} removeData={rate => removeData(rate)} />;\r\n }\r\n } else {\r\n return ;\r\n };\r\n};\r\n\r\nexport default Content;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { CardContainer, Card, ActionLink, Alert, Loader, PageTitle } from \"../../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\nimport Edit from \"./Edit\";\r\nimport Display from \"./Display\";\r\nimport Content from \"./Content\";\r\n\r\nexport const Detail = props => {\r\n const { id } = useParams();\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [editing, setEditing] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/scales/\" + id,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, id]); \r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Detail hodnotící škály\"}); },[dispatch]);\r\n useEffect(()=>{fetchData();},[]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n Administrace\r\n Seznam\r\n {response.name} \r\n \r\n \r\n {editing ? : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n \r\n } else {\r\n return ;\r\n };\r\n};\r\n\r\nexport default Detail;","import React from 'react';\r\nimport {Route, Switch} from \"react-router-dom\";\r\nimport List from \"./List\";\r\nimport Create from \"./Create\";\r\nimport Detail from \"./Detail\";\r\nimport NotFound from \"../../NotFound\";\r\nimport LayoutRoute from \"../../layouts/LayoutRoute\";\r\nimport MessageLayout from \"../../layouts/MessageLayout\";\r\nimport {mainTheme as theme} from \"../../../App\";\r\n\r\nconst Scales = props => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Scales;","import React from 'react';\r\nimport {Route, Switch} from \"react-router-dom\";\r\nimport requireAdmin from \"../Auth/requireAdmin\";\r\nimport Title from \"./Title\";\r\nimport Users from \"./Users\";\r\nimport Targets from \"./Targets\";\r\nimport Sets from \"./Sets\";\r\nimport Scales from \"./Scales\";\r\nimport NotFound from \"../NotFound\";\r\n\r\nconst Home = props => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default requireAdmin(Home);","import React from 'react';\r\n\r\nconst DateTime = ({ date, showTime = true, showDate = true }) => {\r\n let fulldate = new Date(date);\r\n let year = fulldate.getFullYear();\r\n let month = fulldate.getMonth() + 1;\r\n let day = fulldate.getDate();\r\n let hours = fulldate.getHours().toString().padStart(2,\"0\");\r\n let minutes = fulldate.getMinutes().toString().padStart(2,\"0\");\r\n let seconds = fulldate.getSeconds().toString().padStart(2,\"0\");\r\n return <>{showDate ? (day + \". \" + month + \". \" + year) : \"\"} {showTime ? (hours + \":\" + minutes + \":\" + seconds) : \"\"};\r\n}\r\n\r\nexport default DateTime;","import React from 'react';\r\nimport User from \"./User\";\r\nimport {useFetch, Loader } from \"../general\";\r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\n\r\nconst LoadedUser = ({id, ...rest}) => {\r\n const [{accessToken}] = useAppContext();\r\n const {response, error, isLoading} = useFetch(process.env.REACT_APP_API_URL + \"/users/\" + id,{\r\n method: \"GET\",\r\n headers: accessToken !== null ? {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } : {}\r\n },[accessToken]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return \"Chyba\";\r\n case 404: return \"Neznámý uživatel\";\r\n default: return \"Nedostupná data uživatele\";\r\n } \r\n } else if (response) {\r\n return : \"\"} name={response.name} detail={response.email ? response.email : \"\"} to={\"/users/\" + response.id}/>;\r\n }\r\n else {\r\n return ;\r\n };\r\n}\r\n\r\nexport default LoadedUser;","import React, {useState, useRef, useEffect, useCallback} from 'react';\r\nimport { useDrag, useDrop } from 'react-dnd';\r\nimport {Input, EditMiniButton, DeleteMiniButton, CreateMiniButton, CancelMiniButton, YesMiniButton, UpMiniButton, DownMiniButton} from \"../general\";\r\nimport styled from 'styled-components';\r\nimport {devices} from \"../../configuration/layout\";\r\n\r\nconst StyledDragItemsContainer = styled.ol`\r\npadding: 0;\r\nlist-style: none;\r\ncounter-reset: steps;\r\n`;\r\nconst StyledDragItemsList = styled.div`\r\ndisplay: flex;\r\nflex-direction: column;\r\njustify-content: space-between;\r\n`;\r\nconst StyledDragItem = styled.li`\r\ncursor: ${props => (props.editable === true && props.globalEditing === false) ? \"move\" : \"default\"};\r\nborder-top: 1px solid #bbb;\r\nmargin-bottom: .5rem;\r\ndisplay: flex;\r\nflex-direction: row;\r\nalign-items: center;\r\njustify-content: flex-start;\r\npadding: 3px;\r\nmin-height: 2em;\r\nmargin: 0;\r\ncounter-increment: steps;\r\nposition: relative;\r\n&::before {\r\n flex-shrink: 0;\r\n content: counter(steps);\r\n margin-right: 0.5rem;\r\n background: #bbb;\r\n color: white;\r\n width: 1.5em;\r\n height: 1.5em;\r\n border-radius: 50%;\r\n display: inline-grid;\r\n place-items: center;\r\n line-height: 1.2em;\r\n}\r\n& > span {\r\n position: absolute;\r\n right: 0;\r\n top: 3px;\r\n}\r\n& > input {\r\n width: 100%;\r\n}\r\n`;\r\n\r\nconst StyledAddItemPanel = styled.div`\r\ndisplay: flex;\r\npadding-top: 1em;\r\nflex-direction: row;\r\nalign-items: center;\r\nwidth: 100%;\r\njustify-content: space-between;\r\n& input {\r\n flex-grow: 1;\r\n margin-right: 3px;\r\n}\r\n`;\r\n\r\nconst StyledDragItemWrapper = styled.div`\r\nflex-grow: 1;\r\ndisplay: flex;\r\nflex-direction: row;\r\nalign-items: center;\r\njustify-content: space-between;\r\n@media ${devices.mobile} {\r\n flex-direction: column;\r\n}\r\n`;\r\n\r\nconst StyledDragItemContent = styled.div`\r\nflex-grow: 1;\r\n& > input {\r\n display: block;\r\n width: 100%;\r\n box-sizing: border-box;\r\n}\r\n`;\r\n\r\nconst StyledDragItemIcons = styled.div`\r\n\r\n`;\r\n\r\nconst DragItem = props => {\r\n const [ isEditing, setIsEditing ] = useState(false);\r\n const [ text, setText ] = useState(props.text);\r\n const [ editedText, setEditedText ] = useState(props.text);\r\n const ref = useRef(null);\r\n const [ , drop ] = useDrop({\r\n accept: props.itemType,\r\n hover(item, monitor) {\r\n if (props.globalEditing) return;\r\n if (!ref.current) return;\r\n\t\t\tconst dragIndex = item.index;\r\n const hoverIndex = props.index;\r\n if (dragIndex === hoverIndex) return;\r\n const hoverBoundingRect = ref.current?.getBoundingClientRect();\r\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\r\n const clientOffset = monitor.getClientOffset();\r\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\r\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) return;\r\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) return;\r\n props.movingItem(dragIndex,hoverIndex); \r\n item.index = hoverIndex;\r\n },\r\n drop(item, monitor) {\r\n props.moveItemAction(item.order, item.index + 1);\r\n }\r\n });\r\n const [ { isDragging }, drag ] = useDrag({\r\n\t\titem: { type: props.itemType, order: props.order, index: props.index },\r\n\t\tcollect: (monitor) => ({\r\n\t\t\tisDragging: monitor.isDragging(),\r\n\t\t}),\r\n });\r\n const opacity = isDragging ? 0 : 1;\r\n drag(drop(ref));\r\n if (isEditing) {\r\n return (\r\n \r\n \r\n \r\n setEditedText(e.target.value)} onBlur={e=>{if (editedText === text) setIsEditing(false); props.setGlobalEditing(false);}} onKeyDown={\r\n e => {\r\n if (e.key === \"Enter\") \r\n {\r\n setText(editedText); \r\n setIsEditing(false); \r\n props.setGlobalEditing(false);\r\n props.updateItemAction(props.order, editedText);\r\n } \r\n else if (e.key === \"Escape\")\r\n {\r\n setIsEditing(false);\r\n props.setGlobalEditing(false); \r\n }\r\n }\r\n } />\r\n \r\n {props.editable \r\n ?\r\n \r\n {setText(editedText); setIsEditing(false); props.setGlobalEditing(false); props.updateItemAction(props.order, editedText);}} />\r\n {setIsEditing(false); props.setGlobalEditing(false);}} />\r\n \r\n :\r\n \"\"\r\n } \r\n \r\n \r\n );\r\n }\r\n else\r\n {\r\n return (\r\n {if(props.editable) {\r\n setEditedText(text);\r\n setIsEditing(true);\r\n props.setGlobalEditing(true);\r\n }}} {...props}>\r\n \r\n \r\n {text}\r\n \r\n {props.editable \r\n ?\r\n \r\n {setEditedText(text); setIsEditing(true); props.setGlobalEditing(true);}} />\r\n {props.removeItemAction(props.order);}} />\r\n {if (props.order < props.count) props.moveItemAction(props.order, props.order + 1);}} />\r\n {if (props.order > 1) props.moveItemAction(props.order, props.order - 1);}} />\r\n \r\n :\r\n \"\"\r\n } \r\n \r\n \r\n );\r\n } \r\n}\r\n\r\nconst AddItemPanel = props => {\r\n const [ item, setItem ] = useState(\"\");\r\n return (\r\n \r\n setItem(e.target.value)} onKeyDown={\r\n e => {\r\n if (e.key === \"Enter\") \r\n {\r\n props.addItemAction(item)\r\n }\r\n }\r\n }/>\r\n {if (item.length > 0) props.addItemAction(item); e.preventDefault();}} />\r\n \r\n );\r\n}\r\n\r\nconst DragItemsContainer = ({items, editable, removeItemAction, updateItemAction, moveItemAction, itemType, ...rest}) => {\r\n const [ collection, setCollection ] = useState(items);\r\n const [ globalEditing, setGlobalEditing ] = useState(false);\r\n useEffect(()=>{setCollection(items)},[items])\r\n const movingItem = useCallback(\r\n (dragIndex, hoverIndex) => {\r\n let draggedItem = collection[dragIndex];\r\n let newCollection = [...collection];\r\n newCollection.splice(dragIndex, 1);\r\n newCollection.splice(hoverIndex, 0, draggedItem);\r\n setCollection(newCollection);\r\n },[collection]\r\n )\r\n if (Array.isArray(collection) && (collection.length > 0))\r\n {\r\n return (\r\n <>\r\n \r\n {collection.map((item, index) => (\r\n ))}\r\n \r\n \r\n );\r\n }\r\n else\r\n {\r\n return (\r\n
Žádný obsah
\r\n );\r\n }\r\n}\r\n\r\nconst DragItemsList = ({addItemAction, editable, ...rest}) => {\r\n return (\r\n \r\n \r\n {editable ? : \"\"}\r\n \r\n );\r\n}\r\n\r\nexport default DragItemsList;","import React, { useState, useEffect } from 'react';\r\nimport { Input, EditMiniButton, DeleteMiniButton, CreateMiniButton, CancelMiniButton, YesMiniButton } from \"../general\";\r\nimport styled from 'styled-components';\r\nimport { devices } from \"../../configuration/layout\";\r\n\r\nconst StyledEditableItemsContainer = styled.ol`\r\npadding: 0;\r\nlist-style: none;\r\ncounter-reset: steps;\r\n`;\r\nconst StyledEditableItemsList = styled.div`\r\ndisplay: flex;\r\nflex-direction: column;\r\njustify-content: space-between;\r\n`;\r\nconst StyledEditableItem = styled.li`\r\nborder-top: 1px solid #bbb;\r\nmargin-bottom: .5rem;\r\ndisplay: flex;\r\nflex-direction: row;\r\nalign-items: center;\r\njustify-content: flex-start;\r\npadding: 3px;\r\nmin-height: 2em;\r\nmargin: 0;\r\ncounter-increment: steps;\r\nposition: relative;\r\n&::before {\r\n flex-shrink: 0;\r\n content: counter(steps);\r\n margin-right: 0.5rem;\r\n background: #bbb;\r\n color: white;\r\n width: 1.5em;\r\n height: 1.5em;\r\n border-radius: 50%;\r\n display: inline-grid;\r\n place-items: center;\r\n line-height: 1.2em;\r\n}\r\n& > span {\r\n position: absolute;\r\n right: 0;\r\n top: 3px;\r\n}\r\n& > input {\r\n width: 100%;\r\n}\r\n`;\r\n\r\nconst StyledAddItemPanel = styled.div`\r\ndisplay: flex;\r\npadding-top: 1em;\r\nflex-direction: row;\r\nalign-items: center;\r\nwidth: 100%;\r\njustify-content: space-between;\r\n& input {\r\n flex-grow: 1;\r\n margin-right: 3px;\r\n}\r\n`;\r\n\r\nconst StyledEditableItemWrapper = styled.div`\r\nflex-grow: 1;\r\ndisplay: flex;\r\nflex-direction: row;\r\nalign-items: center;\r\njustify-content: space-between;\r\n@media ${devices.mobile} {\r\n flex-direction: column;\r\n}\r\n`;\r\n\r\nconst StyledEditableItemContent = styled.div`\r\nflex-grow: 1;\r\n& > input {\r\n display: block;\r\n width: 100%;\r\n box-sizing: border-box;\r\n}\r\n`;\r\n\r\nconst StyledEditableItemIcons = styled.div`\r\n\r\n`;\r\n\r\n\r\nconst EditableItem = ({ id, displayedText, removeItemAction, updateItemAction, editable, globalEditing, setGlobalEditing, ...rest }) => {\r\n const [isEditing, setIsEditing] = useState(false);\r\n const [text, setText] = useState(displayedText);\r\n const [editedText, setEditedText] = useState(displayedText);\r\n if (isEditing) {\r\n return (\r\n \r\n \r\n \r\n setEditedText(e.target.value)} onBlur={e => { if (editedText === text) setIsEditing(false); setGlobalEditing(false); }} onKeyDown={\r\n e => {\r\n if (e.key === \"Enter\") {\r\n setText(editedText);\r\n setIsEditing(false);\r\n setGlobalEditing(false);\r\n updateItemAction(id, editedText);\r\n }\r\n else if (e.key === \"Escape\") {\r\n setIsEditing(false);\r\n setGlobalEditing(false);\r\n }\r\n }\r\n } />\r\n \r\n {editable\r\n ?\r\n \r\n { setText(editedText); setIsEditing(false); setGlobalEditing(false); updateItemAction(id, editedText); }} />\r\n { setIsEditing(false); setGlobalEditing(false); }} />\r\n \r\n :\r\n \"\"\r\n }\r\n \r\n \r\n );\r\n }\r\n else {\r\n return (\r\n {\r\n if (editable) {\r\n setEditedText(text);\r\n setIsEditing(true);\r\n setGlobalEditing(true);\r\n }\r\n }} {...rest}>\r\n \r\n \r\n {text}\r\n \r\n {editable\r\n ?\r\n \r\n { setEditedText(text); setIsEditing(true); setGlobalEditing(true); }} />\r\n { removeItemAction(id); }} />\r\n \r\n :\r\n \"\"\r\n }\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst AddItemPanel = props => {\r\n const [item, setItem] = useState(\"\");\r\n return (\r\n \r\n setItem(e.target.value)} onKeyDown={\r\n e => {\r\n if (e.key === \"Enter\") {\r\n props.addItemAction(item)\r\n }\r\n }\r\n } />\r\n { if (item.length > 0) props.addItemAction(item); e.preventDefault(); }} />\r\n \r\n );\r\n}\r\n\r\nconst EditableItemsContainer = ({ items, editable, removeItemAction, updateItemAction, ...rest }) => {\r\n const [collection, setCollection] = useState(items);\r\n const [globalEditing, setGlobalEditing] = useState(false);\r\n useEffect(() => { setCollection(items) }, [items])\r\n if (Array.isArray(collection) && (collection.length > 0)) {\r\n return (\r\n <>\r\n \r\n {collection.map((item, index) => (\r\n ))}\r\n \r\n \r\n );\r\n }\r\n else {\r\n return (\r\n
Žádný obsah
\r\n );\r\n }\r\n}\r\n\r\nconst EditableItemsList = ({ addItemAction, editable, ...rest }) => {\r\n return (\r\n \r\n \r\n {editable ? : \"\"}\r\n \r\n );\r\n}\r\n\r\nexport default EditableItemsList;","import React, {useState, useMemo, useCallback, useEffect} from 'react';\r\nimport { Link, useLocation, useHistory } from \"react-router-dom\";\r\nimport {DataTable, BoolColumnFilter, ListColumnFilter, ActionLink, Badge} from \"../general\";\r\nimport {DateTime} from \"../common\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\nimport { invertColor } from \"../../helpers/colors\";\r\n\r\nconst LOCAL_STORAGE_ID = \"prace2-ideas-state\";\r\n\r\nconst TargetsShowcase = props => {\r\n if (Array.isArray(props.targets) && (props.targets.length > 0))\r\n {\r\n return props.targets.map((item, index) => (\r\n {item.text}\r\n ));\r\n }\r\n else return \"\";\r\n}\r\n\r\nconst List = props => {\r\n const location = useLocation();\r\n const [URLState, setURLState] = useState(null);\r\n const history = useHistory();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n let storedTableState = JSON.parse(localStorage.getItem(LOCAL_STORAGE_ID));\r\n\r\n const [data, setData] = useState([]);\r\n const [targetsData, setTargetsData] = useState({});\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [{accessToken}, dispatch] = useAppContext();\r\n\r\n useEffect(()=>{ \r\n dispatch({ type: SET_TITLE, payload: \"Seznam námětů\" });\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n let qpar = Object.fromEntries(new URLSearchParams(location.search));\r\n console.log(qpar);\r\n setURLState(qpar);\r\n }, [location]);\r\n\r\n useEffect(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/allTargets\", {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n let targets = {};\r\n for(let target of response.data)\r\n {\r\n targets[target.id] = target.text;\r\n }\r\n setTargetsData(targets);\r\n })\r\n .catch(error => {\r\n setTargetsData({});\r\n });\r\n },[accessToken]);\r\n \r\n const columns = useMemo(() => [\r\n {Header: \"Název\", accessor: \"name\"}, \r\n {Header: \"Předmět\", accessor: \"subject\"}, \r\n {Header: \"Jméno\", accessor: \"userFirstName\"},\r\n {Header: \"Příjmení\", accessor: \"userLastName\"},\r\n {Header: \"Cílové skupiny\", accessor: \"targets\", disableSortBy: true, Cell: (data)=>(), Filter: (column) => {return ListColumnFilter(column, targetsData)}},\r\n {Header: \"Nabízený\", accessor: \"offered\", disableSortBy: true, Cell: (data)=>(data.cell.value === true ? \"Ano\" : \"Ne\"), Filter: BoolColumnFilter},\r\n {Header: \"Aktualizace\", accessor: \"updated\", disableFilters:true, Cell: (data)=>()},\r\n {Header: \"Akce\", Cell: (data)=>(Detail)}\r\n ],[targetsData]); \r\n\r\n const fetchData = useCallback(({page, size, sort, filters})=>{\r\n (async () => {\r\n setIsLoading(true);\r\n setError(false);\r\n let parameters = [];\r\n\r\n let order = sort[0] ? sort[0].id : undefined;\r\n if (order) order = order.toLowerCase();\r\n if (order && sort[0].desc) order = order + \"_desc\";\r\n\r\n if (page) parameters.push(\"page=\" + page);\r\n if (size) parameters.push(\"pageSize=\" + size);\r\n if (order) parameters.push(\"order=\" + order);\r\n if (Array.isArray(filters)) {\r\n for (let f of filters) {\r\n switch (f.id) {\r\n case \"name\": parameters.push(\"name=\" + f.value); break;\r\n case \"subject\": parameters.push(\"subject=\" + f.value); break;\r\n case \"userId\": parameters.push(\"userId=\" + f.value); break;\r\n case \"userFirstName\": parameters.push(\"firstname=\" + f.value); break;\r\n case \"userLastName\": parameters.push(\"lastname=\" + f.value); break;\r\n case \"offered\": parameters.push(\"offered=\" + f.value); break;\r\n case \"targets\": parameters.push(\"target=\" + f.value); break;\r\n default: break;\r\n }\r\n }\r\n }\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas?\" + parameters.join(\"&\"), {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data.data);\r\n setTotalPages(response.data.pages);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setError({text: error.response.statusText, status: error.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n })(); \r\n },[accessToken]);\r\n\r\n return (\r\n <>\r\n <>\r\n Vytvoření\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default List;","import React, {useState, useEffect} from 'react';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport { Alert, FormTextInput, FormGroup, Button, Label, Form, CardContainer, Card, ActionLink } from \"../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport requireAuth from \"../Auth/requireAuth\";\r\n\r\nexport const Create = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n let history = useHistory();\r\n useEffect(()=>{ \r\n dispatch({type: SET_TITLE, payload: \"Nový námět\"});\r\n setFailed(false);\r\n setOk(false); },[dispatch]);\r\n return (\r\n <>\r\n Seznam\r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název námětu\";\r\n if (!values.description) errors.description = \"Vyplňte popis námětu\";\r\n if (!values.subject) errors.subject = \"Vyplňte předmět, kam námět spadá\";\r\n if (!values.description) errors.description = \"Vyplňte popis námětu\";\r\n if (!values.participants) errors.participants = \"Vyplňte počet studentů, kteří mohou na zadání spolupracovat\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/ideas\", {\r\n Name: values.name,\r\n Description: values.description,\r\n Subject: values.subject,\r\n Participants: values.participants,\r\n Resources: values.resources\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n history.push(\"/ideas/\" + response.data.id + \"/onBoarding/1\");\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, dirty, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n {\r\n } }\r\n onChange={ ( event, editor ) => {\r\n const data = editor.getData();\r\n setFieldValue(\"description\", data, true);\r\n } }\r\n onBlur={ ( event, editor ) => {\r\n } }\r\n onFocus={ ( event, editor ) => {\r\n } }\r\n />\r\n {msg => }\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )} \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default requireAuth(Create);","import React, {useState, useEffect} from 'react';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport { Alert, FormGroup, Button, Label, Form, FormTextInput } from \"../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport requireAuth from \"../Auth/requireAuth\";\r\n\r\nexport const Edit = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n useEffect(()=>{ \r\n setFailed(false);\r\n setOk(false);\r\n },[dispatch]);\r\n return (\r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název námětu\";\r\n if (!values.description) errors.description = \"Vyplňte popis námětu\";\r\n if (!values.subject) errors.subject = \"Vyplňte předmět, kam námět spadá\";\r\n if (!values.description) errors.description = \"Vyplňte popis námětu\";\r\n if (!values.participants) errors.participants = \"Vyplňte počet studentů, kteří mohou na zadání spolupracovat\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.put(process.env.REACT_APP_API_URL + \"/ideas/\" + props.data.id, {\r\n Id: Number(props.id),\r\n Name: values.name,\r\n Description: values.description,\r\n Subject: values.subject,\r\n Participants: values.participants,\r\n Resources: values.resources,\r\n UserId: props.data.userId\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Námět byl uložen.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.switchEditMode(false);\r\n props.fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Uložení námětu se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Uložení námětu se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, isValid, dirty}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n { } }\r\n onChange={ ( event, editor ) => {\r\n const data = editor.getData();\r\n setFieldValue(\"description\", data, true);\r\n } }\r\n onBlur={ ( event, editor ) => {\r\n } }\r\n onFocus={ ( event, editor ) => {\r\n } }\r\n />\r\n {msg => }\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )} \r\n \r\n )\r\n};\r\n\r\nexport default requireAuth(Edit);","import React, {useState, useEffect} from 'react';\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport {Modal, CardHeader, CardBody, Subheading, CardTypeValueList, CardTypeValueItem, Button, CardFooter, Paragraph, ButtonBlock } from \"../general\";\r\nimport {DateTime, LoadedUser} from \"../common\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {ADMIN_ROLE, EVALUATOR_ROLE} from \"../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst Display = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n const [isEditable, setIsEditable] = useState(true);\r\n let history = useHistory();\r\n useEffect(() => {\r\n setShowDelete(false);\r\n setIsDeleting(false);\r\n return () => {setShowDelete(false); setIsDeleting(false);};\r\n },[]);\r\n useEffect(()=>{ \r\n setIsEditable((profile !== null) && ((profile.sub === props.owner || profile[ADMIN_ROLE] === \"1\" || profile[EVALUATOR_ROLE] === \"1\")));\r\n },[accessToken, profile, props.owner]);\r\n return (\r\n <>\r\n Obecné informace\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n } />\r\n } />\r\n } />\r\n \r\n \r\n {isEditable ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n \"\"\r\n } \r\n setShowDelete(false)} \r\n title=\"Opravdu smazat námět?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazaný námět nebude možné nijak obnovit.\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Display;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport styled from 'styled-components';\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport {Loader, Paragraph, CardBody, Badge } from \"../general\";\r\nimport {invertColor} from \"../../helpers/colors\";\r\nimport {ADMIN_ROLE, EVALUATOR_ROLE} from \"../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst StyledTargetsCollection = styled.div`\r\n`;\r\n\r\nconst TargetsCollection = props => {\r\n return (\r\n \r\n {(Array.isArray(props.items) && props.items.length > 0) \r\n ? props.items.map((item, index) => (\r\n { props.action(props.idea, item.id)}}>{item.text}\r\n ))\r\n : \"žádné\"\r\n }\r\n \r\n );\r\n}\r\n\r\nconst Targets = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [ usedTargets, setUsedTargets ] = useState([]);\r\n const [ unusedTargets, setUnusedTargets ] = useState([]);\r\n const [ isLoading, setIsLoading ] = useState(true);\r\n const [ isEditable, setIsEditable ] = useState(true);\r\n const fetchTargets = useCallback(() => {\r\n setIsLoading(true);\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/targets\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setUsedTargets(response.data);\r\n })\r\n .catch(error => {\r\n setUsedTargets([])\r\n });\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/unusedtargets\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setUnusedTargets(response.data);\r\n })\r\n .catch(error => {\r\n setUnusedTargets([])\r\n });\r\n setIsLoading(false);\r\n },[accessToken, props.id]);\r\n useEffect(()=>{ fetchTargets(); },[fetchTargets]);\r\n useEffect(()=>{ \r\n setIsEditable((profile !== null) && ((profile.sub === props.owner || profile[ADMIN_ROLE] === \"1\" || profile[EVALUATOR_ROLE] === \"1\")));\r\n },[accessToken, profile,props.owner]);\r\n return(\r\n <>\r\n \r\n {isLoading \r\n ? \r\n :\r\n <>\r\n Námět je určen pro tyto skupiny:\r\n {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/ideas/\" + idea + \"/targets/\" + target,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Cílová skupina byla odebrána\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchTargets();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Odebrání skupiny se nepodařilo. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n } : () => {} } />\r\n {isEditable \r\n ?\r\n <>\r\n Lze přidat pro tyto skupiny:\r\n {\r\n axios.post(process.env.REACT_APP_API_URL + \"/ideas/\" + idea + \"/targets\",{id: target},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Cílová skupina byla přidána\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchTargets();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Přidání skupiny se nepodařilo. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n } : () => {} } />\r\n \r\n :\r\n \"\"\r\n }\r\n \r\n \r\n } \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Targets;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {DragItemsList} from \"../common\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport {Loader, Paragraph, CardBody } from \"../general\";\r\nimport {ADMIN_ROLE, EVALUATOR_ROLE} from \"../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst Goals = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [ list, setList ] = useState([]);\r\n const [ isLoading, setIsLoading ] = useState(true);\r\n const [ isEditable, setIsEditable ] = useState(true);\r\n\r\n const fetchGoals = useCallback(() => {\r\n setIsLoading(true);\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/goals\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setList(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během získávání cílů došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během získávání cílů došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }; \r\n setList([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, props.id, dispatch]);\r\n\r\n const addGoal = useCallback((item) => {\r\n axios.post(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/goals\",{text: item},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Cíl byl přidán\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchGoals();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během přidávání cíle došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[props.id, accessToken, dispatch, fetchGoals]);\r\n\r\n const removeGoal = useCallback((id) => {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/goals/\" + id, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Cíl byl odstraněn\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchGoals();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během odstraňování cíle došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[props.id, accessToken, dispatch, fetchGoals]);\r\n\r\n \r\n const moveGoal = useCallback((from, to) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/goals/\" + from + \"/moveto/\" + to,{},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Pořadí cílů bylo změněno\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchGoals();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během změny pořadí cílů došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[props.id, accessToken, dispatch, fetchGoals]);\r\n\r\n const updateGoal = useCallback((id, item) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/goals/\" + id, \r\n {\r\n text: item\r\n }, \r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Cíl byl aktualizován\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchGoals();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během aktualizace cíle došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[props.id, accessToken, dispatch, fetchGoals]);\r\n\r\n useEffect(()=>{ fetchGoals(); },[fetchGoals]);\r\n useEffect(()=>{ \r\n setIsEditable((profile !== null) && ((profile.sub === props.owner || profile[ADMIN_ROLE] === \"1\" || profile[EVALUATOR_ROLE] === \"1\")));\r\n },[props.owner, profile]);\r\n return(\r\n <>\r\n \r\n {isLoading \r\n ? \r\n :\r\n <>\r\n Cíle popisují vše, co v práci v době jejího odevzdání má být hotovo a odevzdáno.\r\n \r\n \r\n } \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Goals;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {DragItemsList} from \"../common\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport {Loader, Paragraph, CardBody } from \"../general\";\r\nimport {ADMIN_ROLE, EVALUATOR_ROLE} from \"../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst Outlines = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [ list, setList ] = useState([]);\r\n const [ isLoading, setIsLoading ] = useState(true);\r\n const [ isEditable, setIsEditable ] = useState(true);\r\n const fetchOutlines = useCallback(() => {\r\n setIsLoading(true);\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/outlines\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setList(response.data);\r\n })\r\n .catch(error => {\r\n setList([])\r\n });\r\n setIsLoading(false);\r\n },[accessToken, props.id]);\r\n\r\n const addOutline = useCallback((item) => {\r\n axios.post(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/outlines\",{text: item},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Bod osnovy byl přidán\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchOutlines();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během přidávání bodu osnovy došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[props.id, dispatch, fetchOutlines, accessToken]);\r\n\r\n const removeOutline = useCallback((id) => {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/outlines/\" + id, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Bod osnovy byl odstraněn\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchOutlines();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během odstraňování bodu osnovy došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[props.id, accessToken, dispatch, fetchOutlines]);\r\n\r\n const updateOutline = useCallback((id, item) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/outlines/\" + id, \r\n {\r\n text: item\r\n }, \r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Bod osnovy byl aktualizován\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchOutlines();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během aktualizace bod osnovy došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[props.id, accessToken, dispatch, fetchOutlines]);\r\n\r\n const moveOutline = useCallback((from, to) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/outlines/\" + from + \"/moveto/\" + to,{},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Pořadí bodů osnovy bylo změněno\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchOutlines();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během změny pořadí bodů osnovy došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[props.id, accessToken, dispatch, fetchOutlines]);\r\n\r\n useEffect(()=>{ fetchOutlines(); },[fetchOutlines]);\r\n useEffect(()=>{ \r\n setIsEditable((profile !== null) && ((profile.sub === props.owner || profile[ADMIN_ROLE] === \"1\" || profile[EVALUATOR_ROLE] === \"1\")));\r\n },[accessToken, profile, props.owner]);\r\n return(\r\n <>\r\n \r\n {isLoading \r\n ? \r\n :\r\n <>\r\n Osnova shrnuje veškeré kroky, které student bude muset učinit, aby dosáhl cílů práce: co bude muset nastudovat, vyrobit, promyslet.\r\n \r\n \r\n } \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Outlines;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport {Loader, Paragraph, CardBody, CardFooter, Button, ButtonBlock } from \"../general\";\r\nimport {LoadedUser } from \"../common\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {ADMIN_ROLE, EVALUATOR_ROLE} from \"../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst Offers = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [ list, setList ] = useState([]);\r\n const [ offered, setOffered ] = useState(false);\r\n const [ isLoading, setIsLoading ] = useState(true);\r\n const [ isEditable, setIsEditable ] = useState(true);\r\n let history = useHistory();\r\n\r\n const fetchOffers = useCallback(() => {\r\n setIsLoading(true);\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/offers\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setList(response.data);\r\n let myOffer = false;\r\n for(let item of response.data)\r\n {\r\n if (item.id === profile.sub) myOffer = true;\r\n }\r\n setOffered(myOffer);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během získávání nabídek došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během získávání nabídek došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }; \r\n setList([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, props.id, dispatch, profile]);\r\n\r\n const addOffer = useCallback(() => {\r\n setIsLoading(true);\r\n axios.post(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/offers\",{id: profile.sub}, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Vytvoření nabídky se podařilo\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchOffers();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během vytváření nabídky došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během vytváření nabídky došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }; \r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }\r\n );\r\n setIsLoading(false);\r\n },[accessToken, props.id, dispatch, fetchOffers, profile]);\r\n\r\n const removeOffer = useCallback(() => {\r\n setIsLoading(true);\r\n axios.delete(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/offers/\" + profile.sub, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Nabídka již neplatí.\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchOffers();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během odstraňování nabídky došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během odstraňování nabídky došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }; \r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }\r\n );\r\n setIsLoading(false);\r\n },[accessToken, props.id, dispatch, fetchOffers, profile]);\r\n\r\n const removeAll = useCallback(() => {\r\n setIsLoading(true);\r\n axios.delete(process.env.REACT_APP_API_URL + \"/ideas/\" + props.id + \"/offers\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Nabídky již neplatí.\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchOffers();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během odstraňování nabídek došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během odstraňování nabídek došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }; \r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }\r\n );\r\n setIsLoading(false);\r\n },[accessToken, props.id, fetchOffers, dispatch]);\r\n\r\n useEffect(()=>{ fetchOffers(); },[fetchOffers]);\r\n useEffect(()=>{ \r\n setIsEditable((profile !== null) && ((profile[ADMIN_ROLE] === \"1\" || profile[EVALUATOR_ROLE] === \"1\")));\r\n },[accessToken, profile]);\r\n return(\r\n <>\r\n \r\n {isLoading \r\n ? \r\n :\r\n (list.length === 0) \r\n ? Tento námět ke zpracování nyní nikdo nenabízí.\r\n : \r\n
\r\n {list.map((item, index) => ())}\r\n
\r\n } \r\n
\r\n {isEditable \r\n ? \r\n \r\n \r\n {offered ? : }\r\n {(props.admin && (list.length > 0)) ? : \"\"}\r\n {(props.admin || props.evaluator) ? : \"\"}\r\n \r\n \r\n : \"\"\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default Offers;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { CardContainer, Card, ActionLink, CardHeader, Subheading, Loader, Alert, PageTitle, Modal, Paragraph, Button } from \"../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\nimport {ADMIN_ROLE, EVALUATOR_ROLE} from \"../../configuration/constants\";\r\nimport Edit from \"./Edit\";\r\nimport Display from \"./Display\";\r\nimport Targets from \"./Targets\";\r\nimport Goals from \"./Goals\";\r\nimport Outlines from \"./Outlines\";\r\nimport Offers from \"./Offers\";\r\n\r\nexport const Detail = props => {\r\n const { id, onBoarding } = useParams();\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [editing, setEditing] = useState(false);\r\n const [showOnBoarding, setShowOnBoarding] = useState(onBoarding === \"1\");\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/\" + id,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, id]);\r\n useEffect(() => { dispatch({ type: SET_TITLE, payload: response ? (\"Námět: \" + response.name) : \"Detail námětu\" }); }, [dispatch, response]);\r\n useEffect(()=>{fetchData();},[fetchData]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n Seznam\r\n {response.name}\r\n \r\n \r\n {editing ? : }\r\n \r\n {accessToken !== null \r\n ?\r\n \r\n Nabídka námětů a vytváření zadání\r\n \r\n \r\n :\r\n \"\"\r\n } \r\n \r\n Cíle\r\n \r\n \r\n \r\n Osnova\r\n \r\n \r\n \r\n Cílové skupiny\r\n \r\n \r\n \r\n setShowOnBoarding(false)} \r\n defaultAction={()=>setShowOnBoarding(false)} \r\n title=\"Nový námět\"\r\n actions={\r\n <>\r\n \r\n \r\n }\r\n >\r\n Nový námět byl vytvořen.\r\n Nyní můžete:\r\n
    \r\n
  1. Přidat nějaké cíle, jejichž vyhotovéní je možné očekávat.
  2. \r\n
  3. Přidat body osnovy, které popíší, co všechno bude nutné udělat pro úspěšné vypracování práce.
  4. \r\n
  5. Vybrat cílové skupiny studentů, kteří by toto zadání mohli vypracovat.
  6. \r\n
  7. Vyučující mohou tento námět nabídnout studentům k vypracování.
  8. \r\n
\r\n Autor nebo administrátoři mohou tento námět také libovolně upravovat a mohou ho také smazat.\r\n
\r\n \r\n );\r\n } else {\r\n return ;\r\n }; \r\n};\r\n\r\nexport default Detail;","import React from 'react';\r\nimport {Route, Switch} from \"react-router-dom\";\r\nimport List from \"./List\";\r\nimport Create from \"./Create\";\r\nimport Detail from \"./Detail\";\r\nimport NotFound from \"../NotFound\";\r\nimport LayoutRoute from \"../layouts/LayoutRoute\";\r\nimport MessageLayout from \"../layouts/MessageLayout\";\r\nimport {mainTheme as theme} from \"../../App\";\r\n\r\nconst Ideas = props => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Ideas;","import React, {useState, useMemo, useCallback, useEffect} from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport {DataTable, ListColumnFilter, ActionLink} from \"../general\";\r\nimport {DateTime} from \"../common\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\nimport {WorkStates} from \"../../configuration/constants\";\r\n\r\nconst LOCAL_STORAGE_ID = \"prace2-works-state\";\r\n\r\nconst List = props => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n const [data, setData] = useState([]);\r\n const [setsData, setSetsData] = useState({});\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n\r\n let storedTableState = JSON.parse(localStorage.getItem(LOCAL_STORAGE_ID));\r\n\r\n useEffect(()=>{ \r\n dispatch({type: SET_TITLE, payload: \"Seznam prací\"}); \r\n },[dispatch]);\r\n\r\n useEffect(()=>{ \r\n axios.get(process.env.REACT_APP_API_URL + \"/sets\", {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n let sets = {};\r\n for(let set of response.data.data)\r\n {\r\n sets[set.id] = set.name;\r\n }\r\n setSetsData(sets);\r\n })\r\n .catch(error => {\r\n setSetsData({});\r\n });\r\n },[accessToken]);\r\n \r\n const columns = useMemo(() => [\r\n {Header: \"Název\", accessor: \"name\"}, \r\n {Header: \"Jméno\", accessor: \"authorFirstName\"},\r\n {Header: \"Příjmení\", accessor: \"authorLastName\"},\r\n {Header: \"Třída\", accessor: \"className\"},\r\n {Header: \"Jméno vedoucího\", accessor: \"managerFirstName\"},\r\n {Header: \"Příjmení vedoucího\", accessor: \"managerLastName\"},\r\n {Header: \"Rok\", accessor: \"year\"},\r\n {Header: \"Sada\", accessor: \"setName\", disableSortBy: true, Filter: (column) => {return ListColumnFilter(column, setsData)}},\r\n {Header: \"Stav\", accessor: \"state\", Cell: data => (WorkStates[data.cell.value]), Filter: (column) => {return ListColumnFilter(column, WorkStates)}},\r\n {Header: \"Aktualizace\", accessor: \"updated\", disableFilters:true, Cell: (data)=>()},\r\n {Header: \"Akce\", Cell: (data)=>(Detail)}\r\n ],[setsData]); \r\n\r\n const fetchData = useCallback(({page, size, sort, filters})=>{\r\n (async () => {\r\n setIsLoading(true);\r\n setError(false);\r\n let parameters = [];\r\n\r\n let order = sort[0] ? sort[0].id : undefined;\r\n if (order) order = order.toLowerCase();\r\n if (order && sort[0].desc) order = order + \"_desc\";\r\n\r\n if (page) parameters.push(\"page=\" + page);\r\n if (size) parameters.push(\"pageSize=\" + size);\r\n if (order) parameters.push(\"order=\" + order);\r\n if (Array.isArray(filters)) {\r\n for (let f of filters) {\r\n switch (f.id) {\r\n case \"name\": parameters.push(\"name=\" + f.value); break;\r\n case \"userId\": parameters.push(\"userId=\" + f.value); break;\r\n case \"authorFirstName\": parameters.push(\"firstname=\" + f.value); break;\r\n case \"authorLastName\": parameters.push(\"lastname=\" + f.value); break;\r\n case \"managerFirstName\": parameters.push(\"managerfirstname=\" + f.value); break;\r\n case \"managerLastName\": parameters.push(\"managerlastname=\" + f.value); break;\r\n case \"setName\": parameters.push(\"setId=\" + f.value); break;\r\n case \"state\": parameters.push(\"state=\" + f.value); break;\r\n case \"year\": parameters.push(\"year=\" + f.value); break;\r\n case \"className\": parameters.push(\"classname=\" + f.value); break;\r\n default: break;\r\n }\r\n }\r\n }\r\n axios.get(process.env.REACT_APP_API_URL + \"/works?\" + parameters.join(\"&\"), {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data.data);\r\n setTotalPages(response.data.pages);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setError({text: error.response.statusText, status: error.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n })(); \r\n },[accessToken]);\r\n\r\n return (\r\n <>\r\n <>\r\n Rychlé vytvoření\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default List;","import React from 'react';\r\nimport { ADMIN_ROLE, EVALUATOR_ROLE, MANAGER_ROLE } from \"../../configuration/constants\"; \r\nimport {useAppContext} from \"../../providers/ApplicationProvider\";\r\nimport AccessDenied from \"../messages/AccessDenied\";\r\nimport Unauthorized from \"../messages/Unauthorized\";\r\n\r\nconst requireEvaluator = (WrappedComponent) => (props) => {\r\n const [{accessToken, profile}] = useAppContext();\r\n if (accessToken === null) {\r\n return ;\r\n } else if (profile[ADMIN_ROLE] !== \"1\" && profile[EVALUATOR_ROLE] !== \"1\" && profile[MANAGER_ROLE] !== \"1\" ){\r\n return ;\r\n } else {\r\n return(\r\n \r\n {props.children}\r\n \r\n );\r\n }\r\n \r\n}\r\n\r\nexport default requireEvaluator;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport { Alert, FormTextInput, FormGroup, FormSelect, Button, Label, Form, CardContainer, Card, ActionLink } from \"../general\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport Axios from 'axios';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport requireEvaluator from \"../Auth/requireEvaluator\";\r\n\r\nexport const Create = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n const [sets, setSets] = useState(null);\r\n const [authors, setAuthors] = useState(null);\r\n const [evaluators, setEvaluators] = useState(null);\r\n let history = useHistory();\r\n\r\n const fetchSetsData = useCallback(() => {\r\n Axios.get(process.env.REACT_APP_API_URL + \"/sets?active=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setSets(response.data.data);\r\n })\r\n },[accessToken]);\r\n const fetchAuthorsData = useCallback(() => {\r\n Axios.get(process.env.REACT_APP_API_URL + \"/users?author=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setAuthors(response.data.data);\r\n })\r\n },[accessToken]);\r\n const fetchEvaluatorsData = useCallback(() => {\r\n Axios.get(process.env.REACT_APP_API_URL + \"/users?evaluator=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setEvaluators(response.data.data);\r\n })\r\n },[accessToken]);\r\n\r\n useEffect(()=>{ \r\n dispatch({type: SET_TITLE, payload: \"Nová práce\"});\r\n setFailed(false);\r\n fetchSetsData();\r\n fetchAuthorsData();\r\n fetchEvaluatorsData();\r\n setOk(false);\r\n }, [dispatch, fetchSetsData, fetchAuthorsData, fetchEvaluatorsData]);\r\n return (\r\n <>\r\n Seznam\r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název námětu\";\r\n if (!values.description) errors.description = \"Vyplňte popis námětu\";\r\n if (!values.subject) errors.subject = \"Vyplňte předmět, kam námět spadá\";\r\n if (!values.description) errors.description = \"Vyplňte popis námětu\";\r\n if (!values.classname) errors.classname = \"Vyplňte třídu autora\";\r\n if (!values.setid) errors.setid = \"Práce musí být v aktivní sadě\";\r\n if (!values.authorid) errors.authorid = \"Práce musí mít autora\";\r\n if (!values.managerid) errors.managerid = \"Práce musí mít vedoucího\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n Axios.post(process.env.REACT_APP_API_URL + \"/works\", {\r\n Name: values.name,\r\n Description: values.description,\r\n Subject: values.subject,\r\n Resources: values.resources,\r\n ClassName: values.classname,\r\n RepositoryURL: values.repositoryURL,\r\n AuthorId: values.authorid,\r\n ManagerId: values.managerid,\r\n SetId: Number(values.setid),\r\n UserId: profile.sub\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n history.push(\"/works/\" + response.data.id);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, dirty, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n \r\n { } }\r\n onChange={ ( event, editor ) => {\r\n const data = editor.getData();\r\n setFieldValue(\"description\", data, true);\r\n } }\r\n onBlur={ ( event, editor ) => {\r\n } }\r\n onFocus={ ( event, editor ) => {\r\n } }\r\n />\r\n {msg => }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Array.isArray(authors) ? authors.map((item,index) => ()) : \"\"}\r\n \r\n \r\n \r\n {Array.isArray(evaluators) ? evaluators.map((item,index) => ()) : \"\"}\r\n \r\n \r\n \r\n {Array.isArray(sets) ? sets.map((item,index) => ()) : \"\"}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )} \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default requireEvaluator(Create);","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, FormTextInput, FormSelect, Button, Form, CardContainer, Card, ActionLink, CardTypeValueList, CardTypeValueItem } from \"../general\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport axios from 'axios';\r\nimport requireEvaluator from \"../Auth/requireEvaluator\";\r\n\r\nexport const CreateFromIdea = props => {\r\n const { id } = useParams();\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n const [sets, setSets] = useState(null);\r\n const [authors, setAuthors] = useState(null);\r\n const [evaluators, setEvaluators] = useState(null);\r\n const [idea, setIdea] = useState(null);\r\n const [ideaGoals, setIdeaGoals] = useState(null);\r\n const [ideaOutlines, setIdeaOutlines] = useState(null);\r\n const fetchIdeaData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/\" + id,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setIdea(response.data);\r\n })\r\n },[accessToken, id]);\r\n const fetchIdeaGoalsData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/\" + id + \"/goals\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setIdeaGoals(response.data);\r\n })\r\n },[accessToken, id]);\r\n const fetchIdeaOutlinesData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/ideas/\" + id + \"/outlines\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setIdeaOutlines(response.data);\r\n })\r\n },[accessToken, id]);\r\n\r\n let history = useHistory();\r\n\r\n const fetchSetsData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets?active=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setSets(response.data.data);\r\n })\r\n },[accessToken]);\r\n\r\n const fetchAuthorsData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/users?author=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setAuthors(response.data.data);\r\n })\r\n },[accessToken]);\r\n const fetchEvaluatorsData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/users?evaluator=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setEvaluators(response.data.data);\r\n })\r\n },[accessToken]);\r\n\r\n useEffect(()=>{ \r\n dispatch({type: SET_TITLE, payload: \"Nová práce z existujícího námětu\"});\r\n setFailed(false);\r\n fetchSetsData();\r\n fetchAuthorsData();\r\n fetchEvaluatorsData();\r\n fetchIdeaData();\r\n fetchIdeaGoalsData();\r\n fetchIdeaOutlinesData();\r\n setOk(false);\r\n }, [dispatch, fetchAuthorsData, fetchEvaluatorsData, fetchIdeaData, fetchIdeaGoalsData, fetchIdeaOutlinesData, fetchSetsData]);\r\n return (\r\n <>\r\n Seznam\r\n \r\n \r\n {idea && ideaGoals && ideaOutlines\r\n ?\r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n : \r\n \r\n }\r\n {\r\n let errors = {};\r\n if (!values.classname) errors.classname = \"Vyplňte třídu autora\";\r\n if (!values.setid) errors.setid = \"Práce musí být v aktivní sadě\";\r\n if (!values.authorid) errors.authorid = \"Práce musí mít autora\";\r\n if (!values.managerid) errors.managerid = \"Práce musí mít vedoucího\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n axios.post(process.env.REACT_APP_API_URL + \"/works\", {\r\n Name: idea.name,\r\n Description: idea.description,\r\n Subject: idea.subject,\r\n Resources: idea.resources,\r\n ClassName: values.classname,\r\n RepositoryURL: values.repositoryURL,\r\n AuthorId: values.authorid,\r\n ManagerId: values.managerid,\r\n SetId: Number(values.setid),\r\n UserId: profile.sub\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n let workId = response.data.id;\r\n let goalsTexts = ideaGoals.map((item) => (item.text));\r\n axios.post(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/goals/all\", goalsTexts\r\n , {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n });\r\n let outlinesTexts = ideaOutlines.map((item) => (item.text));\r\n axios.post(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/outlines/all\", outlinesTexts\r\n , {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n });\r\n setOk(true);\r\n setFailed(false);\r\n history.push(\"/works/\" + workId);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, dirty, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n {Array.isArray(authors) ? authors.map((item,index) => ()) : \"\"}\r\n \r\n \r\n \r\n {Array.isArray(evaluators) ? evaluators.map((item,index) => ()) : \"\"}\r\n \r\n \r\n \r\n {Array.isArray(sets) ? sets.map((item,index) => ()) : \"\"}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )} \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default requireEvaluator(CreateFromIdea);","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {useHistory} from \"react-router-dom\";\r\nimport { Alert, ActionLink } from \"../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport requireEvaluator from \"../Auth/requireEvaluator\";\r\nimport Axios from 'axios';\r\n\r\nexport const Guide = props => {\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n const [sets, setSets] = useState(null);\r\n const [authors, setAuthors] = useState(null);\r\n const [evaluators, setEvaluators] = useState(null);\r\n let history = useHistory();\r\n\r\n const fetchSetsData = useCallback(() => {\r\n Axios.get(process.env.REACT_APP_API_URL + \"/sets?active=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setSets(response.data.data);\r\n })\r\n },[accessToken]);\r\n const fetchAuthorsData = useCallback(() => {\r\n Axios.get(process.env.REACT_APP_API_URL + \"/users?author=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setAuthors(response.data.data);\r\n })\r\n },[accessToken]);\r\n const fetchEvaluatorsData = useCallback(() => {\r\n Axios.get(process.env.REACT_APP_API_URL + \"/users?evaluator=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setEvaluators(response.data.data);\r\n })\r\n },[accessToken]);\r\n\r\n return (\r\n <>\r\n Seznam\r\n \r\n \r\n );\r\n};\r\n\r\nexport default requireEvaluator(Guide);","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport { Alert, FormGroup, Button, Label, Form, FormTextInput, FormSelect } from \"../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport axios from 'axios';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport requireAuth from \"../Auth/requireAuth\";\r\n\r\nexport const Edit = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n const [sets, setSets] = useState(null);\r\n const [authors, setAuthors] = useState(null);\r\n const [evaluators, setEvaluators] = useState(null);\r\n const fetchSetsData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets?active=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setSets(response.data.data);\r\n })\r\n },[accessToken]);\r\n const fetchAuthorsData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/users?author=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setAuthors(response.data.data);\r\n })\r\n },[accessToken]);\r\n const fetchEvaluatorsData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/users?evaluator=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setEvaluators(response.data.data);\r\n })\r\n },[accessToken]);\r\n useEffect(()=>{ \r\n setFailed(false);\r\n setOk(false);\r\n fetchSetsData();\r\n fetchAuthorsData();\r\n fetchEvaluatorsData();\r\n }, [dispatch, fetchAuthorsData, fetchSetsData, fetchEvaluatorsData]);\r\n return (\r\n {\r\n let errors = {};\r\n if (!values.name) errors.name = \"Vyplňte název námětu\";\r\n if (!values.description) errors.description = \"Vyplňte popis námětu\";\r\n if (!values.subject) errors.subject = \"Vyplňte předmět, kam námět spadá\";\r\n if (!values.description) errors.description = \"Vyplňte popis námětu\";\r\n if (!values.classname) errors.classname = \"Vyplňte třídu autora\";\r\n if (!values.setid) errors.setid = \"Práce musí být v aktivní sadě\";\r\n if (!values.authorid) errors.authorid = \"Práce musí mít uvedeného autora\";\r\n if (!values.managerid) errors.managerid = \"Práce musí mít vedoucího\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + props.data.id + \"/base\", {\r\n Id: Number(props.id),\r\n Name: values.name,\r\n Description: values.description,\r\n Subject: values.subject,\r\n Resources: values.resources,\r\n ClassName: values.classname,\r\n RepositoryURL: values.repositoryURL,\r\n AuthorId: values.authorid,\r\n ManagerId: values.managerid,\r\n SetId: Number(values.setid)\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Práce byla uložena.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.switchEditMode(false);\r\n props.fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Uložení práce se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Uložení práce se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, isValid, dirty}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n \r\n { } }\r\n onChange={ ( event, editor ) => {\r\n const data = editor.getData();\r\n setFieldValue(\"description\", data, true);\r\n } }\r\n onBlur={ ( event, editor ) => {\r\n } }\r\n onFocus={ ( event, editor ) => {\r\n } }\r\n />\r\n {msg => }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Array.isArray(authors) ? authors.map((item,index) => ()) : \"\"}\r\n \r\n \r\n \r\n {Array.isArray(evaluators) ? evaluators.map((item,index) => ()) : \"\"}\r\n \r\n \r\n \r\n {Array.isArray(sets) ? sets.map((item,index) => ()) : \"\"}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )} \r\n \r\n )\r\n};\r\n\r\nexport default requireAuth(Edit);","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport {Modal, CardHeader, CardBody, Subheading, CardTypeValueList, CardTypeValueItem, Button, CardFooter, Paragraph, ButtonBlock } from \"../general\";\r\nimport {DateTime, LoadedUser} from \"../common\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {WorkStates} from \"../../configuration/constants\";\r\nimport axios from \"axios\";\r\n\r\nconst Display = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n const [setResponse, setSetResponse] = useState(null);\r\n const fetchSetData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + props.data.setId,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setSetResponse(response.data);\r\n })\r\n },[props.data, accessToken]);\r\n let history = useHistory();\r\n useEffect(() => {\r\n setShowDelete(false);\r\n setIsDeleting(false);\r\n fetchSetData();\r\n return () => { setShowDelete(false); setIsDeleting(false); };\r\n }, [setShowDelete, setIsDeleting, fetchSetData]);\r\n return (\r\n <>\r\n Obecné informace\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n {props.data.repositoryURL} : \"\"} />\r\n } />\r\n } />\r\n \r\n {setResponse.name} : \"\"} />\r\n \r\n } />\r\n } />\r\n } />\r\n \r\n \r\n {props.isEditable ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n \"\"\r\n } \r\n setShowDelete(false)} \r\n title=\"Opravdu smazat práci?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Takto smazanou práci nebude možné nijak obnovit.\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Display;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {DragItemsList} from \"../common\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport {Loader, Paragraph, CardBody } from \"../general\";\r\nimport axios from \"axios\";\r\n\r\nconst Goals = ({ isEditable, id }) => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [ list, setList ] = useState([]);\r\n const [ isLoading, setIsLoading ] = useState(true);\r\n\r\n const fetchGoals = useCallback(() => {\r\n setIsLoading(true);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/goals\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setList(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během získávání cílů došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Během získávání cílů došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n }; \r\n setList([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, id, dispatch]);\r\n\r\n const addGoal = useCallback((item) => {\r\n axios.post(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/goals\",{text: item},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Cíl byl přidán\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchGoals();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během přidávání cíle došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[id, accessToken, dispatch, fetchGoals]);\r\n\r\n const removeGoal = useCallback((itemId) => {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/goals/\" + itemId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Cíl byl odstraněn\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchGoals();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během odstraňování cíle došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[id, accessToken, dispatch, fetchGoals]);\r\n\r\n \r\n const moveGoal = useCallback((from, to) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/goals/\" + from + \"/moveto/\" + to,{},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Pořadí cílů bylo změněno\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchGoals();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během změny pořadí cílů došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[id, accessToken, dispatch, fetchGoals]);\r\n\r\n const updateGoal = useCallback((itemId, item) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/goals/\" + itemId, \r\n {\r\n text: item\r\n }, \r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Cíl byl aktualizován\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchGoals();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během aktualizace cíle došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[id, accessToken, dispatch, fetchGoals]);\r\n\r\n useEffect(()=>{ fetchGoals(); },[fetchGoals]);\r\n return(\r\n <>\r\n \r\n {isLoading \r\n ? \r\n :\r\n <>\r\n Cíle popisují vše, co v práci v době jejího odevzdání má být hotovo a odevzdáno.\r\n \r\n \r\n } \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Goals;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {DragItemsList} from \"../common\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport {Loader, Paragraph, CardBody } from \"../general\";\r\nimport axios from \"axios\";\r\n\r\nconst Outlines = ({ isEditable, id }) => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [ list, setList ] = useState([]);\r\n const [ isLoading, setIsLoading ] = useState(true);\r\n const fetchOutlines = useCallback(() => {\r\n setIsLoading(true);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/outlines\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setList(response.data);\r\n })\r\n .catch(error => {\r\n setList([])\r\n });\r\n setIsLoading(false);\r\n },[accessToken, id]);\r\n\r\n const addOutline = useCallback((item) => {\r\n axios.post(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/outlines\",{text: item},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Bod osnovy byl přidán\", variant: \"success\", dismissible: true, expiration: 3});\r\n fetchOutlines();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během přidávání bodu osnovy došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[id, dispatch, fetchOutlines, accessToken]);\r\n\r\n const removeOutline = useCallback((itemId) => {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/outlines/\" + itemId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Bod osnovy byl odstraněn\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchOutlines();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během odstraňování bodu osnovy došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[id, accessToken, dispatch, fetchOutlines]);\r\n\r\n const updateOutline = useCallback((itemId, item) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/outlines/\" + itemId, \r\n {\r\n text: item\r\n }, \r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Bod osnovy byl aktualizován\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchOutlines();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během aktualizace bod osnovy došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[id, accessToken, dispatch, fetchOutlines]);\r\n\r\n const moveOutline = useCallback((from, to) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/outlines/\" + from + \"/moveto/\" + to,{},{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({type: ADD_MESSAGE, text: \"Pořadí bodů osnovy bylo změněno\", variant: \"success\", dismissible: true, expiration: 3});\r\n setList([]);\r\n fetchOutlines();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Během změny pořadí bodů osnovy došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[id, accessToken, dispatch, fetchOutlines]);\r\n\r\n useEffect(()=>{ fetchOutlines(); },[fetchOutlines]);\r\n return(\r\n <>\r\n \r\n {isLoading \r\n ? \r\n :\r\n <>\r\n Osnova shrnuje veškeré kroky, které student bude muset učinit, aby dosáhl cílů práce: co bude muset nastudovat, vyrobit, promyslet.\r\n \r\n \r\n } \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Outlines;","import React from 'react';\r\nimport {Table, TableBody, TableHeader, TableRow, DataCell, HeadCell, TableFooter, Button, CardHeader, CardFooter, CardBody, Subheading, ButtonBlock } from \"../general\";\r\n\r\nconst Display = ({isEditable, data, switchEditMode}) => {\r\n return (\r\n <>\r\n Náklady\r\n \r\n \r\n \r\n \r\n v Kč\r\n Celkové\r\n Hrazené školou\r\n \r\n \r\n \r\n \r\n Výrobní náklady\r\n {data.materialCosts}\r\n {data.materialCostsProvidedBySchool}\r\n \r\n \r\n Náklady na služby\r\n {data.servicesCosts}\r\n {data.servicesCostsProvidedBySchool}\r\n \r\n \r\n \r\n \r\n Celkem\r\n {Number(data.materialCosts) + Number(data.servicesCosts)}\r\n {Number(data.materialCostsProvidedBySchool) + Number(data.servicesCostsProvidedBySchool)}\r\n \r\n \r\n
\r\n {data.detailExpenditures \r\n ?\r\n <>\r\n Podrobnosti\r\n
\r\n \r\n :\r\n \"\"\r\n }\r\n \r\n \r\n {isEditable ? \r\n \r\n \r\n \r\n \r\n \r\n : \r\n \"\"\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default Display;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport { Alert, FormGroup, Button, Label, Form, FormTextInput, FormSelect } from \"../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport axios from 'axios';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport requireAuth from \"../Auth/requireAuth\";\r\n\r\nexport const EditCosts = props => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n useEffect(()=>{ \r\n setFailed(false);\r\n setOk(false);\r\n },[dispatch]);\r\n return (\r\n {\r\n let errors = {};\r\n if (!values.materialcosts === null) errors.materialcosts = \"Vyplňte výrobní náklady\";\r\n if (!values.servicescosts === null) errors.servicescosts = \"Vyplňte náklady na služby\";\r\n if (!values.materialcostsprovidedbyschool === null) errors.materialcostsprovidedbyschool = \"Vyplňte výrobní náklady hrazené školou\";\r\n if (!values.servicescostsprovidedbyschool === null) errors.servicescostsprovidedbyschool = \"Vyplňte náklady na služby hrazené školou\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + props.data.id + \"/expenditures\", {\r\n Id: Number(props.id),\r\n MaterialCosts: values.materialcosts,\r\n MaterialCostsProvidedBySchool: values.materialcostsprovidedbyschool,\r\n ServicesCosts: values.servicescosts,\r\n ServicesCostsProvidedBySchool: values.servicescostsprovidedbyschool,\r\n DetailExpenditures: values.detailexpenditures,\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n dispatch({type: ADD_MESSAGE, text: \"Práce byla uložena.\", variant: \"success\", dismissible: true, expiration: 3});\r\n props.switchEditMode(false);\r\n props.fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Uložení nákladů práce se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n dispatch({type: ADD_MESSAGE, text: \"Uložení nákladů práce se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3});\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, isValid, dirty}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n { } }\r\n onChange={ ( event, editor ) => {\r\n const data = editor.getData();\r\n setFieldValue(\"detailexpenditures\", data, true);\r\n } }\r\n onBlur={ ( event, editor ) => {\r\n } }\r\n onFocus={ ( event, editor ) => {\r\n } }\r\n />\r\n {msg => }\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )} \r\n \r\n )\r\n};\r\n\r\nexport default requireAuth(EditCosts);","import React, { useState, useEffect } from 'react';\r\nimport { useAppContext } from \"../../providers/ApplicationProvider\";\r\nimport { Loader, Alert } from \"../general\";\r\nimport axios from \"axios\";\r\nimport styled from 'styled-components';\r\n\r\nconst StyledTermRoleStatsContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n cursor: default;\r\n`;\r\nconst StyledTermRoleStatsQuestionsContainer = styled.div`\r\nfont-size: 12pt;\r\n`;\r\nconst StyledTermRoleStatsPointsContainer = styled.div`\r\nfont-size: 8pt;\r\n&.critical {color: red};\r\n`;\r\n\r\nconst TermRoleStats = ({ termId, roleId, workId }) => {\r\n const [{ accessToken }] = useAppContext();\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n useEffect(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/statsForRoleTerm/\" + roleId + \"/\" + termId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n }, [accessToken, workId, roleId, termId]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n return ;\r\n } else if (response) {\r\n return (\r\n \r\n \r\n Otázky: {response.filledQuestions !== null ? (Number(response.filledQuestions) + \"/\") : \"\"}{Number(response.totalQuestions)}\r\n \r\n 0 ? \"critical\" : \"\")}>\r\n {response.totalPoints !== null\r\n ?\r\n \"Body: \" + Number(response.gainedPoints) + \"/\" + Number(response.totalPoints)\r\n : \r\n \"\"\r\n }\r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n}\r\n\r\nexport default TermRoleStats;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { useAppContext, ADD_MESSAGE } from \"../../providers/ApplicationProvider\";\r\nimport { Loader, CardBody, Table, TableHeader, TableBody, TableRow, HeadCell, DataCell, Alert, CardHeader, Subheading, AddMiniButton, RemoveMiniButton, EditMiniButton, TableWrapper, Button, TableFooter, ButtonBlock } from \"../general\";\r\nimport {ADMIN_ROLE, MANAGER_ROLE, EVALUATOR_ROLE} from \"../../configuration/constants\";\r\nimport { ASSIGN_ROLES } from \"./Detail\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport LoadedUser from \"../common/LoadedUser\";\r\nimport DateTime from \"../common/DateTime\";\r\nimport axios from \"axios\";\r\nimport styled from 'styled-components';\r\nimport TermRoleStats from \"./TermRoleStats\";\r\n\r\nconst StyledUsersInRole = styled.nav`\r\ndisplay: flex;\r\nflex-direction: column;\r\n`;\r\n\r\nconst StyledUserInRole = styled.nav`\r\ndisplay: flex;\r\nflex-direction: row;\r\nwidth: 100%;\r\njustify-content: space-between;\r\n`;\r\n\r\nconst CenteredContent = styled.nav`\r\ndisplay: flex;\r\nflex-direction: row;\r\nwidth: 100%;\r\njustify-content: start;\r\npadding: .5em;\r\n`;\r\n\r\nconst TermDate = styled.span`\r\nfont-weight: 100;\r\nfont-size: small;\r\n`;\r\n\r\nconst RoleTermWrapper = styled.div`\r\ndisplay: flex;\r\nflex-direction: row;\r\n`;\r\n\r\nconst UserInRole = ({userId, removeUserAction, isEditable, isRolesEditable}) => {\r\n return (\r\n \r\n \r\n {isRolesEditable ? removeUserAction()} /> : \"\" }\r\n \r\n ) \r\n}\r\n\r\nconst UsersInRole = ({ work, role, setEditedRole, switchMode, removeUserAction, isEditable, isRolesEditable }) => {\r\n return (\r\n \r\n {Array.isArray(role.workRoleUsers)\r\n ?\r\n role.workRoleUsers.map((item, index) => (\r\n { removeUserAction(work, role.id, item.userId); }} isRolesEditable={isRolesEditable} />\r\n ))\r\n :\r\n \"\"\r\n }\r\n {isRolesEditable ?\r\n {\r\n setEditedRole(role.id);\r\n switchMode(ASSIGN_ROLES);\r\n }} />\r\n :\r\n \"\"\r\n }\r\n \r\n );\r\n}\r\n\r\nconst Roles = ({id, owner, switchMode, editedRole, setEditedRole, isEditable, isRolesEditable, workData, ...rest}) => {\r\n const [{ accessToken, profile }, dispatch] = useAppContext();\r\n let history = useHistory();\r\n const [rolesResponse, setRolesResponse] = useState(null);\r\n const [isRolesLoading, setIsRolesLoading] = useState(false);\r\n const [rolesError, setRolesError] = useState(false);\r\n const [termsResponse, setTermsResponse] = useState(null);\r\n const [isTermsLoading, setIsTermsLoading] = useState(false);\r\n const [termsError, setTermsError] = useState(false);\r\n\r\n const fetchData = useCallback(() => {\r\n setIsRolesLoading(true);\r\n setRolesError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/roles\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setRolesResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setRolesError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setRolesError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setRolesResponse([]);\r\n })\r\n .then(() => {\r\n setIsRolesLoading(false);\r\n })\r\n },[accessToken, id]);\r\n const fetchTerms = useCallback(() => {\r\n setIsTermsLoading(true);\r\n setTermsError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + workData.setId + \"/terms\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setTermsResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setTermsError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setTermsError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setTermsResponse([]);\r\n });\r\n setIsTermsLoading(false);\r\n },[accessToken, workData]);\r\n const removeUser = useCallback((work, role, user) => {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/works/\" + work + \"/roles/\" + role + \"/users/\" + user,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Hodnotitel byl odebrán.\", variant: \"success\", dismissible: true, expiration: 3 });\r\n fetchData();\r\n })\r\n .catch(error => {\r\n dispatch({type: ADD_MESSAGE, text: \"Při odebírání hodnotitele došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3});\r\n });\r\n },[accessToken, dispatch, fetchData]);\r\n useEffect(()=>{\r\n fetchData();\r\n fetchTerms();\r\n }, [fetchData, fetchTerms]);\r\n\r\n const setFinalized = useCallback((workId, workRoleId, finalized) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/roles/\" + workRoleId + \"/finalized/\" + finalized, {\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Stav hodnocení práce byl změně.\", variant: \"success\", dismissible: true, expiration: 3 });\r\n fetchData();\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n dispatch({ type: ADD_MESSAGE, text: \"Uložení stavu se nepodařilo. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3 });\r\n }\r\n else {\r\n dispatch({ type: ADD_MESSAGE, text: \"Uložení stavu se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3 });\r\n }\r\n })\r\n .then(() => {\r\n });\r\n }, [accessToken, dispatch, fetchData]);\r\n\r\n\r\n const showRoles = () => {\r\n if (isRolesLoading || isTermsLoading) {\r\n return (\r\n \r\n );\r\n } \r\n else if (rolesError || termsError) {\r\n return (\r\n \r\n );\r\n } else if (rolesResponse && termsResponse) {\r\n return (\r\n rolesResponse.map((item,index)=>(\r\n {item.setRole.name}\r\n ))\r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n const showAssignedRoles = () => {\r\n if (isRolesLoading) {\r\n return (\r\n \r\n );\r\n } \r\n else if (rolesError) {\r\n return (\r\n \r\n );\r\n } else if (rolesResponse) {\r\n return (\r\n rolesResponse.map((item,index)=>(\r\n \r\n \r\n \r\n ))\r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n Role\r\n \r\n \r\n \r\n \r\n \r\n Název role\r\n {showRoles()}\r\n \r\n \r\n Hodnotitel\r\n {showAssignedRoles()}\r\n \r\n \r\n \r\n {\r\n Array.isArray(termsResponse) && Array.isArray(rolesResponse)\r\n ?\r\n termsResponse.map((term, termIndex) => (\r\n \r\n {term.name}
\r\n {rolesResponse.map((role, roleIndex) => (\r\n \r\n { history.push(\"/works/\" + workData.id + \"/evaluation/\" + role.id + \"/\" + term.id) }}>\r\n {(profile[EVALUATOR_ROLE] === \"1\" || profile[MANAGER_ROLE] === \"1\" || profile[ADMIN_ROLE] === \"1\")\r\n ?\r\n \r\n :\r\n null\r\n }\r\n {!role.finalized && role.workRoleUsers.map((item) => (item.userId)).includes(profile.sub) && (workData.state === 1 || workData.state === 3) ? { history.push(\"/works/\" + workData.id + \"/evaluation/\" + role.id + \"/\" + term.id)} } /> : null}\r\n \r\n \r\n ))}\r\n
\r\n ))\r\n :\r\n null\r\n }\r\n
\r\n \r\n \r\n Stav hodnocení\r\n {Array.isArray(rolesResponse) ? rolesResponse.map((role, roleIndex) => (\r\n \r\n {role.finalized\r\n ?\r\n \"Uzavřené\"\r\n :\r\n \"Otevřené\"\r\n }\r\n \r\n )) : null}\r\n \r\n {\r\n (profile) && (\r\n (\r\n profile[ADMIN_ROLE] === \"1\"\r\n || profile[MANAGER_ROLE] === \"1\"\r\n || profile[EVALUATOR_ROLE] === \"1\"\r\n )\r\n )\r\n ?\r\n <>\r\n \r\n Známka\r\n {Array.isArray(rolesResponse) ? rolesResponse.map((role, roleIndex) => (\r\n \r\n {role.finalized\r\n ?\r\n role.markText\r\n :\r\n \"?\"\r\n }\r\n \r\n )) : null}\r\n \r\n \r\n Akce\r\n {Array.isArray(rolesResponse) ? rolesResponse.map((role, roleIndex) => (\r\n \r\n \r\n {role.workRoleUsers.map((item) => (item.userId)).includes(profile.sub) && (workData.state === 3)\r\n ?\r\n role.finalized ? : \r\n :\r\n null\r\n }\r\n \r\n \r\n \r\n )) : null}\r\n \r\n \r\n :\r\n null\r\n }\r\n \r\n
\r\n {(profile) && (profile[ADMIN_ROLE] === \"1\" || profile[MANAGER_ROLE] === \"1\")\r\n ?\r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n
\r\n {\r\n (profile) && (\r\n (\r\n profile[ADMIN_ROLE] === \"1\" \r\n || profile[MANAGER_ROLE] === \"1\" \r\n || (profile.sub === workData.authorId)\r\n || (profile.sub === workData.managerId)\r\n || (profile.sub === workData.userId) \r\n )\r\n )\r\n ?\r\n \r\n Přihlášky a hodnocení\r\n {\r\n workData.state === 0\r\n ?\r\n \r\n :\r\n \r\n \r\n \r\n }\r\n {\r\n workData.state < 4\r\n ?\r\n \r\n :\r\n \r\n \r\n {(profile) && (profile[ADMIN_ROLE] === \"1\" || profile[MANAGER_ROLE] === \"1\")\r\n ?\r\n \r\n :\r\n null\r\n }\r\n \r\n }\r\n \r\n :\r\n \"\"\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default Roles;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport { Alert, ButtonBlock, Button, Label, Form, Input, FormSelect, Subheading, CardBody, CardHeader } from \"../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport axios from 'axios';\r\nimport { SHOW_ROLES, INVITE_ROLES } from \"./Detail\";\r\nimport requireAuth from \"../Auth/requireAuth\";\r\n\r\nexport const AddRole = ({editedRole, setEditedRole, switchMode, work, fetchData, ...rest}) => {\r\n const [{accessToken}, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [filter, setFilter] = useState(\"\");\r\n const [evaluators, setEvaluators] = useState([]);\r\n const [ok, setOk] = useState(false);\r\n const handleFilterChange = e => {\r\n setFilter(e.target.value);\r\n console.log(e.target.value);\r\n }\r\n const fetchEvaluatorsData = useCallback((filter) => {\r\n let query = \"/users?evaluator=true\";\r\n axios.get(process.env.REACT_APP_API_URL + query + (filter !== \"\" ? (\"&search=\" + filter) : \"\"), {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setEvaluators(response.data.data);\r\n })\r\n .catch(error => {\r\n setEvaluators([]);\r\n })\r\n }, [accessToken, filter]);\r\n useEffect(()=>{ \r\n setFailed(false); \r\n setOk(false);\r\n }, [dispatch]);\r\n useEffect(() => {\r\n fetchEvaluatorsData(filter);\r\n },[filter])\r\n return (\r\n <>\r\n \r\n Přidání hodnotitele \r\n \r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.userId) errors.userId = \"Vyberte hodnotitele\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n axios.post(process.env.REACT_APP_API_URL + \"/works/\" + work + \"/roles/\" + editedRole + \"/users\", {\r\n Id: values.userId\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setOk(true);\r\n setFailed(false);\r\n fetchData();\r\n dispatch({type: ADD_MESSAGE, text: \"Byl přidán nový hodnotitel.\", variant: \"success\", dismissible: true, expiration: 3});\r\n switchMode(SHOW_ROLES);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setFailed(error.response.status);\r\n }\r\n else\r\n {\r\n setFailed(\"Neznámá chyba\");\r\n }\r\n setOk(false);\r\n })\r\n .then(()=>{\r\n setSubmitting(false); \r\n });\r\n }}\r\n >\r\n {({isSubmitting, errors, touched, values, setFieldValue, handleBlur, dirty, isValid}) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n {Array.isArray(evaluators) ? evaluators.map((item,index) => ()) : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n )\r\n};\r\n\r\nexport default requireAuth(AddRole);","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Alert, ButtonBlock, Button, Label, Form, FormTextInput, FormSelect, Subheading, CardBody, CardHeader, FormRadioGroup } from \"../general\";\r\nimport { SHOW_ROLES, INVITE_PROCESSING } from \"./Detail\";\r\nimport { useAppContext, ADD_MESSAGE } from \"../../providers/ApplicationProvider\";\r\nimport { Genders } from \"../../configuration/constants\";\r\n\r\nexport const InviteRole = ({ editedRole, setEditedRole, switchMode, evaluators, work, fetchData, inviteFormData, setInviteFormData, ...rest }) => {\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n const [failed, setFailed] = useState(false);\r\n const [ok, setOk] = useState(false);\r\n useEffect(() => {\r\n setFailed(false);\r\n setOk(false);\r\n }, [dispatch]);\r\n\r\n return (\r\n <>\r\n \r\n Vytvoření a přizvání nového hodnotitele\r\n \r\n \r\n {\r\n let errors = {};\r\n if (!values.firstname) errors.firstname = \"Vyplňte jméno uživatele\";\r\n if (!values.lastname) errors.lastname = \"Vyplňte příjmení uživatele\";\r\n if (values.gender === null) errors.gender = \"Vyplňte pohlaví uživatele\";\r\n if (!values.email) errors.email = \"Vyplňte email uživatele\";\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setInviteFormData(values);\r\n switchMode(INVITE_PROCESSING);\r\n }}\r\n >\r\n {({ isSubmitting, errors, touched, values, setFieldValue, dirty, isValid }) => (\r\n
\r\n {(failed !== false) ? : \"\"}\r\n {(ok !== false) ? : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default InviteRole;","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { Alert, ButtonBlock, Button, Subheading, CardBody, CardHeader, Loader } from \"../general\";\r\nimport { SHOW_ROLES, INVITE_ROLE } from \"./Detail\";\r\nimport { useAppContext } from \"../../providers/ApplicationProvider\";\r\nimport axios from 'axios';\r\n\r\nexport const InviteRoleProcessing = ({ editedRole, setEditedRole, switchMode, evaluators, work, fetchData, inviteFormData, setInviteFormData, ...rest }) => {\r\n const [{ accessToken, profile }, dispatch] = useAppContext();\r\n const [remoteFailed, setRemoteFailed] = useState(false);\r\n const [remoteOk, setRemoteOk] = useState(false);\r\n const [remoteSubmitting, setRemoteSubmitting] = useState(false);\r\n const [localFailed, setLocalFailed] = useState(false);\r\n const [localOk, setLocalOk] = useState(false);\r\n const [localSubmitting, setLocalSubmitting] = useState(false);\r\n const [assignFailed, setAssignFailed] = useState(false);\r\n const [assignOk, setAssignOk] = useState(false);\r\n const [assignSubmitting, setAssignSubmitting] = useState(false);\r\n const [createdUserId, setCreatedUserId] = useState(null);\r\n const createRemoteUser = (input, profile) => {\r\n setRemoteSubmitting(true);\r\n setRemoteOk(false);\r\n setRemoteFailed(false);\r\n axios.post(process.env.REACT_APP_AUTH_URL + \"/api/users/invite\", {\r\n FirstName: input.firstname,\r\n MiddleName: input.middlename,\r\n LastName: input.lastname,\r\n Gender: Number(input.gender),\r\n Email: input.email,\r\n Password: input.password,\r\n InviterId: profile.sub,\r\n Role: \"Externista\"\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setRemoteOk(true);\r\n setCreatedUserId(response.data.id);\r\n })\r\n .catch(error => {\r\n setRemoteFailed(true);\r\n })\r\n .then(() => {\r\n setRemoteSubmitting(false);\r\n })\r\n };\r\n const createLocalUser = (userData, userId) => {\r\n setLocalSubmitting(true);\r\n setLocalOk(false);\r\n setLocalFailed(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/users/\" + userId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setLocalOk(true);\r\n })\r\n .catch(error => {\r\n if (error.response && error.response.status === 404) {\r\n axios.post(process.env.REACT_APP_API_URL + \"/users\", {\r\n Id: userId,\r\n FirstName: userData.firstname,\r\n LastName: userData.lastname,\r\n Gender: Number(userData.gender),\r\n Email: userData.email,\r\n CanBeAuthor: false,\r\n CanBeEvaluator: true\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setLocalOk(true);\r\n })\r\n .catch(error => {\r\n setLocalFailed(true);\r\n })\r\n }\r\n else {\r\n setLocalFailed(true);\r\n }\r\n })\r\n .then(() => {\r\n setLocalSubmitting(false);\r\n })\r\n };\r\n const assignUserToRole = (workId, roleId, userId) => {\r\n setAssignSubmitting(true);\r\n setAssignOk(false);\r\n setAssignFailed(false);\r\n axios.post(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/roles/\" + roleId + \"/users\", {\r\n Id: userId\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setAssignOk(true);\r\n })\r\n .catch(error => {\r\n setAssignFailed(true);\r\n })\r\n .then(() => {\r\n setAssignSubmitting(false);\r\n })\r\n };\r\n useEffect(() => {\r\n setRemoteFailed(false);\r\n setRemoteOk(false);\r\n setRemoteSubmitting(false);\r\n createRemoteUser(inviteFormData, profile);\r\n }, []);\r\n useEffect(() => {\r\n if (createdUserId) {\r\n createLocalUser(inviteFormData, createdUserId);\r\n }\r\n }, [createdUserId, inviteFormData]);\r\n useEffect(() => {\r\n if (localOk === true) {\r\n assignUserToRole(work, editedRole, createdUserId);\r\n }\r\n }, [localOk, work, editedRole, createdUserId]);\r\n return (\r\n <>\r\n \r\n Výsledek vytvoření hodnotitele\r\n \r\n \r\n
\r\n                {JSON.stringify(inviteFormData,\" \",4)}\r\n            
\r\n

Vytvoření vzdáleného účtu uživatele

\r\n {\r\n remoteSubmitting\r\n ?\r\n \r\n :\r\n remoteOk\r\n ?\r\n \r\n :\r\n remoteFailed\r\n ?\r\n \r\n :\r\n \r\n }\r\n
{ createdUserId }
\r\n

Lokální záznam hodnotitele

\r\n {\r\n localSubmitting\r\n ?\r\n \r\n :\r\n localOk\r\n ?\r\n \r\n :\r\n localFailed\r\n ?\r\n \r\n :\r\n

...

\r\n }\r\n

Přiřazení hodnotitele práci

\r\n {\r\n assignSubmitting\r\n ?\r\n \r\n :\r\n assignOk\r\n ?\r\n \r\n :\r\n assignFailed\r\n ?\r\n \r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default InviteRoleProcessing;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport {Button, CardBody, Paragraph, ButtonBlock, Loader, Alert } from \"../general\";\r\nimport {useAppContext, ADD_MESSAGE} from \"../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\nimport { WorkStates, ADMIN_ROLE, MANAGER_ROLE, EVALUATOR_ROLE } from \"../../configuration/constants\";\r\n\r\nconst State = ({id, fetchData, data}) => {\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [response, setResponse] = useState(null);\r\n const [responseAll, setResponseAll] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const fetchNextStates = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/nextstates\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n }, [accessToken, id]);\r\n const fetchAllStates = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/allstates\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setResponseAll(response.data);\r\n })\r\n .catch(error => {\r\n setResponseAll([]);\r\n });\r\n }, [accessToken]);\r\n useEffect(()=>{\r\n fetchNextStates();\r\n fetchAllStates();\r\n },[fetchNextStates, fetchAllStates]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n \r\n Stav práce je: {WorkStates[data.state]}.\r\n {profile[ADMIN_ROLE] === \"1\" || profile[EVALUATOR_ROLE] === \"1\" || (profile[MANAGER_ROLE] === \"1\")\r\n ?\r\n Array.isArray(response) && response.length === 0\r\n ?\r\n Stav práce již nelze změnit.\r\n :\r\n <>\r\n Další možné stavy jsou:\r\n \r\n {response.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n :\r\n \"\"\r\n }\r\n {(profile[ADMIN_ROLE] === \"1\" || profile[MANAGER_ROLE] === \"1\") && Array.isArray(responseAll)\r\n ?\r\n <>\r\n Administrátor může změnit stav také na:\r\n \r\n {responseAll.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n :\r\n null\r\n }\r\n \r\n );\r\n } else {\r\n return ;\r\n }; \r\n}\r\n\r\nexport default State;","import React, {useState, useEffect, useCallback} from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { CardContainer, Card, ActionLink, CardHeader, Subheading, Loader, Alert, PageTitle } from \"../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\nimport { ADMIN_ROLE, MANAGER_ROLE, EVALUATOR_ROLE } from \"../../configuration/constants\";\r\nimport Edit from \"./Edit\";\r\nimport Display from \"./Display\";\r\nimport Goals from \"./Goals\";\r\nimport Outlines from \"./Outlines\";\r\nimport Costs from \"./Costs\";\r\nimport EditCosts from \"./EditCosts\";\r\nimport Roles from \"./Roles\";\r\nimport AddRole from \"./AddRole\";\r\nimport InviteRole from \"./InviteRole\";\r\nimport InviteRoleProcessing from \"./InviteRoleProcessing\";\r\nimport State from \"./State\";\r\n\r\nexport const SHOW_ROLES = 0;\r\nexport const ASSIGN_ROLES = 1;\r\nexport const INVITE_ROLES = 2;\r\nexport const INVITE_PROCESSING = 3;\r\n\r\nexport const Detail = props => {\r\n const { id } = useParams();\r\n const [{accessToken, profile}, dispatch] = useAppContext();\r\n const [editing, setEditing] = useState(false);\r\n const [rolesMode, setRolesMode] = useState(SHOW_ROLES);\r\n const [editedRole, setEditedRole] = useState(null);\r\n const [editingCosts, setEditingCosts] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [evaluators, setEvaluators] = useState([]);\r\n const [isEditable, setIsEditable] = useState(false);\r\n const [isRolesEditable, setIsRolesEditable] = useState(false);\r\n const [inviteFormData, setInviteFormData] = useState(null);\r\n const showRoles = () => {\r\n switch (rolesMode)\r\n {\r\n case SHOW_ROLES: return ;\r\n case ASSIGN_ROLES: return ;\r\n case INVITE_ROLES: return ;\r\n case INVITE_PROCESSING: return ;\r\n }\r\n }\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id,{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({status: error.response.status, text: error.response.statusText});\r\n }\r\n else\r\n {\r\n setError({status: 0, text: \"Neznámá chyba\"});\r\n } \r\n setResponse([]);\r\n });\r\n setIsLoading(false);\r\n },[accessToken, id]);\r\n const fetchEvaluatorsData = useCallback(() => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/users?evaluator=true\",{\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n } \r\n })\r\n .then(response => {\r\n setEvaluators(response.data.data);\r\n })\r\n .catch(error => {\r\n setEvaluators([]);\r\n })\r\n },[accessToken]);\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: response ? (\"Práce: \" + response.name) : \"Detail práce\"});},[dispatch, response]);\r\n useEffect(()=>{\r\n fetchData();\r\n fetchEvaluatorsData();\r\n }, [fetchEvaluatorsData, fetchData]);\r\n useEffect(()=>{ \r\n setIsEditable(\r\n (profile !== null) && (response !== null) && (\r\n (\r\n profile[ADMIN_ROLE] === \"1\" \r\n || (response && profile.sub === response.userId && response.state === 0)\r\n || (response && profile.sub === response.managerId && response.state === 0)\r\n )\r\n &&\r\n response.state < 4\r\n )\r\n );\r\n setIsRolesEditable(\r\n (profile !== null) && (response !== null) && (\r\n (\r\n profile[ADMIN_ROLE] === \"1\"\r\n || (response && profile.sub === response.userId && response.state === 0)\r\n || (response && profile.sub === response.managerId && response.state <= 1)\r\n )\r\n &&\r\n //response.state < 4\r\n ([0, 1, 3].includes(response.state))\r\n )\r\n );\r\n },[accessToken, profile, response]);\r\n if (isLoading) {\r\n return ;\r\n } else if (error !== false) {\r\n switch (error.status)\r\n {\r\n case 400: return ;\r\n case 404: return ;\r\n default: return ;\r\n } \r\n } else if (response) {\r\n return (\r\n <>\r\n Seznam\r\n {response.name}\r\n \r\n \r\n {editing ? : }\r\n \r\n \r\n {showRoles()}\r\n \r\n \r\n Cíle\r\n \r\n \r\n \r\n Osnova\r\n \r\n \r\n {(profile[EVALUATOR_ROLE] === \"1\" || profile[ADMIN_ROLE] === \"1\" || profile[MANAGER_ROLE] === \"1\")\r\n ? \r\n \r\n Stav práce\r\n \r\n \r\n : \r\n \"\"\r\n } \r\n \r\n {editingCosts ? : }\r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }; \r\n};\r\n\r\nexport default Detail;","import React from 'react';\r\nimport { ADMIN_ROLE, MANAGER_ROLE } from \"../../configuration/constants\";\r\nimport { useAppContext } from \"../../providers/ApplicationProvider\";\r\nimport AccessDenied from \"../messages/AccessDenied\";\r\nimport Unauthorized from \"../messages/Unauthorized\";\r\n\r\nconst requireManager = (WrappedComponent) => (props) => {\r\n const [{ accessToken, profile }] = useAppContext();\r\n if (accessToken === null) {\r\n return ;\r\n } else if (profile[ADMIN_ROLE] !== \"1\" && profile[MANAGER_ROLE] !== \"1\") {\r\n return ;\r\n } else {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default requireManager;","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useAppContext } from \"../../providers/ApplicationProvider\";\r\nimport { Loader, Alert, CardTypeValueList, CardTypeValueItem } from \"../general\";\r\nimport axios from \"axios\";\r\nimport styled from 'styled-components';\r\n\r\nconst QuestionWrapper = styled.dl`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0;\r\n`;\r\n\r\nconst QuestionsWrapper = styled.dl`\r\n display: block;\r\n padding: 5px;\r\n border: 1px solid #cccccc;\r\n`;\r\n\r\nconst QuestionText = styled.dt`\r\nmargin: .1em;\r\nfont-weight: bold;\r\n`;\r\n\r\nconst Answer = styled.dd`\r\nmargin: .1em;\r\nfont-style: ${props => props.notSet ? \"italic\" : \"normal\"};\r\ncolor: ${props => props.critical ? props.theme.colors.errorBackground : props.termCritical ? props.theme.colors.warningBackground : \"inherit\"};\r\n`;\r\n\r\nconst OverviewQuestion = ({ role, term, work, question }) => {\r\n const [{ accessToken }] = useAppContext();\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const fetchEvaluation = useCallback((workId, qId) => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/questions/\" + qId + \"/evaluation\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n if (error.response.status !== 404) {\r\n setError({ status: error.response.status, text: error.response.statusText });\r\n } \r\n }\r\n else {\r\n setError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setResponse(null);\r\n })\r\n .then(() => {\r\n setIsLoading(false);\r\n });\r\n }, [accessToken]);\r\n useEffect(() => { fetchEvaluation(work.id, question.id) }, [fetchEvaluation, work, question]);\r\n\r\n if (isLoading)\r\n return \r\n else if (error)\r\n return \r\n else if (response) {\r\n return (\r\n \r\n {question.text}\r\n {response.setAnswer.text}\r\n \r\n );\r\n }\r\n else\r\n return (\r\n \r\n {question.text}\r\n Nezodpovězeno\r\n \r\n );\r\n}\r\n\r\nconst OverviewQuestions = ({ work, term, role }) => {\r\n const [{ accessToken }] = useAppContext();\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [responseSummary, setResponseSummary] = useState(null);\r\n const [isLoadingSummary, setIsLoadingSummary] = useState(false);\r\n const [errorSummary, setErrorSummary] = useState(false);\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/questions/\" + role.setRole.id + \"/\" + term.id, { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setResponse([]);\r\n })\r\n .then(() => {\r\n setIsLoading(false);\r\n })\r\n }, [accessToken, work, term, role]);\r\n const fetchSummary = useCallback((wid,rid,tid) => {\r\n setIsLoadingSummary(true);\r\n setErrorSummary(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + wid + \"/statsForRoleTerm/\" + rid + \"/\" + tid, { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setResponseSummary(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setErrorSummary({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setErrorSummary({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setResponseSummary([]);\r\n })\r\n .then(() => {\r\n setIsLoadingSummary(false);\r\n })\r\n }, [accessToken]);\r\n useEffect(() => {\r\n fetchData();\r\n fetchSummary(work.id, role.setRole.id, term.id);\r\n }, [fetchData, fetchSummary, work, role, term]);\r\n if (isLoading || isLoadingSummary)\r\n return \r\n else if (error || errorSummary)\r\n return \r\n else if (response && responseSummary && Array.isArray(response)) {\r\n if (response.length > 0) {\r\n return (\r\n <>\r\n \r\n {response.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n 0 ? Math.round(responseSummary.gainedPoints / responseSummary.filledPoints * 100) + \"%\" : \"0%\"} />\r\n \r\n \r\n \r\n );\r\n }\r\n else {\r\n return (Žádné otázky);\r\n }\r\n }\r\n else\r\n return \r\n}\r\n\r\nexport default OverviewQuestions;","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useAppContext } from \"../../providers/ApplicationProvider\";\r\nimport { Alert, CardTypeValueList, CardTypeValueItem, Loader } from \"../general\";\r\nimport axios from \"axios\";\r\n\r\nconst OverviewRoleStats = ({ role, work }) => {\r\n const [{ accessToken}] = useAppContext();\r\n const [statsData, setStatsData] = useState(null);\r\n const [isStatsLoading, setIsStatsLoading] = useState(false);\r\n const [statsError, setStatsError] = useState(false);\r\n\r\n const fetchStatsData = useCallback((workId, roleId) => {\r\n setIsStatsLoading(true);\r\n setStatsError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/statsForRole/\" + roleId, { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setStatsData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response) {\r\n setStatsError({ text: err.response.statusText, status: err.response.status });\r\n }\r\n else {\r\n setStatsError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n setStatsData(null);\r\n })\r\n .then(() => {\r\n setIsStatsLoading(false);\r\n });\r\n }, [accessToken]);\r\n\r\n useEffect(() => {\r\n if (work && role)\r\n fetchStatsData(work.id, role.setRoleId);\r\n }, [work, role, fetchStatsData]);\r\n\r\n if (isStatsLoading) {\r\n return ;\r\n }\r\n else if (statsError) {\r\n return ;\r\n }\r\n else if (statsData) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n else {\r\n return ;\r\n }\r\n}\r\n\r\nexport default OverviewRoleStats;","import React, { useState, useEffect, useCallback, useMemo } from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useAppContext, SET_TITLE } from \"../../providers/ApplicationProvider\";\r\nimport { ActionLink, Alert, Card, CardHeader, CardBody, CardTypeValueList, CardTypeValueItem, Heading, Loader, TableWrapper, Table, TableRow, TableHeader, TableBody, HeadCell, DataCell, TableFooter } from \"../general\";\r\nimport LoadedUser from \"../common/LoadedUser\";\r\nimport DateTime from \"../common/DateTime\";\r\nimport styled from 'styled-components';\r\nimport axios from \"axios\";\r\nimport requireManager from \"../Auth/requireManager\";\r\nimport OverviewQuestions from \"./OverviewQuestions\";\r\nimport OverviewRoleStats from \"./OverviewRoleStats\";\r\n\r\nconst StyledUsersInRole = styled.nav`\r\ndisplay: flex;\r\nflex-direction: column;\r\n`;\r\n\r\nconst TermDate = styled.span`\r\nfont-weight: 100;\r\nfont-size: small;\r\n`;\r\n\r\n\r\nconst UsersInRole = ({ role }) => {\r\n return (\r\n \r\n {Array.isArray(role.workRoleUsers)\r\n ?\r\n role.workRoleUsers.map((item, index) => (\r\n \r\n ))\r\n :\r\n \"\"\r\n }\r\n \r\n );\r\n}\r\n\r\nconst StudentQuestions = ({ id, roleId }) => {\r\n const [{ accessToken }] = useAppContext();\r\n const [questionsData, setQuestionsData] = useState(null);\r\n const [isQuestionsLoading, setIsQuestionsLoading] = useState(false);\r\n const [questionsError, setQuestionsError] = useState(false);\r\n const fetchQuestionsData = useCallback((id, roleId) => {\r\n setIsQuestionsLoading(true);\r\n setQuestionsError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/roles/\" + roleId + \"/reviewQuestions\", { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setQuestionsData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response) {\r\n setQuestionsError({ text: err.response.statusText, status: err.response.status });\r\n }\r\n else {\r\n setQuestionsError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n setQuestionsData(null);\r\n })\r\n .then(() => {\r\n setIsQuestionsLoading(false);\r\n });\r\n }, [accessToken]);\r\n useEffect(() => {\r\n fetchQuestionsData(id, roleId);\r\n }, [roleId, fetchQuestionsData, id]);\r\n if (isQuestionsLoading) {\r\n return \r\n }\r\n else if (questionsError) {\r\n return \r\n }\r\n else if (questionsData) {\r\n return (\r\n (Array.isArray(questionsData) && questionsData.length > 0)\r\n ?\r\n
    \r\n {questionsData.map((item, index) => (
  1. {item.text}
  2. ))}\r\n
\r\n :\r\n

Źádné otázky nejsou.

\r\n );\r\n }\r\n else {\r\n return \r\n }\r\n}\r\n\r\nconst Summary = props => {\r\n const { id } = useParams();\r\n const { role } = useParams();\r\n const [{ accessToken, profile }, dispatch] = useAppContext();\r\n const [isWorkLoading, setIsWorkLoading] = useState(false);\r\n const [workError, setWorkError] = useState(false);\r\n const [workData, setWorkData] = useState(null);\r\n const [rolesResponse, setRolesResponse] = useState(null);\r\n const [isRolesLoading, setIsRolesLoading] = useState(false);\r\n const [rolesError, setRolesError] = useState(false);\r\n const [termsResponse, setTermsResponse] = useState(null);\r\n const [isTermsLoading, setIsTermsLoading] = useState(false);\r\n const [termsError, setTermsError] = useState(false);\r\n\r\n const fetchWorkData = useCallback(id => {\r\n setIsWorkLoading(true);\r\n setWorkError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id, { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setWorkData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response) {\r\n setWorkError({ text: err.response.statusText, status: err.response.status });\r\n }\r\n else {\r\n setWorkError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n setWorkData(null);\r\n })\r\n .then(() => {\r\n setIsWorkLoading(false);\r\n });\r\n }, [accessToken]);\r\n const fetchRolesData = useCallback((workId) => {\r\n setIsRolesLoading(true);\r\n setRolesError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/roles\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setRolesResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setRolesError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setRolesError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setRolesResponse([]);\r\n })\r\n .then(() => {\r\n setIsRolesLoading(false);\r\n })\r\n }, [accessToken]);\r\n const fetchTermsData = useCallback((setId) => {\r\n setIsTermsLoading(true);\r\n setTermsError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + workData.setId + \"/terms\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setTermsResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setTermsError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setTermsError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setTermsResponse([]);\r\n });\r\n setIsTermsLoading(false);\r\n }, [accessToken, workData]);\r\n useEffect(() => {\r\n fetchWorkData(id);\r\n dispatch({ type: SET_TITLE, payload: \"Souhrn hodnocení práce\" });\r\n }, [id, dispatch, fetchWorkData]);\r\n useEffect(() => {\r\n if (workData) {\r\n fetchTermsData(workData.setId);\r\n fetchRolesData(workData.id);\r\n }\r\n }, [role, workData, fetchRolesData, fetchTermsData, id]);\r\n\r\n const showRoles = () => {\r\n if (isRolesLoading || isTermsLoading) {\r\n return (\r\n \r\n );\r\n }\r\n else if (rolesError || termsError) {\r\n return (\r\n \r\n );\r\n } else if (rolesResponse && termsResponse) {\r\n return (\r\n rolesResponse.map((item, index) => (\r\n {item.setRole.name}\r\n ))\r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n const showAssignedRoles = () => {\r\n if (isRolesLoading) {\r\n return (\r\n \r\n );\r\n }\r\n else if (rolesError) {\r\n return (\r\n \r\n );\r\n } else if (rolesResponse) {\r\n return (\r\n rolesResponse.map((item, index) => (\r\n \r\n \r\n \r\n ))\r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n Tato práce\r\n {(isWorkLoading)\r\n ?\r\n \r\n :\r\n (workError)\r\n ?\r\n <>\r\n {workError ? : \"\"}\r\n \r\n :\r\n (workData)\r\n ?\r\n <>\r\n \r\n \r\n Hodnocení práce\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n \r\n Porovnání stavu hodnocení práce\r\n \r\n \r\n \r\n \r\n \r\n \r\n Název role\r\n {showRoles()}\r\n \r\n \r\n Hodnotitel\r\n {showAssignedRoles()}\r\n \r\n \r\n \r\n {\r\n Array.isArray(termsResponse) && Array.isArray(rolesResponse)\r\n ?\r\n termsResponse.map((term, termIndex) => (\r\n \r\n {term.name}
\r\n {rolesResponse.map((role, roleIndex) => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n ))\r\n :\r\n null\r\n }\r\n
\r\n \r\n {\r\n Array.isArray(rolesResponse)\r\n ?\r\n <>\r\n \r\n Celá role\r\n Uzavřené\r\n {rolesResponse.map((role, roleIndex) => (\r\n \r\n {role.finalized ? \"Ano\" : \"Ne\"} \r\n \r\n ))}\r\n \r\n \r\n Známka\r\n {rolesResponse.map((role, roleIndex) => (\r\n \r\n {role.markText ? role.markText : Žádná známka}\r\n \r\n ))}\r\n \r\n \r\n Statistiky\r\n {rolesResponse.map((role, roleIndex) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Text posudku\r\n {rolesResponse.map((role, roleIndex) => (\r\n \r\n {role.review ? : Žádný text}\r\n \r\n ))}\r\n \r\n \r\n Otázky pro studenta\r\n {rolesResponse.map((role, roleIndex) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n :\r\n null\r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n :\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default requireManager(Summary);","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useAppContext, ADD_MESSAGE } from \"../../../providers/ApplicationProvider\";\r\nimport { Alert, Card, CardHeader, CardBody, Paragraph, Subheading, Loader, ButtonBlock, Button } from \"../../general\";\r\nimport axios from \"axios\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport OverviewRoleStats from \"../OverviewRoleStats\";\r\n\r\nconst Mark = ({ work, role, storeTextAction }) => {\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n const [setData, setSetData] = useState(null);\r\n const [isSetLoading, setSetIsLoading] = useState(false);\r\n const [setError, setSetError] = useState(false);\r\n const [scalesData, setScalesData] = useState(null);\r\n const [isScalesLoading, setScalesIsLoading] = useState(false);\r\n const [scalesError, setScalesError] = useState(false);\r\n const [isSaving, setIsSaving] = useState(false);\r\n let history = useHistory();\r\n const fetchSetData = useCallback((setId) => {\r\n setSetIsLoading(true);\r\n setSetError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + setId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setSetData(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setSetError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setSetError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setSetData(null);\r\n });\r\n setSetIsLoading(false);\r\n },[accessToken]);\r\n const fetchScalesData = useCallback((scaleId) => {\r\n setScalesIsLoading(true);\r\n setScalesError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/scales/\" + scaleId + \"/values\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setScalesData(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setScalesError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setScalesError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setScalesData(null);\r\n });\r\n setScalesIsLoading(false);\r\n }, [accessToken]);\r\n const storeMark = useCallback((workId, workRoleId, text, value, finalized) => {\r\n setIsSaving(true);\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/roles/\" + workRoleId + \"/mark\", {\r\n WorkId: Number(workId),\r\n WorkRoleId: Number(workRoleId),\r\n MarkText: text,\r\n MarkValue: Number(value),\r\n Finalized: finalized\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Známka byla uložena.\", variant: \"success\", dismissible: true, expiration: 3 });\r\n history.push(\"/works/\" + workId);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n dispatch({ type: ADD_MESSAGE, text: \"Uložení známky se nepodařilo. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3 });\r\n }\r\n else {\r\n dispatch({ type: ADD_MESSAGE, text: \"Uložení známky se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3 });\r\n }\r\n })\r\n .then(() => {\r\n setIsSaving(false);\r\n });\r\n }, [accessToken, dispatch, history]);\r\n useEffect(() => {\r\n fetchSetData(work.setId);\r\n }, [fetchSetData, work.setId]);\r\n useEffect(() => {\r\n if (setData != null) {\r\n fetchScalesData(setData.scaleId);\r\n } \r\n }, [fetchScalesData, setData]);\r\n return (\r\n \r\n \r\n Výsledná známka\r\n \r\n \r\n {isSetLoading || isScalesLoading\r\n ?\r\n \r\n :\r\n setError || scalesError\r\n ?\r\n \r\n :\r\n scalesData !== null\r\n ?\r\n <>\r\n \r\n Volbou známky dojde k uzavření hodnocení práce v této roli.\r\n \r\n {scalesData.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n :\r\n \r\n }\r\n \r\n \r\n );\r\n}\r\n\r\nexport default Mark;","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { Card, CardHeader, CardBody, Subheading, Loader } from \"../../general\";\r\nimport { EditableItemsList } from \"../../common\";\r\nimport { useAppContext, ADD_MESSAGE } from \"../../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\n\r\nconst Questions = ({ work, role}) => {\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n const [list, setList] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const fetchQuestions = useCallback(() => {\r\n setIsLoading(true);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/roles/\" + role.id + \"/reviewQuestions\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setList(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n dispatch({ type: ADD_MESSAGE, text: \"Během získávání otázek došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3 });\r\n }\r\n else {\r\n dispatch({ type: ADD_MESSAGE, text: \"Během získávání otázek došlo k chybě.\", variant: \"error\", dismissible: true, expiration: 3 });\r\n };\r\n setList([]);\r\n });\r\n setIsLoading(false);\r\n }, [accessToken, work.id, role.id, dispatch]);\r\n const addQuestion = useCallback((item) => {\r\n axios.post(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/roles/\" + role.id + \"/reviewQuestions\", { text: item }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Otázka byla přidána\", variant: \"success\", dismissible: true, expiration: 3 });\r\n setList([]);\r\n fetchQuestions();\r\n })\r\n .catch(error => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Během přidávání otázky došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3 });\r\n });\r\n }, [work.id, role.id, accessToken, dispatch, fetchQuestions]);\r\n const updateQuestion = useCallback((id, item) => {\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/roles/\" + role.id + \"/reviewQuestions/\" + id,\r\n {\r\n text: item\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Otázka byla aktualizována\", variant: \"success\", dismissible: true, expiration: 3 });\r\n setList([]);\r\n fetchQuestions();\r\n })\r\n .catch(error => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Během aktualizace otázky došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3 });\r\n });\r\n }, [work.id, role.id, accessToken, dispatch, fetchQuestions]);\r\n const removeQuestion = useCallback((id) => {\r\n axios.delete(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/roles/\" + role.id + \"/reviewQuestions/\" + id, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Otázka byla odstraněna\", variant: \"success\", dismissible: true, expiration: 3 });\r\n setList([]);\r\n fetchQuestions();\r\n })\r\n .catch(error => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Během odstraňování otázky došlo k chybě. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3 });\r\n });\r\n }, [work.id, role.id, accessToken, dispatch, fetchQuestions]);\r\n\r\n useEffect(() => { fetchQuestions(); }, [fetchQuestions]);\r\n if (isLoading) {\r\n return \r\n } else {\r\n return (\r\n \r\n \r\n Otázky\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Questions;","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useAppContext, SET_TITLE, ADD_MESSAGE } from \"../../../providers/ApplicationProvider\";\r\nimport {\r\n ActionLink, Alert, CardContainer, Card, CardHeader, CardBody,\r\n CardTypeValueList, CardTypeValueItem, Heading, Loader,\r\n Button, Form, FormGroup, Subheading, useInterval\r\n} from \"../../general\";\r\nimport LoadedUser from \"../../common/LoadedUser\";\r\nimport { Formik, ErrorMessage } from 'formik';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport Editor from '@ckeditor/ckeditor5-build-inline';\r\nimport axios from \"axios\";\r\nimport requireEvaluator from \"../../Auth/requireEvaluator\";\r\nimport Mark from \"./Mark\";\r\nimport Questions from \"./Questions\";\r\n\r\nconst Review = props => {\r\n const { id } = useParams();\r\n const { role } = useParams();\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n const [isWorkLoading, setIsWorkLoading] = useState(false);\r\n const [isSaving, setIsSaving] = useState(false);\r\n const [workError, setWorkError] = useState(false);\r\n const [workData, setWorkData] = useState(null);\r\n const [review, setReview] = useState(null);\r\n const [roleData, setRoleData] = useState(null);\r\n const [isRoleLoading, setIsRoleLoading] = useState(false);\r\n const [roleError, setRoleError] = useState(false);\r\n\r\n const fetchWorkData = useCallback(id => {\r\n setIsWorkLoading(true);\r\n setWorkError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id, { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setWorkData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response) {\r\n setWorkError({ text: err.response.statusText, status: err.response.status });\r\n }\r\n else {\r\n setWorkError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n setWorkData(null);\r\n })\r\n .then(() => {\r\n setIsWorkLoading(false);\r\n });\r\n }, [accessToken]);\r\n const fetchRoleData = useCallback((workId, roleId) => {\r\n setIsRoleLoading(true);\r\n setRoleError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/roles/\" + roleId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setRoleData(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setRoleError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setRoleError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setRoleData([]);\r\n })\r\n .then(() => {\r\n setIsRoleLoading(false);\r\n })\r\n }, [accessToken]);\r\n\r\n const storeTextReview = () => {\r\n setIsSaving(true);\r\n axios.put(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/roles/\" + role + \"/review\", {\r\n WorkId: Number(id),\r\n WorkRoleId: Number(role),\r\n Review: review\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Posudek byl uložen.\", variant: \"success\", dismissible: true, expiration: 3 });\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n dispatch({ type: ADD_MESSAGE, text: \"Uložení posudku se nepodařilo. (\" + error.response.status + \")\", variant: \"error\", dismissible: true, expiration: 3 });\r\n }\r\n else {\r\n dispatch({ type: ADD_MESSAGE, text: \"Uložení posudku se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3 });\r\n }\r\n })\r\n .then(() => {\r\n setIsSaving(false);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n fetchWorkData(id);\r\n dispatch({ type: SET_TITLE, payload: \"Posudek práce\" });\r\n }, [id, role, dispatch, fetchWorkData]);\r\n useEffect(() => {\r\n if (workData) {\r\n fetchRoleData(id, role);\r\n }\r\n }, [role, workData, fetchRoleData, id]);\r\n useEffect(() => {\r\n if (roleData)\r\n setReview(roleData.review);\r\n }, [roleData]);\r\n\r\n useInterval(() => { storeTextReview(); }, 3 * 60000);\r\n\r\n return (\r\n <>\r\n Tato práce\r\n \r\n {(isWorkLoading || isRoleLoading)\r\n ?\r\n \r\n \r\n \r\n :\r\n (workError || roleError)\r\n ?\r\n <>\r\n {workError ? : \"\"}\r\n {roleError ? : \"\"}\r\n \r\n :\r\n (workData && roleData)\r\n ?\r\n <>\r\n \r\n \r\n Závěrečné posouzení práce\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n ())} />\r\n \r\n \r\n \r\n {workData.state !== 1 && workData.state !== 3\r\n ?\r\n \r\n :\r\n null\r\n }\r\n {role.finalized\r\n ?\r\n \r\n :\r\n null\r\n }\r\n {!role.finalized && !(workData.state !== 1 && workData.state !== 3)\r\n ?\r\n <>\r\n \r\n \r\n Text posudku\r\n \r\n \r\n {\r\n let errors = {};\r\n return errors;\r\n }}\r\n onSubmit={async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n storeTextReview();\r\n setSubmitting(false);\r\n }}\r\n >\r\n {({ isSubmitting, errors, touched, values, setFieldValue, handleBlur, isValid, dirty }) => (\r\n
\r\n \r\n { }}\r\n onChange={(event, editor) => {\r\n const data = editor.getData();\r\n setReview(data);\r\n setFieldValue(\"review\", data, true);\r\n }}\r\n onBlur={(event, editor) => {\r\n }}\r\n onFocus={(event, editor) => {\r\n }}\r\n />\r\n {msg => }\r\n \r\n
\r\n \r\n {isSaving ? : null}\r\n
\r\n
\r\n )}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n :\r\n null\r\n }\r\n \r\n :\r\n \r\n }\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default requireEvaluator(Review);","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useAppContext, SET_TITLE } from \"../../providers/ApplicationProvider\";\r\nimport { ActionLink, Alert, Card, CardHeader, CardBody, CardTypeValueList, CardTypeValueItem, Heading, Subheading, Loader, CardFooter } from \"../general\";\r\nimport LoadedUser from \"../common/LoadedUser\";\r\nimport DateTime from \"../common/DateTime\";\r\nimport styled from 'styled-components';\r\nimport axios from \"axios\";\r\nimport requireEvaluator from \"../Auth/requireEvaluator\";\r\nimport OverviewQuestions from \"./OverviewQuestions\";\r\nimport OverviewRoleStats from \"./OverviewRoleStats\";\r\n\r\nconst StyledQuestionsLayout = styled.span`\r\n display: flex;\r\n flex-direction: column;\r\n max-width: 70em;\r\n`;\r\n\r\nconst Overview = props => {\r\n const { id } = useParams();\r\n const { role } = useParams();\r\n const [{ accessToken, profile }, dispatch] = useAppContext();\r\n const [isWorkLoading, setIsWorkLoading] = useState(false);\r\n const [workError, setWorkError] = useState(false);\r\n const [workData, setWorkData] = useState(null);\r\n const [roleData, setRoleData] = useState(null);\r\n const [isRoleLoading, setIsRoleLoading] = useState(false);\r\n const [roleError, setRoleError] = useState(false);\r\n const [termsData, setTermsData] = useState(null);\r\n const [isTermsLoading, setIsTermsLoading] = useState(false);\r\n const [termsError, setTermsError] = useState(false);\r\n const [questionsData, setQuestionsData] = useState(null);\r\n const [isQuestionsLoading, setIsQuestionsLoading] = useState(false);\r\n const [questionsError, setQuestionsError] = useState(false);\r\n\r\n\r\n const fetchWorkData = useCallback(id => {\r\n setIsWorkLoading(true);\r\n setWorkError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id, { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setWorkData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response) {\r\n setWorkError({ text: err.response.statusText, status: err.response.status });\r\n }\r\n else {\r\n setWorkError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n setWorkData(null);\r\n })\r\n .then(() => {\r\n setIsWorkLoading(false);\r\n });\r\n }, [accessToken]);\r\n\r\n const fetchRoleData = useCallback(roleId => {\r\n setIsRoleLoading(true);\r\n setRoleError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/roles/\" + roleId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setRoleData(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setRoleError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setRoleError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setRoleData([]);\r\n });\r\n setIsRoleLoading(false);\r\n }, [accessToken, id]);\r\n\r\n const fetchTermsData = useCallback(id => {\r\n setIsTermsLoading(true);\r\n setTermsError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + workData.setId + \"/terms\", { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setTermsData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response) {\r\n setTermsError({ text: err.response.statusText, status: err.response.status });\r\n }\r\n else {\r\n setTermsError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n setTermsData(null);\r\n })\r\n .then(() => {\r\n setIsTermsLoading(false);\r\n });\r\n }, [accessToken, workData]);\r\n\r\n const fetchQuestionsData = useCallback((id, roleId) => {\r\n setIsQuestionsLoading(true);\r\n setQuestionsError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/roles/\" + roleId + \"/reviewQuestions\", { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setQuestionsData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response) {\r\n setQuestionsError({ text: err.response.statusText, status: err.response.status });\r\n }\r\n else {\r\n setQuestionsError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n setQuestionsData(null);\r\n })\r\n .then(() => {\r\n setIsQuestionsLoading(false);\r\n });\r\n }, [accessToken]);\r\n\r\n useEffect(() => {\r\n fetchWorkData(id);\r\n dispatch({ type: SET_TITLE, payload: \"Otázky pro hodnocení práce\" });\r\n }, [id, role, dispatch, fetchWorkData]);\r\n useEffect(() => {\r\n if (workData) {\r\n fetchTermsData(id);\r\n fetchRoleData(role);\r\n }\r\n }, [role, workData, fetchRoleData, fetchTermsData, id]);\r\n useEffect(() => {\r\n if (roleData) {\r\n fetchQuestionsData(id, roleData.id);\r\n }\r\n }, [roleData, fetchQuestionsData, id]);\r\n\r\n return (\r\n <>\r\n Tato práce\r\n \r\n {(isWorkLoading || isRoleLoading)\r\n ?\r\n \r\n :\r\n (workError || roleError)\r\n ?\r\n <>\r\n {workError ? : \"\"}\r\n {roleError ? : \"\"}\r\n \r\n :\r\n (workData && roleData)\r\n ?\r\n <>\r\n \r\n \r\n Hodnocení práce\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n ())} />\r\n \r\n \r\n \r\n {role.finalized\r\n ?\r\n \r\n :\r\n null\r\n }\r\n {workData.state !== 1 && workData.state !== 3\r\n ?\r\n \r\n :\r\n null\r\n }\r\n \r\n :\r\n \r\n }\r\n {(isTermsLoading)\r\n ?\r\n \r\n :\r\n (termsError)\r\n ?\r\n <>\r\n {termsError ? : \"\"}\r\n \r\n :\r\n (termsData && roleData)\r\n ?\r\n termsData.map((item, index) => (\r\n \r\n \r\n { item.name }\r\n \r\n \r\n \r\n \r\n \r\n ))\r\n :\r\n \r\n }\r\n \r\n \r\n Shrnutí celé práce\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Posudek\r\n \r\n \r\n {\r\n roleData && roleData.review\r\n ?\r\n \r\n :\r\n

Text posudku je prázdný.

\r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Otázky pro studenta\r\n \r\n {(isQuestionsLoading)\r\n ?\r\n \r\n :\r\n (questionsError)\r\n ?\r\n <>\r\n {questionsError ? : \"\"}\r\n \r\n :\r\n (questionsData)\r\n ?\r\n (Array.isArray(questionsData) && questionsData.length > 0)\r\n ?\r\n
    \r\n {questionsData.map((item, index) => (
  1. { item.text }
  2. ))}\r\n
\r\n :\r\n

Źádné otázky nejsou.

\r\n \r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default requireEvaluator(Overview);","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useAppContext, ADD_MESSAGE } from \"../../../providers/ApplicationProvider\";\r\nimport { Loader, Alert, CardBody, CardFooter, DeleteMiniButton } from \"../../general\";\r\nimport DateTime from \"../../common/DateTime\";\r\nimport LoadedUser from \"../../common/LoadedUser\";\r\nimport axios from \"axios\";\r\nimport styled from 'styled-components';\r\nimport { Card } from '../../general';\r\nimport { ReactComponent as CheckmarkIcon } from \"../../../assets/icons/check.svg\";\r\nimport { ReactComponent as CriticalIcon } from \"../../../assets/icons/warning_triangle.svg\";\r\n\r\nconst StyledAnswer = styled.div`\r\n display: grid;\r\n grid-template-columns: 40px 1fr 40px;\r\n grid-template-rows: auto auto;\r\n grid-template-areas: \r\n \"check text critical\"\r\n \"check description critical\";\r\n border: 1px solid #cccccc;\r\n position: relative;\r\n overflow: hidden;\r\n & p {margin: 0;}\r\n &:hover {border-color: black};\r\n`;\r\n\r\nconst StyledAnswerCheck = styled(CheckmarkIcon)`\r\n grid-area: check;\r\n fill: red;\r\n stroke: ${props => props.theme.colors.successBackground};\r\n width: 18px;\r\n height: 18px;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n`;\r\n\r\nconst StyledAnswerText = styled.div`\r\n grid-area: text;\r\n margin: .5em;\r\n`;\r\n\r\nconst StyledAnswerDescription = styled.div`\r\n color: #aaa;\r\n grid-area: description;\r\n margin: .5em;\r\n`;\r\n\r\nconst StyledAnswerCritical = styled(CriticalIcon)`\r\n grid-area: critical;\r\n fill: red;\r\n stroke: ${props => props.theme.colors.errorBackground};\r\n width: 32px;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n`;\r\n\r\nconst StyledQuestionText = styled.p`\r\n margin: 0;\r\n`;\r\n\r\nconst StyledQuestionDescription = styled.div`\r\n color: #aaa;\r\n font-size: 8pt;\r\n`;\r\n\r\nconst StyledQuestionFooter = styled(CardFooter)`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between; \r\n align-items: center;\r\n`;\r\n\r\nconst StyledQuestionFooterAction = styled.span`\r\n\r\n`;\r\nconst StyledQuestionFooterUser = styled.span`\r\n\r\n`;\r\nconst StyledQuestionFooterDate = styled.span`\r\n\r\n`;\r\n\r\nconst Answer = ({ answer, selected, editable, submitAction, work, question }) => {\r\n return (\r\n {\r\n if (editable) {\r\n submitAction(work.id, question.id, answer.id);\r\n }\r\n }}>\r\n {selected ? : null}\r\n {answer.text}\r\n {answer.description ? : null}\r\n {answer.critical ? :\"\"}\r\n \r\n )\r\n}\r\n\r\nconst Question = ({ work, questionId, editable }) => {\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [answersResponse, setAnswersResponse] = useState([]);\r\n const [isAnswersLoading, setIsAnswersLoading] = useState(false);\r\n const [answersError, setAnswersError] = useState(false);\r\n const [evaluationResponse, setEvaluationResponse] = useState(null);\r\n const [isEvaluationLoading, setIsEvaluationLoading] = useState(false);\r\n const [evaluationError, setEvaluationError] = useState(false);\r\n const [isAnswerSubmitting, setIsAnswerSubmitting] = useState(false);\r\n useEffect(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/questions/\" + questionId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setResponse(null);\r\n })\r\n .then(() => {\r\n setIsLoading(false);\r\n }); \r\n setIsAnswersLoading(true);\r\n setAnswersError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/questions/\" + questionId + \"/answers\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setAnswersResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setAnswersError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setAnswersError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setAnswersResponse([]);\r\n })\r\n .then(() => {\r\n setIsAnswersLoading(false);\r\n }); \r\n }, [accessToken, questionId, work]);\r\n const fetchEvaluation = useCallback((workId, qId) =>\r\n {\r\n setIsEvaluationLoading(true);\r\n setEvaluationError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/questions/\" + qId + \"/evaluation\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setEvaluationResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n if (error.response.status !== 404) {\r\n setEvaluationError({ status: error.response.status, text: error.response.statusText });\r\n } \r\n }\r\n else {\r\n setEvaluationError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setEvaluationResponse(null);\r\n })\r\n .then(() => {\r\n setIsEvaluationLoading(false);\r\n }); \r\n }, [accessToken]);\r\n const submitAnswer = useCallback((workId, qId, aId) => {\r\n setIsAnswerSubmitting(true);\r\n axios.post(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/questions/\" + qId + \"/evaluation\", {\r\n WorkId: workId,\r\n QuestionId: qId,\r\n AnswerId: aId\r\n }, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Odpověď byla uložena.\", variant: \"success\", dismissible: true, expiration: 3 });\r\n fetchEvaluation(workId,qId);\r\n })\r\n .catch(error => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Uložení odpovědi se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3 });\r\n })\r\n .then(() => {\r\n setIsAnswerSubmitting(false);\r\n })\r\n }, [accessToken, dispatch, fetchEvaluation]);\r\n const deleteAnswer = useCallback((workId, qId) => {\r\n setIsAnswerSubmitting(true);\r\n axios.delete(process.env.REACT_APP_API_URL + \"/works/\" + workId + \"/questions/\" + qId + \"/evaluation\",\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Odpověď byla smazána.\", variant: \"success\", dismissible: true, expiration: 3 });\r\n fetchEvaluation(workId, qId);\r\n })\r\n .catch(error => {\r\n dispatch({ type: ADD_MESSAGE, text: \"Smazání odpovědi se nepodařilo.\", variant: \"error\", dismissible: true, expiration: 3 });\r\n })\r\n .then(() => {\r\n setIsAnswerSubmitting(false);\r\n })\r\n }, [accessToken, dispatch, fetchEvaluation]);\r\n useEffect(() => { fetchEvaluation(work.id, questionId) }, [fetchEvaluation, work, questionId]);\r\n if (isLoading || isAnswersLoading) {\r\n return ;\r\n } else if (error !== false || answersError) {\r\n return ;\r\n } else if (response && answersResponse) {\r\n return (\r\n \r\n \r\n {response.text}\r\n {response.description !== null ? : null}\r\n \r\n \r\n {isEvaluationLoading ?\r\n \r\n :\r\n evaluationError ?\r\n \r\n :\r\n answersResponse.map((item, index) =>\r\n (\r\n \r\n ))\r\n }\r\n \r\n \r\n {evaluationResponse\r\n ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isAnswerSubmitting\r\n ?\r\n \r\n :\r\n {\r\n if (editable) {\r\n deleteAnswer(work.id, questionId);\r\n }\r\n }} />\r\n }\r\n \r\n \r\n :\r\n

Zatím nezodpovězeno.

\r\n }\r\n
\r\n
\r\n );\r\n } else {\r\n return ;\r\n }\r\n}\r\n\r\nexport default Question;","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useAppContext } from \"../../../providers/ApplicationProvider\";\r\nimport { Loader, Alert } from \"../../general\";\r\nimport axios from \"axios\";\r\nimport Question from \"./Question\";\r\n\r\nconst Questions = ({ work, term, role, editable }) => {\r\n const [{ accessToken }] = useAppContext();\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/questions/\" + role.setRole.id + \"/\" + term.id, { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setResponse([]);\r\n })\r\n .then(() => {\r\n setIsLoading(false);\r\n })\r\n }, [accessToken, work, term, role]);\r\n useEffect(() => {\r\n fetchData();\r\n }, [fetchData]);\r\n if (isLoading)\r\n return \r\n else if (error)\r\n return \r\n else if (response) {\r\n return (response.map((item, index) => (\r\n \r\n )));\r\n }\r\n else\r\n return \r\n}\r\n\r\nexport default Questions;","import React, { useState, useEffect, useCallback, useMemo } from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useAppContext, SET_TITLE } from \"../../../providers/ApplicationProvider\";\r\nimport { ActionLink, Alert, Card, CardHeader, CardBody, CardTypeValueList, CardTypeValueItem, Heading, Loader } from \"../../general\";\r\nimport LoadedUser from \"../../common/LoadedUser\";\r\nimport DateTime from \"../../common/DateTime\";\r\nimport styled from 'styled-components';\r\nimport axios from \"axios\";\r\nimport { ADMIN_ROLE, MANAGER_ROLE } from \"../../../configuration/constants\";\r\nimport requireEvaluator from \"../../Auth/requireEvaluator\";\r\nimport Questions from \"./Questions\";\r\n\r\nconst StyledQuestionsLayout = styled.span`\r\n display: flex;\r\n flex-direction: column;\r\n max-width: 70em;\r\n`;\r\n\r\nconst Evaluation = props => {\r\n const { id } = useParams();\r\n const { term } = useParams();\r\n const { role } = useParams();\r\n const [{ accessToken, profile }, dispatch] = useAppContext();\r\n const [isWorkLoading, setIsWorkLoading] = useState(false);\r\n const [workError, setWorkError] = useState(false);\r\n const [workData, setWorkData] = useState(null);\r\n const [roleData, setRoleData] = useState(null);\r\n const [isRoleLoading, setIsRoleLoading] = useState(false);\r\n const [roleError, setRoleError] = useState(false);\r\n const [termData, setTermData] = useState(null);\r\n const [isTermLoading, setIsTermLoading] = useState(false);\r\n const [termError, setTermError] = useState(false);\r\n const isEditable = useMemo(() => {\r\n return (\r\n profile && workData && roleData &&\r\n (workData.state === 1 || workData.state === 3) &&\r\n (!roleData.finalized) &&\r\n (profile[ADMIN_ROLE] === \"1\" || roleData.workRoleUsers.map((item) => (item.userId)).includes(profile.sub)));\r\n }, [workData, roleData, profile]);\r\n const isVisible = useMemo(() => {\r\n return (profile && roleData && (profile[ADMIN_ROLE] === \"1\" || profile[MANAGER_ROLE] === \"1\" || roleData.workRoleUsers.map((item) => (item.userId)).includes(profile.sub)));\r\n }, [roleData, profile]);\r\n\r\n const fetchWorkData = useCallback(id => {\r\n setIsWorkLoading(true);\r\n setWorkError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id, { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setWorkData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response) {\r\n setWorkError({ text: err.response.statusText, status: err.response.status });\r\n }\r\n else {\r\n setWorkError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n setWorkData(null);\r\n })\r\n .then(() => {\r\n setIsWorkLoading(false);\r\n });\r\n }, [accessToken]);\r\n const fetchTermData = useCallback(termId => {\r\n setIsTermLoading(true);\r\n setTermError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + workData.setId + \"/terms/\" + termId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setTermData(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setTermError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setTermError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setTermData([]);\r\n });\r\n setIsTermLoading(false);\r\n }, [accessToken, workData]);\r\n const fetchRoleData = useCallback(roleId => {\r\n setIsRoleLoading(true);\r\n setRoleError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + id + \"/roles/\" + roleId, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setRoleData(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setRoleError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setRoleError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setRoleData([]);\r\n });\r\n setIsRoleLoading(false);\r\n }, [accessToken, id]);\r\n\r\n useEffect(() => {\r\n fetchWorkData(id);\r\n dispatch({ type: SET_TITLE, payload: \"Otázky pro hodnocení práce\" });\r\n }, [id, term, role, dispatch, fetchWorkData]);\r\n useEffect(() => {\r\n if (workData) {\r\n fetchTermData(term);\r\n fetchRoleData(role);\r\n }\r\n }, [term, role, workData, fetchTermData, fetchRoleData]);\r\n\r\n return (\r\n <>\r\n Tato práce\r\n \r\n {(isWorkLoading || isTermLoading || isRoleLoading) \r\n ?\r\n \r\n :\r\n (workError || termError || roleError) \r\n ?\r\n <>\r\n {workError ? : \"\"}\r\n {termError ? : \"\"}\r\n {roleError ? : \"\"}\r\n \r\n :\r\n (workData && termData && roleData)\r\n ?\r\n <>\r\n \r\n \r\n Hodnocení práce\r\n \r\n \r\n \r\n \r\n } />\r\n , \")\"]} />\r\n \r\n ())} />\r\n \r\n \r\n \r\n {roleData.workRoleUsers.map((item) => (item.userId)).includes(profile.sub)\r\n ?\r\n null\r\n :\r\n \r\n }\r\n {role.finalized\r\n ?\r\n \r\n :\r\n null\r\n }\r\n {workData.state !== 1 && workData.state !== 3\r\n ?\r\n \r\n :\r\n null\r\n }\r\n {isEditable\r\n ?\r\n \r\n :\r\n null\r\n }\r\n {isVisible\r\n ?\r\n \r\n :\r\n null\r\n }\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n );\r\n}\r\n\r\nexport default requireEvaluator(Evaluation);","import React from 'react';\r\nimport {Route, Switch} from \"react-router-dom\";\r\nimport List from \"./List\";\r\nimport Create from \"./Create\";\r\nimport CreateFromIdea from \"./CreateFromIdea\";\r\nimport Guide from \"./Guide\";\r\nimport Detail from \"./Detail\";\r\nimport Summary from \"./Summary\";\r\nimport Review from \"./Review/\";\r\nimport Overview from \"./Overview\";\r\nimport NotFound from \"../NotFound\";\r\nimport Evaluation from \"./Evaluation\";\r\nimport LayoutRoute from \"../layouts/LayoutRoute\";\r\nimport MessageLayout from \"../layouts/MessageLayout\";\r\nimport {mainTheme as theme} from \"../../App\";\r\nimport requireAuth from \"../Auth/requireAuth\";\r\n\r\nconst Works = props => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default requireAuth(Works);","import React, {useState, useMemo, useCallback, useEffect} from 'react';\r\nimport {Link} from \"react-router-dom\";\r\nimport {DataTable, BoolColumnFilter} from \"../general\";\r\nimport {useAppContext, SET_TITLE} from \"../../providers/ApplicationProvider\";\r\nimport axios from \"axios\";\r\n\r\nconst LOCAL_STORAGE_ID = \"prace2-overviewsets-state\";\r\n\r\nconst Sets = props => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n const [data, setData] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [{ accessToken }, dispatch] = useAppContext();\r\n\r\n let storedTableState = JSON.parse(localStorage.getItem(LOCAL_STORAGE_ID));\r\n\r\n useEffect(()=>{ dispatch({type: SET_TITLE, payload: \"Volba sady prací\"}); },[dispatch]);\r\n\r\n const columns = useMemo(() => [\r\n {Header: \"Název\", accessor: \"name\"},\r\n {Header: \"Rok\", accessor: \"year\"},\r\n {Header: \"Počet prací\", disableFilters:true, accessor: \"worksCount\"},\r\n {Header: \"Aktivní\", accessor: \"active\", disableSortBy: true, Cell: (data)=>(data.cell.value === true ? \"Ano\" : \"Ne\"), Filter: BoolColumnFilter},\r\n {\r\n Header: \"Akce\", Cell: (data) => (\r\n <>\r\n Podrobnosti\r\n {/*Souhrn*/}\r\n )\r\n }\r\n ],[]); \r\n\r\n const fetchData = useCallback(({page, size, sort, filters})=>{\r\n (async () => {\r\n setIsLoading(true);\r\n setError(false);\r\n let parameters = [];\r\n\r\n let order = sort[0] ? sort[0].id : undefined;\r\n if (order) order = order.toLowerCase();\r\n if (order && sort[0].desc) order = order + \"_desc\";\r\n\r\n if (page) parameters.push(\"page=\" + page);\r\n if (size) parameters.push(\"pageSize=\" + size);\r\n if (order) parameters.push(\"order=\" + order);\r\n if (Array.isArray(filters)) {\r\n for (let f of filters) {\r\n switch (f.id) {\r\n case \"name\": parameters.push(\"name=\" + f.value); break;\r\n case \"year\": parameters.push(\"year=\" + f.value); break;\r\n case \"active\": parameters.push(\"active=\" + f.value); break;\r\n default: break;\r\n }\r\n }\r\n } \r\n axios.get(process.env.REACT_APP_API_URL + \"/sets?\" + parameters.join(\"&\"), {headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" }})\r\n .then(response => {\r\n setData(response.data.data);\r\n setTotalPages(response.data.pages);\r\n })\r\n .catch(error => {\r\n if (error.response)\r\n {\r\n setError({text: error.response.statusText, status: error.response.status});\r\n }\r\n else\r\n {\r\n setError({text: \"Neznámá chyba\", status: \"\"});\r\n }\r\n })\r\n .then(()=>{\r\n setIsLoading(false);\r\n }); \r\n })(); \r\n },[accessToken]);\r\n \r\n return (\r\n <>\r\n

Vyberte sadu prací, se kterou chcete pracovat:

\r\n \r\n \r\n );\r\n}\r\n\r\nexport default Sets;","import React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nconst StatsContainer = styled.div`\r\ndisplay: grid;\r\ngrid-template-columns: auto auto;\r\ngrid-template-rows: 1fr 1fr;\r\ngrid-template-areas: \"mark questions\" \"mark points\";\r\nheight: 100%;\r\ngap: .2rem 1rem;\r\n`;\r\nconst StatsMark = styled.div`\r\ngrid-area: mark;\r\ndisplay: flex;\r\njustify-content: center;\r\nalign-items: center;\r\npadding: .3rem;\r\nborder: black solid thin;\r\n`;\r\nconst StatsQuestions = styled.div`\r\ngrid-area: questions;\r\ndisplay: flex;\r\njustify-content: center;\r\nalign-items: center;\r\n`;\r\nconst StatsPoints = styled.div`\r\ngrid-area: points;\r\ndisplay: flex;\r\njustify-content: center;\r\nalign-items: center;\r\n`;\r\n\r\nexport const TermStatistics = ({ mark, questions, points, color }) => {\r\n return (\r\n \r\n {mark}\r\n {questions}\r\n {points}\r\n \r\n );\r\n}\r\n\r\nexport default TermStatistics;","import React, { useState, useCallback, useEffect } from 'react';\r\nimport { useAppContext } from \"../../providers/ApplicationProvider\";\r\nimport { Loader, Alert } from \"../general\";\r\nimport { TermStatistics } from \"./TermStatistics\";\r\nimport axios from \"axios\";\r\n\r\nconst roundToTwo = (num) => {\r\n return +(Math.round(num + \"e+2\") + \"e-2\");\r\n}\r\n\r\nexport const DetailPageOverall = ({ mode, set, role, work }) => {\r\n const [{ accessToken, profile }, dispatch] = useAppContext();\r\n const [roleResponse, setRoleResponse] = useState(null);\r\n const [isRoleLoading, setIsRoleLoading] = useState(false);\r\n const [roleError, setRoleError] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n const fetchData = useCallback(() => {\r\n setIsLoading(true);\r\n setError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/statsForRole/\" + role.id, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setResponse(null);\r\n })\r\n .then(() => {\r\n setIsLoading(false);\r\n })\r\n }, [accessToken, work.id, role.id]);\r\n\r\n const fetchRoleData = useCallback(() => {\r\n setIsRoleLoading(true);\r\n setRoleError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/roles/\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n for (var res in response.data) {\r\n if (response.data[res].setRoleId === role.id) {\r\n setRoleResponse(response.data[res]);\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setRoleError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setRoleError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setRoleResponse(null);\r\n })\r\n .then(() => {\r\n setIsRoleLoading(false);\r\n })\r\n }, [accessToken, work.id, role.id]);\r\n\r\n useEffect(() => {\r\n fetchRoleData();\r\n fetchData();\r\n }, []);\r\n if (isLoading || isRoleLoading) {\r\n return \r\n } else if (error || roleError) {\r\n return \r\n } else if (response && roleResponse) {\r\n return (\r\n 0 ? (roundToTwo(Number(100 * (response.gainedPoints / response.totalPoints))) + \"%\") : \"0%\")}\r\n questions={response.criticalAnswers + \"/\" + response.filledQuestions + \"/\" + response.totalQuestions}\r\n points={ response.gainedPoints + \"/\" + response.filledPoints + \"/\" + response.totalPoints}\r\n />\r\n );\r\n } else\r\n return \r\n}\r\n\r\nexport default DetailPageOverall;","import React, { useState, useMemo, useCallback, useEffect } from 'react';\r\nimport { useAppContext } from \"../../providers/ApplicationProvider\";\r\nimport { Loader, Alert } from \"../general\";\r\nimport { TermStatistics } from \"./TermStatistics\";\r\nimport axios from \"axios\";\r\n\r\nconst roundToTwo = (num) => {\r\n return +(Math.round(num + \"e+2\") + \"e-2\");\r\n}\r\n\r\nexport const DetailPageTerm = ({ mode, set, role, work, term }) => {\r\n const [{ accessToken, profile }, dispatch] = useAppContext();\r\n const [roleResponse, setRoleResponse] = useState(null);\r\n const [isRoleLoading, setIsRoleLoading] = useState(false);\r\n const [roleError, setRoleError] = useState(false);\r\n const fetchData = useCallback(() => {\r\n setIsRoleLoading(true);\r\n setRoleError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/works/\" + work.id + \"/statsForRoleTerm/\" + role.id + \"/\" + term.id, {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setRoleResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setRoleError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setRoleError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setRoleResponse(null);\r\n })\r\n .then(() => {\r\n setIsRoleLoading(false);\r\n })\r\n }, [accessToken, work.id, role.id, term.id]);\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, [role, work, term]);\r\n if (isRoleLoading) {\r\n return \r\n } else if (roleError) {\r\n return \r\n } else if (roleResponse) {\r\n return (\r\n \r\n );\r\n } else\r\n return \r\n}\r\n\r\nexport default DetailPageTerm;","import React from 'react';\r\nimport { MODE_TERM, MODE_OVERALL } from \"./List\";\r\nimport DetailPageOverall from \"./DetailPageOverall\";\r\nimport DetailPageTerm from \"./DetailPageTerm\";\r\n\r\nexport const DetailPager = ({ mode, term, ...rest }) => {\r\n switch (mode) {\r\n case MODE_TERM: return term === null ? null : ;\r\n default: return \r\n }\r\n}\r\n\r\nexport default DetailPager;","import React from 'react';\r\nimport User from \"../common/User\";\r\n\r\nexport const DetailPageEvaluators = ({ data }) => {\r\n if (data) {\r\n return data.workRoleUsers.map((item, index) => ( : \"\"} name={item.user.name} detail={item.user.email ? item.user.email : \"\"} to={\"/users/\" + item.userId} />))\r\n }\r\n return ?\r\n}\r\n\r\nexport default DetailPageEvaluators;","import React, { useState, useEffect, useCallback, useMemo } from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport { DataTable, ListColumnFilter, ActionLink, Select, Button, ButtonBlock, Modal, Paragraph } from \"../general\";\r\nimport { useAppContext, ADD_MESSAGE } from \"../../providers/ApplicationProvider\";\r\nimport { WorkStates } from \"../../configuration/constants\";\r\nimport { DetailPager } from \"./DetailPager\";\r\nimport DetailPageEvaluators from \"./DetailPageEvaluators\";\r\nimport DetailPageEvaluatorsSimple from \"./DetailPageEvaluatorsSimple\";\r\nimport { ADMIN_ROLE, MANAGER_ROLE, EVALUATOR_ROLE } from \"../../configuration/constants\";\r\nimport axios from \"axios\";\r\nimport styled from 'styled-components';\r\n\r\nconst FeaturesContainer = styled.div`\r\nborder: 1px solid black;\r\npadding: 5px;\r\ndisplay: flex;\r\nflex-direction: row;\r\ngap: .5em;\r\nmargin: 5px 0;\r\nalign-items: baseline;\r\nbackground-color: #cfcfcf;\r\n`;\r\n\r\nconst LOCAL_STORAGE_ID = \"prace2-overviewworks-state\";\r\n\r\nexport const MODE_OVERALL = \"MODE_OVERALL\";\r\nexport const MODE_TERM = \"MODE_TERM\";\r\n\r\nexport const List = ({ set, roles, terms }) => {\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n\r\n const [data, setData] = useState([]);\r\n const [selectedRows, setSelectedRows] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [{ accessToken, profile }, dispatch] = useAppContext();\r\n const [showDelete, setShowDelete] = useState(false);\r\n const [isDeleting, setIsDeleting] = useState(false);\r\n\r\n const [mode, setMode] = useState(MODE_OVERALL);\r\n const [evaluator, setEvaluator] = useState(\"\");\r\n const [evaluators, setEvaluators] = useState([]);\r\n const [term, setTerm] = useState((terms && terms.length > 0) ? 0 : null);\r\n\r\n let storedTableState = JSON.parse(localStorage.getItem(LOCAL_STORAGE_ID));\r\n\r\n const columns = useMemo(() => [\r\n { Header: \"Název\", accessor: \"name\" },\r\n { Header: \"Stav\", accessor: \"state\", Cell: data => (WorkStates[data.cell.value]), Filter: (column) => { return ListColumnFilter(column, WorkStates) } },\r\n {\r\n Header: \"Autor\", columns: [\r\n { Header: \"Jméno\", accessor: \"authorFirstName\" },\r\n { Header: \"Příjmení\", accessor: \"authorLastName\" },\r\n { Header: \"Třída\", accessor: \"className\" },\r\n ]\r\n },\r\n ...roles.map((item, index) => ({\r\n Header: item.name, columns: [\r\n /*{ Header: item.name + \": hodnotitelé\", Cell: (data) => () },*/\r\n { Header: item.name + \": hodnotitelé\", Cell: (data) => { let roleId = item.id; let dta = data.row.original.roles.filter(record => record.setRoleId === roleId); return } },\r\n { Header: item.name + \": hodnocení\", Cell: (data) => () },\r\n ]\r\n })),\r\n { Header: \"Akce\", Cell: (data) => (<>Detail Hodnocení) }\r\n ], [mode, term]);\r\n\r\n const fetchEvaluators = useCallback((setId) => {\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + set.id + \"/evaluators\", { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setEvaluators(response.data);\r\n })\r\n .catch(error => {\r\n setEvaluators([]);\r\n })\r\n .then(() => {\r\n \r\n });\r\n },[]);\r\n\r\n const fetchData = useCallback(({ page = 0, size = 100, sort = [], filters = [] }) => {\r\n (async () => {\r\n setIsLoading(true);\r\n setError(false);\r\n let parameters = [];\r\n\r\n let order = sort[0] ? sort[0].id : undefined;\r\n if (order) order = order.toLowerCase();\r\n if (order && sort[0].desc) order = order + \"_desc\";\r\n\r\n if (page) parameters.push(\"page=\" + page);\r\n if (size) parameters.push(\"pageSize=\" + size);\r\n if (order) parameters.push(\"order=\" + order);\r\n if (Array.isArray(filters)) {\r\n for (let f of filters) {\r\n switch (f.id) {\r\n case \"name\": parameters.push(\"name=\" + f.value); break;\r\n case \"userId\": parameters.push(\"userId=\" + f.value); break;\r\n case \"authorFirstName\": parameters.push(\"firstname=\" + f.value); break;\r\n case \"authorLastName\": parameters.push(\"lastname=\" + f.value); break;\r\n case \"managerFirstName\": parameters.push(\"managerfirstname=\" + f.value); break;\r\n case \"managerLastName\": parameters.push(\"managerlastname=\" + f.value); break;\r\n case \"state\": parameters.push(\"state=\" + f.value); break;\r\n case \"className\": parameters.push(\"classname=\" + f.value); break;\r\n default: break;\r\n }\r\n }\r\n }\r\n if (evaluator !== \"\") {\r\n parameters.push(\"evaluatorId=\" + evaluator);\r\n }\r\n axios.get(process.env.REACT_APP_API_URL + \"/works?setId=\" + set.id + \"&\" + parameters.join(\"&\"), { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setData(response.data.data);\r\n setTotalPages(response.data.pages);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setError({ text: error.response.statusText, status: error.response.status });\r\n }\r\n else {\r\n setError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n })\r\n .then(() => {\r\n setIsLoading(false);\r\n });\r\n })();\r\n }, [accessToken, evaluator]);\r\n\r\n useEffect(() => {\r\n setShowDelete(false);\r\n setIsDeleting(false);\r\n fetchEvaluators(set.Id);\r\n return () => { setShowDelete(false); setIsDeleting(false); };\r\n }, [setShowDelete, setIsDeleting]);\r\n\r\n return (\r\n <>\r\n \r\n Další filtry:\r\n \r\n \r\n {mode === MODE_TERM\r\n ?\r\n \r\n :\r\n null\r\n }\r\n \r\n \r\n {selectedRows.length > 0\r\n ?\r\n \r\n \r\n \r\n \r\n \r\n {(profile[ADMIN_ROLE] === \"1\" || profile[MANAGER_ROLE] === \"1\") ? Object.keys(WorkStates).map((key, index) => ()) : null}\r\n {(profile[ADMIN_ROLE] === \"1\") ? : null}\r\n \r\n :\r\n null\r\n }\r\n setShowDelete(false)}\r\n title=\"Opravdu smazat práce?\"\r\n actions={\r\n <>\r\n \r\n \r\n \r\n }\r\n >\r\n Chystáte se smazat následující práce:\r\n
    \r\n {selectedRows.map((item, index) => (
  1. {item.name + \" (\" + item.authorFirstName + \" \" + item.authorLastName + \", \" + item.className + \")\"}
  2. ))}\r\n
\r\n Takto smazané práci nebude možné nijak obnovit.\r\n \r\n \r\n );\r\n}\r\n\r\nexport default List;","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useAppContext, SET_TITLE } from \"../../providers/ApplicationProvider\";\r\nimport { ActionLink, Alert, Loader } from \"../general\";\r\nimport List from \"./List\";\r\nimport axios from \"axios\";\r\n\r\nexport const Works = props => {\r\n const { set } = useParams();\r\n const [{ accessToken, profile }, dispatch] = useAppContext();\r\n const [isSetLoading, setIsSetLoading] = useState(false);\r\n const [setError, setSetError] = useState(false);\r\n const [setData, setSetData] = useState(null);\r\n const [rolesResponse, setRolesResponse] = useState(null);\r\n const [isRolesLoading, setIsRolesLoading] = useState(false);\r\n const [rolesError, setRolesError] = useState(false);\r\n const [termsResponse, setTermsResponse] = useState(null);\r\n const [isTermsLoading, setIsTermsLoading] = useState(false);\r\n const [termsError, setTermsError] = useState(false);\r\n\r\n const fetchSetData = useCallback(id => {\r\n setIsSetLoading(true);\r\n setSetError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id, { headers: { Authorization: \"Bearer \" + accessToken, \"Content-Type\": \"application/json\" } })\r\n .then(response => {\r\n setSetData(response.data);\r\n })\r\n .catch(err => {\r\n if (err.response) {\r\n setSetError({ text: err.response.statusText, status: err.response.status });\r\n }\r\n else {\r\n setSetError({ text: \"Neznámá chyba\", status: \"\" });\r\n }\r\n setSetData(null);\r\n })\r\n .then(() => {\r\n setIsSetLoading(false);\r\n });\r\n }, [accessToken]);\r\n\r\n const fetchRoles = useCallback(id => {\r\n setIsRolesLoading(true);\r\n setRolesError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id + \"/roles\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setRolesResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setRolesError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setRolesError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setRolesResponse([]);\r\n })\r\n .then(() => {\r\n setIsRolesLoading(false);\r\n })\r\n }, [accessToken]);\r\n\r\n const fetchTerms = useCallback(id => {\r\n setIsTermsLoading(true);\r\n setTermsError(false);\r\n axios.get(process.env.REACT_APP_API_URL + \"/sets/\" + id + \"/terms\", {\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n setTermsResponse(response.data);\r\n })\r\n .catch(error => {\r\n if (error.response) {\r\n setTermsError({ status: error.response.status, text: error.response.statusText });\r\n }\r\n else {\r\n setTermsError({ status: 0, text: \"Neznámá chyba\" });\r\n }\r\n setTermsResponse([]);\r\n });\r\n setIsTermsLoading(false);\r\n }, [accessToken]);\r\n\r\n useEffect(() => {\r\n fetchSetData(set);\r\n dispatch({ type: SET_TITLE, payload: \"Přehled prací v sadě\" });\r\n }, [set, fetchSetData]);\r\n useEffect(() => {\r\n if (setData != null) {\r\n fetchRoles(setData.id);\r\n fetchTerms(setData.id);\r\n } \r\n }, [setData, fetchRoles, fetchTerms]);\r\n\r\n return (\r\n <>\r\n
\r\n Seznam sad\r\n
\r\n {(isSetLoading || isRolesLoading || isTermsLoading)\r\n ?\r\n \r\n :\r\n (setError || rolesError || termsError)\r\n ?\r\n <>\r\n {setError ? : \"\"}\r\n {rolesError ? : \"\"}\r\n {termsError ? : \"\"}\r\n \r\n :\r\n (setData && rolesResponse && termsResponse)\r\n ?\r\n \r\n :\r\n \r\n\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default Works;","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\n\r\nexport const Summary = props => {\r\n const { set } = useParams();\r\n return

{set}

\r\n}\r\n\r\nexport default Summary;","import React from 'react';\r\nimport {Route, Switch} from \"react-router-dom\";\r\nimport Sets from \"./Sets\";\r\nimport Works from \"./Works\";\r\nimport Summary from \"./Summary\";\r\nimport NotFound from \"../NotFound\";\r\nimport LayoutRoute from \"../layouts/LayoutRoute\";\r\nimport MessageLayout from \"../layouts/MessageLayout\";\r\nimport {mainTheme as theme} from \"../../App\";\r\nimport requireEvaluator from \"../Auth/requireEvaluator\";\r\n\r\nconst Index = props => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default requireEvaluator(Index);","import React from 'react';\r\nimport { Router } from \"react-router-dom\";\r\nimport { Route, Switch } from 'react-router';\r\nimport { ThemeProvider } from 'styled-components';\r\nimport { createBrowserHistory } from \"history\";\r\nimport { DndProvider } from 'react-dnd';\r\nimport { HTML5Backend } from 'react-dnd-html5-backend';\r\nimport { createGlobalStyle } from 'styled-components';\r\n\r\nimport LayoutRoute from \"./components/layouts/LayoutRoute\";\r\nimport MessageLayout from \"./components/layouts/MessageLayout\";\r\nimport DashboardLayout from \"./components/layouts/DashboardLayout\";\r\n\r\nimport TopErrorBoundary from \"./components/errors/TopErrorBoundary\";\r\n\r\nimport {ApplicationProvider} from \"./providers/ApplicationProvider\";\r\n\r\nimport Home from \"./components/Home\";\r\nimport NotFound from \"./components/NotFound\";\r\nimport SignInCallback from \"./components/Auth/SignInCallback\";\r\nimport SilentRenew from \"./components/Auth/SilentRenew\";\r\nimport SignOutCallback from \"./components/Auth/SignOutCallback\";\r\nimport Account from \"./components/Account\";\r\nimport Console from \"./components/Console\";\r\nimport Alerts from \"./components/Alerts\";\r\nimport Test from \"./components/Test\";\r\nimport Users from \"./components/Users\";\r\nimport Admin from \"./components/Admin\";\r\nimport Ideas from \"./components/Ideas\";\r\nimport Works from \"./components/Works\";\r\nimport Overviews from \"./components/Overviews\";\r\n\r\nconst history = createBrowserHistory(/*{ basename: \"/prace/\"}*/);\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\n body {\r\n font-size: 10pt;\r\n font-family: ${props => props.theme.fonts.main}, sans-serif;\r\n }\r\n h1, h2, h3, h4, h5, h6 {\r\n font-family: ${props => props.theme.fonts.heading}, sans-serif;\r\n }\r\n`;\r\n/* colors\r\nrgb(153, 216, 52)\r\n\r\n*/\r\nexport const mainTheme = {\r\n mode: \"light\",\r\n colors: {\r\n menuBackground: \"#00A956\",\r\n menuForeground: \"white\",\r\n selectedMenuBackground: \"#eee\",\r\n selectedMenuForeground: \"#333\",\r\n desktopBackground: \"#eee\",\r\n desktopForeground: \"#333\",\r\n cardBackground: \"#fff\",\r\n cardForeground: \"#111\",\r\n logoBackground: \"black\",\r\n logoForeground: \"white\",\r\n logoAccent: \"#00A956\",\r\n headerBackground: \"white\",\r\n headerForeground: \"black\",\r\n successBackground: \"#00A956\",\r\n successForeground: \"rgb(255, 255, 255)\",\r\n darkSuccessBackground: \"rgb(100,150,35)\",\r\n darkSuccessForeground: \"rgb(255, 255, 255)\",\r\n infoBackground: \"rgb(52, 161, 216)\",\r\n infoForeground: \"rgb(255, 255, 255)\",\r\n warningBackground: \"rgb(219, 164, 55)\",\r\n warningForeground: \"rgb(255, 255, 255)\",\r\n errorBackground: \"rgb(219, 68, 55)\",\r\n errorForeground: \"rgb(255, 255, 255)\",\r\n defaultBackground: \"rgb(255, 255, 255)\",\r\n defaultForeground: \"rgb(10, 10, 10)\",\r\n disabledBackground: \"rgb(250, 250, 250)\",\r\n disabledForeground: \"rgb(200, 200, 200)\",\r\n lightBackground: \"rgb(255, 255, 255)\",\r\n lightForeground: \"rgb(0, 0, 0)\",\r\n darkBackground: \"rgb(0, 0, 0)\",\r\n darkForeground: \"rgb(255, 255, 255)\",\r\n },\r\n fonts: {\r\n heading: \"Quicksand\",\r\n main: \"OpenSans\"\r\n },\r\n spacing: {\r\n small: \"3px\",\r\n medium: \"10px\",\r\n large: \"1rem\"\r\n }\r\n}\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport \"./assets/fonts/Quicksand-VariableFont_wght.ttf\";\r\nimport './index.css';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}