{"version":3,"sources":["config/i18n.ts","config/antd_locale/al/al_AL.tsx","config/antd_locale/al/datepicker.tsx","constants/theme.ts","components/layout/AppLoading.tsx","redux/constants/auth.ts","redux/actions/auth.ts","api/agent.ts","utils/index.ts","redux/constants/theme.ts","redux/actions/theme.ts","components/layout/Logo.tsx","components/layout/Icon.tsx","components/layout/NavProfile.tsx","components/layout/HeaderNav.tsx","config/NavigationConfig.ts","components/layout/MenuContent.tsx","components/layout/SideNav.tsx","components/layout/Footer.tsx","components/layout/shared/Flex.tsx","components/layout/mobile/MobileNav.tsx","components/layout/shared/PageHeader.tsx","views/404.tsx","components/layout/shared/Alert.tsx","components/auth/ChangePasswordForm.tsx","views/auth/ChangePassword.tsx","views/auth/EditProfile.tsx","components/admin/home/index.tsx","views/admin/home/index.tsx","redux/constants/institutions.ts","redux/actions/institutions.ts","components/layout/SearchTable.tsx","components/admin/institutions/InstitutionsList.tsx","views/admin/institutions/index.tsx","components/layout/PageHeaderAlt.tsx","components/admin/reports/StatisticsReportHeader.tsx","components/layout/StatisticWidget.tsx","components/admin/reports/StatisticalData.tsx","components/admin/charts/LineChart.tsx","components/layout/shared/Spinner.tsx","api/models/evaluationPeriod.ts","views/admin/reports/pdfReport.ts","views/admin/reports/excelReport.ts","views/admin/reports/statistics/graduation/index.tsx","components/admin/charts/VerticalBarChart.tsx","components/admin/charts/HorizontalBarChart.tsx","components/institutions/self-evaluation/fields-overview/report_template/selfEvaluationReport_helper.ts","components/institutions/self-evaluation/fields-overview/report_template/selfEvaluationReport_pdf.ts","components/institutions/self-evaluation/fields-overview/report_template/selfEvaluationReport_excel.ts","views/admin/reports/evaluation-performance/summary/index.tsx","views/admin/reports/evaluation-performance/performance-by-fields/index.tsx","views/admin/reports/evaluation-performance/performance-by-years/index.tsx","views/admin/reports/evaluation-progress/index.tsx","redux/constants/evaluationPeriods.ts","components/admin/self-evaluation-periods/EvaluationPeriodsList.tsx","redux/actions/evaluationPeriods.ts","views/admin/evaluation-periods/index.tsx","redux/constants/users.ts","components/admin/users/UsersList.tsx","redux/actions/users.ts","views/admin/users/index.tsx","components/layout/AppBreadCrumb.tsx","components/admin/users/UsersForm.tsx","views/admin/users/add-user/index.tsx","views/admin/users/edit-user/index.tsx","components/admin/institutions/InstitutionSubjectsForm.tsx","components/admin/institutions/InstitutionSubjectsList.tsx","components/admin/institutions/InstitutionsForm.tsx","views/admin/institutions/add-institution/index.tsx","views/admin/institutions/edit-institution/index.tsx","routing/AdminPrivateRoute.tsx","redux/constants/subjects.ts","components/admin/subjects/SubjectsList.tsx","redux/actions/subjects.ts","views/admin/subjects/index.tsx","components/admin/subjects/SubjectsForm.tsx","views/admin/subjects/add-subjects/index.tsx","views/admin/subjects/edit-subjects/index.tsx","redux/constants/documents.ts","components/layout/UploadDocument.tsx","redux/actions/documents.ts","components/admin/self-evaluation-periods/EvaluationPeriodForm.tsx","views/admin/evaluation-periods/add-evaluation-period/index.tsx","views/admin/evaluation-periods/edit-evaluation-period/index.tsx","components/layout/InnerAppLayout.tsx","redux/constants/myInstitution.ts","redux/constants/graphicalData.ts","redux/actions/graphicalData.ts","redux/actions/myInstitution.ts","redux/constants/property.ts","redux/actions/property.ts","api/models/summaryTemplate.ts","redux/constants/summary.ts","redux/actions/summary.ts","components/institutions/self-evaluation/SummaryModal.tsx","components/institutions/self-evaluation/SelfEvaluationList.tsx","views/institution/self-evaluation/index.tsx","components/institutions/home/index.tsx","components/institutions/self-evaluation/SelfEvaluationPeriodForm.tsx","components/institutions/self-evaluation/SelfEvaluationPeriodList.tsx","views/institution/self-evaluation/add-self-evaluation-period/index.tsx","components/institutions/self-evaluation/fields-overview/subfields/SubFieldsList.tsx","components/institutions/self-evaluation/fields-overview/FieldsOverview.tsx","redux/constants/field.ts","components/institutions/self-evaluation/fields-overview/subfields/subfield-evaluation/Indicators.tsx","components/institutions/self-evaluation/fields-overview/subfields/subfield-evaluation/SubFieldEvaluation.tsx","redux/actions/field.ts","components/institutions/my-institution/statistics-datacard/YearlyStatisticalPropertyDataCard.tsx","components/institutions/my-institution/statistics-datacard/subjects/AddSubjectsDrawer.tsx","components/institutions/my-institution/statistics-datacard/YearlyStatisticalSubjectDataCard.tsx","components/institutions/my-institution/YearlyStatisticalDataList.tsx","views/institution/my-institution/edit-statistical-yearly-data/index.tsx","components/institutions/my-institution/YearlyStatisticalData.tsx","redux/constants/evidence.ts","redux/actions/evidence.ts","components/admin/institutions/InstitutionOverview.tsx","views/admin/institutions/overview/index.tsx","redux/constants/evidenceTemplate.ts","components/admin/evidence-template/EvidenceTemplateList.tsx","redux/actions/evidenceTemplate.ts","views/admin/documents/evidence-template/index.tsx","components/admin/evidence-template/EvidenceTemplateForm.tsx","views/admin/documents/evidence-template/add-evidence-template/index.tsx","views/admin/documents/evidence-template/edit-evidence-template/index.tsx","redux/constants/summaryTemplate.ts","components/admin/summary-template/SummaryTemplateForm.tsx","redux/actions/summaryTemplate.ts","views/admin/documents/summary-template/index.tsx","views/admin/reports/statistics/registration/index.tsx","views/admin/index.tsx","views/institution/home/index.tsx","views/institution/my-institution/index.tsx","views/institution/index.tsx","redux/constants/roles.ts","redux/actions/roles.ts","redux/constants/sectors.ts","redux/actions/sectors.ts","redux/constants/municipalities.ts","redux/actions/municipalities.ts","redux/constants/counties.ts","redux/actions/counties.ts","views/index.tsx","components/auth/LoginForm.tsx","components/auth/ForgotPasswordForm.tsx","views/auth/Login.tsx","components/auth/ResetPasswordForm.tsx","views/auth/ResetPassword.tsx","routing/PrivateRoute.tsx","views/auth/FirstTimeLoginChangePassword.tsx","views/500.tsx","Home.tsx","components/layout/HistoryListener.ts","App.tsx","serviceWorkerRegistration.ts","redux/middlewares.ts","redux/reducers/theme.ts","redux/reducers/auth.ts","redux/reducers/roles.ts","redux/reducers/users.ts","redux/reducers/institutions.ts","redux/reducers/sectors.ts","redux/reducers/municipalities.ts","redux/reducers/counties.ts","redux/reducers/subjects.ts","redux/reducers/evaluationPeriods.ts","redux/reducers/documents.ts","redux/reducers/myInstitution.ts","redux/reducers/property.ts","redux/reducers/fields.ts","redux/reducers/graphicalData.ts","redux/reducers/evidenceTemplate.ts","redux/reducers/summaryTemplate.ts","redux/reducers/evidence.ts","redux/reducers/summary.ts","redux/reducers/index.ts","redux/store.ts","index.tsx"],"names":["i18n","use","Backend","LanguageDetector","initReactI18next","init","lng","fallbackLng","supportedLngs","debug","interpolation","escapeValue","localeValues","locale","DatePicker","lang","placeholder","yearPlaceholder","quarterPlaceholder","monthPlaceholder","weekPlaceholder","rangePlaceholder","today","now","backToToday","ok","clear","month","year","timeSelect","dateSelect","monthSelect","yearSelect","decadeSelect","yearFormat","dateFormat","dayFormat","dateTimeFormat","monthFormat","monthBeforeYear","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","timePickerLocale","weekFormat","Table","filterTitle","filterConfirm","filterReset","selectAll","selectInvert","selectionAll","sortTitle","expand","collapse","triggerDesc","triggerAsc","cancelSort","Modal","okText","cancelText","justOkText","Popconfirm","Transfer","searchPlaceholder","itemUnit","itemsUnit","Empty","description","Upload","uploading","removeFile","uploadError","previewFile","downloadFile","Text","edit","copy","copied","PageHeader","back","SIDE_NAV_WIDTH","InstitutionTypeName","UserRole","AppLoading","_jsx","style","backgroundColor","position","className","LOGIN_SUCCESS","TOGGLE_APP_LOADING","LOGIN_FAIL","FETCH_USER_SUCCESS","FETCH_USER_FAIL","CHANGE_PASSWORD","CHANGE_PASSWORD_FAIL","CHANGE_PASSWORD_FIRST_TIME","CHANGE_PASSWORD_FIRST_TIME_FAIL","UPDATE_CURRENT_USER","UPDATE_CURRENT_USER_SUCCESS","UPDATE_CURRENT_USER_FAIL","LOGOUT","RESET_AUTH_ERRORS","RESET_STATE_ACTION","toggleAppLoading","loading","type","payload","fetchUser","userId","userRole","email","async","dispatch","user","agent","User","current","role","error","errors","data","fetchingCurrentUserErrors","logout","REACT_APP_URL","process","responseData","response","request","url","params","arguments","length","undefined","axios","get","then","post","body","put","delete","responseType","file","config","formData","FormData","append","headers","AxiosInitiation","store","history","t","defaults","baseURL","interceptors","configuration","token","window","localStorage","getItem","Authorization","concat","Promise","reject","_error$response","_error$response2","message","content","duration","status","push","code","Auth","login","userData","changePassword","resetPasswordRequest","resetPasswordConfirm","updateCurrentUser","id","update","add","list","Role","Sector","Municipality","County","Institution","institution","listTypes","getById","listUsers","listSubjects","getInstitutionSubjectById","institutionId","institutionSubjectId","listSubjectsForInstitution","addSubjects","institutionSubject","updateSubject","deleteSubject","Fields","listFieldSubfields","Subject","subject","EvaluationPeriod","evaluationPeriod","Document","download","upload","Property","Statistic","updateInstitutionStatistics","statistics","fetchInstitutionStatistics","InstitutionSelfEvaluation","selfEvaluationId","saveResponse","listResponse","subFieldId","GraphicalData","listInstitutionSubfieldPercentageCompleted","listInstitutionSubfieldQuantityCompleted","Report","listFieldsData","selEvaluationId","getStatistics","intitutionType","getSummary","getPerformanceByFields","evaluationPeriodId","getPerformanceByYears","getProgress","getProgressExcel","getStatisticsExcel","Evidence","evidence","evidenceId","Summary","summary","summaryId","EvidenceTemplate","addEvidenceTemplate","updateEvidenceTemplate","deleteEvidenceTemplate","SummaryTemplate","addOrUpdateSummaryTemplate","template","Utils","getBreakPoint","screens","breakpoints","Object","keys","forEach","key","getRouteInfo","navTree","path","route","p","this","deleteArrayRow","value","filter","item","antdTableSorter","a","b","value1","toLowerCase","value2","wildCardSearch","input","flag","toString","toUpperCase","indexOf","searchText","downloadDocument","filename","split","trim","join","URL","createObjectURL","Blob","link","document","createElement","href","setAttribute","appendChild","click","_error$data","_errors$message","getProperty","obj","prop","setProperty","isDateInRange","startDate","endDate","moment","isBetween","isDateBefore","isBefore","TOGGLE_COLLAPSED_NAV","TOGGLE_MOBILE_NAV","SELECT_LANGUAGE","onMobileNavToggle","mobileNav","useBreakpoint","Grid","getLogoWidthGutter","navCollapsed","isMobile","getLogo","getLogoDisplay","mobileLogo","Logo","_ref","utils","includes","useSelector","state","theme","width","children","src","alt","height","objectFit","Icon","props","_Fragment","React","NavProfile","_user$role$name","useTranslation","useDispatch","useHistory","auth","menuItem","name","title","icon","EditOutlined","Director","Admin","SettingOutlined","profileMenu","_jsxs","Avatar","size","UserOutlined","firstName","lastName","Menu","map","el","i","Item","Link","to","onClick","replace","LogoutOutlined","Dropdown","placement","overlay","trigger","mode","Header","Layout","HeaderNav","onToggle","toggleCollapsedNav","MenuUnfoldOutlined","MenuFoldOutlined","adminNavTree","HomeOutlined","header","submenu","TeamOutlined","BankOutlined","ClusterOutlined","CalendarOutlined","FileTextOutlined","ContainerOutlined","ProfileOutlined","directorNavTree","institutionNavTree","reportsNavTree","LineChartOutlined","ContactsOutlined","TrophyOutlined","BarChartOutlined","PieChartOutlined","SnippetsOutlined","OneToOneOutlined","navigationConfig","SubMenu","setDefaultOpen","keyList","keyString","arr","index","elm","MenuContent","routeInfo","navigation","closeMobileNav","borderRight","defaultSelectedKeys","defaultOpenKeys","menu","ItemGroup","subMenuFirst","subMenuSecond","Sider","SideNav","collapsed","Scrollbars","autoHide","Footer","Flex","alignItems","justifyContent","mobileFlex","flexDirection","computedClassName","MobileNav","onClose","Drawer","closable","visible","bodyStyle","padding","onKeyDown","tabIndex","ArrowLeftOutlined","display","NotFound","showContainer","Row","align","Col","xs","sm","md","Button","goBack","span","offset","Alert","AntAlert","marginBottom","ChangePasswordForm","firstTimeLogin","firstLogin","changePasswordErrors","Form","layout","onFinish","values","changePasswordFirstTime","successMessage","success","label","rules","required","Input","Password","getFieldValue","validator","rule","resolve","htmlType","ChangePassword","Card","lg","Option","Select","EditProfile","updatingCurrentUser","editProfileErrors","updateCurrentUserErrors","address","phone","roleId","initialValues","getInitialValues","gutter","disabled","UserDataInfo","iconType","dataKey","dataValue","HomeInfo","xl","AuditOutlined","MailOutlined","PhoneOutlined","Home","FETCH_INSTITUTIONS","FETCH_INSTITUTIONS_SUCCESS","FETCH_INSTITUTIONS_FAIL","FETCH_INSTITUTION_SUBJECTS","FETCH_INSTITUTION_SUBJECTS_SUCCESS","FETCH_INSTITUTION_SUBJECTS_FAIL","ADD_INSTITUTION_SUBJECT","ADD_INSTITUTION_SUBJECT_SUCCESS","ADD_INSTITUTION_SUBJECT_FAIL","UPDATE_INSTITUTION_SUBJECT","UPDATE_INSTITUTION_SUBJECT_SUCCESS","UPDATE_INSTITUTION_SUBJECT_FAIL","DELETE_INSTITUTION_SUBJECT","DELETE_INSTITUTION_SUBJECT_SUCCESS","DELETE_INSTITUTION_SUBJECT_FAIL","SHOW_INSTITUTION_SUBJECT_FORM","CLOSE_INSTITUTION_SUBJECT_FORM","ADD_INSTITUTION","ADD_INSTITUTION_SUCCESS","ADD_INSTITUTION_FAIL","UPDATE_INSTITUTION","UPDATE_INSTITUTION_SUCCESS","UPDATE_INSTITUTION_FAIL","FETCH_INSTITUTION_TYPES","FETCH_INSTITUTION_TYPES_SUCCESS","FETCH_INSTITUTION_TYPES_FAIL","DELETE_INSTITUTION","DELETE_INSTITUTION_SUCCESS","DELETE_INSTITUTION_FAIL","RESET_INSTITUTION_ERRORS","addInstitutionSubject","institutionSubjectSendRequest","institutionSubjects","showInstitutionSubjectForm","deleteInstitutionSubject","SearchTable","tableColumns","dataSource","search","columns","rowKey","InstitutionsList","match","useRouteMatch","institutions","municipalities","municipality","counties","county","setSearch","useState","Redirect","institutionsDisplay","_institution$email","_institution$phone","_counties$filter$","municipalityDescription","institutionTypeDescription","institutionType","sectorDescription","sector","countyDescription","_municipalities$filte","countyId","onHandleDelete","deleteInstitution","dataIndex","sorter","render","_","row","AGJENSIA_KOMBETARE_ARSIMIT","AGJENSIA_KOMBETARE_PUNESIMIT_AFTESIVE","canEdit","Tooltip","EyeOutlined","onConfirm","danger","DeleteOutlined","prefix","SearchOutlined","onChange","e","currentTarget","addInstitution","PlusCircleOutlined","block","Institutions","PageHeaderAlt","background","overlap","backgroundImage","StatisticsReportHeader","element","generatePDF","generateExcel","generatingPDF","generatingExcel","subtitle","isMedium","isSmall","margin","FilePdfOutlined","FileExcelOutlined","StatisticWidget","StatisticalData","isXs","colProps","flex","marginTop","LineChart","series","legendPosition","options","chart","toolbar","show","dataLabels","enabled","stroke","legend","markers","hover","sizeOffset","grid","borderColor","Chart","Spinner","fontSize","antIcon","LoadingOutlined","spin","Spin","indicator","getEvaluationPeriodBasedOnInstitutionType","SHKOLLE","generatePDFReport","images","pdfMake","vfs","pdfFonts","image","text","pageBreak","bold","docDefinition","format","styles","date","italics","color","createPdf","generateExcelReport","fileName","tableName","tableHeader","workbook","ExcelJS","Workbook","worksheet","addWorksheet","createTable","result","addTable","ref","rows","xlsx","writeBuffer","buffer","saveAs","GraduationStatisticsReport","institutionTypes","QENDER_FORMIMI_PROFESIONAL","setInstitutionType","stats","setStats","loadingStatistics","setLoadingStatistics","groupedByInstitution","setGroupedByInstitution","groupedBySubjects","setGroupedBySubjects","setGeneratingPDF","setGeneratingExcel","statisticsGraduationImage1","useRef","statisticsGraduationImage2","useCallback","generateChartsDataSource","groupBySchools","_ref2","_ref3","graduation","x","y","groupBySubjects","_ref4","_ref5","useEffect","reportTitle","firstImage","secondImage","scrollTo","canvas","html2canvas","scrollX","toDataURL","datasource","_ref7","institutiontype","instType","property","subproperty","registration","border","borderRadius","defaultValue","justify","renderWidgets","_ref6","Date","getFullYear","VerticalBarChart","percentage","xaxis","lines","yaxis","plotOptions","bar","horizontal","offsetX","formatter","tooltip","tickPlacement","labels","minWidth","maxWidth","tickAmount","min","max","HorizontalBarChart","evaluateSelfEvaluationRating","Math","round","getSelEvalutationAverageRating","responsesWithValue","rating","reduce","acc","curr","_curr$rating","generateSelfEvaluationReportResult","currentField","subFields","indicators","groupedIndicators","groupBy","count","subFieldName","indicatorId","totalPoints","_item$rating","subField","_item$rating2","fieldId","fieldName","tempIndicators","tempCriteria","criteria","_criteria$description","_criteria$evidence","question","fieldExtractPDFReport","selfEvaluation","fields","field","vleresimiSipasTreguesve","indexOfSubField","indexOfIndicator","_indicator$rating$toF","_indicator$rating","rowSpan","toFixed","alignment","vleresimiSipasKritereve","subFieldRowSpan","indexOfCriteria","_criteria$rating$toFi","_criteria$rating","totalRating","pageOrientation","period","table","paddingLeft","widths","headerRows","_rating$toFixed","pageBreakBefore","currentNode","followingNodesOnPage","headlineLevel","footer","currentPage","pageCount","mainheader","subheader","subheader_1","fillColor","tableField","tableField_1","defaultStyle","startingColumn","headerCell","fontHeader","cell","getCell","font","generateSelfEvaluationExcelReport","createSubFieldEvaluationTable","createIndicatordEvaluationTable","createCriteriaEvaluationTable","TextItemsList","items","itemIds","IconsItemsList","reportGenerator","parseInt","EvaluationPerformanceSummaryReport","evaluationPeriods","setEvaluationPeriod","loadingSummary","setLoadingSummary","setSummary","fieldsSummaryDataSource","setFieldsSummaryDataSource","selfEvaluationSummaryDataSource","setSelfEvaluationSummaryDataSource","institutionPoints","setInstitutionPoints","setStatistics","countyPoints","setCountyPoints","resultSummaryImage","summaryProgress","selfEvaluationSummary","countiesPoints","selectEvaluationPeriod","currentPeriod","generateSelfEvaluationReport","_selfEvaluationList$f","_err$message","err","renderTextItemsList","fieldIds","fieldsSummaryTableColumns","selfEvaluationSummaryTableColumns","averageFieldRating","Title","level","documentId","FileOutlined","renderFieldsProgress","fieldsProgress","selfEvaluationIds","generateSelfEvaluationPdfReport","startdate","enddate","subfield","scroll","pagination","pageSize","showSizeChanger","EvaluationPerformanceByFieldsReport","setSubField","loadingResults","setLoadingResults","results","setResults","resultByFields","setResultByFields","resultByInstitutions","setResultByInstitutions","resultBySubfields","setResultBySubfields","setSubFields","resultPerformanceByFieldsImage","resultPerformanceBySubFieldsImage","getResults","resultBySubFields","mappedSubFields","showSearch","optionFilterProp","EvaluationPerformanceByYearsReport","institutionProgress","setInstitutionProgress","groupedByFields","setGroupedByFields","groupedByInstitutions","setGroupedByInstitutions","performanceByYearsImage","institutionsResult","periods","institutionsProgress","EvaluationProgressReport","resultForInstitutionByFields","setResultForInstitutionByFields","resultForInstitutions","setResultForInstitutions","resultForCounties","setResultForCounties","resultForFields","setResultForFields","evaluationProgressImage1","evaluationProgressImage2","completed","floor","parseFloat","FETCH_EVALUATION_PERIODS","FETCH_EVALUATION_PERIODS_SUCCESS","FETCH_EVALUATION_PERIODS_FAIL","ADD_EVALUATION_PERIOD","ADD_EVALUATION_PERIOD_SUCCESS","ADD_EVALUATION_PERIOD_FAIL","UPDATE_EVALUATION_PERIOD","UPDATE_EVALUATION_PERIOD_SUCCESS","UPDATE_EVALUATION_PERIOD_FAIL","DELETE_EVALUATION_PERIOD","DELETE_EVALUATION_PERIOD_SUCCESS","DELETE_EVALUATION_PERIOD_FAIL","RESET_EVALUATION_PERIOD_ERRORS","EvaluationPeriodsList","deletingEvaluationPeriod","evaluationPeriodsDisplay","_evaluationPeriod$doc","schoolPeriod","coursePeriod","deleteEvaluationPeriod","addEvaluationPeriod","EvaluationPeriods","ADD_USER","ADD_USER_SUCCESS","ADD_USER_FAIL","FETCH_USERS","FETCH_USERS_SUCCESS","FETCH_USERS_FAIL","UPDATE_USER","UPDATE_USER_SUCCESS","UPDATE_USER_FAIL","DELETE_USER","DELETE_USER_SUCCESS","DELETE_USER_FAIL","RESET_USER_ERRORS","UsersList","users","deletingUserLoading","deletingUser","userDisplay","_el$institution","_el$institution2","_el$role","_el$role2","institutionDescription","roleDescription","deleteUser","record","addProduct","Users","AppBreadCrumb","buildBreadcrumb","Breadcrumb","UsersForm","form","useForm","roles","updatingUser","savingUser","addingUser","addUserErrors","errorsAddingUser","updateUserErrors","errorsUpdatingUser","institutionAndRole","updateUser","addUser","resetFields","marginLeft","marginRight","Cascader","_institutionTypeFor","find","institutionTypeFor","InstitutionAdmin","InstitutionDirector","AddUser","EditUser","InstitutionSubjectForm","subjects","onCancel","onSubmit","subjectId","setFieldsValue","confirmLoading","destroyOnClose","afterClose","onOk","validateFields","evaluationPeriodIds","InstitutionSubjectsList","_state$auth$user","addingInstitutionSubject","updatingInstitutionSubject","addInstitutionSubjectErrors","errorsAddingInstitutionSubject","updateInstitutionSubjectErrors","errorsUpdatingInstitutionSubject","fetchingInstitutionSubjects","currentInstitutionSubject","showingForm","showingInstitutionSubjectsForm","institutionSubjectsDisplay","subjectName","evaluationPeriodDescription","institutionTypeId","institutionSubjectResponse","hasStatistics","handleAddInstitutitonSubject","InstitutionSubjectsForm","resetForm","updateInstitutionSubject","InstitutionsForm","_countyForMunicipalit","sectors","addingInstitution","addInstitutionErrors","errorsAddingInstitution","updatingInstitution","updateInstitutionErrors","errorsUpdatingInstitution","loadingInstitutionSubjects","sectorId","countyAndMunicipality","municipalityId","countyForMunicipalityId","acronym","updateInstitution","updatedInstitution","institutionSendRequest","extra","AddInstitution","EditInstitution","AdminPrivateRoute","component","Component","exact","routeMatch","Route","location","renderComponent","FETCH_SUBJECTS","FETCH_SUBJECTS_SUCCESS","FETCH_SUBJECTS_FAIL","ADD_SUBJECT","ADD_SUBJECT_SUCCESS","ADD_SUBJECT_FAIL","UPDATE_SUBJECT","UPDATE_SUBJECT_SUCCESS","UPDATE_SUBJECT_FAIL","DELETE_SUBJECT","DELETE_SUBJECT_SUCCESS","DELETE_SUBJECT_FAIL","RESET_SUBJECT_ERRORS","SubjectsList","deletingSubject","errorsDeletingSubject","subjectsDisplay","_institutionTypes$fil","addSubject","Subjects","SubjectsForm","updatingSubject","addingSubject","addSubjectErrors","errorsAddingSubject","updateSubjectErrors","errorsUpdatingSubject","subjectSendRequest","updatedSubject","AddSubject","EditSubject","FETCH_DOCUMENTS","FETCH_DOCUMENTS_SUCCESS","FETCH_DOCUMENTS_FAIL","UPLOAD_DOCUMENT","RESET_DOCUMENT_ERRORS","UploadDocument","documents","initialDocument","documentList","setdocumentList","uid","originalDocumentName","info","fileList","slice","onRemove","beforeUpload","allowedFileFormat","allowedFileSize","customRequest","onSuccess","onError","onProgress","onUploadProgress","event","percent","loaded","total","uploadDocument","UploadOutlined","EvaluationPeriodForm","_useSelector$filter$","RangePicker","setDocument","setUploading","savingEvaluationPeriod","addingEvaluationPeriod","updatingEvaluationPeriod","editEvaluationPeriodErrors","doc","_document$id","evaluationPeriodData","updateEvaluationPeriod","picker","AddSelfEvaluationPeriod","EditEvaluationPeriod","SideContent","sideContent","sideContentWidth","SideContentMobile","onSideContentClose","paddingRight","InnerAppLayout","mainContent","pageHeader","sideContentGutter","setVisible","close","MenuOutlined","FETCH_MY_INSTITUTION","FETCH_MY_INSTITUTION_SUCCESS","FETCH_MY_INSTITUTION_FAIL","FETCH_MY_INSTITUTION_USERS","FETCH_MY_INSTITUTION_USERS_SUCCESS","FETCH_MY_INSTITUTION_USERS_FAIL","FETCH_MY_INSTITUTION_SUBJECTS","FETCH_MY_INSTITUTION_SUBJECTS_SUCCESS","FETCH_MY_INSTITUTION_SUBJECTS_FAIL","FETCH_MY_INSTITUTION_STATISTICS","FETCH_MY_INSTITUTION_STATISTICS_SUCCESS","FETCH_MY_INSTITUTION_STATISTICS_FAIL","UPDATE_MY_INSTITUTION_STATISTICS","UPDATE_MY_INSTITUTION_STATISTICS_SUCCESS","UPDATE_MY_INSTITUTION_STATISTICS_FAIL","FETCH_MY_INSTITUTION_SELF_EVALUATION","FETCH_MY_INSTITITUTION_SELF_EVALUATION_SUCCESS","FETCH_MY_INSTITITUTION_SELF_EVALUATION_FAIL","UPDATE_MY_INSTITUTION_SELF_EVALUATION","UPDATE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS","UPDATE_MY_INSTITUTION_SELF_EVALUATION_FAIL","DELETE_MY_INSTITUTION_SELF_EVALUATION","DELETE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS","DELETE_MY_INSTITUTION_SELF_EVALUATION_FAIL","SHOW_MY_INSTITUTION_SELF_EVALUATION_FORM","CLOSE_MY_INSTITUTION_SELF_EVALUATION_FORM","UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE","UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_SUCCESS","UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_FAIL","FETCH_MY_INSTITUTION_CURRENT_RESPONSE","FETCH_MY_INSTITUTION_CURRENT_RESPONSE_SUCCESS","FETCH_MY_INSTITUTION_CURRENT_RESPONSE_FAIL","RESET_MY_INSTITUTION_ERRORS","FETCH_SUBFIELD_PERCENTAGE_COMPLETED","FETCH_SUBFIELD_PERCENTAGE_COMPLETED_SUCCESS","FETCH_SUBFIELD_PERCENTAGE_COMPLETED_FAIL","fetchSubfieldPercentageCompleted","subfieldsPercentageCompleted","fetchMyInstitution","fetchMyInstitutionUsers","fetchMyInstitutionSubjects","fetchMyInstitutionStatistics","fetchMyInstitutionSelfEvaluation","closeInstitutionSelfEvaluationForm","FETCH_PROPERTIES","FETCH_PROPERTIES_SUCCESS","FETCH_PROPERTIES_FAIL","fetchProperties","properties","SUMMARY_TEMPLATE_NAME","FETCH_INSTITUTION_SUMMARY","FETCH_INSTITUTION_SUMMARY_SUCCESS","FETCH_INSTITUTION_SUMMARY_FAIL","ADD_INSTITUTION_SUMMARY","ADD_INSTITUTION_SUMMARY_SUCCESS","ADD_INSTITUTION_SUMMARY_FAIL","UPDATE_INSTITUTION_SUMMARY","UPDATE_INSTITUTION_SUMMARY_SUCCESS","UPDATE_INSTITUTION_SUMMARY_FAIL","DELETE_INSTITUTION_SUMMARY","DELETE_INSTITUTION_SUMMARY_SUCCESS","DELETE_INSTITUTION_SUMMARY_FAIL","RESET_INSTITUTION_SUMMARY_ERRORS","fetchSummaries","summaries","SummaryModal","_summaryData$summaryD","_summaryData$summaryD2","summaryData","summaryDocument","getContainer","okButtonProps","updateSummary","updatedSummary","addSummary","addedSummary","finalReportTemplateId","templateId","sectionListItems","selfEvaluationSection","selfEvaluations","summaryTemplate","SelfEvaluationList","Panel","Collapse","currentSummary","setCurrentSummary","myInstitution","setLoading","generateReport","renderListItem","isSelfEvaluation","renderSelfEvaluation","List","selfEvaluationReportPDF","selfEvaluationReportExcel","templateDocument","Badge","PaperClipOutlined","renderSummaryTemplate","UnorderedListOutlined","sections","groupedSelfEvaluations","_section$selfEvaluati","section","tempSelfEvaluations","sectionEvaluationPeriod","summaryForSection","_summaryForSection$do","bordered","renderItem","SelfEvaluation","_institution$name","_institution$institut","_institution$sector$d","_director$firstName","_director$lastName","director","member","ApartmentOutlined","ForkOutlined","SelfEvaluationPeriodForm","addingMyInstitutionSelfEvaluationPeriod","addingMyInstitutionSelfEvaluation","_sortedByEndDate","sortedByEndDate","sort","first","second","valueOf","getIdOfLatestEvaluationPeriod","updateMyInstitutionSelfEvaluation","SelfEvaluationPeriodList","modalVisibility","showMyInstitutionSelfEvaluationForm","deletingSelfEvaluation","deletingMyInstitutionSelfEvaluation","institutionSelfEvaluationDisplay","fieldDescription","evaluationPeriodStartDate","evaluationPeriodEndDate","hasResponses","deleteMyInstitutionSelfEvaluation","AddSelfEvaluation","SubFieldsList","graphs","subFieldsPercentageCompleted","renderSubFieldTitle","_filteredPercentage$","filteredPercentage","percentageResponse","Meta","itemLayout","actions","FieldsOverview","setTitle","whiteSpace","FETCH_FIELDS","FETCH_FIELDS_SUCCESS","FETCH_FIELDS_FAIL","FETCH_SUBFIELDS","FETCH_SUBFIELDS_SUCCESS","FETCH_SUBFIELDS_FAIL","Indicators","responses","progress","currentTab","setCurrentTab","TabPane","Tabs","TextArea","getReadOnlyRating","formItems","Radio","Group","maxLength","readOnlyFormItems","currentResponse","criteriaId","activeKey","tabActiveKey","tab","Divider","criteriaIndex","fontWeight","SubFieldEvaluation","fetchingSubfields","fetchingSubFields","fetchingCurrentResponse","fetchingMyInstitutionCurrentResponse","updatingSelfEvaluationResponses","updatingMyInstitutionSelfEvaluationResponse","fetchingSubFieldPercentageCompleted","fetchingMyInstitutionSelfEvaluation","insitutionId","setProgress","firstTab","lastTab","isOnFirstTab","isOnLastTab","prototype","hasOwnProperty","call","_values$key","_values$key2","parts","indicatorExists","criteriaExists","updateMyInstitutionSelfEvaluationResponse","onFinishFailed","errorFields","_response$description","_response$evidence","LeftOutlined","RightOutlined","YearlyStatisticalPropertyDataCard","institutionStatistics","renderDataCard","subProperty","InputNumber","hasGraduation","renderReadOnlyDataCard","_result$registration","_result$graduation","subPropertyId","subProperties","SubjectsDrawer","onAddSubject","availableSubjects","PlusOutlined","YearlyStatisticalSubjectDataCard","allSubjects","isUpdatingMyInstitutionSubjects","updatingMyInstitutionSubjects","drawerVisible","setDrawerVisible","addSubjectTitle","canModifyInstitutionSubjects","canDeleteInstitutionSubject","renderDeleteInstitutionSubject","onDeleteInstitutionSubject","stopPropagation","YearlyStatisticalDataList","updatingMyInstitutionStatistics","tempSubjects","tempProperties","objExists","updateMyInstitutionStatistics","sub","SubjectDataCard","PropertyDataCard","EditYearlyStatisticalData","propertiesList","YearlyStatisticalData","FETCH_INSTITUTION_EVIDENCE","FETCH_INSTITUTION_EVIDENCE_SUCCESS","FETCH_INSTITUTION_EVIDENCE_FAIL","ADD_INSTITUTION_EVIDENCE","ADD_INSTITUTION_EVIDENCE_SUCCESS","ADD_INSTITUTION_EVIDENCE_FAIL","UPDATE_INSTITUTION_EVIDENCE","UPDATE_INSTITUTION_EVIDENCE_SUCCESS","UPDATE_INSTITUTION_EVIDENCE_FAIL","DELETE_INSTITUTION_EVIDENCE","DELETE_INSTITUTION_EVIDENCE_SUCCESS","DELETE_INSTITUTION_EVIDENCE_FAIL","fetchEvidences","evidences","InstitutionMenuOption","pathname","useLocation","selectedKeys","InstitutionContent","Switch","from","InstitutionOverview","fetchingMyInstitution","fetchingMyInstitutionUsers","fetchingMyInstitutionSubjects","fetchingProperties","fetchingInstitutionStatistics","fetchingMyInstitutionStatistics","Overview","FETCH_EVIDENCE_TEMPLATES","FETCH_EVIDENCE_TEMPLATES_SUCCESS","FETCH_EVIDENCE_TEMPLATES_FAIL","ADD_EVIDENCE_TEMPLATE","ADD_EVIDENCE_TEMPLATE_SUCCESS","ADD_EVIDENCE_TEMPLATE_FAIL","UPDATE_EVIDENCE_TEMPLATE","UPDATE_EVIDENCE_TEMPLATE_SUCCESS","UPDATE_EVIDENCE_TEMPLATE_FAIL","DELETE_EVIDENCE_TEMPLATE","DELETE_EVIDENCE_TEMPLATE_SUCCESS","DELETE_EVIDENCE_TEMPLATE_FAILED","RESET_EVIDENCE_TEMPLATE_ERRORS","EvidenceTemplateList","evidenceTemplatesDisplay","evidenceTemplate","evidenceTemplates","onHandleEdit","addEvidence","EvidenceTemplateForm","_evidenceTemplate$doc","_evidenceTemplate$doc2","_evidenceTemplate$doc3","addingEvidenceTemplate","updatingEvidenceTemplate","saving","updatedTemplate","addedEvidenceTemplate","AddEvidenceTemplate","EditEvidenceTemplate","FETCH_SUMMARY_TEMPLATE","FETCH_SUMMARY_TEMPLATE_SUCCESS","FETCH_SUMMARY_TEMPLATE_FAIL","ADD_OR_UPDATE_SUMMARY_TEMPLATE","ADD_OR_UPDATE_SUMMARY_TEMPLATE_SUCCESS","ADD_OR_UPDATE_SUMMARY_TEMPLATE_FAIL","SummaryTemplateForm","_summaryTemplate$docu","_summaryTemplate$docu2","_summaryTemplate$docu3","addingOrUpdatingSummaryTemplate","addOrEditButtonDisabled","addedSummaryTemplate","RegistrationStatisticsReport","statisticsRegistrationImage1","statisticsRegistrationImage2","AdminRoutes","AddEvaluationPeriod","MyInstitution","InstitutionRoutes","FETCH_ROLES","FETCH_ROLES_SUCCESS","FETCH_ROLES_FAIL","fetchRoles","errorsFetchingRoles","FETCH_SECTORS","FETCH_SECTORS_SUCCESS","FETCH_SECTORS_FAIL","fetchSectors","FETCH_MUNICIPALITIES","FETCH_MUNICIPALITIES_SUCCESS","FETCH_MUNICIPALITIES_FAIL","fetchMunicipalities","FETCH_COUNTIES","FETCH_COUNTIES_SUCCESS","FETCH_COUNTIES_FAIL","fetchCounties","Content","withRouter","fetchingCurrentUser","fetchingRoles","fetchingUsers","fetchingInstitutions","fetchingInstitutionTypes","fetchingSectors","fetchingMunicipalities","fetchingCounties","fetchingSubjects","fetchingEvaluationPeriods","fetchingDocuments","fetchingFields","fetchingSummaries","fetchingEvidences","summaryTemplates","currentRouteInfo","LoginForm","setLogin","loginErrors","jwtDecode","LockOutlined","ForgotPasswordForm","emailSent","setEmailSent","setErrors","backgroundStyle","backgroundRepeat","backgroundSize","Login","lastLocation","showLogin","toggleShowLogin","appLoading","isAuthenticated","onShowLogin","ResetPasswordForm","query","URLSearchParams","FirstTimeLoginChangePassword","PrivateRoute","ServerError","destination","useStore","decodedToken","_decodedToken","_decodedToken2","_decodedToken3","ResetPassword","HistoryListener","myInstitutionErrors","documentErrors","evaluationPeriodErrors","evidenceTemplateErrors","institutionSummaryErrors","listen","createBrowserHistory","App","language","Suspense","fallback","ConfigProvider","alAL","enUS","Router","Boolean","hostname","tokenMiddleware","next","action","setItem","removeItem","initialState","themeReducer","authReducer","roleReducer","errorsFetchingUsers","errorsDeletingUser","userReducer","errorsFetchingInstitutions","deletingInstitutionSubject","errorsDeletingInstitutionSubject","errorsFetchingInstitutionSubjects","deletingInstitution","errorsDeletingInstitution","errorsFetchingInstitutionTypes","institutionReducer","currentInstitutionSubjects","otherInstitutionSubjects","sectorReducer","municipalityReducer","countyReducer","errorsFetchingSubjects","subjectsReducer","evaluationPeriodsReducer","documentReducer","myInstitutionReducer","statistic","propertyReducer","fieldReducer","graphicalDataReducer","fetchingEvidenceTemplates","deletingEvidenceTemplate","evidenceTemplateReducer","fetchingSummaryTemplate","summaryTemplateReducer","addingEvidence","updatingEvidence","deletingEvidence","evidenceReducer","addingSummary","updatingSummary","deletingSummary","summaryReducer","appReducer","combineReducers","subjectReducer","middleware","thunk","createStore","rootReducer","updatedState","composeWithDevTools","applyMiddleware","ReactDOM","Provider","getElementById","navigator","serviceWorker","ready","unregister","catch","console"],"mappings":"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","file":"static/js/main.d25e2098.chunk.js","sourcesContent":["import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport Backend from 'i18next-http-backend';\n\ni18n\n .use(Backend)\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n lng: 'al',\n fallbackLng: 'en',\n supportedLngs: ['al', 'en'],\n debug: false,\n interpolation: {\n escapeValue: false\n }\n });\n\nexport default i18n;\n","import DatePicker from './datepicker';\n\nconst localeValues = {\n locale: 'al',\n DatePicker,\n Table: {\n filterTitle: 'Filtro',\n filterConfirm: 'OK',\n filterReset: 'Rivendos',\n selectAll: 'Zgjidh faqen aktuale',\n selectInvert: 'Përmbys zgjedhjen e faqes aktuale',\n selectionAll: 'Zgjidhni të gjitha të dhënat',\n sortTitle: 'Rendit',\n expand: 'Zgjero vijën',\n collapse: 'Zvogëlo vijën',\n triggerDesc: 'Rendit në rendit zbritës',\n triggerAsc: 'Rendit në rendit rritës',\n cancelSort: 'Anullo'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Anullo',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Anullo'\n },\n Transfer: {\n searchPlaceholder: 'Kërko',\n itemUnit: 'element',\n itemsUnit: 'elementë'\n },\n Empty: {\n description: 'Nuk ka të dhëna'\n },\n Upload: {\n uploading: 'Duke ngarkuar...',\n removeFile: 'Fshi skedarin',\n uploadError: 'Gabim në ngarkim',\n previewFile: 'Paraqit skedarin',\n downloadFile: 'Shkarko skedarin'\n },\n Text: {\n edit: 'Ndrysho',\n copy: 'Kopjo',\n copied: 'Kopjuar'\n // expand: 'Développer'\n },\n PageHeader: {\n back: 'Kthehu'\n }\n};\n\nexport default localeValues;\n","import { PickerLocale } from 'antd/lib/date-picker/generatePicker';\n\nconst locale: PickerLocale = {\n lang: {\n locale: 'al',\n placeholder: 'Zgjidh datën',\n yearPlaceholder: 'Zgjidh vitin',\n quarterPlaceholder: 'Zgjidh 4-mujorin',\n monthPlaceholder: 'Zgjidh muajin',\n weekPlaceholder: 'Zgjidh javën',\n rangePlaceholder: ['Data e fillimi', 'Data e mbarimit'],\n today: 'Sot',\n now: 'Tani',\n backToToday: 'Kthehu në ditën e sotme',\n ok: 'Ok',\n clear: 'Fshij',\n month: 'Muaj',\n year: 'Vit',\n timeSelect: 'Zgjidh kohën',\n dateSelect: 'Zfjidh datën',\n monthSelect: 'Zgjidh një muaj',\n yearSelect: 'Zgjidh një vit',\n decadeSelect: 'Zgjidh një dekadë',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthFormat: 'MMMM',\n monthBeforeYear: true,\n previousMonth: 'Muaj i kaluar',\n nextMonth: 'Muaj tjetër',\n previousYear: 'Viti i kaluar',\n nextYear: 'Viti tjetër',\n previousDecade: 'Dekada e kaluar',\n nextDecade: 'Dekada tjetër',\n previousCentury: 'Shekulli i kaluar',\n nextCentury: 'Shekulli tjetër'\n },\n timePickerLocale: {\n placeholder: 'Zgjidh kohën',\n rangePlaceholder: ['Koha e fillimit', 'Koha e mbarimit']\n },\n dateFormat: 'DD-MM-YYYY',\n dateTimeFormat: 'DD-MM-YYYY HH:mm:ss',\n weekFormat: 'wo-YYYY',\n monthFormat: 'MM-YYYY'\n};\n\nexport default locale;\n","export const ROW_GUTTER = 16;\nexport const SIDE_NAV_WIDTH = 250;\nexport const SIDE_NAV_COLLAPSED_WIDTH = 80;\nexport const ALBANIAN_LANGUAGE = 'al';\nexport const ENGLISH_LANGUAGE = 'en';\n\nexport enum InstitutionTypeName {\n QENDER_FORMIMI_PROFESIONAL = 'qfp',\n SHKOLLE = 'shkolle',\n AGJENSIA_KOMBETARE_ARSIMIT = 'akafp',\n AGJENSIA_KOMBETARE_PUNESIMIT_AFTESIVE = 'akpa'\n}\n\nexport enum UserRole {\n Admin = 'admin',\n Director = 'director',\n InstitutionAdmin = 'institution_admin',\n InstitutionDirector = 'institution_director'\n}\n","import React from 'react';\n\nconst AppLoading = () => (\n
\n);\n\nexport default AppLoading;\n","import { ILoginResponse } from '../../api/models/auth';\nimport { IError } from '../../api/models/error';\nimport { IUser } from '../../api/models/user';\n\nexport const LOGIN_SUCCESS = 'LOGIN_SUCCESS';\nexport const TOGGLE_APP_LOADING = 'TOGGLE_APP_LOADING';\nexport const LOGIN_FAIL = 'LOGIN_FAIL';\nexport const FETCH_USER_SUCCESS = 'FETCH_USER_SUCCESS';\nexport const FETCH_USER_FAIL = 'FETCH_USER_FAIL';\nexport const CHANGE_PASSWORD = 'CHANGE_PASSWORD';\nexport const CHANGE_PASSWORD_FAIL = 'CHANGE_PASSWORD_FAIL';\nexport const CHANGE_PASSWORD_FIRST_TIME = 'CHANGE_PASSWORD_FIRST_TIME';\nexport const CHANGE_PASSWORD_FIRST_TIME_FAIL = 'CHANGE_PASSWORD_FIRST_TIME_FAIL';\nexport const UPDATE_CURRENT_USER = 'UPDATE_CURRENT_USER';\nexport const UPDATE_CURRENT_USER_SUCCESS = 'UPDATE_CURRENT_USER_SUCCESS';\nexport const UPDATE_CURRENT_USER_FAIL = 'UPDATE_CURRENT_USER_FAIL';\nexport const LOGOUT = 'LOGOUT';\nexport const RESET_AUTH_ERRORS = 'RESET_AUTH_ERRORS';\n\nexport const RESET_STATE_ACTION = [LOGIN_FAIL, CHANGE_PASSWORD, CHANGE_PASSWORD_FIRST_TIME];\n\ninterface ILoginSuccess {\n type: typeof LOGIN_SUCCESS;\n payload: ILoginResponse;\n}\n\ninterface ILoginFail {\n type: typeof LOGIN_FAIL;\n payload: {\n errors: IError;\n };\n}\n\ninterface IFetchCurrentUserSuccess {\n type: typeof FETCH_USER_SUCCESS;\n payload: {\n user: IUser;\n role: string;\n email: string;\n };\n}\n\ninterface IFetchCurrentUserFail {\n type: typeof FETCH_USER_FAIL;\n payload: {\n fetchingCurrentUserErrors: IError;\n };\n}\n\ninterface IChangePassword {\n type: typeof CHANGE_PASSWORD;\n}\n\ninterface IChangePasswordFail {\n type: typeof CHANGE_PASSWORD_FAIL;\n payload: {\n errors: IError;\n };\n}\n\ninterface IChangePasswordFirstTime {\n type: typeof CHANGE_PASSWORD_FIRST_TIME;\n}\n\ninterface IChangePasswordFirstTimeFail {\n type: typeof CHANGE_PASSWORD_FIRST_TIME_FAIL;\n payload: {\n errors: IError;\n };\n}\n\ninterface IUpdateCurrentUser {\n type: typeof UPDATE_CURRENT_USER;\n}\n\ninterface IUpdateCurrentUserSuccess {\n type: typeof UPDATE_CURRENT_USER_SUCCESS;\n payload: {\n user: IUser;\n };\n}\n\ninterface IUpdateCurrentUserFail {\n type: typeof UPDATE_CURRENT_USER_FAIL;\n payload: {\n errors: IError;\n };\n}\n\ninterface ILogout {\n type: typeof LOGOUT;\n}\n\ninterface IAppLoading {\n type: typeof TOGGLE_APP_LOADING;\n payload: {\n loading: boolean;\n };\n}\n\n/** ************************** Reset auth errors *************************** */\ninterface IResetAuthErrors {\n type: typeof RESET_AUTH_ERRORS;\n}\n\nexport interface IAuthState {\n token: string | null;\n isAuthenticated: boolean;\n role: string | null;\n user: IUser | null;\n email: string | null;\n firstLogin: boolean;\n fetchingCurrentUser: boolean;\n fetchingCurrentUserErrors: IError | null;\n errors: IError | null;\n updatingCurrentUser: boolean;\n updateCurrentUserErrors: IError | null;\n appLoading: boolean;\n}\n\nexport type AuthActionTypes =\n | ILoginSuccess\n | ILoginFail\n | ILogout\n | IFetchCurrentUserSuccess\n | IFetchCurrentUserFail\n | IChangePassword\n | IChangePasswordFail\n | IChangePasswordFirstTime\n | IChangePasswordFirstTimeFail\n | IUpdateCurrentUser\n | IUpdateCurrentUserSuccess\n | IUpdateCurrentUserFail\n | IAppLoading\n | IResetAuthErrors;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport jwtDecode from 'jwt-decode';\nimport { message } from 'antd';\nimport {\n LOGIN_SUCCESS,\n FETCH_USER_SUCCESS,\n FETCH_USER_FAIL,\n LOGIN_FAIL,\n AuthActionTypes,\n LOGOUT,\n CHANGE_PASSWORD,\n CHANGE_PASSWORD_FAIL,\n UPDATE_CURRENT_USER_FAIL,\n UPDATE_CURRENT_USER,\n UPDATE_CURRENT_USER_SUCCESS,\n CHANGE_PASSWORD_FIRST_TIME,\n CHANGE_PASSWORD_FIRST_TIME_FAIL,\n TOGGLE_APP_LOADING,\n RESET_AUTH_ERRORS\n} from '../constants/auth';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IChangePasswordRequest, IDecodedToken, ILoginRequest } from '../../api/models/auth';\nimport { IError } from '../../api/models/error';\nimport { IUserSendRequest } from '../../api/models/user';\n\nexport const toggleAppLoading = (loading: boolean): AuthActionTypes => {\n return {\n type: TOGGLE_APP_LOADING,\n payload: {\n loading\n }\n };\n};\n\nexport const fetchUser = (\n userId: number,\n userRole: string,\n email: string\n): ThunkAction> => async (dispatch) => {\n try {\n dispatch(toggleAppLoading(true));\n\n const user = await agent.User.current(userId);\n\n dispatch({\n type: FETCH_USER_SUCCESS,\n payload: {\n user,\n role: userRole,\n email\n }\n });\n\n dispatch(toggleAppLoading(false));\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch(toggleAppLoading(false));\n\n dispatch({\n type: FETCH_USER_FAIL,\n payload: {\n fetchingCurrentUserErrors: errors\n }\n });\n }\n};\n\nexport const login = (\n values: ILoginRequest\n): ThunkAction> => async (dispatch) => {\n try {\n const { token } = await agent.Auth.login(values);\n\n if (token) {\n const result: IDecodedToken = jwtDecode(token);\n\n dispatch({\n type: LOGIN_SUCCESS,\n payload: {\n token,\n role: result.role,\n firstLogin: result.firstLogin,\n email: result.email\n }\n });\n\n if (!result.firstLogin) dispatch(fetchUser(result.id, result.role, result.email));\n }\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: LOGIN_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const logout = (): AuthActionTypes => {\n return {\n type: LOGOUT\n };\n};\n\nexport const changePasswordFirstTime = (\n values: IChangePasswordRequest,\n history: any\n): ThunkAction> => async (dispatch) => {\n try {\n await agent.Auth.changePassword(values);\n\n dispatch({\n type: CHANGE_PASSWORD_FIRST_TIME\n });\n\n history.replace('/');\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: CHANGE_PASSWORD_FIRST_TIME_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const changePassword = (\n values: IChangePasswordRequest,\n successMessage: string,\n history: any\n): ThunkAction> => async (dispatch) => {\n try {\n await agent.Auth.changePassword(values);\n\n message.success({ content: successMessage, duration: 3 });\n\n dispatch({\n type: CHANGE_PASSWORD\n });\n\n history.replace('/');\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: CHANGE_PASSWORD_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const updateCurrentUser = (\n id: number,\n values: IUserSendRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_CURRENT_USER\n });\n\n try {\n const user = await agent.Auth.updateCurrentUser(id, values);\n\n dispatch({\n type: UPDATE_CURRENT_USER_SUCCESS,\n payload: {\n user\n }\n });\n\n message.success({ content: successMessage, duration: 4 });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_CURRENT_USER_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const resetAuthErrors = (): AuthActionTypes => {\n return {\n type: RESET_AUTH_ERRORS\n };\n};\n","import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { TFunction } from 'i18next';\nimport { message } from 'antd';\nimport { Store } from 'redux';\nimport {\n IChangePasswordRequest,\n ILoginRequest,\n ILoginResponse,\n IResetPasswordEmail,\n IResetPasswordRequest\n} from './models/auth';\nimport { ICounty } from './models/county';\nimport {\n IInstitution,\n IInstitutionSendRequest,\n IInstitutionType,\n IInstitutionSubject,\n IInstitutionSubjectSendRequest,\n IInstitutionSubjectResponse\n} from './models/institution';\nimport { IMunicipality } from './models/municipality';\nimport { IRole } from './models/role';\nimport { ISector } from './models/sector';\nimport { IUser, IUserSendRequest } from './models/user';\nimport {\n IField,\n ISelfEvaluationResponse,\n ISendRequestSelfEvaluationResponse,\n ISubFieldComplete\n} from './models/field';\nimport { ISubject, ISubjectSendRequest } from './models/subject';\nimport { IEvaluationPeriod, IEvaluationPeriodSendRequest } from './models/evaluationPeriod';\nimport { IDocument } from './models/document';\nimport { IProperty } from './models/property';\nimport { IInstitutionStatistics } from './models/statistic';\nimport {\n IInstitutionSelfEvaluation,\n IInstitutionSelfEvaluationRequest\n} from './models/selfEvaluation';\nimport { ISubfieldPercentageCompleted, ISubfieldQuantityCompleted } from './models/graphicalData';\nimport {\n IFieldExtractReport,\n IProgressReport,\n IProgressReportExcel,\n IResultByFieldsReport,\n IResultByYearsReport,\n IResultSummaryReport,\n IStatisticsDataReport,\n IStatisticsReportExcel\n} from './models/report';\nimport {\n IEvidenceTemplateSendRequest,\n IEvidenceTemplate,\n IEvidenceTemplateUpdateRequest\n} from './models/evidenceTemplate';\nimport { IEvidence, IEvidenceSendRequest } from './models/evidence';\nimport { ISummary, ISummarySendRequest, ISummaryUpdateRequest } from './models/summary';\nimport { ISummaryTemplate, ISummaryTemplateSendRequest } from './models/summaryTemplate';\nimport { logout } from '../redux/actions/auth';\n\nconst { REACT_APP_URL } = process.env;\n\nconst AxiosInitiation = (store: Store, history: any, t: TFunction) => {\n axios.defaults.baseURL = REACT_APP_URL;\n axios.interceptors.request.use(\n (config: AxiosRequestConfig) => {\n const configuration = config;\n\n const token = window.localStorage.getItem('token');\n if (token) configuration.headers.Authorization = `Bearer ${token}`;\n return configuration;\n },\n (error: AxiosError) => {\n return Promise.reject(error);\n }\n );\n\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n return response;\n },\n (error: AxiosError) => {\n if (error.message === 'Network Error' && !error.response) {\n message.error({ content: t('general.network_error'), duration: 8 });\n\n store.dispatch(logout());\n }\n\n const status = error.response?.status;\n\n if (status === 404) {\n history.push('/404');\n }\n\n if (status === 500) {\n history.push('/500');\n }\n\n if (status === 403 && error.response?.data.code === 'token_invalid') {\n message.error({ content: t('general.expired_session'), duration: 8 });\n\n store.dispatch(logout());\n }\n\n throw error.response;\n }\n );\n};\n\nconst responseData = (response: AxiosResponse) => response?.data;\n\nconst request = {\n get: (url: string, params: any = undefined) => axios.get(url, { params }).then(responseData),\n post: (url: string, body: {}) => axios.post(url, body).then(responseData),\n put: (url: string, body: {}) => axios.put(url, body).then(responseData),\n delete: (url: string) => axios.delete(url).then(responseData),\n downloadDocument: (url: string) =>\n axios.get(url, {\n responseType: 'blob'\n }),\n uploadDocument: async (url: string, file: string | Blob, config: AxiosRequestConfig) => {\n const formData = new FormData();\n formData.append('file', file);\n\n const response = await axios.post(url, formData, {\n ...config,\n headers: { 'content-type': 'multipart/form-data' }\n });\n\n return responseData(response);\n }\n};\n\nconst Auth = {\n login: (userData: ILoginRequest): Promise => request.post('auth/login', userData),\n changePassword: (data: IChangePasswordRequest) => request.post('auth/password/change/', data),\n resetPasswordRequest: (email: IResetPasswordEmail) => request.post('auth/password/reset/', email),\n resetPasswordConfirm: (data: IResetPasswordRequest) =>\n request.post('auth/password/reset/confirm/', data),\n updateCurrentUser: (id: number, user: IUserSendRequest): Promise =>\n request.put(`/user/${id}`, user)\n};\n\nconst User = {\n current: (id: number): Promise => request.get(`/user/${id}`),\n update: (id: number, user: IUserSendRequest): Promise => request.put(`/user/${id}`, user),\n add: (user: IUserSendRequest): Promise => request.post('/user/', user),\n delete: (id: number) => request.delete(`/user/${id}`),\n list: (): Promise => request.get('/user/')\n};\n\nconst Role = {\n list: (): Promise => request.get('/role/')\n};\n\nconst Sector = {\n list: (): Promise => request.get('/sector/')\n};\n\nconst Institution = {\n list: (): Promise => request.get('/institution/'),\n add: (institution: IInstitutionSendRequest): Promise =>\n request.post('/institution/', institution),\n update: (id: number, institution: IInstitutionSendRequest): Promise =>\n request.put(`/institution/${id}`, institution),\n delete: (id: number): Promise => request.delete(`/institution/${id}`),\n listTypes: (): Promise => request.get('/institutionType/'),\n getById: (id: number): Promise => request.get(`/institution/${id}`),\n listUsers: (id: number): Promise => request.get(`/institution/${id}/users/`),\n listSubjects: (id: number): Promise =>\n request.get(`/institution/${id}/subjects/`),\n getInstitutionSubjectById: (\n institutionId: number,\n institutionSubjectId: number\n ): Promise =>\n request.get(`institution/${institutionId}/subjects/${institutionSubjectId}`),\n listSubjectsForInstitution: (id: number): Promise =>\n request.get(`/institution/${id}/subjects/`),\n addSubjects: (\n institutionId: number,\n institutionSubject: IInstitutionSubjectSendRequest\n ): Promise =>\n request.post(`/institution/${institutionId}/subjects/`, institutionSubject),\n updateSubject: (\n institutionId: number,\n institutionSubjectId: number,\n institutionSubject: IInstitutionSubjectSendRequest\n ): Promise =>\n request.put(\n `/institution/${institutionId}/subjects/${institutionSubjectId}`,\n institutionSubject\n ),\n deleteSubject: (institutionId: number, institutionSubjectId: number): Promise =>\n request.delete(`/institution/${institutionId}/subjects/${institutionSubjectId}`)\n};\n\nconst InstitutionSelfEvaluation = {\n list: (id: number): Promise =>\n request.get(`/institution/${id}/selfEvaluation`),\n update: (\n id: number,\n data: IInstitutionSelfEvaluationRequest\n ): Promise => request.post(`/institution/${id}/selfEvaluation`, data),\n delete: (institutionId: number, selfEvaluationId: number): Promise =>\n request.delete(`/institution/${institutionId}/selfEvaluation/${selfEvaluationId}`),\n saveResponse: (\n id: number,\n data: ISendRequestSelfEvaluationResponse\n ): Promise => request.post(`/institution/${id}/responses`, data),\n listResponse: (\n institutionId: number,\n selfEvaluationId: number,\n subFieldId: number\n ): Promise =>\n request.get(\n `/institution/${institutionId}/responses?selfEvaluationId=${selfEvaluationId}&subFieldId=${subFieldId}`\n )\n};\n\nconst Fields = {\n list: (): Promise => request.get('/field'),\n listFieldSubfields: (id: number): Promise =>\n request.get(`/field/${id}/subfield/`)\n};\n\nconst Municipality = {\n list: (): Promise => request.get('/municipality/')\n};\n\nconst County = {\n list: (): Promise => request.get('/county/')\n};\n\nconst Subject = {\n get: (id: number): Promise => request.get(`/subject/${id}`),\n list: (): Promise => request.get('/subject/'),\n add: (subject: ISubjectSendRequest): Promise => request.post('/subject/', subject),\n update: (id: number, subject: ISubjectSendRequest) => request.put(`/subject/${id}`, subject),\n delete: (id: number): Promise => request.delete(`subject/${id}`)\n};\n\nconst EvaluationPeriod = {\n get: (id: number): Promise => request.get(`/evaluationPeriods/${id}`),\n list: (): Promise => request.get('/evaluationPeriods'),\n update: (id: number, evaluationPeriod: IEvaluationPeriodSendRequest) =>\n request.put(`/evaluationPeriods/${id}`, evaluationPeriod),\n add: (evaluationPeriod: IEvaluationPeriodSendRequest): Promise =>\n request.post('/evaluationPeriods/', evaluationPeriod),\n delete: (id: number): Promise => request.delete(`/evaluationPeriods/${id}`)\n};\n\nconst Document = {\n list: (): Promise => request.get('/document/'),\n download: (id: number): Promise =>\n request.downloadDocument(`/document/${id}/download`),\n upload: (file: string | Blob, config: AxiosRequestConfig): Promise =>\n request.uploadDocument('/document/upload/', file, config)\n};\n\nconst EvidenceTemplate = {\n list: (): Promise => request.get('/evidenceTemplate/'),\n addEvidenceTemplate: (evidence: IEvidenceTemplateSendRequest): Promise =>\n request.post('/evidenceTemplate/', evidence),\n updateEvidenceTemplate: (\n id: number,\n evidence: IEvidenceTemplateUpdateRequest\n ): Promise => request.put(`/evidenceTemplate/${id}`, evidence),\n deleteEvidenceTemplate: (id: number) => request.delete(`/evidenceTemplate/${id}`)\n};\n\nconst Evidence = {\n list: (institutionId: number): Promise =>\n request.get(`institution/${institutionId}/evidences`),\n add: (institutionId: number, evidence: IEvidenceSendRequest): Promise =>\n request.post(`institution/${institutionId}/evidences`, evidence),\n update: (\n institutionId: number,\n evidenceId: number,\n evidence: IEvidenceSendRequest\n ): Promise =>\n request.put(`institution/${institutionId}/evidences/${evidenceId}`, evidence),\n delete: (institutionId: number, evidenceId: number): Promise =>\n request.delete(`institution/${institutionId}/evidences/${evidenceId}`)\n};\n\nconst SummaryTemplate = {\n list: (): Promise => request.get('/finalReportTemplate/'),\n addOrUpdateSummaryTemplate: (template: ISummaryTemplateSendRequest): Promise =>\n request.post('/finalReportTemplate/', template)\n};\n\nconst Summary = {\n list: (institutionId: number): Promise =>\n request.get(`institution/${institutionId}/finalReport`),\n add: (institutionId: number, summary: ISummarySendRequest): Promise =>\n request.post(`institution/${institutionId}/finalReport`, summary),\n update: (\n institutionId: number,\n summaryId: number,\n summary: ISummaryUpdateRequest\n ): Promise =>\n request.put(`institution/${institutionId}/finalReport/${summaryId}`, summary),\n delete: (institutionId: number, summaryId: number): Promise =>\n request.delete(`institution/${institutionId}/evidences/${summaryId}`)\n};\n\nconst Property = {\n list: (): Promise => request.get('/properties/')\n};\n\nconst Statistic = {\n updateInstitutionStatistics: (\n id: number,\n statistics: IInstitutionStatistics\n ): Promise => request.post(`/institution/${id}/statistics`, statistics),\n fetchInstitutionStatistics: (institutionId: number): Promise =>\n request.get(`/institution/${institutionId}/statistics`)\n};\n\nconst GraphicalData = {\n listInstitutionSubfieldPercentageCompleted: (\n id: number\n ): Promise =>\n request.get(`/institution/${id}/responses/percentage`),\n listInstitutionSubfieldQuantityCompleted: (id: number): Promise =>\n request.get(`/institution/${id}/responses/quantity`)\n};\n\nconst Report = {\n listFieldsData: (\n institutionId: number,\n selEvaluationId: number\n ): Promise =>\n request.get(`/institution/${institutionId}/selfEvaluation/${selEvaluationId}/generateReport/`),\n getStatistics: (intitutionType: number): Promise =>\n request.get(`/reports/statistics?institutionTypeId=${intitutionType}`),\n getSummary: (evaluationPeriod: number): Promise =>\n request.get(`/reports/performanceSummary?evaluationPeriodId=${evaluationPeriod}`),\n getPerformanceByFields: (\n evaluationPeriodId: number,\n subFieldId: number | undefined\n ): Promise =>\n request.get('/reports/performanceByFields', { evaluationPeriodId, subFieldId }),\n getPerformanceByYears: (): Promise =>\n request.get('/reports/performanceByYears'),\n getProgress: (evaluationPeriod: number): Promise =>\n request.get(`/reports/progress?evaluationPeriodId=${evaluationPeriod}`),\n getProgressExcel: (): Promise =>\n request.get(`/reports/excelProgressReport`),\n getStatisticsExcel: (): Promise =>\n request.get(`/reports/excelStatisticsReport`)\n};\n\nexport default {\n AxiosInitiation,\n Auth,\n User,\n Role,\n Sector,\n Municipality,\n County,\n Institution,\n Fields,\n Subject,\n EvaluationPeriod,\n Document,\n Property,\n Statistic,\n InstitutionSelfEvaluation,\n GraphicalData,\n Report,\n Evidence,\n Summary,\n EvidenceTemplate,\n SummaryTemplate\n};\n","import { AxiosResponse } from 'axios';\nimport { message } from 'antd';\nimport moment from 'moment';\nimport agent from '../api/agent';\nimport { IError } from '../api/models/error';\n\nclass Utils {\n static getBreakPoint(screens: any) {\n const breakpoints: any[] = [];\n\n Object.keys(screens).forEach((key) => {\n const element = screens[key];\n\n if (element) {\n breakpoints.push(key);\n }\n });\n\n return breakpoints;\n }\n\n static getRouteInfo(navTree: any, path: string): any {\n if (navTree.path === path) {\n return navTree;\n }\n\n let route;\n\n Object.keys(navTree).forEach((p) => {\n if (typeof navTree[p] === 'object' && this.getRouteInfo(navTree[p], path)) {\n route = this.getRouteInfo(navTree[p], path);\n }\n });\n\n return route;\n }\n\n static deleteArrayRow(list: any, key: string, value: any) {\n let data = list;\n if (list) {\n data = list.filter((item: any) => item[key] !== value);\n }\n return data;\n }\n\n static antdTableSorter(a: any, b: any, key: string) {\n if (typeof a[key] === 'number' && typeof b[key] === 'number') {\n return a[key] - b[key];\n }\n\n if (typeof a[key] === 'string' && typeof b[key] === 'string') {\n const value1 = a[key].toLowerCase();\n const value2 = b[key].toLowerCase();\n\n if (value1 > value2) return -1;\n if (value2 > value1) return 1;\n return 0;\n }\n\n if (typeof a[key] === 'boolean' && typeof b[key] === 'boolean') {\n if (a > b) return -1;\n if (b > a) return 1;\n return 0;\n }\n\n return null;\n }\n\n static wildCardSearch(list: any, input: number | string) {\n const searchText = (item: any) => {\n let flag = false;\n\n Object.keys(item).forEach((key) => {\n if (item[key] == null) {\n return;\n }\n\n if (item[key].toString().toUpperCase().indexOf(input.toString().toUpperCase()) !== -1) {\n flag = true;\n }\n });\n\n return flag;\n };\n\n return list.filter((value: any) => searchText(value));\n }\n\n static downloadDocument = async (id: number) => {\n try {\n const response: AxiosResponse = await agent.Document.download(id);\n\n const contentDisposition = response.headers['content-disposition'];\n const filename: string = contentDisposition\n .split(';')[1]\n .split('filename')[1]\n .split('=')[1]\n .trim()\n .split('\"')\n .join('');\n\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n } catch (error) {\n const errors: IError = error?.data ?? error;\n\n message.error({ content: errors?.message ?? error, duration: 4 });\n }\n };\n\n static getProperty = (obj: any, prop: any) => {\n return obj[prop];\n };\n\n static setProperty = (obj: any, prop: any, value: any) => {\n const object = obj;\n\n object[prop] = value;\n };\n\n static isDateInRange = (startDate: moment.Moment, endDate: moment.Moment) => {\n const today = moment();\n\n if (today.isBetween(startDate, endDate, 'days', '[]')) return true;\n\n return false;\n };\n\n static isDateBefore = (endDate: moment.Moment) => {\n const today = moment();\n\n if (today.isBefore(endDate, 'day')) return true;\n\n return false;\n };\n}\n\nexport default Utils;\n","export const TOGGLE_COLLAPSED_NAV = 'TOGGLE_COLLAPSED_NAV';\nexport const TOGGLE_MOBILE_NAV = 'TOGGLE_MOBILE_NAV';\nexport const SELECT_LANGUAGE = 'SELECT_LANGUAGE';\n\ninterface IToggleCollapsedNav {\n type: typeof TOGGLE_COLLAPSED_NAV;\n payload: {\n navCollapsed: boolean;\n };\n}\n\ninterface IMobileNavToggle {\n type: typeof TOGGLE_MOBILE_NAV;\n payload: {\n mobileNav: boolean;\n };\n}\n\ninterface ILanguageSelect {\n type: typeof SELECT_LANGUAGE;\n payload: {\n language: string;\n };\n}\n\nexport interface IThemeState {\n navCollapsed: boolean;\n mobileNav: boolean;\n language: string;\n}\n\nexport type ThemeActionTypes = IToggleCollapsedNav | IMobileNavToggle | ILanguageSelect;\n","import {\n TOGGLE_COLLAPSED_NAV,\n TOGGLE_MOBILE_NAV,\n SELECT_LANGUAGE,\n ThemeActionTypes\n} from '../constants/theme';\n\nexport const toggleCollapsedNav = (navCollapsed: boolean): ThemeActionTypes => {\n return {\n type: TOGGLE_COLLAPSED_NAV,\n payload: { navCollapsed }\n };\n};\n\nexport const onMobileNavToggle = (mobileNav: boolean): ThemeActionTypes => {\n return {\n type: TOGGLE_MOBILE_NAV,\n payload: { mobileNav }\n };\n};\n\nexport const selectLanguage = (language: string): ThemeActionTypes => {\n return {\n type: SELECT_LANGUAGE,\n payload: { language }\n };\n};\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Grid } from 'antd';\nimport { SIDE_NAV_WIDTH, SIDE_NAV_COLLAPSED_WIDTH } from '../../constants/theme';\nimport utils from '../../utils/index';\n\nimport { RootState } from '../../redux/reducers/index';\n\nconst { useBreakpoint } = Grid;\n\nconst getLogoWidthGutter = (navCollapsed: boolean, isMobile: boolean) => {\n if (isMobile) return 0;\n\n return navCollapsed ? `${SIDE_NAV_COLLAPSED_WIDTH}px` : `${SIDE_NAV_WIDTH}px`;\n};\n\nconst getLogo = (navCollapsed: boolean) => {\n return navCollapsed ? '/img/logo-akafpk-sm.png' : '/img/logo-akafpk.png';\n};\n\nconst getLogoDisplay = (isMobile: boolean, mobileLogo: boolean) => {\n if (isMobile && !mobileLogo) {\n return 'd-none';\n }\n return 'logo';\n};\n\ninterface IProps {\n mobileLogo?: boolean;\n}\n\nconst Logo: React.FC = ({ mobileLogo = false }) => {\n const isMobile = !utils.getBreakPoint(useBreakpoint()).includes('lg');\n const navCollapsed = useSelector((state: RootState) => state.theme.navCollapsed);\n\n return (\n \n \n
\n );\n};\n\nexport default Logo;\n","import React from 'react';\n\nconst Icon = (props: any) => {\n const { type, className } = props;\n return <>{React.createElement(type, { className })};\n};\n\nexport default Icon;\n","import React from 'react';\nimport { Menu, Dropdown, Avatar } from 'antd';\nimport { EditOutlined, SettingOutlined, LogoutOutlined, UserOutlined } from '@ant-design/icons';\nimport { Link, useHistory } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Icon from './Icon';\nimport { logout } from '../../redux/actions/auth';\nimport { RootState } from '../../redux/reducers';\nimport { UserRole } from '../../constants/theme';\n\ninterface IMenuItem {\n title: string;\n icon: any;\n path: string;\n}\n\nconst getMenuItems = (role: string): IMenuItem[] => {\n return [\n {\n title: 'navigation_profile.edit_profile',\n icon: EditOutlined,\n path:\n role === UserRole.Director || role === UserRole.Admin\n ? '/platforma/admin/modifiko-profilin'\n : '/platforma/modifiko-profilin'\n },\n {\n title: 'navigation_profile.change_password',\n icon: SettingOutlined,\n path:\n role === UserRole.Director || role === UserRole.Admin\n ? '/platforma/admin/ndrysho-fjalekalimin'\n : '/platforma/ndrysho-fjalekalimin'\n }\n ];\n};\n\nconst NavProfile = () => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const history = useHistory();\n const user = useSelector((state: RootState) => state.auth.user);\n\n const menuItem: IMenuItem[] = getMenuItems(user?.role.name ?? '');\n\n const profileMenu = (\n
\n
\n
\n } style={{ backgroundColor: 'black' }} />\n
\n

{`${user?.firstName} ${user?.lastName}`}

\n {user?.role.description}\n
\n
\n
\n
\n \n {menuItem.map((el: IMenuItem, i: number) => {\n return (\n \n \n \n {t(el.title)}\n \n \n );\n })}\n {\n dispatch(logout());\n history.replace('/');\n }}\n >\n \n \n {t('navigation_profile.logout')}\n \n \n \n
\n
\n );\n return (\n \n \n \n } />\n \n \n \n );\n};\n\nexport default NavProfile;\n","import React from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { Menu, Layout } from 'antd';\nimport { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons';\nimport { toggleCollapsedNav, onMobileNavToggle } from '../../redux/actions/theme';\nimport { SIDE_NAV_COLLAPSED_WIDTH, SIDE_NAV_WIDTH } from '../../constants/theme';\nimport Logo from './Logo';\n\nimport { RootState } from '../../redux/reducers/index';\nimport NavProfile from './NavProfile';\n\nconst { Header } = Layout;\ninterface IProps {\n isMobile: boolean;\n}\n\nconst HeaderNav: React.FC = ({ isMobile }) => {\n const isNavTop = false;\n\n const navCollapsed = useSelector((state: RootState) => state.theme.navCollapsed);\n const mobileNav = useSelector((state: RootState) => state.theme.mobileNav);\n const dispatch = useDispatch();\n\n const onToggle = () => {\n if (!isMobile) {\n dispatch(toggleCollapsedNav(!navCollapsed));\n } else {\n dispatch(onMobileNavToggle(!mobileNav));\n }\n };\n\n const getNavWidth = () => {\n if (isMobile) return '0px';\n\n return navCollapsed ? `${SIDE_NAV_COLLAPSED_WIDTH}px` : `${SIDE_NAV_WIDTH}px`;\n };\n\n return (\n
\n
\n \n
\n
\n \n {isNavTop && !isMobile ? null : (\n {\n onToggle();\n }}\n >\n {navCollapsed || isMobile ? (\n \n ) : (\n \n )}\n \n )}\n \n
\n
\n {/* */}\n \n
\n
\n
\n
\n );\n};\n\nexport default HeaderNav;\n","import {\n TeamOutlined,\n HomeOutlined,\n LineChartOutlined,\n BankOutlined,\n CalendarOutlined,\n ClusterOutlined,\n BarChartOutlined,\n PieChartOutlined,\n ContainerOutlined,\n FileTextOutlined,\n ProfileOutlined,\n ContactsOutlined,\n TrophyOutlined,\n SnippetsOutlined,\n OneToOneOutlined\n} from '@ant-design/icons';\nimport { UserRole } from '../constants/theme';\n\nexport interface IMenuItem {\n key: string;\n path: string;\n title: string;\n icon: any;\n header: boolean;\n submenu: IMenuItem[];\n}\n\nconst adminNavTree: IMenuItem[] = [\n {\n key: 'panel',\n path: '/platforma/admin',\n title: 'sidemenu.dashboard',\n icon: HomeOutlined,\n header: false,\n submenu: [\n {\n key: 'kreu',\n path: '/platforma/admin/kreu',\n title: 'sidemenu.home',\n icon: HomeOutlined,\n header: false,\n submenu: []\n },\n {\n key: 'perdorues',\n path: '/platforma/admin/perdorues',\n title: 'sidemenu.users',\n icon: TeamOutlined,\n header: true,\n submenu: []\n },\n {\n key: 'institucione',\n path: '/platforma/admin/institucione',\n title: 'sidemenu.institutions',\n icon: BankOutlined,\n header: true,\n submenu: []\n },\n {\n key: 'drejtime',\n path: '/platforma/admin/drejtime',\n title: 'sidemenu.subjects',\n icon: ClusterOutlined,\n header: true,\n submenu: []\n },\n {\n key: 'periudha',\n path: '/platforma/admin/periudha',\n title: 'sidemenu.evaluation_periods',\n icon: CalendarOutlined,\n header: true,\n submenu: []\n },\n {\n key: 'dokumenta',\n path: '/platforma/admin/dokumenta',\n title: 'sidemenu.documents',\n icon: FileTextOutlined,\n header: true,\n submenu: [\n {\n key: 'evidenca',\n path: '/platforma/admin/dokumenta/evidenca',\n title: 'sidemenu.evidence',\n icon: ContainerOutlined,\n header: true,\n submenu: []\n },\n {\n key: 'raportiVetevleresimit',\n path: '/platforma/admin/dokumenta/raporti-vetevleresimit',\n title: 'sidemenu.self_evaluation_report',\n icon: ProfileOutlined,\n header: false,\n submenu: []\n }\n ]\n }\n ]\n }\n];\n\nconst directorNavTree: IMenuItem[] = [\n {\n key: 'panel',\n path: '/platforma/admin',\n title: 'sidemenu.dashboard',\n icon: HomeOutlined,\n header: false,\n submenu: [\n {\n key: 'kreu',\n path: '/platforma/admin/kreu',\n title: 'sidemenu.home',\n icon: HomeOutlined,\n header: false,\n submenu: []\n },\n {\n key: 'institucione',\n path: '/platforma/admin/institucione',\n title: 'sidemenu.institutions',\n icon: BankOutlined,\n header: true,\n submenu: []\n }\n ]\n }\n];\n\nconst institutionNavTree: IMenuItem[] = [\n {\n key: 'panel',\n path: '/platforma',\n title: 'sidemenu.dashboard',\n icon: HomeOutlined,\n header: false,\n submenu: [\n {\n key: 'kreu',\n path: '/platforma/kreu',\n title: 'sidemenu.home',\n icon: HomeOutlined,\n header: false,\n submenu: []\n },\n {\n key: 'vetevleresimi',\n path: '/platforma/vetevleresimi',\n title: 'sidemenu.selfevaluation',\n icon: TeamOutlined,\n header: false,\n submenu: []\n },\n {\n key: 'institucioniim',\n path: '/platforma/institucioni-im',\n title: 'sidemenu.myinstitution',\n icon: BankOutlined,\n header: true,\n submenu: []\n }\n ]\n }\n];\n\nconst reportsNavTree: IMenuItem[] = [\n {\n key: 'reports',\n path: '',\n title: 'sidemenu.reports',\n icon: HomeOutlined,\n header: false,\n submenu: [\n {\n key: 'adminStatisticsReport',\n path: '',\n title: 'sidemenu.statistics',\n icon: LineChartOutlined,\n header: false,\n submenu: [\n {\n key: 'adminStatisticsReportRegistration',\n path: '/platforma/admin/raporte/statistika/regjistrime',\n title: 'general.registration',\n icon: ContactsOutlined,\n header: false,\n submenu: []\n },\n {\n key: 'adminStatisticsReportGraduation',\n path: '/platforma/admin/raporte/statistika/diplomime',\n title: 'general.graduation',\n icon: TrophyOutlined,\n header: false,\n submenu: []\n }\n ]\n },\n {\n key: 'adminEvaluationProgressReport',\n path: '/platforma/admin/raporte/progresi-vleresimit',\n title: 'sidemenu.evaluation_progress',\n icon: BarChartOutlined,\n header: false,\n submenu: []\n },\n {\n key: 'adminEvaluationPerformanceReport',\n path: '',\n title: 'sidemenu.self_evaluation_results',\n icon: PieChartOutlined,\n header: false,\n submenu: [\n {\n key: 'adminEvaluationPerformanceSummaryReport',\n path: '/platforma/admin/raporte/rezultate/permbledhje',\n title: 'sidemenu.summary',\n icon: SnippetsOutlined,\n header: false,\n submenu: []\n },\n {\n key: 'adminEvaluationPerformanceFieldsReport',\n path: '/platforma/admin/raporte/rezultate/fusha',\n title: 'sidemenu.performance_by_fields',\n icon: OneToOneOutlined,\n header: false,\n submenu: []\n },\n {\n key: 'adminEvaluationPerformanceYearsReport',\n path: '/platforma/admin/raporte/rezultate/vite',\n title: 'sidemenu.performance_over_years',\n icon: CalendarOutlined,\n header: false,\n submenu: []\n }\n ]\n }\n ]\n }\n];\n\nconst navigationConfig = (userRole: string): IMenuItem[] => {\n if (userRole === UserRole.Admin) {\n return [...adminNavTree, ...reportsNavTree];\n }\n\n if (userRole === UserRole.Director) {\n return [...directorNavTree, ...reportsNavTree];\n }\n\n return institutionNavTree;\n};\n\nexport default navigationConfig;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { Menu, Grid } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Icon from './Icon';\nimport navigationConfig, { IMenuItem } from '../../config/NavigationConfig';\nimport utils from '../../utils/index';\nimport { onMobileNavToggle } from '../../redux/actions/theme';\nimport { RootState } from '../../redux/reducers';\n\nconst { SubMenu } = Menu;\nconst { useBreakpoint } = Grid;\n\nconst setDefaultOpen = (key: any) => {\n const keyList = [];\n let keyString = '';\n if (key) {\n const arr = key.split('-');\n for (let index = 0; index < arr.length; index += 1) {\n const elm = arr[index];\n\n keyString = index === 0 ? elm : `${keyString}-${elm}`;\n\n keyList.push(keyString);\n }\n }\n return keyList;\n};\n\ninterface IProps {\n routeInfo: any;\n}\n\nconst MenuContent: React.FC = ({ routeInfo }) => {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const userRole = useSelector((state: RootState) => state.auth.role);\n const isMobile = !utils.getBreakPoint(useBreakpoint()).includes('lg');\n\n const navigation: IMenuItem[] = navigationConfig(userRole ?? '');\n\n const closeMobileNav = () => {\n if (isMobile) {\n dispatch(onMobileNavToggle(false));\n }\n };\n\n return (\n \n {navigation.map((menu: IMenuItem) =>\n menu.submenu.length > 0 ? (\n \n {menu.submenu.map((subMenuFirst: IMenuItem) =>\n subMenuFirst.submenu.length > 0 ? (\n : null}\n key={subMenuFirst.key}\n title={t(subMenuFirst.title)}\n >\n {subMenuFirst.submenu.map((subMenuSecond: IMenuItem) => (\n \n {subMenuSecond.icon ? : null}\n {t(subMenuSecond.title)}\n closeMobileNav()} to={subMenuSecond.path} />\n \n ))}\n \n ) : (\n \n {subMenuFirst.icon ? : null}\n {t(subMenuFirst.title)}\n closeMobileNav()} to={subMenuFirst.path} />\n \n )\n )}\n \n ) : (\n \n {menu.icon ? : null}\n {menu.title ? t(menu.title) : ''}\n {menu.path ? closeMobileNav()} to={menu.path} /> : null}\n \n )\n )}\n \n );\n};\n\nexport default MenuContent;\n","import React from 'react';\nimport { Layout } from 'antd';\nimport { useSelector } from 'react-redux';\nimport { Scrollbars } from 'react-custom-scrollbars';\nimport { SIDE_NAV_WIDTH } from '../../constants/theme';\nimport MenuContent from './MenuContent';\n\nimport { RootState } from '../../redux/reducers/index';\n\nconst { Sider } = Layout;\n\ninterface IProps {\n routeInfo: any;\n}\n\nconst SideNav: React.FC = ({ routeInfo }) => {\n const navCollapsed = useSelector((state: RootState) => state.theme.navCollapsed);\n\n return (\n \n \n \n \n \n );\n};\n\nexport default SideNav;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nconst Footer: React.FC = () => {\n const { t } = useTranslation();\n\n return (\n
\n
{t('general.footer')}
\n
\n \n
\n
\n );\n};\n\nexport default Footer;\n","import React from 'react';\n\ninterface IProps {\n className?: string;\n alignItems?: string;\n flexDirection?: string;\n justifyContent?: string;\n mobileFlex?: boolean;\n}\n\nconst Flex: React.FC = ({\n children,\n className = '',\n alignItems,\n justifyContent,\n mobileFlex = true,\n flexDirection = 'row'\n}) => {\n const getFlexResponsive = () => (mobileFlex ? 'd-flex' : 'd-md-flex');\n const getFlexDirection = () => (flexDirection ? ` flex-${flexDirection} ` : '');\n const getAlignItems = () => (alignItems ? ` align-items-${alignItems} ` : '');\n const getJustifyContent = () => (justifyContent ? ` justify-content-${justifyContent} ` : '');\n\n const computedClassName = `${getFlexResponsive()} ${className} ${getFlexDirection()}${getAlignItems()}${getJustifyContent()}`;\n\n return
{children}
;\n};\n\nexport default Flex;\n","import React from 'react';\nimport { Drawer } from 'antd';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { Scrollbars } from 'react-custom-scrollbars';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport MenuContent from '../MenuContent';\nimport { onMobileNavToggle } from '../../../redux/actions/theme';\nimport Logo from '../Logo';\nimport Flex from '../shared/Flex';\n\nimport { RootState } from '../../../redux/reducers/index';\n\ninterface IProps {\n routeInfo: any;\n}\n\nconst MobileNav: React.FC = ({ routeInfo }) => {\n const mobileNav = useSelector((state: RootState) => state.theme.mobileNav);\n const dispatch = useDispatch();\n\n const onClose = () => {\n dispatch(onMobileNavToggle(false));\n };\n\n return (\n \n \n \n \n onClose()}\n role=\"button\"\n onKeyDown={() => {}}\n tabIndex={0}\n >\n \n \n \n
\n \n \n \n
\n
\n \n );\n};\n\nexport default MobileNav;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n title: string;\n display: boolean;\n}\n\nconst PageHeader: React.FC = ({ title, display }) => {\n const { t } = useTranslation();\n\n return display ? (\n
\n

{t(title)}

\n
\n ) : null;\n};\n\nexport default PageHeader;\n","import React from 'react';\nimport { Button, Row, Col } from 'antd';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { useHistory } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n showContainer?: boolean;\n}\n\nconst NotFound: React.FC = ({ showContainer = true }) => {\n const { t } = useTranslation();\n const history: any = useHistory();\n\n return (\n
\n
\n
\n
\n \"\"\n
\n
\n \n \n

{t('general.page_not_found')}

\n

{t('general.page_does_not_exist')}

\n {\n history.goBack();\n }}\n icon={}\n >\n {t('general.go_back')}\n \n \n \n \"\"\n \n
\n
\n
\n
\n
\n );\n};\n\nexport default NotFound;\n","import React from 'react';\nimport { Alert as AntAlert } from 'antd';\n\ninterface IProps {\n message: string;\n type?: 'error' | 'success' | 'info' | 'warning' | undefined;\n}\n\nconst Alert: React.FC = ({ message, type = 'error' }) => {\n return ;\n};\n\nexport default Alert;\n","import React from 'react';\nimport { Form, Button, Input } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { IChangePasswordRequest } from '../../api/models/auth';\nimport { changePassword, changePasswordFirstTime } from '../../redux/actions/auth';\nimport { RootState } from '../../redux/reducers';\nimport Alert from '../layout/shared/Alert';\n\nconst ChangePasswordForm = () => {\n const { t } = useTranslation();\n const email = useSelector((state: RootState) => state.auth.email);\n const firstTimeLogin = useSelector((state: RootState) => state.auth.firstLogin);\n const changePasswordErrors = useSelector((state: RootState) => state.auth.errors);\n\n const dispatch = useDispatch();\n const history = useHistory();\n\n const onFinish = (values: IChangePasswordRequest) => {\n const data: IChangePasswordRequest = {\n ...values,\n email: email ?? ''\n };\n\n if (firstTimeLogin) {\n dispatch(changePasswordFirstTime(data, history));\n } else {\n dispatch(changePassword(data, t('feedback_message.password_successfully_changed'), history));\n }\n };\n\n return (\n <>\n
\n \n \n \n \n \n \n ({\n validator(rule, value) {\n if (!value || getFieldValue('new_password1') === value) {\n return Promise.resolve();\n }\n return Promise.reject(t('validation_messages.password_not_matched'));\n }\n })\n ]}\n >\n \n \n {changePasswordErrors && }\n \n \n \n );\n};\n\nexport default ChangePasswordForm;\n","import React from 'react';\nimport { Row, Col, Card } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport PageHeader from '../../components/layout/shared/PageHeader';\nimport ChangePasswordForm from '../../components/auth/ChangePasswordForm';\n\nconst ChangePassword = () => {\n const { t } = useTranslation();\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ChangePassword;\n","import React from 'react';\nimport { Form, Button, Input, Row, Col, Card, Select } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport PageHeader from '../../components/layout/shared/PageHeader';\nimport { RootState } from '../../redux/reducers';\nimport { IUserSendRequest } from '../../api/models/user';\nimport { updateCurrentUser } from '../../redux/actions/auth';\nimport Alert from '../../components/layout/shared/Alert';\n\nconst { Option } = Select;\n\nconst EditProfile = () => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n\n const user = useSelector((state: RootState) => state.auth.user);\n const updatingCurrentUser = useSelector((state: RootState) => state.auth.updatingCurrentUser);\n const editProfileErrors = useSelector((state: RootState) => state.auth.updateCurrentUserErrors);\n\n const getInitialValues = () => {\n if (user) {\n const { firstName, lastName, address, email, institution, role, phone } = user;\n\n return {\n firstName,\n email,\n lastName,\n role: role.id,\n address,\n institution: institution.id,\n phone\n };\n }\n\n return undefined;\n };\n\n const onFinish = async (values: any) => {\n const { firstName, lastName, address, email, role, institution, phone } = values;\n\n const userData: IUserSendRequest = {\n firstName,\n lastName,\n address,\n email,\n institutionId: institution,\n roleId: role,\n phone\n };\n\n if (user) {\n dispatch(\n updateCurrentUser(user.id, userData, t('feedback_message.profile_successfully_updated'))\n );\n }\n };\n\n return user ? (\n <>\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {editProfileErrors && }\n \n \n \n \n
\n
\n \n ) : null;\n};\n\nexport default EditProfile;\n","import React from 'react';\nimport { Button, Card, Col, Row } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport {\n MailOutlined,\n PhoneOutlined,\n UserOutlined,\n AuditOutlined,\n HomeOutlined,\n BankOutlined,\n EditOutlined\n} from '@ant-design/icons';\nimport { Link } from 'react-router-dom';\nimport { RootState } from '../../../redux/reducers';\nimport Icon from '../../layout/Icon';\n\ninterface IUserDataProps {\n iconType: any;\n dataKey: string;\n dataValue?: string | null;\n}\n\nconst UserDataInfo: React.FC = ({ iconType, dataKey, dataValue = '' }) => {\n return (\n \n \n \n {`${dataKey}:`}\n \n \n {dataValue}\n \n \n );\n};\n\nconst HomeInfo = () => {\n const { t } = useTranslation();\n const user = useSelector((state: RootState) => state.auth.user);\n\n return (\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n \n \n \n \n

\n Sigurimi i cilësisë së shërbimit arsimor mbetet një përparësi e institucioneve ofruese\n të arsimit dhe formimit profesional (IoAFP-të). Përvojat e suksesshme bashkëkohore,\n dëshmojnë se përmbushja e këtij qëllimi realizohet atëherë kur IoAFP-të zhvillojnë\n vetëvlerësimin e tyre, i cili konsiderohet i suksesshëm kur përputhet plotësisht me të\n dhënat e vlerësimit të jashtëm, që gjithnjë kryhet nga institucione të specializuara dhe\n të akredituara shtetërore ose joshtetërore. Në këtë kontekst, zhvillimi i proceseve të\n vetëvlerësimit nga IoAFP-të e bën më cilësor shërbimin që ato ofrojnë. Ndaj, procesi i\n vetëvlerësimit/vlerësimit të brendshëm të IoAFP-ve kërkon përdorimin e një metodologjie\n shkencore, të zbatueshme, të besueshme dhe bashkëkohore, e cila siguron të dhëna reale\n dhe mundësi për të pasqyruar pikat e forta, pikat e dobëta, mundësitë që IoAFP-ja ka për\n të ofruar kualifikime profesionale cilësore, por veçanarisht, nevojat për përmirësimin e\n saj në të ardhmen. Përhapja e kulturës së vetëvlerësimit është një rrugë profesionale\n dhe sfiduese që kërkon njohje dhe zotërim të standardeve profesionale dhe etike të\n vlerësimit, angazhim dhe përgjegjësi të të gjithë personave të përfshirë në vlerësim, të\n mësuesve/instruktorëve, të nxënësve/kursantëve, të ekipeve të vlerësimit, por dhe të\n autoriteteve drejtues dhe organizmave të IoAFP-së.\n

\n
\n \n
\n );\n};\n\nexport default HomeInfo;\n","import React from 'react';\nimport HomeInfo from '../../../components/admin/home';\n\nconst Home = () => {\n return ;\n};\n\nexport default Home;\n","import { IError } from '../../api/models/error';\nimport { IInstitution, IInstitutionSubject, IInstitutionType } from '../../api/models/institution';\n\nexport const FETCH_INSTITUTIONS = 'FETCH_INSTITUTIONS';\nexport const FETCH_INSTITUTIONS_SUCCESS = 'FETCH_INSTITUTIONS_SUCCESS';\nexport const FETCH_INSTITUTIONS_FAIL = 'FETCH_INSTITUTIONS_FAIL';\nexport const FETCH_INSTITUTION_SUBJECTS = 'FETCH_INSTITUTION_SUBJECTS';\nexport const FETCH_INSTITUTION_SUBJECTS_SUCCESS = 'FETCH_INSTITUTION_SUBJECTS_SUCCESS';\nexport const FETCH_INSTITUTION_SUBJECTS_FAIL = 'FETCH_INSTITUTION_SUBJECTS_FAIL';\nexport const ADD_INSTITUTION_SUBJECT = 'ADD_INSTITUTION_SUBJECT';\nexport const ADD_INSTITUTION_SUBJECT_SUCCESS = 'ADD_INSTITUTION_SUBJECT_SUCCESS';\nexport const ADD_INSTITUTION_SUBJECT_FAIL = 'ADD_INSTITUTION_SUBJECT_FAIL';\nexport const UPDATE_INSTITUTION_SUBJECT = 'UPDATE_INSTITUTION_SUBJECT';\nexport const UPDATE_INSTITUTION_SUBJECT_SUCCESS = 'UPDATE_INSTITUTION_SUBJECT_SUCCESS';\nexport const UPDATE_INSTITUTION_SUBJECT_FAIL = 'UPDATE_INSTITUTION_SUBJECT_FAIL';\nexport const DELETE_INSTITUTION_SUBJECT = 'DELETE_INSTITUTION_SUBJECT';\nexport const DELETE_INSTITUTION_SUBJECT_SUCCESS = 'DELETE_INSTITUTION_SUBJECT_SUCCESS';\nexport const DELETE_INSTITUTION_SUBJECT_FAIL = 'DELETE_INSTITUTION_SUBJECT_FAIL';\nexport const SHOW_INSTITUTION_SUBJECT_FORM = 'SHOW_INSTITUTION_SUBJECT_FORM';\nexport const CLOSE_INSTITUTION_SUBJECT_FORM = 'CLOSE_INSTITUTION_SUBJECT_FORM';\nexport const ADD_INSTITUTION = 'ADD_INSTITUTION';\nexport const ADD_INSTITUTION_SUCCESS = 'ADD_INSTITUTION_SUCCESS';\nexport const ADD_INSTITUTION_FAIL = 'ADD_INSTITUTION_FAIL';\nexport const UPDATE_INSTITUTION = 'UPDATE_INSTITUTION';\nexport const UPDATE_INSTITUTION_SUCCESS = 'UPDATE_INSTITUTION_SUCCESS';\nexport const UPDATE_INSTITUTION_FAIL = 'UPDATE_INSTITUTION_FAIL';\nexport const FETCH_INSTITUTION_TYPES = 'FETCH_INSTITUFETCH_INSTITUTION_TYPESTIONS';\nexport const FETCH_INSTITUTION_TYPES_SUCCESS = 'FETCH_INSTITUTION_TYPES_SUCCESS';\nexport const FETCH_INSTITUTION_TYPES_FAIL = 'FETCH_INSTITUTION_TYPES_FAIL';\nexport const DELETE_INSTITUTION = 'DELETE_INSTITUTION';\nexport const DELETE_INSTITUTION_SUCCESS = 'DELETE_INSTITUTION_SUCCESS';\nexport const DELETE_INSTITUTION_FAIL = 'DELETE_INSTITUTION_FAIL';\nexport const RESET_INSTITUTION_ERRORS = 'RESET_INSTITUTION_ERRORS';\n\n/** ************************** Fetch institutions *************************** */\ninterface IFetchInstitutions {\n type: typeof FETCH_INSTITUTIONS;\n}\n\ninterface IFetchInstitutionsSuccess {\n type: typeof FETCH_INSTITUTIONS_SUCCESS;\n payload: {\n institutions: IInstitution[];\n };\n}\n\ninterface IFetchInstitutionsFail {\n type: typeof FETCH_INSTITUTIONS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Fetch institution subjects *************************** */\ninterface IFetchInstitutionSubjects {\n type: typeof FETCH_INSTITUTION_SUBJECTS;\n institutionId: number;\n}\n\ninterface IFetchInstitutionSubjectsSuccess {\n type: typeof FETCH_INSTITUTION_SUBJECTS_SUCCESS;\n institutionId: number;\n payload: {\n institutionSubjects: IInstitutionSubject[];\n };\n}\n\ninterface IFetchInstitutionSubjectsFail {\n type: typeof FETCH_INSTITUTION_SUBJECTS_FAIL;\n institutionId: number;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Add institution subjects *************************** */\nexport interface IAddInstitutionSubject {\n type: typeof ADD_INSTITUTION_SUBJECT;\n institutionId: number;\n}\n\nexport interface IAddInstitutionSubjectSuccess {\n type: typeof ADD_INSTITUTION_SUBJECT_SUCCESS;\n institutionId: number;\n payload: {\n institutionSubjects: IInstitutionSubject[];\n };\n}\n\nexport interface IAddInstitutionSubjectFail {\n type: typeof ADD_INSTITUTION_SUBJECT_FAIL;\n institutionId: number;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Update institution subjects *************************** */\ninterface IUpdateInstitutionSubject {\n type: typeof UPDATE_INSTITUTION_SUBJECT;\n institutionId: number;\n institutionSubjectId: number;\n}\n\ninterface IUpdateInstitutionSubjectSuccess {\n type: typeof UPDATE_INSTITUTION_SUBJECT_SUCCESS;\n institutionId: number;\n institutionSubjectId: number;\n payload: {\n institutionSubject: IInstitutionSubject;\n };\n}\n\ninterface IUpdateInstitutionSubjectFail {\n type: typeof UPDATE_INSTITUTION_SUBJECT_FAIL;\n institutionId: number;\n institutionSubjectId: number;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Delete institution subjects *************************** */\nexport interface IDeleteInstitutionSubject {\n type: typeof DELETE_INSTITUTION_SUBJECT;\n institutionId: number;\n institutionSubjectId: number;\n}\n\nexport interface IDeleteInstitutionSubjectSuccess {\n type: typeof DELETE_INSTITUTION_SUBJECT_SUCCESS;\n payload: {\n institutionId: number;\n institutionSubjectId: number;\n };\n}\n\nexport interface IDeleteInstitutionSubjectFail {\n type: typeof DELETE_INSTITUTION_SUBJECT_FAIL;\n institutionId: number;\n institutionSubjectId: number;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Institution Subject Form *************************** */\ninterface IShowInstitutionSubjectForm {\n type: typeof SHOW_INSTITUTION_SUBJECT_FORM;\n id?: number;\n}\n\ninterface ICloseInstitutionSubjectForm {\n type: typeof CLOSE_INSTITUTION_SUBJECT_FORM;\n}\n\n/** ************************** Fetch institution types *************************** */\ninterface IFetchInstitutionTypes {\n type: typeof FETCH_INSTITUTION_TYPES;\n}\n\ninterface IFetchInstitutionTypesSuccess {\n type: typeof FETCH_INSTITUTION_TYPES_SUCCESS;\n payload: {\n institutionTypes: IInstitutionType[];\n };\n}\n\ninterface IFetchInstitutionTypesFail {\n type: typeof FETCH_INSTITUTION_TYPES_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Add institution *************************** */\ninterface IAddInstitution {\n type: typeof ADD_INSTITUTION;\n}\n\ninterface IAddInstitutionSuccess {\n type: typeof ADD_INSTITUTION_SUCCESS;\n payload: {\n institution: IInstitution;\n };\n}\n\ninterface IAddInstitutionFail {\n type: typeof ADD_INSTITUTION_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Update institution *************************** */\ninterface IUpdateInstitution {\n type: typeof UPDATE_INSTITUTION;\n}\n\ninterface IUpdateInstitutionSuccess {\n type: typeof UPDATE_INSTITUTION_SUCCESS;\n payload: {\n institution: IInstitution;\n };\n}\n\ninterface IUpdateInstitutionFail {\n type: typeof UPDATE_INSTITUTION_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Delete institution *************************** */\ninterface IDeleteInstitution {\n type: typeof DELETE_INSTITUTION;\n}\n\ninterface IDeleteInstitutionSuccess {\n type: typeof DELETE_INSTITUTION_SUCCESS;\n payload: {\n id: number;\n };\n}\n\ninterface IDeleteInstitutionFail {\n type: typeof DELETE_INSTITUTION_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Reset institution errors *************************** */\ninterface IResetInstitutionErrors {\n type: typeof RESET_INSTITUTION_ERRORS;\n}\n\nexport interface IInstitutionState {\n institutions: IInstitution[];\n fetchingInstitutions: boolean;\n errorsFetchingInstitutions: IError | null;\n institutionSubjects: IInstitutionSubject[];\n showingInstitutionSubjectsForm: boolean;\n currentInstitutionSubject: IInstitutionSubject | null;\n fetchingInstitutionSubjects: boolean;\n errorsFetchingInstitutionSubjects: IError | null;\n addingInstitutionSubject: boolean;\n errorsAddingInstitutionSubject: IError | null;\n updatingInstitutionSubject: boolean;\n errorsUpdatingInstitutionSubject: IError | null;\n deletingInstitutionSubject: boolean;\n errorsDeletingInstitutionSubject: IError | null;\n addingInstitution: boolean;\n errorsAddingInstitution: IError | null;\n updatingInstitution: boolean;\n errorsUpdatingInstitution: IError | null;\n deletingInstitution: boolean;\n errorsDeletingInstitution: IError | null;\n institutionTypes: IInstitutionType[];\n fetchingInstitutionTypes: boolean;\n errorsFetchingInstitutionTypes: IError | null;\n}\n\nexport type InstitutionActionTypes =\n | IFetchInstitutions\n | IFetchInstitutionsSuccess\n | IFetchInstitutionsFail\n | IFetchInstitutionSubjects\n | IFetchInstitutionSubjectsSuccess\n | IFetchInstitutionSubjectsFail\n | IAddInstitutionSubject\n | IAddInstitutionSubjectSuccess\n | IAddInstitutionSubjectFail\n | IUpdateInstitutionSubject\n | IUpdateInstitutionSubjectSuccess\n | IUpdateInstitutionSubjectFail\n | IDeleteInstitutionSubject\n | IDeleteInstitutionSubjectSuccess\n | IDeleteInstitutionSubjectFail\n | IShowInstitutionSubjectForm\n | ICloseInstitutionSubjectForm\n | IAddInstitution\n | IAddInstitutionSuccess\n | IAddInstitutionFail\n | IUpdateInstitution\n | IUpdateInstitutionSuccess\n | IUpdateInstitutionFail\n | IDeleteInstitution\n | IDeleteInstitutionSuccess\n | IDeleteInstitutionFail\n | IFetchInstitutionTypes\n | IFetchInstitutionTypesSuccess\n | IFetchInstitutionTypesFail\n | IResetInstitutionErrors;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport { message } from 'antd';\nimport {\n FETCH_INSTITUTIONS,\n FETCH_INSTITUTIONS_FAIL,\n FETCH_INSTITUTIONS_SUCCESS,\n FETCH_INSTITUTION_SUBJECTS,\n FETCH_INSTITUTION_SUBJECTS_SUCCESS,\n FETCH_INSTITUTION_SUBJECTS_FAIL,\n FETCH_INSTITUTION_TYPES,\n FETCH_INSTITUTION_TYPES_SUCCESS,\n FETCH_INSTITUTION_TYPES_FAIL,\n ADD_INSTITUTION,\n ADD_INSTITUTION_FAIL,\n ADD_INSTITUTION_SUCCESS,\n UPDATE_INSTITUTION,\n UPDATE_INSTITUTION_SUCCESS,\n UPDATE_INSTITUTION_FAIL,\n DELETE_INSTITUTION,\n DELETE_INSTITUTION_SUCCESS,\n DELETE_INSTITUTION_FAIL,\n ADD_INSTITUTION_SUBJECT,\n ADD_INSTITUTION_SUBJECT_FAIL,\n ADD_INSTITUTION_SUBJECT_SUCCESS,\n UPDATE_INSTITUTION_SUBJECT,\n UPDATE_INSTITUTION_SUBJECT_SUCCESS,\n UPDATE_INSTITUTION_SUBJECT_FAIL,\n DELETE_INSTITUTION_SUBJECT,\n DELETE_INSTITUTION_SUBJECT_FAIL,\n DELETE_INSTITUTION_SUBJECT_SUCCESS,\n SHOW_INSTITUTION_SUBJECT_FORM,\n CLOSE_INSTITUTION_SUBJECT_FORM,\n RESET_INSTITUTION_ERRORS,\n InstitutionActionTypes\n} from '../constants/institutions';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IError } from '../../api/models/error';\nimport {\n IInstitutionSendRequest,\n IInstitutionSubjectSendRequest\n} from '../../api/models/institution';\n\nexport const fetchInstitutions = (): ThunkAction<\n void,\n RootState,\n unknown,\n Action\n> => async (dispatch) => {\n dispatch({\n type: FETCH_INSTITUTIONS\n });\n\n try {\n const institutions = await agent.Institution.list();\n\n dispatch({\n type: FETCH_INSTITUTIONS_SUCCESS,\n payload: {\n institutions\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_INSTITUTIONS_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const fetchInstitutionSubjects = (\n institutionId: number\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: FETCH_INSTITUTION_SUBJECTS,\n value: institutionId\n });\n\n try {\n const institutionSubjects = (\n await agent.Institution.listSubjectsForInstitution(institutionId)\n ).map((institutionSubjectResponse) => ({\n ...institutionSubjectResponse,\n institutionId\n }));\n\n dispatch({\n type: FETCH_INSTITUTION_SUBJECTS_SUCCESS,\n institutionId,\n payload: {\n institutionSubjects\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_INSTITUTION_SUBJECTS_FAIL,\n institutionId,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const addInstitutionSubject = (\n institutionId: number,\n institutionSubjectSendRequest: IInstitutionSubjectSendRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: ADD_INSTITUTION_SUBJECT,\n value: institutionId\n });\n\n try {\n const institutionSubjects = (\n await agent.Institution.addSubjects(institutionId, institutionSubjectSendRequest)\n ).map((institutionSubject) => ({\n ...institutionSubject,\n institutionId\n }));\n\n dispatch({\n type: ADD_INSTITUTION_SUBJECT_SUCCESS,\n institutionId,\n payload: {\n institutionSubjects\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: ADD_INSTITUTION_SUBJECT_FAIL,\n value: institutionId,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const showInstitutionSubjectForm = (id?: number): InstitutionActionTypes => {\n return {\n type: SHOW_INSTITUTION_SUBJECT_FORM,\n id\n };\n};\n\nexport const closeInstitutionSubjectForm = (): InstitutionActionTypes => {\n return {\n type: CLOSE_INSTITUTION_SUBJECT_FORM\n };\n};\n\nexport const updateInstitutionSubject = (\n institutionId: number,\n institutionSubjectId: number,\n institutionSubjectSendRequest: IInstitutionSubjectSendRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_INSTITUTION_SUBJECT,\n value: institutionId\n });\n\n try {\n const institutionSubject = {\n ...(await agent.Institution.updateSubject(\n institutionId,\n institutionSubjectId,\n institutionSubjectSendRequest\n )),\n institutionId\n };\n\n dispatch({\n type: UPDATE_INSTITUTION_SUBJECT_SUCCESS,\n value: institutionId,\n payload: {\n institutionSubject\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_INSTITUTION_SUBJECT_FAIL,\n value: institutionId,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const deleteInstitutionSubject = (\n institutionId: number,\n institutionSubjectId: number,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: DELETE_INSTITUTION_SUBJECT\n });\n\n try {\n await agent.Institution.deleteSubject(institutionId, institutionSubjectId);\n\n dispatch({\n type: DELETE_INSTITUTION_SUBJECT_SUCCESS,\n payload: {\n institutionSubjectId\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n dispatch({\n type: DELETE_INSTITUTION_SUBJECT_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const addInstitution = (\n institutionSendRequest: IInstitutionSendRequest,\n successMessage: string,\n history: any\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: ADD_INSTITUTION\n });\n\n try {\n const institution = await agent.Institution.add(institutionSendRequest);\n\n dispatch({\n type: ADD_INSTITUTION_SUCCESS,\n payload: {\n institution\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n\n // Go to edit immediately after save so user can insert institution subjects\n history.replace(`./ndrysho-institucion/${institution.id}`);\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: ADD_INSTITUTION_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const updateInstitution = (\n id: number,\n institution: IInstitutionSendRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_INSTITUTION\n });\n\n try {\n const updatedInstitution = await agent.Institution.update(id, institution);\n\n dispatch({\n type: UPDATE_INSTITUTION_SUCCESS,\n payload: {\n institution: updatedInstitution\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_INSTITUTION_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const deleteInstitution = (\n id: number,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: DELETE_INSTITUTION\n });\n\n try {\n await agent.Institution.delete(id);\n\n dispatch({\n type: DELETE_INSTITUTION_SUCCESS,\n payload: {\n id\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n dispatch({\n type: DELETE_INSTITUTION_FAIL,\n payload: {\n errors\n }\n });\n\n message.error({ content: errors?.message, duration: 4 });\n }\n};\n\nexport const fetchInstitutionTypes = (): ThunkAction<\n void,\n RootState,\n unknown,\n Action\n> => async (dispatch) => {\n dispatch({\n type: FETCH_INSTITUTION_TYPES\n });\n\n try {\n const institutionTypes = await agent.Institution.listTypes();\n\n dispatch({\n type: FETCH_INSTITUTION_TYPES_SUCCESS,\n payload: {\n institutionTypes\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_INSTITUTION_TYPES_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const resetInstitutionErrors = (): InstitutionActionTypes => {\n return {\n type: RESET_INSTITUTION_ERRORS\n };\n};\n","import React from 'react';\nimport { Table } from 'antd';\nimport { TableProps } from 'antd/lib/table';\nimport utils from '../../utils/index';\nimport { IUserDisplay } from '../../api/models/user';\nimport { IInstitutionDisplay, IInstitutionSubjectDisplay } from '../../api/models/institution';\nimport { ISubjectsDisplay } from '../../api/models/subject';\nimport { IEvaluationPeriodDisplay } from '../../api/models/evaluationPeriod';\nimport { IInstitutionSelfEvaluationDisplay } from '../../api/models/selfEvaluation';\nimport { IEvidenceTemplateDisplay } from '../../api/models/evidenceTemplate';\nimport { IEvidenceDisplay } from '../../api/models/evidence';\n\ninterface IProps {\n tableColumns: any;\n dataSource:\n | IUserDisplay[]\n | IInstitutionDisplay[]\n | ISubjectsDisplay[]\n | IEvaluationPeriodDisplay[]\n | IInstitutionSubjectDisplay[]\n | IInstitutionSelfEvaluationDisplay[]\n | IEvidenceTemplateDisplay[]\n | IEvidenceDisplay[];\n search: string | null;\n key?: string;\n}\n\nconst SearchTable: React.FC> = ({\n tableColumns,\n dataSource,\n search,\n key = 'id'\n}) => {\n const onSearch = () => {\n if (!search) return dataSource;\n\n return utils.wildCardSearch(dataSource, search);\n };\n\n return (\n \n );\n};\n\nexport default SearchTable;\n","import React, { useState } from 'react';\nimport {\n DeleteOutlined,\n EditOutlined,\n PlusCircleOutlined,\n EyeOutlined,\n SearchOutlined\n} from '@ant-design/icons';\nimport { Button, Card, Input, Popconfirm, Tooltip } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Link, Redirect, useHistory, useRouteMatch } from 'react-router-dom';\nimport { IInstitution, IInstitutionDisplay } from '../../../api/models/institution';\nimport { deleteInstitution } from '../../../redux/actions/institutions';\nimport { RootState } from '../../../redux/reducers';\nimport utils from '../../../utils/index';\nimport SearchTable from '../../layout/SearchTable';\nimport Flex from '../../layout/shared/Flex';\nimport { InstitutionTypeName, UserRole } from '../../../constants/theme';\n\nconst InstitutionsList: React.FC = () => {\n const history = useHistory();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const dispatch = useDispatch();\n\n const user = useSelector((state: RootState) => state.auth.user);\n const institutions = useSelector((state: RootState) => state.institution.institutions);\n const municipalities = useSelector((state: RootState) => state.municipality.municipalities);\n const counties = useSelector((state: RootState) => state.county.counties);\n\n const [search, setSearch] = useState(null);\n\n if (!user) return ;\n\n const institutionsDisplay: IInstitutionDisplay[] = institutions.map((institution) => {\n return {\n ...institution,\n email: institution.email ?? '',\n phone: institution.phone ?? '',\n municipalityDescription: institution.municipality.name,\n institutionTypeDescription: institution.institutionType.description,\n sectorDescription: institution.sector.description,\n countyDescription: counties.filter(\n (county) =>\n county.id ===\n municipalities.filter(\n (municipality) => municipality.id === institution.municipality.id\n )[0]?.countyId\n )[0]?.name\n };\n });\n\n const addInstitution = () => {\n history.push(`${match.url}/shto-institucion`);\n };\n\n const onHandleDelete = (id: number) => {\n dispatch(deleteInstitution(id, t('feedback_message.institution_successfully_deleted')));\n };\n\n const tableColumns: any = [\n {\n title: t('general.fullName'),\n dataIndex: 'name',\n // width: '15%',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'name')\n },\n {\n title: t('general.email'),\n dataIndex: 'email',\n // ellipsis: {\n // showTitle: false\n // },\n // width: '15%',\n // render: (email: string) => (\n // \n // {email}\n // \n // ),\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'email')\n },\n {\n title: t('general.acronym'),\n dataIndex: 'acronym',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'acronym')\n },\n {\n title: t('general.phone'),\n dataIndex: 'phone',\n // ellipsis: {\n // showTitle: false\n // },\n // render: (phone: string) => (\n // \n // {phone}\n // \n // ),\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'phone')\n },\n {\n title: t('general.county'),\n dataIndex: 'countyDescription',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'countyDescription')\n },\n {\n title: t('general.municipality'),\n dataIndex: 'municipalityDescription',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'municipalityDescription')\n },\n {\n title: t('general.type'),\n dataIndex: 'institutionTypeDescription',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'institutionTypeDescription')\n },\n {\n title: t('general.sector'),\n dataIndex: 'sectorDescription',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'sectorDescription')\n },\n {\n title: '',\n // width: '15%',\n dataIndex: 'actions',\n render: (_: any, row: IInstitution) => {\n // Admin cannot edit/delete his own institution since it is seeded\n if (\n row.institutionType.name === InstitutionTypeName.AGJENSIA_KOMBETARE_ARSIMIT ||\n row.institutionType.name === InstitutionTypeName.AGJENSIA_KOMBETARE_PUNESIMIT_AFTESIVE\n ) {\n return null;\n }\n\n // Only Admin can edit\n const canEdit = user.role.name === UserRole.Admin;\n\n return (\n \n \n \n \n )}\n \n \n\n \n \n );\n};\n\nexport default InstitutionsList;\n","import React from 'react';\nimport InstitutionsList from '../../../components/admin/institutions/InstitutionsList';\n\nconst Institutions = () => ;\n\nexport default Institutions;\n","import React from 'react';\n\ninterface IProps {\n children: any;\n background?: string;\n className: string;\n overlap?: boolean;\n}\n\nconst PageHeaderAlt: React.FC = ({ children, background, className, overlap }) => {\n const getStyle = () => {\n return { backgroundImage: background ? `url(${background})` : 'none' };\n };\n\n return (\n \n <>{children}\n \n );\n};\n\nexport default PageHeaderAlt;\n","import React from 'react';\nimport { Button, Grid, Col, Row } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { FilePdfOutlined, FileExcelOutlined } from '@ant-design/icons';\nimport utils from '../../../utils';\nimport PageHeaderAlt from '../../layout/PageHeaderAlt';\n\ninterface IProps {\n element?: any;\n title: string;\n subtitle?: string;\n generatePDF: () => void;\n generateExcel: () => void;\n generatingPDF?: boolean;\n generatingExcel?: boolean;\n}\n\nconst StatisticsReportHeader: React.FC = ({\n element = null,\n title,\n generatePDF,\n generateExcel,\n generatingPDF = false,\n generatingExcel = false,\n subtitle\n}) => {\n const { t } = useTranslation();\n\n const { useBreakpoint } = Grid;\n const isMedium = !utils.getBreakPoint(useBreakpoint()).includes('md');\n const isSmall = !utils.getBreakPoint(useBreakpoint()).includes('sm');\n\n return (\n
\n \n \n {subtitle ? (\n \n \n \n

{title}

\n \n \n

{subtitle}

\n \n
\n \n ) : (\n \n

{title}

\n \n )}\n \n {element}\n \n \n \n \n generatePDF()}\n >\n {t('general.pdf')}\n \n \n \n \n generateExcel()}\n >\n {t('general.excel')}\n \n \n \n \n \n
\n
\n
\n );\n};\n\nexport default StatisticsReportHeader;\n","import React from 'react';\nimport { Card } from 'antd';\n\ninterface IProps {\n title?: string;\n value?: string | number;\n subtitle?: string;\n prefix?: any;\n style: any;\n}\n\nconst StatisticWidget: React.FC = ({ title, value, subtitle, prefix, style }) => {\n return (\n \n {title &&

{title}

}\n
\n {prefix ?
{prefix}
: null}\n
\n
\n {value &&

{value}

}\n
\n {subtitle &&
{subtitle}
}\n
\n
\n
\n );\n};\n\nexport default StatisticWidget;\n","import React from 'react';\nimport { Col, Grid } from 'antd';\nimport { ColProps } from 'antd/lib/grid';\nimport StatisticWidget from '../../layout/StatisticWidget';\nimport { IStatisticalDataWidget } from '../../../api/models/report';\nimport utils from '../../../utils';\n\ninterface IProps {\n data: IStatisticalDataWidget[];\n}\n\nconst StatisticalData: React.FC = ({ data }) => {\n const { useBreakpoint } = Grid;\n const isXs = utils.getBreakPoint(useBreakpoint()).includes('xs');\n\n let colProps: ColProps = {};\n if (!isXs) {\n colProps = {\n flex: `${100 / data.length}%`\n };\n } else {\n colProps = {\n xs: 12\n };\n }\n\n const renderWidgets = () => {\n if (data.length === 0) return null;\n\n return data.map((el, index) => (\n // eslint-disable-next-line react/jsx-props-no-spreading\n \n \n \n ));\n };\n\n return <>{renderWidgets()};\n};\n\nexport default StatisticalData;\n","import React from 'react';\nimport Chart from 'react-apexcharts';\nimport { IChartSeries } from '../../../api/models/report';\n\ninterface IProps {\n series: IChartSeries[];\n height?: number;\n legendPosition?: string;\n}\n\nconst LineChart: React.FC = ({ series, height = 300, legendPosition = 'right' }) => {\n const options = {\n chart: {\n toolbar: {\n show: false\n }\n },\n dataLabels: {\n enabled: false\n },\n stroke: {\n width: 2\n },\n legend: {\n position: legendPosition\n },\n markers: {\n size: 0,\n hover: {\n sizeOffset: 6\n }\n },\n // xaxis: {\n // categories\n // },\n grid: {\n borderColor: '#f1f1f1'\n }\n };\n\n return ;\n};\n\nexport default LineChart;\n","import React from 'react';\nimport { Spin } from 'antd';\nimport { LoadingOutlined } from '@ant-design/icons';\n\ninterface IProps {\n fontSize?: number;\n}\n\nconst Spinner: React.FC = ({ fontSize = 50 }) => {\n const antIcon = (\n \n );\n\n return (\n
\n \n
\n );\n};\n\nexport default Spinner;\n","import { InstitutionTypeName } from '../../constants/theme';\n\nexport interface IEvaluationPeriodSendRequest {\n period: number;\n startDate: Date;\n endDate: Date;\n documentId: number | null;\n}\n\nexport interface IEvaluationPeriod extends IEvaluationPeriodSendRequest {\n id: number;\n}\n\nexport interface IEvaluationPeriodDisplay {\n id: number;\n period: number;\n startDate: string;\n endDate: string;\n documentId: number | null;\n schoolPeriod: string;\n coursePeriod: string;\n}\n\nexport const getEvaluationPeriodBasedOnInstitutionType = (\n year: number,\n institutionType: string\n) => {\n if (institutionType === InstitutionTypeName.SHKOLLE) return `${year - 2}-${year - 1}`;\n\n return year - 2;\n};\n","import moment from 'moment';\nimport pdfMake from 'pdfmake/build/pdfmake';\nimport pdfFonts from 'pdfmake/build/vfs_fonts';\nimport { IReportImage } from '../../../api/models/report';\n\nconst generatePDFReport = (images: IReportImage[], title: string, filename: string) => {\n pdfMake.vfs = pdfFonts.pdfMake.vfs;\n\n const data = images.map((image, index) => {\n return [\n {\n text: image.title,\n margin: index === 0 ? [0, 0, 0, 0] : [0, 20, 0, 0],\n pageBreak: index === 2 ? 'before' : undefined,\n bold: true\n },\n {\n image: image.url,\n width: 500\n // height: 300\n }\n ];\n });\n\n const docDefinition: any = {\n content: [\n {\n text: title,\n style: 'header'\n },\n {\n text: moment().format('DD/MM/YYYY'),\n style: 'date',\n margin: [0, 0, 0, 30]\n },\n data\n ],\n styles: {\n header: {\n fontSize: 18,\n bold: true\n },\n date: {\n italics: true,\n fontSize: 10,\n color: 'grey'\n }\n }\n };\n\n pdfMake.createPdf(docDefinition).download(`${filename}.pdf`);\n};\n\nexport default generatePDFReport;\n","/* eslint-disable no-param-reassign */\nimport ExcelJS from 'exceljs';\nimport { saveAs } from 'file-saver';\n\ninterface ITableHeader {\n name: string;\n}\n\nconst startingRow = 1;\nconst startingColumn = 'A';\n\nconst createTable = (\n worksheet: ExcelJS.Worksheet,\n result: any,\n tableName: string,\n columns: ITableHeader[]\n) => {\n const table = worksheet.addTable({\n name: tableName,\n ref: `${startingColumn}${startingRow}`,\n columns,\n rows: [...result]\n });\n\n return table;\n};\n\nconst generateExcelReport = (\n fileName: string,\n data: any[],\n tableName: string,\n tableHeader: ITableHeader[]\n) => {\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet('Sheet');\n\n if (data.length > 0) createTable(worksheet, data, tableName, tableHeader);\n\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), `${fileName}.xlsx`);\n });\n};\n\nexport default generateExcelReport;\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { Card, Col, message, Row, Select } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport html2canvas from 'html2canvas';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '../../../../../redux/reducers';\nimport Header from '../../../../../components/admin/reports/StatisticsReportHeader';\nimport StatisticalData from '../../../../../components/admin/reports/StatisticalData';\nimport {\n IChartSeries,\n IReportImage,\n IStatisticalDataWidget,\n IStatisticsDataReport\n} from '../../../../../api/models/report';\nimport LineChart from '../../../../../components/admin/charts/LineChart';\nimport { InstitutionTypeName } from '../../../../../constants/theme';\nimport { IInstitutionType } from '../../../../../api/models/institution';\nimport { IError } from '../../../../../api/models/error';\nimport agent from '../../../../../api/agent';\nimport Spinner from '../../../../../components/layout/shared/Spinner';\nimport { getEvaluationPeriodBasedOnInstitutionType } from '../../../../../api/models/evaluationPeriod';\nimport generatePDFReport from '../../pdfReport';\nimport generateExcelReport from '../../excelReport';\n\nconst GraduationStatisticsReport = () => {\n const { t } = useTranslation();\n const { Option } = Select;\n\n const institutionTypes = useSelector(\n (state: RootState) => state.institution.institutionTypes\n ).filter(\n ({ name }) =>\n name === InstitutionTypeName.QENDER_FORMIMI_PROFESIONAL ||\n name === InstitutionTypeName.SHKOLLE\n );\n\n const [institutionType, setInstitutionType] = useState(null);\n const [stats, setStats] = useState(null);\n const [loadingStatistics, setLoadingStatistics] = useState(true);\n const [groupedByInstitution, setGroupedByInstitution] = useState([]);\n const [groupedBySubjects, setGroupedBySubjects] = useState([]);\n // const [studentsData, setStudentsData] = useState([]);\n const [generatingPDF, setGeneratingPDF] = useState(false);\n const [generatingExcel, setGeneratingExcel] = useState(false);\n\n const statisticsGraduationImage1 = useRef(null);\n const statisticsGraduationImage2 = useRef(null);\n\n const getStatistics = useCallback(async () => {\n let result = null;\n\n if (institutionType) {\n setLoadingStatistics(true);\n\n result = await agent.Report.getStatistics(institutionType.id);\n\n setLoadingStatistics(false);\n }\n\n setStats(result);\n }, [institutionType]);\n\n const generateChartsDataSource = useCallback(() => {\n if (stats && institutionType) {\n setGroupedByInstitution(\n stats.groupBySchools.map(({ institution, statistics }) => {\n return {\n name: institution,\n data: statistics.map(({ evaluationPeriod, graduation }) => ({\n x: getEvaluationPeriodBasedOnInstitutionType(evaluationPeriod, institutionType.name),\n y: graduation\n }))\n };\n })\n );\n\n setGroupedBySubjects(\n stats.groupBySubjects.map(({ subject, statistics }) => {\n return {\n name: subject,\n data: statistics.map(({ evaluationPeriod, graduation }) => ({\n x: getEvaluationPeriodBasedOnInstitutionType(evaluationPeriod, institutionType.name),\n y: graduation\n }))\n };\n })\n );\n\n // setStudentsData([\n // {\n // name: 'Nxënës',\n // data: stats.studentsData.map(({ evaluationPeriod, graduation }) => ({\n // x: evaluationPeriod,\n // y: graduation\n // }))\n // }\n // ]);\n }\n }, [institutionType, stats]);\n\n useEffect(() => {\n setInstitutionType(institutionTypes[0]);\n }, [institutionTypes]);\n\n useEffect(() => {\n try {\n getStatistics();\n } catch (error) {\n const errors: IError = error?.data;\n setLoadingStatistics(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n }, [getStatistics, institutionType]);\n\n useEffect(() => {\n generateChartsDataSource();\n }, [generateChartsDataSource, stats]);\n\n const renderHeaderFilter = () => {\n if (institutionType?.id) {\n return (\n {\n setInstitutionType(institutionTypes.filter((el) => el.id === e)[0]);\n }}\n >\n {institutionTypes.map((type) => (\n \n ))}\n \n );\n }\n\n return null;\n };\n\n const renderWidgets = () => {\n let data: IStatisticalDataWidget[] = [];\n\n if (stats && institutionType?.name) {\n data = stats?.statistics.map(({ description, graduation }) => {\n return {\n title: description,\n value: graduation.toString(),\n subtitle: getEvaluationPeriodBasedOnInstitutionType(\n new Date().getFullYear(),\n institutionType.name\n ).toString()\n };\n });\n }\n\n return data;\n };\n\n const generateExcel = async () => {\n try {\n setGeneratingExcel(true);\n const result = await agent.Report.getStatisticsExcel();\n\n const datasource: any[] = result.data.map(\n ({\n county,\n municipality,\n institution,\n institutiontype: instType,\n property,\n subproperty,\n year,\n registration,\n graduation\n }) => {\n return [\n county,\n municipality,\n institution,\n property,\n subproperty,\n getEvaluationPeriodBasedOnInstitutionType(year, instType),\n registration,\n graduation\n ];\n }\n );\n\n generateExcelReport(\n 'raport_te_dhenat_statistikore',\n datasource,\n 'graduation_statistical_data_table',\n [\n { name: 'Qark' },\n { name: 'Bashki' },\n { name: 'Emri i institucionit' },\n { name: 'Tipi i treguesit' },\n { name: 'Treguesi' },\n { name: 'Viti akademik' },\n { name: 'Total' },\n { name: 'Certifikime/Diplomime' }\n ]\n );\n\n setGeneratingExcel(false);\n } catch (error) {\n const errors: IError = error?.data;\n setGeneratingExcel(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n };\n\n const generatePDF = async () => {\n const images: IReportImage[] = [];\n const reportTitle =\n institutionType?.name === InstitutionTypeName.SHKOLLE\n ? t('general.graduation_vocational_education')\n : t('general.graduation_course_center');\n\n const firstImage = {\n element: statisticsGraduationImage1.current\n };\n\n const secondImage = {\n element: statisticsGraduationImage2.current\n };\n\n try {\n setGeneratingPDF(true);\n window.scrollTo(0, 0);\n\n if (firstImage && firstImage.element) {\n const canvas = await html2canvas(firstImage.element, { scrollX: -7 });\n\n images.push({ url: canvas.toDataURL('image/png') });\n }\n\n if (secondImage && secondImage.element) {\n const canvas = await html2canvas(secondImage.element, { scrollX: -7 });\n\n images.push({ url: canvas.toDataURL('image/png') });\n }\n\n generatePDFReport(images, reportTitle, 'raport_te_dhenat_statistikore_diplomime');\n setGeneratingPDF(false);\n } catch (error) {\n setGeneratingPDF(false);\n }\n };\n\n if (loadingStatistics) return ;\n\n return (\n <>\n \n\n \n \n \n \n\n \n \n {/* \n \n \n \n */}\n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n );\n};\n\nexport default GraduationStatisticsReport;\n","import React from 'react';\nimport Chart from 'react-apexcharts';\nimport { IChartSeries } from '../../../api/models/report';\n\ninterface IProps {\n series: IChartSeries[];\n height?: number;\n percentage?: boolean;\n}\n\nconst VerticalBarChart: React.FC = ({ series, height = 350, percentage = false }) => {\n const options = {\n grid: {\n xaxis: {\n lines: {\n show: true\n }\n },\n yaxis: {\n lines: {\n show: false\n }\n }\n },\n chart: {\n toolbar: {\n show: false\n }\n },\n plotOptions: {\n bar: {\n horizontal: true,\n dataLabels: {\n position: 'top'\n }\n }\n },\n dataLabels: {\n enabled: true,\n offsetX: -10,\n formatter: (value: number) => {\n if (value === 0) {\n return '';\n }\n\n if (percentage) {\n return value < 5 ? '' : value;\n }\n\n return value;\n }\n },\n tooltip: {\n y: {\n formatter: (value: number) => {\n return percentage ? `${value} %` : value;\n }\n }\n },\n xaxis: {\n tickPlacement: 'between'\n // tickAmount: 5,\n // min: 0,\n // max: 100\n // categories\n },\n yaxis: {\n labels: {\n show: true,\n align: 'right',\n minWidth: 0,\n maxWidth: 200\n },\n tickAmount: percentage ? 5 : undefined,\n min: percentage ? 0 : undefined,\n max: percentage ? 100 : undefined\n }\n };\n\n return ;\n};\n\nexport default VerticalBarChart;\n","import React from 'react';\nimport Chart from 'react-apexcharts';\nimport { IChartSeries } from '../../../api/models/report';\n\ninterface IProps {\n series: IChartSeries[];\n height?: number;\n percentage?: boolean;\n}\n\nconst HorizontalBarChart: React.FC = ({ series, height = 350, percentage = false }) => {\n const options = {\n chart: {\n toolbar: {\n show: false\n }\n },\n plotOptions: {\n bar: {\n horizontal: false\n // dataLabels: {\n // position: percentage ? 'top' : 'center'\n // }\n }\n },\n dataLabels: {\n enabled: true,\n formatter: (value: number) => {\n if (value === 0) {\n return '';\n }\n\n if (percentage) {\n return value < 5 ? '' : value;\n }\n\n return value;\n }\n },\n tooltip: {\n y: {\n formatter: (value: number) => {\n return percentage ? `${value} %` : value;\n }\n }\n },\n xaxis: {\n tickPlacement: 'on'\n },\n yaxis: {\n tickAmount: percentage ? 5 : undefined,\n min: percentage ? 0 : undefined,\n max: percentage ? 100 : undefined\n }\n };\n\n return ;\n};\n\nexport default HorizontalBarChart;\n","import _ from 'lodash';\nimport { IField } from '../../../../../api/models/field';\nimport { IFieldExtractReport } from '../../../../../api/models/report';\n\ninterface ICustomSubfield {\n id: number;\n name: string;\n rating: number | null;\n}\n\ninterface ICustomIndicator {\n id: number;\n subField: {\n id: number;\n name: string;\n };\n name: string;\n rating: number | null;\n}\n\ninterface ICriteria {\n // id: number;\n name: string;\n rating: number;\n description: string;\n evidence: string;\n}\n\ninterface IIndicator {\n id: number;\n name: string;\n rating: number | null;\n criteria: ICriteria[];\n}\n\ninterface ISubField {\n id: number;\n name: string;\n rating: number | null;\n indicators: IIndicator[];\n}\n\nexport interface ISelfEvaluationReportResult {\n fieldId: number;\n fieldName: string;\n subFields: ISubField[];\n}\n\nexport const evaluateSelfEvaluationRating = (data: number | null) => {\n if (data === null) return '';\n\n const value = Math.round(data);\n\n switch (value) {\n case 1:\n return 'Shumë mirë';\n case 2:\n return 'Mirë';\n case 3:\n return 'Mjaftueshëm';\n case 4:\n return 'Dobët';\n default:\n return 'Pa vlerësim';\n }\n};\n\nexport const getSelEvalutationAverageRating = (data: IFieldExtractReport[]) => {\n const responsesWithValue = data.filter(({ rating }) => rating !== null && rating !== 0).length;\n\n const totalRating =\n responsesWithValue === 0\n ? 0\n : data.reduce((acc, curr) => {\n return acc + (curr.rating ?? 0);\n }, 0) / responsesWithValue;\n\n return totalRating;\n};\n\nexport const generateSelfEvaluationReportResult = (\n currentField: IField,\n data: IFieldExtractReport[]\n) => {\n const subFields: ICustomSubfield[] = [];\n const indicators: ICustomIndicator[] = [];\n\n const groupedIndicators = _.groupBy(data, 'indicatorId');\n\n // Group and calculate rating on indicator level\n Object.keys(groupedIndicators).forEach((property) => {\n const count = groupedIndicators[property].filter(\n ({ rating }) => rating !== null && rating !== 0\n ).length;\n\n const { subFieldId, subFieldName, indicatorId, indicator } = groupedIndicators[property][0];\n let totalPoints = 0;\n\n groupedIndicators[property].forEach((item) => {\n totalPoints += item.rating ?? 0;\n });\n\n const rating = count === 0 ? null : totalPoints / count;\n\n indicators.push({\n id: indicatorId,\n name: indicator,\n subField: {\n id: subFieldId,\n name: subFieldName\n },\n rating\n });\n });\n\n // Group and calculate rating on sub field level\n currentField.subFields.forEach((subField) => {\n let count = 0;\n let totalPoints = 0;\n\n data.forEach((item) => {\n if (item.subFieldId === subField.id) {\n if (item.rating !== null && item.rating !== 0) {\n count += 1;\n }\n\n totalPoints += item.rating ?? 0;\n }\n });\n\n const rating = count === 0 ? null : totalPoints / count;\n\n subFields.push({\n id: subField.id,\n name: subField.name,\n rating\n });\n });\n\n const result: ISelfEvaluationReportResult = {\n fieldId: currentField.id,\n fieldName: currentField.name,\n subFields: []\n };\n\n // Generate final model used to generate report\n subFields.forEach((subField) => {\n const tempIndicators: IIndicator[] = [];\n\n indicators.forEach((indicator) => {\n const tempCriteria: ICriteria[] = [];\n\n data.forEach((criteria) => {\n if (criteria.indicatorId === indicator.id) {\n tempCriteria.push({\n name: criteria.question,\n rating: criteria.rating,\n description: criteria?.description ?? '',\n evidence: criteria?.evidence ?? ''\n });\n }\n });\n\n if (indicator.subField.id === subField.id) {\n tempIndicators.push({\n id: indicator.id,\n name: indicator.name,\n rating: indicator.rating,\n criteria: tempCriteria\n });\n }\n });\n\n result.subFields.push({\n id: subField.id,\n name: subField.name,\n rating: subField.rating,\n indicators: tempIndicators\n });\n });\n\n return result;\n};\n","import pdfMake from 'pdfmake/build/pdfmake';\nimport pdfFonts from 'pdfmake/build/vfs_fonts';\nimport { getEvaluationPeriodBasedOnInstitutionType } from '../../../../../api/models/evaluationPeriod';\nimport { IInstitution } from '../../../../../api/models/institution';\nimport { IFieldExtractReport } from '../../../../../api/models/report';\nimport { IInstitutionSelfEvaluation } from '../../../../../api/models/selfEvaluation';\nimport { IField } from '../../../../../api/models/field';\nimport {\n evaluateSelfEvaluationRating,\n generateSelfEvaluationReportResult,\n getSelEvalutationAverageRating\n} from './selfEvaluationReport_helper';\n\nconst fieldExtractPDFReport = (\n // fileName: string,\n data: IFieldExtractReport[],\n selfEvaluation: IInstitutionSelfEvaluation,\n institution: IInstitution,\n fields: IField[]\n) => {\n pdfMake.vfs = pdfFonts.pdfMake.vfs;\n\n const currentField = fields.filter((field) => field.id === data[0].fieldId)[0];\n const result = generateSelfEvaluationReportResult(currentField, data);\n\n // Build header for 'Vleresimi sipas treguesve' table\n const vleresimiSipasTreguesve: any[] = [\n [\n { text: 'Nënfusha', style: 'tableHeader' },\n { text: 'Treguesi', style: 'tableHeader' },\n { text: 'Nivelet e vlerësimit', style: 'tableHeader' },\n { text: 'Pikët', style: 'tableHeader' }\n ]\n ];\n\n // Build body for 'Vleresimi sipas treguesve' table\n result.subFields.forEach((subField, indexOfSubField) => {\n subField.indicators.forEach((indicator, indexOfIndicator) => {\n vleresimiSipasTreguesve.push([\n {\n text: `${indexOfSubField + 1}. ${subField.name}`,\n style: 'tableField',\n rowSpan: subField.indicators.length\n },\n {\n text: `${indexOfSubField + 1}.${indexOfIndicator + 1}. ${indicator.name}`,\n style: 'tableField'\n },\n { text: evaluateSelfEvaluationRating(indicator.rating), style: 'tableField' },\n { text: indicator?.rating?.toFixed(1) ?? '', alignment: 'right', style: 'tableField' }\n ]);\n });\n });\n\n // Build header for 'Vleresimi sipas kritereve' table\n const vleresimiSipasKritereve: any[] = [\n [\n { text: 'Nënfusha', style: 'tableHeader' },\n { text: 'Treguesi', style: 'tableHeader' },\n { text: 'Kritere', style: 'tableHeader' },\n { text: 'Nivelet e vlerësimit', style: 'tableHeader' },\n { text: 'Pikët', style: 'tableHeader' },\n { text: 'Komente', style: 'tableHeader' },\n { text: 'Evidenca', style: 'tableHeader' }\n ]\n ];\n\n // Build body for 'Vleresimi sipas kritereve' table\n result.subFields.forEach((subField, indexOfSubField) => {\n const subFieldRowSpan = data.filter((item) => item.subFieldId === subField.id).length;\n\n subField.indicators.forEach((indicator, indexOfIndicator) => {\n indicator.criteria.forEach((criteria, indexOfCriteria) => {\n vleresimiSipasKritereve.push([\n {\n text: `${indexOfSubField + 1}. ${subField.name}`,\n style: 'tableField_1',\n rowSpan: subFieldRowSpan\n },\n {\n text: `${indexOfSubField + 1}.${indexOfIndicator + 1}. ${indicator.name}`,\n style: 'tableField_1',\n rowSpan: indicator.criteria.length\n },\n {\n text: `${indexOfSubField + 1}.${indexOfIndicator + 1}.${indexOfCriteria + 1}. ${\n criteria.name\n }`,\n style: 'tableField_1'\n },\n { text: evaluateSelfEvaluationRating(criteria.rating), style: 'tableField_1' },\n { text: criteria.rating?.toFixed(1) ?? '', alignment: 'right', style: 'tableField_1' },\n { text: criteria.description, style: 'tableField_1' },\n { text: criteria.evidence, style: 'tableField_1' }\n ]);\n });\n });\n });\n\n const totalRating = getSelEvalutationAverageRating(data);\n\n const docDefinition: any = {\n pageOrientation: 'landscape',\n content: [\n { text: `Vetëvlerësimi ${selfEvaluation.evaluationPeriod.period}`, style: 'mainheader' },\n { text: `${institution.name}`, style: 'subheader' },\n { text: `Fusha: ${data[0].fieldName}`, style: 'subheader' },\n {\n text: `${getEvaluationPeriodBasedOnInstitutionType(\n selfEvaluation.evaluationPeriod.period,\n institution.institutionType.name\n )}`,\n style: 'subheader'\n },\n {\n table: {\n body: [\n [\n {\n border: [false, false, false, true],\n style: 'subheader_1',\n text: 'Performanca e vetëvlerësimit'\n }\n ],\n [\n {\n border: [false, false, false, false],\n margin: [0, 5, 0, 0],\n text: `${evaluateSelfEvaluationRating(totalRating)} ${totalRating.toFixed(1)}`,\n fontSize: 12,\n bold: true\n }\n ]\n ]\n },\n layout: {\n paddingLeft() {\n return 0;\n }\n }\n },\n {\n text: 'Vetëvlerësimi sipas nënfushave',\n style: 'subheader_1',\n margin: [0, 0, 0, 10],\n pageBreak: 'before'\n },\n {\n table: {\n widths: ['*', 250, 100],\n headerRows: 1,\n body: [\n [\n { text: 'Nënfusha', style: 'tableHeader' },\n { text: 'Nivelet e vlerësimit', style: 'tableHeader' },\n { text: 'Pikët', style: 'tableHeader' }\n ],\n ...result.subFields.map(({ name, rating }, index) => {\n return [\n { text: `${index + 1}. ${name}`, style: 'tableField' },\n { text: evaluateSelfEvaluationRating(rating), style: 'tableField' },\n { text: rating?.toFixed(1) ?? '', alignment: 'right', style: 'tableField' }\n ];\n })\n ]\n }\n },\n {\n text: 'Vetëvleresimi sipas treguesve',\n style: 'subheader_1',\n margin: [0, 0, 0, 10],\n pageBreak: 'before'\n },\n {\n table: {\n widths: [200, '*', 100, 50],\n headerRows: 1,\n body: [...vleresimiSipasTreguesve]\n }\n },\n {\n text: 'Vetëvlerësimi sipas kritereve',\n style: 'subheader_1',\n margin: [0, 0, 0, 0, 10],\n pageBreak: 'before'\n },\n {\n table: {\n widths: [75, '*', '*', 100, 35, '*', '*'],\n headerRows: 1,\n body: [...vleresimiSipasKritereve]\n }\n }\n ],\n pageBreakBefore(currentNode: any, followingNodesOnPage: any) {\n return currentNode.headlineLevel === 1 && followingNodesOnPage.length === 0;\n },\n footer(currentPage: any, pageCount: any) {\n return [\n {\n text: `${currentPage.toString()} nga ${pageCount}`,\n alignment: 'right',\n margin: [0, 0, 40, 0],\n fontSize: 8\n }\n ];\n },\n styles: {\n mainheader: {\n fontSize: 25,\n bold: true,\n margin: [0, 100, 0, 0],\n alignment: 'center'\n },\n subheader: {\n fontSize: 18,\n bold: true,\n margin: [0, 50, 0, 0],\n alignment: 'center'\n },\n subheader_1: {\n fontSize: 12,\n bold: true,\n margin: [0, 50, 0, 0]\n },\n tableHeader: {\n fillColor: 'black',\n color: 'white',\n alignment: 'center',\n fontSize: 12,\n bold: true\n },\n tableField: {\n fontSize: 10\n },\n tableField_1: {\n fontSize: 8\n }\n },\n defaultStyle: {\n // alignment: 'justify'\n }\n };\n\n pdfMake.createPdf(docDefinition).download('raporti_vetëvlerësimit.pdf');\n};\n\nexport default fieldExtractPDFReport;\n","/* eslint-disable no-param-reassign */\nimport ExcelJS from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { getEvaluationPeriodBasedOnInstitutionType } from '../../../../../api/models/evaluationPeriod';\nimport { IField } from '../../../../../api/models/field';\nimport { IInstitution } from '../../../../../api/models/institution';\nimport { IFieldExtractReport } from '../../../../../api/models/report';\nimport { IInstitutionSelfEvaluation } from '../../../../../api/models/selfEvaluation';\nimport {\n evaluateSelfEvaluationRating,\n generateSelfEvaluationReportResult,\n getSelEvalutationAverageRating,\n ISelfEvaluationReportResult\n} from './selfEvaluationReport_helper';\n\ninterface IRow {\n current: number;\n}\n\nconst startingRow = 1;\nconst startingColumn = 'A';\n\nconst headerCell = (worksheet: ExcelJS.Worksheet, row: IRow, value: string, bold = false) => {\n const fontHeader = { name: 'Arial', size: 14, bold };\n\n const cell = worksheet.getCell(`${startingColumn}${row.current}`);\n cell.font = fontHeader;\n cell.value = value;\n\n // worksheet.mergeCells(`${startingColumn}${row.current}:${numberToChar(5)}${row.current}`);\n\n row.current += 1;\n\n return cell;\n};\n\nconst createSubFieldEvaluationTable = (\n worksheet: ExcelJS.Worksheet,\n row: IRow,\n result: ISelfEvaluationReportResult\n) => {\n row.current += 2;\n\n headerCell(worksheet, row, 'Vetëvlerësimi sipas nënfushave', true);\n\n let count = 1; // also count table header\n\n const table = worksheet.addTable({\n name: 'vetevleresimi_sipas_nenfushave',\n ref: `${startingColumn}${row.current}`,\n columns: [{ name: 'Nënfusha' }, { name: 'Nivelet e vlerësimit' }, { name: 'Pikët' }],\n rows: [\n ...result.subFields.map(({ name, rating }, index) => {\n count += 1;\n\n return [\n `${index + 1}. ${name}`,\n evaluateSelfEvaluationRating(rating),\n rating?.toFixed(1) ?? ''\n ];\n })\n ]\n });\n\n row.current += count;\n\n return table;\n};\n\nconst createIndicatordEvaluationTable = (\n worksheet: ExcelJS.Worksheet,\n row: IRow,\n result: ISelfEvaluationReportResult\n) => {\n row.current += 2;\n\n headerCell(worksheet, row, 'Vetëvlerësimi sipas treguesve', true);\n\n let count = 1; // also count table header\n\n const rows: any[] = [];\n\n result.subFields.forEach((subField, indexOfSubField) => {\n subField.indicators.forEach((indicator, indexOfIndicator) => {\n count += 1;\n\n rows.push([\n `${indexOfSubField + 1}. ${subField.name}`,\n `${indexOfSubField + 1}.${indexOfIndicator + 1}. ${indicator.name}`,\n evaluateSelfEvaluationRating(indicator.rating),\n indicator?.rating?.toFixed(1) ?? ''\n ]);\n });\n });\n\n const table = worksheet.addTable({\n name: 'vetevleresimi_sipas_treguesve',\n ref: `${startingColumn}${row.current}`,\n columns: [\n { name: 'Nënfusha' },\n { name: 'Treguesi' },\n { name: 'Nivelet e vlerësimit' },\n { name: 'Pikët' }\n ],\n rows\n });\n\n row.current += count;\n\n return table;\n};\n\nconst createCriteriaEvaluationTable = (\n worksheet: ExcelJS.Worksheet,\n row: IRow,\n result: ISelfEvaluationReportResult\n) => {\n row.current += 2;\n\n headerCell(worksheet, row, 'Vetëvlerësimi sipas kritereve', true);\n\n let count = 1; // also count table header\n\n const rows: any[] = [];\n\n result.subFields.forEach((subField, indexOfSubField) => {\n subField.indicators.forEach((indicator, indexOfIndicator) => {\n indicator.criteria.forEach((criteria, indexOfCriteria) => {\n count += 1;\n\n rows.push([\n `${indexOfSubField + 1}. ${subField.name}`,\n `${indexOfSubField + 1}.${indexOfIndicator + 1}. ${indicator.name}`,\n `${indexOfSubField + 1}.${indexOfIndicator + 1}.${indexOfCriteria + 1}. ${criteria.name}`,\n evaluateSelfEvaluationRating(criteria.rating),\n criteria.rating?.toFixed(1) ?? '',\n criteria.description,\n criteria.evidence\n ]);\n });\n });\n });\n\n const table = worksheet.addTable({\n name: 'vetevleresimi_sipas_kritereve',\n ref: `${startingColumn}${row.current}`,\n columns: [\n { name: 'Nënfusha' },\n { name: 'Treguesi' },\n { name: 'Kritere' },\n { name: 'Nivelet e vlerësimit' },\n { name: 'Pikët' },\n { name: 'Komente' },\n { name: 'Evidenca' }\n ],\n rows\n });\n\n row.current += count;\n\n return table;\n};\n\nconst generateSelfEvaluationExcelReport = (\n // fileName: string,\n data: IFieldExtractReport[],\n selfEvaluation: IInstitutionSelfEvaluation,\n institution: IInstitution,\n fields: IField[]\n) => {\n const currentField = fields.filter((field) => field.id === data[0].fieldId)[0];\n const result = generateSelfEvaluationReportResult(currentField, data);\n const totalRating = getSelEvalutationAverageRating(data);\n\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet('Sheet');\n const row = { current: startingRow };\n\n headerCell(worksheet, row, `Vetëvlerësimi ${selfEvaluation.evaluationPeriod.period}`);\n headerCell(worksheet, row, `${institution.name}`);\n headerCell(worksheet, row, `Fusha: ${data[0].fieldName}`);\n headerCell(\n worksheet,\n row,\n `${getEvaluationPeriodBasedOnInstitutionType(\n selfEvaluation.evaluationPeriod.period,\n institution.institutionType.name\n )}`\n );\n\n row.current += 2;\n\n headerCell(worksheet, row, 'Performanca e vetëvlerësimit', true);\n headerCell(\n worksheet,\n row,\n `${evaluateSelfEvaluationRating(totalRating)} ${totalRating.toFixed(1)}`,\n true\n );\n\n createSubFieldEvaluationTable(worksheet, row, result);\n\n createIndicatordEvaluationTable(worksheet, row, result);\n\n createCriteriaEvaluationTable(worksheet, row, result);\n\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'raporti_vetëvlerësimit.xlsx');\n });\n};\n\nexport default generateSelfEvaluationExcelReport;\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Card, Col, message, Row, Select, Table } from 'antd';\nimport Title from 'antd/lib/typography/Title';\nimport { FileExcelOutlined, FileOutlined, FilePdfOutlined } from '@ant-design/icons';\nimport html2canvas from 'html2canvas';\nimport { useSelector } from 'react-redux';\nimport moment from 'moment';\nimport Header from '../../../../../components/admin/reports/StatisticsReportHeader';\nimport { RootState } from '../../../../../redux/reducers';\nimport StatisticalData from '../../../../../components/admin/reports/StatisticalData';\nimport {\n IChartSeries,\n IFieldExtractReport,\n IReportImage,\n IResultSummaryReport,\n IStatisticalDataWidget\n} from '../../../../../api/models/report';\nimport VerticalBarChart from '../../../../../components/admin/charts/VerticalBarChart';\nimport HorizontalBarChart from '../../../../../components/admin/charts/HorizontalBarChart';\nimport agent from '../../../../../api/agent';\nimport { IEvaluationPeriod } from '../../../../../api/models/evaluationPeriod';\nimport { IError } from '../../../../../api/models/error';\nimport Spinner from '../../../../../components/layout/shared/Spinner';\nimport utils from '../../../../../utils';\nimport generateSelfEvaluationPdfReport from '../../../../../components/institutions/self-evaluation/fields-overview/report_template/selfEvaluationReport_pdf';\nimport { IInstitutionSelfEvaluation } from '../../../../../api/models/selfEvaluation';\nimport { IInstitution } from '../../../../../api/models/institution';\nimport { IField } from '../../../../../api/models/field';\nimport generateSelfEvaluationExcelReport from '../../../../../components/institutions/self-evaluation/fields-overview/report_template/selfEvaluationReport_excel';\nimport generateExcelReport from '../../excelReport';\nimport generatePDFReport from '../../pdfReport';\n\nconst TextItemsList: React.FC<{ items: string[]; itemIds: string[] }> = ({ items, itemIds }) => {\n const [...copy] = items;\n\n return (\n \n {copy.map((item, index) => (\n \n {item}\n \n ))}\n \n );\n};\n\nconst IconsItemsList: React.FC<{\n institutionId: number;\n items: string[];\n itemIds: string[];\n icon: React.ComponentType;\n reportGenerator: (institutionId: number, selfEvaluationId: number) => Promise;\n}> = ({ institutionId, items, itemIds, icon, reportGenerator }) => {\n const [...copy] = items;\n\n return (\n \n {copy.map((item, index) => (\n \n {React.createElement(icon, {\n // eslint-disable-next-line radix\n onClick: () => reportGenerator(institutionId, parseInt(item))\n })}\n \n ))}\n \n );\n};\n\nconst EvaluationPerformanceSummaryReport = () => {\n const { t } = useTranslation();\n const { Option } = Select;\n\n const evaluationPeriods = useSelector(\n (state: RootState) => state.evaluationPeriod.evaluationPeriods\n );\n\n const fields = useSelector((state: RootState) => state.field.fields);\n const [evaluationPeriod, setEvaluationPeriod] = useState(null);\n const [loadingSummary, setLoadingSummary] = useState(true);\n const [summary, setSummary] = useState(null);\n const [fieldsSummaryDataSource, setFieldsSummaryDataSource] = useState(null);\n const [selfEvaluationSummaryDataSource, setSelfEvaluationSummaryDataSource] = useState(null);\n const [institutionPoints, setInstitutionPoints] = useState([]);\n const [statistics, setStatistics] = useState([]);\n const [countyPoints, setCountyPoints] = useState([]);\n const [generatingPDF, setGeneratingPDF] = useState(false);\n const [generatingExcel, setGeneratingExcel] = useState(false);\n\n const resultSummaryImage = useRef(null);\n\n const getSummary = useCallback(async () => {\n let result = null;\n\n if (evaluationPeriod) {\n setLoadingSummary(true);\n\n result = await agent.Report.getSummary(evaluationPeriod.id);\n\n setLoadingSummary(false);\n }\n\n setSummary(result);\n }, [evaluationPeriod]);\n\n const generateChartsDataSource = useCallback(() => {\n if (summary) {\n setFieldsSummaryDataSource(\n summary.summaryProgress.map((el, index) => ({ ...el, id: index.toString() }))\n );\n\n setSelfEvaluationSummaryDataSource(summary.selfEvaluationSummary);\n\n setInstitutionPoints([\n {\n name: 'Institucioni',\n data: summary.institutionPoints.map(({ institution, rating }) => ({\n x: institution,\n y: rating\n }))\n }\n ]);\n\n setCountyPoints([\n {\n name: 'Qarku',\n data: summary.countiesPoints.map(({ county, rating }) => ({\n x: county,\n y: rating\n }))\n }\n ]);\n\n setStatistics(summary.statistics);\n }\n }, [summary]);\n\n const selectEvaluationPeriod = useCallback(() => {\n if (evaluationPeriods.length > 0) {\n const currentPeriod = evaluationPeriods.filter(\n (el) => el.period === new Date().getFullYear()\n )[0];\n\n if (currentPeriod) return currentPeriod;\n\n return evaluationPeriods[0];\n }\n\n return null;\n }, [evaluationPeriods]);\n\n useEffect(() => {\n setEvaluationPeriod(selectEvaluationPeriod());\n }, [evaluationPeriods, selectEvaluationPeriod]);\n\n useEffect(() => {\n try {\n getSummary();\n } catch (error) {\n const errors: IError = error?.data;\n setLoadingSummary(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n }, [evaluationPeriod, getSummary]);\n\n useEffect(() => {\n generateChartsDataSource();\n }, [generateChartsDataSource, summary]);\n\n const generateSelfEvaluationReport = (\n reportGenerator: (\n data: IFieldExtractReport[],\n selfEvaluation: IInstitutionSelfEvaluation,\n institution: IInstitution,\n fields: IField[]\n ) => void\n ) => {\n return async (institutionId: number, selfEvaluationId: number) => {\n try {\n const data = await agent.Report.listFieldsData(institutionId, selfEvaluationId);\n const selfEvaluationList = await agent.InstitutionSelfEvaluation.list(institutionId);\n const selfEvaluation = selfEvaluationList.filter(\n (item) => item.id === selfEvaluationId\n )?.[0];\n const institution = await agent.Institution.getById(institutionId);\n\n if (selfEvaluation) {\n reportGenerator(data, selfEvaluation, institution, fields);\n }\n } catch (error) {\n const err: IError = error?.data ?? error;\n\n message.error({ content: err?.message ?? error, duration: 4 });\n }\n };\n };\n\n const renderHeaderFilter = () => {\n if (evaluationPeriod) {\n return (\n {\n setEvaluationPeriod(evaluationPeriods.filter((el) => el.id === e)[0]);\n }}\n >\n {evaluationPeriods.map((period) => (\n \n ))}\n \n );\n }\n\n return null;\n };\n\n const renderFieldsProgress = (items: string[], row: any) => {\n const fieldsProgress = items.map((item) => {\n if (parseInt(item, 10) === 100) {\n return '100';\n }\n\n return item;\n });\n\n return ;\n };\n\n const renderTextItemsList = (items: string[], row: any) => (\n \n );\n\n const fieldsSummaryTableColumns: any = [\n {\n title: t('general.field'),\n dataIndex: 'field',\n key: 'field',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'field')\n },\n {\n title: t('general.institution'),\n dataIndex: 'institution',\n key: 'institution',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'institution')\n },\n {\n title: t('general.result_points'),\n dataIndex: 'rating',\n key: 'rating',\n align: 'right'\n }\n ];\n\n const selfEvaluationSummaryTableColumns: any = [\n {\n title: t('general.county'),\n dataIndex: 'county',\n width: '5%',\n key: 'county',\n align: 'center',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'county')\n },\n {\n title: t('general.institution'),\n dataIndex: 'institution',\n key: 'institution',\n width: '20%',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'institution')\n },\n {\n title: t('general.result_points'),\n dataIndex: 'averageFieldRating',\n key: 'averageFieldRating',\n width: '5%',\n align: 'center',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'averageFieldRating'),\n render: (averageFieldRating: string) => {averageFieldRating}\n },\n {\n title: t('general.report'),\n dataIndex: 'documentId',\n key: 'documentId',\n align: 'center',\n width: '5%',\n render: (documentId: number | null) => {\n if (!documentId) {\n return null;\n }\n\n return (\n {\n utils.downloadDocument(documentId);\n }}\n />\n );\n }\n },\n {\n title: t('general.evaluated_field'),\n dataIndex: 'fields',\n key: 'fields',\n align: 'right',\n width: '25%',\n render: renderTextItemsList\n },\n {\n title: t('general.progress'),\n dataIndex: 'fieldsProgress',\n key: 'fieldsProgress',\n width: '5%',\n align: 'center',\n render: renderFieldsProgress\n },\n {\n title: t('general.result_points'),\n dataIndex: 'ratings',\n key: 'ratings',\n align: 'center',\n width: '5%',\n render: renderTextItemsList\n },\n {\n title: t('general.pdf'),\n width: '5%',\n key: 'pdfReport',\n dataIndex: 'selfEvaluationIds',\n align: 'center',\n render: (selfEvaluationIds: string[], row: any) => (\n \n )\n },\n {\n title: t('general.excel'),\n width: '5%',\n key: 'excelReport',\n dataIndex: 'selfEvaluationIds',\n align: 'center',\n render: (selfEvaluationIds: string[], row: any) => (\n \n )\n },\n {\n title: t('general.total_criterias'),\n dataIndex: 'totalCriterias',\n key: 'totalCriterias',\n align: 'center',\n width: '5%',\n render: renderTextItemsList\n },\n {\n title: t('general.criterias_without_evaluation'),\n dataIndex: 'responsesWithoutEvaluation',\n key: 'responsesWithoutEvaluation',\n align: 'center',\n width: '5%',\n render: renderTextItemsList\n },\n {\n title: t('general.criterias_with_comments'),\n width: '5%',\n dataIndex: 'responsesWithComments',\n key: 'responsesWithComments',\n align: 'center',\n render: renderTextItemsList\n },\n {\n title: t('general.criterias_with_evidence'),\n dataIndex: 'responsesWithEvidence',\n key: 'responsesWithEvidence',\n align: 'center',\n width: '5%',\n render: renderTextItemsList\n }\n ];\n\n const generateExcel = async () => {\n try {\n if (evaluationPeriod) {\n setGeneratingExcel(true);\n const result = await agent.Report.getProgressExcel();\n\n const datasource: any[] = result.data\n .filter((el) => el.year === evaluationPeriod.period)\n .map(\n ({\n county,\n institution,\n year,\n startdate,\n enddate,\n field,\n subfield,\n indicator,\n criteria,\n rating,\n description,\n evidence\n }) => {\n return [\n county,\n institution,\n year,\n `${moment(startdate).format('DD/MM/YYYY')} - ${moment(enddate).format(\n 'DD/MM/YYYY'\n )}`,\n field,\n subfield,\n indicator,\n criteria,\n rating,\n description,\n evidence\n ];\n }\n );\n\n generateExcelReport(\n 'raport_rezultatet_vetevleresimit',\n datasource,\n 'evaluation_progress_data_table',\n [\n { name: 'Qark' },\n { name: 'Institucioni Arsimor' },\n { name: 'Viti i vlerësimit' },\n { name: 'Periudha e vlerësimit' },\n { name: 'Fusha' },\n { name: 'Nënfusha' },\n { name: 'Treguesi' },\n { name: 'Kriteri' },\n { name: 'Vlerësimi me pikë' },\n { name: 'Komente' },\n { name: 'Evidenca' }\n ]\n );\n\n setGeneratingExcel(false);\n }\n } catch (error) {\n const errors: IError = error?.data;\n setGeneratingExcel(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n };\n\n const generatePDF = async () => {\n const images: IReportImage[] = [];\n const reportTitle = `${t('general.self_evaluation_result')} ${evaluationPeriod?.period}`;\n\n const image = {\n element: resultSummaryImage.current\n };\n\n try {\n setGeneratingPDF(true);\n window.scrollTo(0, 0);\n\n if (image && image.element) {\n const canvas = await html2canvas(image.element, { scrollX: -7 });\n\n images.push({ url: canvas.toDataURL('image/png') });\n\n generatePDFReport(images, reportTitle, 'raport_permbledhje_vetevleresimi');\n setGeneratingPDF(false);\n }\n } catch (error) {\n setGeneratingPDF(false);\n }\n };\n\n if (!evaluationPeriod) return

{t('general.no_evaluation_period')}

;\n\n if (loadingSummary) return ;\n\n return (\n <>\n \n\n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default EvaluationPerformanceSummaryReport;\n","import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { Card, Col, message, Row, Select } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport html2canvas from 'html2canvas';\nimport moment from 'moment';\nimport { RootState } from '../../../../../redux/reducers';\nimport Header from '../../../../../components/admin/reports/StatisticsReportHeader';\nimport StatisticalData from '../../../../../components/admin/reports/StatisticalData';\nimport {\n IChartSeries,\n IReportImage,\n IResultByFieldsReport,\n IStatisticalDataWidget\n} from '../../../../../api/models/report';\nimport HorizontalBarChart from '../../../../../components/admin/charts/HorizontalBarChart';\nimport { IError } from '../../../../../api/models/error';\nimport agent from '../../../../../api/agent';\nimport { IEvaluationPeriod } from '../../../../../api/models/evaluationPeriod';\nimport Spinner from '../../../../../components/layout/shared/Spinner';\nimport { ISubField } from '../../../../../api/models/field';\nimport generatePDFReport from '../../pdfReport';\nimport generateExcelReport from '../../excelReport';\n\nconst EvaluationPerformanceByFieldsReport = () => {\n const { t } = useTranslation();\n const { Option } = Select;\n\n const evaluationPeriods = useSelector(\n (state: RootState) => state.evaluationPeriod.evaluationPeriods\n );\n const fields = useSelector((state: RootState) => state.field.fields);\n\n const [evaluationPeriod, setEvaluationPeriod] = useState(null);\n const [subField, setSubField] = useState(undefined);\n const [loadingResults, setLoadingResults] = useState(true);\n const [results, setResults] = useState(null);\n const [statistics, setStatistics] = useState([]);\n const [resultByFields, setResultByFields] = useState([]);\n const [resultByInstitutions, setResultByInstitutions] = useState([]);\n const [resultBySubfields, setResultBySubfields] = useState([]);\n const [subFields, setSubFields] = useState([]);\n const [generatingPDF, setGeneratingPDF] = useState(false);\n const [generatingExcel, setGeneratingExcel] = useState(false);\n\n const resultPerformanceByFieldsImage = useRef(null);\n const resultPerformanceBySubFieldsImage = useRef(null);\n\n const getResults = useCallback(async () => {\n let result = null;\n\n if (evaluationPeriod) {\n setLoadingResults(true);\n\n result = await agent.Report.getPerformanceByFields(evaluationPeriod.id, subField);\n\n setLoadingResults(false);\n }\n\n setResults(result);\n }, [evaluationPeriod, subField]);\n\n const generateChartsDataSource = useCallback(async () => {\n if (results) {\n setStatistics(results.statistics);\n\n setResultByFields([\n {\n name: 'Fusha',\n data: results.resultByFields.map(({ name, rating }) => ({\n x: name,\n y: rating\n }))\n }\n ]);\n\n setResultBySubfields([\n {\n name: 'Institucioni',\n data: results.resultBySubFields.map(({ name, rating }) => ({\n x: name,\n y: rating\n }))\n }\n ]);\n\n setResultByInstitutions(\n results.resultByInstitutions.map((el) => ({\n name: el.name,\n institutions: [\n {\n name: el.name,\n data: el.institutions.map(({ institution, rating }) => ({\n x: institution,\n y: rating\n }))\n }\n ]\n }))\n );\n }\n }, [results]);\n\n const selectEvaluationPeriod = useCallback(() => {\n if (evaluationPeriods.length > 0) {\n const currentPeriod = evaluationPeriods.filter(\n (el) => el.period === new Date().getFullYear()\n )[0];\n\n if (currentPeriod) return currentPeriod;\n\n return evaluationPeriods[0];\n }\n\n return null;\n }, [evaluationPeriods]);\n\n useEffect(() => {\n setEvaluationPeriod(selectEvaluationPeriod());\n\n const mappedSubFields: any = fields.map((field) => field.subFields);\n\n setSubFields([].concat(...mappedSubFields));\n }, [evaluationPeriods, fields, selectEvaluationPeriod]);\n\n useEffect(() => {\n try {\n getResults();\n } catch (error) {\n const errors: IError = error?.data;\n setLoadingResults(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n }, [evaluationPeriod, getResults, subField]);\n\n useEffect(() => {\n generateChartsDataSource();\n }, [generateChartsDataSource, results]);\n\n const renderHeaderFilter = () => {\n if (evaluationPeriod) {\n return (\n {\n setEvaluationPeriod(evaluationPeriods.filter((el) => el.id === e)[0]);\n }}\n >\n {evaluationPeriods.map((period) => (\n \n ))}\n \n );\n }\n\n return null;\n };\n\n const renderSubFieldsFilter = () => {\n return (\n \n setSubField(+el)}\n >\n {subFields.map(({ id, name }) => (\n \n ))}\n \n \n );\n };\n\n const generateExcel = async () => {\n try {\n if (evaluationPeriod) {\n setGeneratingExcel(true);\n const result = await agent.Report.getProgressExcel();\n\n const datasource: any[] = result.data\n .filter((el) => el.year === evaluationPeriod.period)\n .map(\n ({\n county,\n institution,\n year,\n startdate,\n enddate,\n field,\n subfield,\n indicator,\n criteria,\n rating,\n description,\n evidence\n }) => {\n return [\n county,\n institution,\n year,\n `${moment(startdate).format('DD/MM/YYYY')} - ${moment(enddate).format(\n 'DD/MM/YYYY'\n )}`,\n field,\n subfield,\n indicator,\n criteria,\n rating,\n description,\n evidence\n ];\n }\n );\n\n generateExcelReport(\n 'raport_rezultatet_vetevleresimit',\n datasource,\n 'evaluation_progress_data_table',\n [\n { name: 'Qark' },\n { name: 'Institucioni Arsimor' },\n { name: 'Viti i vlerësimit' },\n { name: 'Periudha e vlerësimit' },\n { name: 'Fusha' },\n { name: 'Nënfusha' },\n { name: 'Treguesi' },\n { name: 'Kriteri' },\n { name: 'Vlerësimi me pikë' },\n { name: 'Komente' },\n { name: 'Evidenca' }\n ]\n );\n\n setGeneratingExcel(false);\n }\n } catch (error) {\n const errors: IError = error?.data;\n setGeneratingExcel(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n };\n\n const generatePDF = async () => {\n const images: IReportImage[] = [];\n const reportTitle = `${t('general.process_performance_fields')} ${evaluationPeriod?.period}`;\n\n const firstImage = {\n element: resultPerformanceByFieldsImage.current\n };\n\n const secondImage = {\n element: resultPerformanceBySubFieldsImage.current\n };\n\n try {\n setGeneratingPDF(true);\n window.scrollTo(0, 0);\n\n if (firstImage && firstImage.element) {\n const canvas = await html2canvas(firstImage.element, { scrollX: -7 });\n\n images.push({ url: canvas.toDataURL('image/png') });\n }\n\n if (secondImage && secondImage.element) {\n const canvas = await html2canvas(secondImage.element, { scrollX: -7 });\n\n images.push({ url: canvas.toDataURL('image/png') });\n }\n\n generatePDFReport(images, reportTitle, 'raport_performace_sipas_fushave');\n setGeneratingPDF(false);\n } catch (error) {\n setGeneratingPDF(false);\n }\n };\n\n if (!evaluationPeriod) return

{t('general.no_evaluation_period')}

;\n\n if (loadingResults) return ;\n\n return (\n <>\n \n\n \n \n \n \n \n \n \n \n \n\n \n \n {renderSubFieldsFilter()}\n \n \n \n \n \n\n \n {resultByInstitutions.map((el: any, index: any) => {\n return (\n \n \n \n );\n })}\n \n \n \n );\n};\n\nexport default EvaluationPerformanceByFieldsReport;\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { Card, Col, message, Row } from 'antd';\nimport html2canvas from 'html2canvas';\nimport { useTranslation } from 'react-i18next';\nimport moment from 'moment';\nimport Header from '../../../../../components/admin/reports/StatisticsReportHeader';\nimport HorizontalBarChart from '../../../../../components/admin/charts/HorizontalBarChart';\nimport LineChart from '../../../../../components/admin/charts/LineChart';\nimport { IChartSeries, IReportImage, IResultByYearsReport } from '../../../../../api/models/report';\nimport { IError } from '../../../../../api/models/error';\nimport agent from '../../../../../api/agent';\nimport Spinner from '../../../../../components/layout/shared/Spinner';\nimport generatePDFReport from '../../pdfReport';\nimport generateExcelReport from '../../excelReport';\n\nconst EvaluationPerformanceByYearsReport = () => {\n const { t } = useTranslation();\n\n const [results, setResults] = useState(null);\n const [loadingResults, setLoadingResults] = useState(true);\n const [institutionProgress, setInstitutionProgress] = useState([]);\n const [groupedByFields, setGroupedByFields] = useState([]);\n const [groupedByInstitutions, setGroupedByInstitutions] = useState([]);\n const [generatingPDF, setGeneratingPDF] = useState(false);\n const [generatingExcel, setGeneratingExcel] = useState(false);\n\n const performanceByYearsImage = useRef(null);\n\n const getResults = async () => {\n let result = null;\n\n setLoadingResults(true);\n\n result = await agent.Report.getPerformanceByYears();\n\n setLoadingResults(false);\n\n setResults(result);\n };\n\n const generatePDF = async () => {\n const images: IReportImage[] = [];\n const reportTitle = `${t('general.self_evaluation_result')}`;\n\n const image = {\n element: performanceByYearsImage.current\n };\n\n try {\n setGeneratingPDF(true);\n window.scrollTo(0, 0);\n\n if (image && image.element) {\n const canvas = await html2canvas(image.element, { scrollX: -7 });\n\n images.push({ url: canvas.toDataURL('image/png') });\n\n generatePDFReport(images, reportTitle, 'raport_performance_nder_vite');\n setGeneratingPDF(false);\n }\n } catch (error) {\n setGeneratingPDF(false);\n }\n };\n\n const generateChartsDataSource = useCallback(async () => {\n if (results) {\n setInstitutionProgress([\n {\n name: 'Institucioni',\n data: results.institutionsResult.map(({ period, rating }) => ({\n x: period,\n y: rating\n }))\n }\n ]);\n\n setGroupedByFields(\n results.fieldsProgress.map(({ name, periods }) => {\n return {\n name,\n data: periods.map(({ period, rating }) => ({\n x: period,\n y: rating\n }))\n };\n })\n );\n\n setGroupedByInstitutions(\n results.institutionsProgress.map(({ name, periods }) => {\n return {\n name,\n data: periods.map(({ period, rating }) => ({\n x: period,\n y: rating\n }))\n };\n })\n );\n }\n }, [results]);\n\n useEffect(() => {\n try {\n getResults();\n } catch (error) {\n const errors: IError = error?.data;\n setLoadingResults(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n }, []);\n\n useEffect(() => {\n generateChartsDataSource();\n }, [generateChartsDataSource, results]);\n\n const generateExcel = async () => {\n try {\n setGeneratingExcel(true);\n const result = await agent.Report.getProgressExcel();\n\n const datasource: any[] = result.data.map(\n ({\n county,\n institution,\n year,\n startdate,\n enddate,\n field,\n subfield,\n indicator,\n criteria,\n rating,\n description,\n evidence\n }) => {\n return [\n county,\n institution,\n year,\n `${moment(startdate).format('DD/MM/YYYY')} - ${moment(enddate).format('DD/MM/YYYY')}`,\n field,\n subfield,\n indicator,\n criteria,\n rating,\n description,\n evidence\n ];\n }\n );\n\n generateExcelReport(\n 'raport_rezultatet_vetevleresimit',\n datasource,\n 'evaluation_progress_data_table',\n [\n { name: 'Qark' },\n { name: 'Institucioni Arsimor' },\n { name: 'Viti i vlerësimit' },\n { name: 'Periudha e vlerësimit' },\n { name: 'Fusha' },\n { name: 'Nënfusha' },\n { name: 'Treguesi' },\n { name: 'Kriteri' },\n { name: 'Vlerësimi me pikë' },\n { name: 'Komente' },\n { name: 'Evidenca' }\n ]\n );\n\n setGeneratingExcel(false);\n } catch (error) {\n const errors: IError = error?.data;\n setGeneratingExcel(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n };\n\n if (loadingResults) return ;\n\n return (\n <>\n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n );\n};\n\nexport default EvaluationPerformanceByYearsReport;\n","import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport html2canvas from 'html2canvas';\nimport moment from 'moment';\nimport { Card, Col, message, Row, Table } from 'antd';\nimport Header from '../../../../components/admin/reports/StatisticsReportHeader';\nimport { RootState } from '../../../../redux/reducers';\nimport StatisticalData from '../../../../components/admin/reports/StatisticalData';\nimport {\n IChartSeries,\n IProgressReport,\n IReportImage,\n IStatisticalDataWidget\n} from '../../../../api/models/report';\nimport HorizontalBarChart from '../../../../components/admin/charts/HorizontalBarChart';\nimport VerticalBarChart from '../../../../components/admin/charts/VerticalBarChart';\nimport { IEvaluationPeriod } from '../../../../api/models/evaluationPeriod';\nimport { IError } from '../../../../api/models/error';\nimport Spinner from '../../../../components/layout/shared/Spinner';\nimport agent from '../../../../api/agent';\nimport generatePDFReport from '../pdfReport';\nimport generateExcelReport from '../excelReport';\nimport utils from '../../../../utils';\n\nconst EvaluationProgressReport = () => {\n const { t } = useTranslation();\n\n const [evaluationPeriod, setEvaluationPeriod] = useState(null);\n const [loadingResults, setLoadingResults] = useState(true);\n const [results, setResults] = useState(null);\n const [resultForInstitutionByFields, setResultForInstitutionByFields] = useState([]);\n const [resultForInstitutions, setResultForInstitutions] = useState([]);\n const [resultForCounties, setResultForCounties] = useState([]);\n const [resultForFields, setResultForFields] = useState([]);\n const [statistics, setStatistics] = useState([]);\n const [generatingPDF, setGeneratingPDF] = useState(false);\n const [generatingExcel, setGeneratingExcel] = useState(false);\n\n const evaluationProgressImage1 = useRef(null);\n const evaluationProgressImage2 = useRef(null);\n\n const evaluationPeriods = useSelector(\n (state: RootState) => state.evaluationPeriod.evaluationPeriods\n );\n\n const getResults = useCallback(async () => {\n let result = null;\n\n if (evaluationPeriod) {\n setLoadingResults(true);\n\n result = await agent.Report.getProgress(evaluationPeriod.id);\n\n setLoadingResults(false);\n }\n\n setResults(result);\n }, [evaluationPeriod]);\n\n const generateChartsDataSource = useCallback(async () => {\n if (results) {\n setStatistics(results.statistics);\n\n setResultForInstitutionByFields(\n results.resultForInstitutionByFields.map(({ field, institution, completed }, index) => ({\n id: index.toString(),\n field,\n institution,\n completed: Math.floor(parseFloat(completed.toString()))\n }))\n );\n\n setResultForInstitutions([\n {\n name: 'Institucioni',\n data: results.resultForInstitutions.map(({ institution, completed }) => ({\n x: institution,\n y: Math.floor(parseFloat(completed.toString()))\n }))\n }\n ]);\n\n setResultForCounties([\n {\n name: 'Qarku',\n data: results.resultForCounties.map(({ name, completed }) => ({\n x: name,\n y: Math.floor(parseFloat(completed.toString()))\n }))\n }\n ]);\n\n setResultForFields([\n {\n name: 'Fusha',\n data: results.resultForFields.map(({ name, completed }) => ({\n x: name,\n y: Math.floor(parseFloat(completed.toString()))\n }))\n }\n ]);\n }\n }, [results]);\n\n const selectEvaluationPeriod = useCallback(() => {\n if (evaluationPeriods.length > 0) {\n const currentPeriod = evaluationPeriods.filter(\n (el) => el.period === new Date().getFullYear()\n )[0];\n\n if (currentPeriod) return currentPeriod;\n\n return evaluationPeriods[0];\n }\n\n return null;\n }, [evaluationPeriods]);\n\n useEffect(() => {\n setEvaluationPeriod(selectEvaluationPeriod());\n }, [evaluationPeriods, selectEvaluationPeriod]);\n\n useEffect(() => {\n try {\n getResults();\n } catch (error) {\n const errors: IError = error?.data;\n setLoadingResults(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n }, [evaluationPeriod, getResults]);\n\n useEffect(() => {\n generateChartsDataSource();\n }, [generateChartsDataSource, results]);\n\n const tableColumns: any = [\n {\n title: t('general.field'),\n dataIndex: 'field',\n key: 'field',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'field')\n },\n {\n title: t('general.institution'),\n dataIndex: 'institution',\n key: 'institution',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'institution')\n },\n {\n title: `${t('general.progress')} %`,\n dataIndex: 'completed',\n key: 'completed',\n align: 'right'\n }\n ];\n\n const generateExcel = async () => {\n try {\n if (evaluationPeriod) {\n setGeneratingExcel(true);\n const result = await agent.Report.getProgressExcel();\n\n const datasource: any[] = result.data\n .filter((el) => el.year === evaluationPeriod.period)\n .map(\n ({\n county,\n institution,\n year,\n startdate,\n enddate,\n field,\n subfield,\n indicator,\n criteria,\n completed,\n rating,\n description,\n evidence\n }) => {\n return [\n county,\n institution,\n year,\n `${moment(startdate).format('DD/MM/YYYY')} - ${moment(enddate).format(\n 'DD/MM/YYYY'\n )}`,\n field,\n subfield,\n indicator,\n criteria,\n `${completed} %`,\n rating,\n description,\n evidence\n ];\n }\n );\n\n generateExcelReport(\n 'raport_ecuria_vetevleresimit',\n datasource,\n 'evaluation_progress_data_table',\n [\n { name: 'Qark' },\n { name: 'Institucioni Arsimor' },\n { name: 'Viti i vlerësimit' },\n { name: 'Periudha e vlerësimit' },\n { name: 'Fusha' },\n { name: 'Nënfusha' },\n { name: 'Treguesi' },\n { name: 'Kriteri' },\n { name: 'Plotësuar' },\n { name: 'Vlerësimi me pikë' },\n { name: 'Komente' },\n { name: 'Evidenca' }\n ]\n );\n\n setGeneratingExcel(false);\n }\n } catch (error) {\n const errors: IError = error?.data;\n setGeneratingExcel(false);\n message.error({ content: errors?.message, duration: 4 });\n }\n };\n\n const generatePDF = async () => {\n const images: IReportImage[] = [];\n const reportTitle = `${t('general.progress_evaluation_report')} ${evaluationPeriod?.period}`;\n\n const firstImage = {\n element: evaluationProgressImage1.current\n };\n\n const secondImage = {\n element: evaluationProgressImage2.current\n };\n\n try {\n setGeneratingPDF(true);\n window.scrollTo(0, 0);\n\n if (firstImage && firstImage.element) {\n const canvas = await html2canvas(firstImage.element, { scrollX: -7 });\n\n images.push({ url: canvas.toDataURL('image/png') });\n }\n\n if (secondImage && secondImage.element) {\n const canvas = await html2canvas(secondImage.element, { scrollX: -7 });\n\n images.push({ url: canvas.toDataURL('image/png') });\n }\n\n generatePDFReport(images, reportTitle, 'raport_ecuria_vetevleresimit');\n setGeneratingPDF(false);\n } catch (error) {\n setGeneratingPDF(false);\n }\n };\n\n if (!evaluationPeriod) return

{t('general.no_evaluation_period')}

;\n\n if (loadingResults) return ;\n\n return (\n <>\n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n );\n};\n\nexport default EvaluationProgressReport;\n","import { IError } from '../../api/models/error';\nimport { IEvaluationPeriod } from '../../api/models/evaluationPeriod';\n\nexport const FETCH_EVALUATION_PERIODS = 'FETCH_EVALUATION_PERIODS';\nexport const FETCH_EVALUATION_PERIODS_SUCCESS = 'FETCH_EVALUATION_PERIODS_SUCCESS';\nexport const FETCH_EVALUATION_PERIODS_FAIL = 'FETCH_EVALUATION_PERIODS_FAIL';\nexport const ADD_EVALUATION_PERIOD = 'ADD_EVALUATION_PERIOD';\nexport const ADD_EVALUATION_PERIOD_SUCCESS = 'ADD_EVALUATION_PERIOD_SUCCESS';\nexport const ADD_EVALUATION_PERIOD_FAIL = 'ADD_EVALUATION_PERIOD_FAIL';\nexport const UPDATE_EVALUATION_PERIOD = 'UPDATE_EVALUATION_PERIOD';\nexport const UPDATE_EVALUATION_PERIOD_SUCCESS = 'UPDATE_EVALUATION_PERIOD_SUCCESS';\nexport const UPDATE_EVALUATION_PERIOD_FAIL = 'UPDATE_EVALUATION_PERIOD_FAIL';\nexport const DELETE_EVALUATION_PERIOD = 'DELETE_EVALUATION_PERIOD';\nexport const DELETE_EVALUATION_PERIOD_SUCCESS = 'DELETE_EVALUATION_PERIOD_SUCCESS';\nexport const DELETE_EVALUATION_PERIOD_FAIL = 'DELETE_EVALUATION_PERIOD_FAIL';\nexport const RESET_EVALUATION_PERIOD_ERRORS = 'RESET_EVALUATION_PERIOD_ERRORS';\n\nexport interface IEvaluationPeriods {\n evaluationPeriods: IEvaluationPeriod[];\n fetchingEvaluationPeriods: boolean;\n addingEvaluationPeriod: boolean;\n updatingEvaluationPeriod: boolean;\n deletingEvaluationPeriod: boolean;\n errors: IError | null;\n}\n\n/** ************************** Fetch evaluation periods *************************** */\ninterface IFetchEvaluationPeriods {\n type: typeof FETCH_EVALUATION_PERIODS;\n}\n\ninterface IFetchEvaluationPeriodsSuccess {\n type: typeof FETCH_EVALUATION_PERIODS_SUCCESS;\n payload: {\n evaluationPeriods: IEvaluationPeriod[];\n };\n}\n\ninterface IFetchEvaluationPeriodsFail {\n type: typeof FETCH_EVALUATION_PERIODS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Add evaluation period *************************** */\ninterface IAddEvaluationPeriod {\n type: typeof ADD_EVALUATION_PERIOD;\n}\n\ninterface IAddEvaluationPeriodSuccess {\n type: typeof ADD_EVALUATION_PERIOD_SUCCESS;\n payload: {\n evaluationPeriod: IEvaluationPeriod;\n };\n}\n\ninterface IAddEvaluationPeriodFail {\n type: typeof ADD_EVALUATION_PERIOD_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Update evaluation period *************************** */\ninterface IUpdateEvaluationPeriod {\n type: typeof UPDATE_EVALUATION_PERIOD;\n}\n\ninterface IUpdateEvaluationPeriodSuccess {\n type: typeof UPDATE_EVALUATION_PERIOD_SUCCESS;\n payload: {\n evaluationPeriod: IEvaluationPeriod;\n };\n}\n\ninterface IUpdateEvaluationPeriodFail {\n type: typeof UPDATE_EVALUATION_PERIOD_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Delete evaluation period *************************** */\ninterface IDeleteEvaluationPeriod {\n type: typeof DELETE_EVALUATION_PERIOD;\n}\n\ninterface IDeleteEvaluationPeriodSuccess {\n type: typeof DELETE_EVALUATION_PERIOD_SUCCESS;\n payload: {\n id: number;\n };\n}\n\ninterface IDeleteEvaluationPeriodFail {\n type: typeof DELETE_EVALUATION_PERIOD_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Reset evaluation period errors *************************** */\ninterface IResetEvaluationPeriodErrors {\n type: typeof RESET_EVALUATION_PERIOD_ERRORS;\n}\n\nexport type EvaluationPeriodsActionTypes =\n | IFetchEvaluationPeriods\n | IFetchEvaluationPeriodsSuccess\n | IFetchEvaluationPeriodsFail\n | IAddEvaluationPeriod\n | IAddEvaluationPeriodSuccess\n | IAddEvaluationPeriodFail\n | IUpdateEvaluationPeriod\n | IUpdateEvaluationPeriodSuccess\n | IUpdateEvaluationPeriodFail\n | IDeleteEvaluationPeriod\n | IDeleteEvaluationPeriodSuccess\n | IDeleteEvaluationPeriodFail\n | IResetEvaluationPeriodErrors;\n","import React, { useState } from 'react';\nimport {\n DeleteOutlined,\n EditOutlined,\n PlusCircleOutlined,\n SearchOutlined,\n FileTextOutlined\n} from '@ant-design/icons';\nimport { Button, Card, Input, Popconfirm, Tooltip } from 'antd';\nimport moment from 'moment';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Link, useHistory, useRouteMatch } from 'react-router-dom';\nimport { IEvaluationPeriodDisplay } from '../../../api/models/evaluationPeriod';\nimport { deleteEvaluationPeriod } from '../../../redux/actions/evaluationPeriods';\nimport { RootState } from '../../../redux/reducers';\nimport utils from '../../../utils/index';\nimport SearchTable from '../../layout/SearchTable';\nimport Flex from '../../layout/shared/Flex';\nimport Spinner from '../../layout/shared/Spinner';\nimport { UserRole } from '../../../constants/theme';\n\nconst EvaluationPeriodsList = () => {\n const history = useHistory();\n const match = useRouteMatch();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n\n const userRole = useSelector((state: RootState) => state.auth.role);\n const evaluationPeriods = useSelector(\n (state: RootState) => state.evaluationPeriod.evaluationPeriods\n );\n const deletingEvaluationPeriod = useSelector(\n (state: RootState) => state.evaluationPeriod.deletingEvaluationPeriod\n );\n\n const [search, setSearch] = useState(null);\n\n const evaluationPeriodsDisplay: IEvaluationPeriodDisplay[] = evaluationPeriods.map(\n (evaluationPeriod) => {\n return {\n ...evaluationPeriod,\n documentId: evaluationPeriod?.documentId ?? null,\n startDate: moment(evaluationPeriod.startDate).format('LL'),\n endDate: moment(evaluationPeriod.endDate).format('LL'),\n schoolPeriod: `${evaluationPeriod.period - 2} - ${evaluationPeriod.period - 1}`,\n coursePeriod: `${evaluationPeriod.period - 2}`\n };\n }\n );\n\n const addEvaluationPeriod = () => {\n history.push(`${match.url}/shto-periudhe`);\n };\n\n const onHandleDelete = (id: number) => {\n dispatch(\n deleteEvaluationPeriod(id, t('feedback_message.evaluation_period_successfully_deleted'))\n );\n };\n\n const tableColumns: any = [\n {\n title: t('general.evaluation_period'),\n dataIndex: 'period',\n sorter: (a: number, b: number) => utils.antdTableSorter(a, b, 'period')\n },\n {\n title: t('general.school_period'),\n dataIndex: 'schoolPeriod',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'schoolPeriod')\n },\n {\n title: t('general.course_period'),\n dataIndex: 'coursePeriod',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'coursePeriod')\n },\n {\n title: t('general.calendar'),\n dataIndex: 'documentLink',\n align: 'center',\n render: (_: any, row: IEvaluationPeriodDisplay) => {\n const { documentId } = row;\n\n if (documentId) {\n return (\n utils.downloadDocument(documentId)}\n />\n );\n }\n\n return null;\n }\n },\n {\n title: t('general.start_date'),\n dataIndex: 'startDate'\n },\n {\n title: t('general.end_date'),\n dataIndex: 'endDate'\n },\n {\n title: '',\n dataIndex: 'actions',\n render: (_: any, row: IEvaluationPeriodDisplay) => {\n if (userRole !== UserRole.Admin) return null;\n\n return (\n \n \n \n \n )}\n \n \n\n \n \n );\n};\n\nexport default EvaluationPeriodsList;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport { message } from 'antd';\nimport { FormInstance } from 'antd/lib/form';\nimport {\n FETCH_EVALUATION_PERIODS,\n FETCH_EVALUATION_PERIODS_SUCCESS,\n FETCH_EVALUATION_PERIODS_FAIL,\n ADD_EVALUATION_PERIOD,\n ADD_EVALUATION_PERIOD_SUCCESS,\n ADD_EVALUATION_PERIOD_FAIL,\n UPDATE_EVALUATION_PERIOD,\n UPDATE_EVALUATION_PERIOD_SUCCESS,\n UPDATE_EVALUATION_PERIOD_FAIL,\n DELETE_EVALUATION_PERIOD,\n DELETE_EVALUATION_PERIOD_SUCCESS,\n DELETE_EVALUATION_PERIOD_FAIL,\n RESET_EVALUATION_PERIOD_ERRORS,\n EvaluationPeriodsActionTypes\n} from '../constants/evaluationPeriods';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IError } from '../../api/models/error';\nimport { IEvaluationPeriodSendRequest } from '../../api/models/evaluationPeriod';\n\nexport const fetchEvaluationPeriods = (): ThunkAction<\n void,\n RootState,\n unknown,\n Action\n> => async (dispatch) => {\n dispatch({\n type: FETCH_EVALUATION_PERIODS\n });\n\n try {\n const evaluationPeriods = await agent.EvaluationPeriod.list();\n\n dispatch({\n type: FETCH_EVALUATION_PERIODS_SUCCESS,\n payload: {\n evaluationPeriods\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_EVALUATION_PERIODS_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const addEvaluationPeriod = (\n values: IEvaluationPeriodSendRequest,\n form: FormInstance,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: ADD_EVALUATION_PERIOD\n });\n\n try {\n const evaluationPeriod = await agent.EvaluationPeriod.add({ ...values });\n\n dispatch({\n type: ADD_EVALUATION_PERIOD_SUCCESS,\n payload: {\n evaluationPeriod\n }\n });\n\n form.resetFields();\n\n message.success({ content: successMessage, duration: 4 });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: ADD_EVALUATION_PERIOD_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const updateEvaluationPeriod = (\n id: number,\n values: IEvaluationPeriodSendRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_EVALUATION_PERIOD\n });\n\n try {\n const evaluationPeriod = await agent.EvaluationPeriod.update(id, values);\n\n dispatch({\n type: UPDATE_EVALUATION_PERIOD_SUCCESS,\n payload: {\n evaluationPeriod\n }\n });\n\n message.success({ content: successMessage, duration: 4 });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_EVALUATION_PERIOD_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const deleteEvaluationPeriod = (\n id: number,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: DELETE_EVALUATION_PERIOD\n });\n\n try {\n await agent.EvaluationPeriod.delete(id);\n\n dispatch({\n type: DELETE_EVALUATION_PERIOD_SUCCESS,\n payload: {\n id\n }\n });\n\n message.success({ content: successMessage, duration: 4 });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: DELETE_EVALUATION_PERIOD_FAIL,\n payload: {\n errors\n }\n });\n\n message.error({ content: errors?.message, duration: 4 });\n }\n};\n\nexport const resetEvaluationPeriodErrors = (): EvaluationPeriodsActionTypes => {\n return {\n type: RESET_EVALUATION_PERIOD_ERRORS\n };\n};\n","import React from 'react';\nimport EvaluationPeriodsList from '../../../components/admin/self-evaluation-periods/EvaluationPeriodsList';\n\nconst EvaluationPeriods = () => ;\n\nexport default EvaluationPeriods;\n","import { IError } from '../../api/models/error';\nimport { IUser } from '../../api/models/user';\n\nexport const ADD_USER = 'ADD_USER';\nexport const ADD_USER_SUCCESS = 'ADD_USER_SUCCESS';\nexport const ADD_USER_FAIL = 'ADD_USER_FAIL';\nexport const FETCH_USERS = 'FETCH_USERS';\nexport const FETCH_USERS_SUCCESS = 'FETCH_USERS_SUCCESS';\nexport const FETCH_USERS_FAIL = 'FETCH_USERS_FAIL';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const UPDATE_USER_SUCCESS = 'UPDATE_USER_SUCCESS';\nexport const UPDATE_USER_FAIL = 'UPDATE_USER_FAIL';\nexport const DELETE_USER = 'DELETE_USER';\nexport const DELETE_USER_SUCCESS = 'DELETE_USER_SUCCESS';\nexport const DELETE_USER_FAIL = 'DELETE_USER_FAIL';\nexport const RESET_USER_ERRORS = 'RESET_USER_ERRORS';\n\nexport interface IUsersState {\n users: IUser[];\n fetchingUsers: boolean;\n errorsFetchingUsers: IError | null;\n updatingUser: boolean;\n errorsUpdatingUser: IError | null;\n addingUser: boolean;\n errorsAddingUser: IError | null;\n deletingUser: boolean;\n errorsDeletingUser: IError | null;\n}\n\n/** ************************** Fetch users *************************** */\ninterface IFetchUsers {\n type: typeof FETCH_USERS;\n}\n\ninterface IFetchUsersSuccess {\n type: typeof FETCH_USERS_SUCCESS;\n payload: {\n users: IUser[];\n };\n}\n\ninterface IFetchUsersFail {\n type: typeof FETCH_USERS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Add user *************************** */\ninterface IAddUser {\n type: typeof ADD_USER;\n}\n\ninterface IAddUserSuccess {\n type: typeof ADD_USER_SUCCESS;\n payload: {\n user: IUser;\n };\n}\n\ninterface IAddUserFail {\n type: typeof ADD_USER_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Update user *************************** */\ninterface IUpdateUser {\n type: typeof UPDATE_USER;\n}\n\ninterface IUpdateUserSuccess {\n type: typeof UPDATE_USER_SUCCESS;\n payload: {\n user: IUser;\n };\n}\n\ninterface IUpdateUserFail {\n type: typeof UPDATE_USER_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Delete user *************************** */\ninterface IDeleteUser {\n type: typeof DELETE_USER;\n}\n\ninterface IDeleteUserSuccess {\n type: typeof DELETE_USER_SUCCESS;\n payload: {\n id: number;\n };\n}\n\ninterface IDeleteUserFail {\n type: typeof DELETE_USER_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Reset users errors *************************** */\ninterface IResetUsersErrors {\n type: typeof RESET_USER_ERRORS;\n}\n\nexport type UserActionTypes =\n | IAddUser\n | IAddUserSuccess\n | IAddUserFail\n | IFetchUsers\n | IFetchUsersSuccess\n | IFetchUsersFail\n | IUpdateUser\n | IUpdateUserSuccess\n | IUpdateUserFail\n | IDeleteUser\n | IDeleteUserSuccess\n | IDeleteUserFail\n | IResetUsersErrors;\n","import React, { useState } from 'react';\nimport {\n EditOutlined,\n DeleteOutlined,\n SearchOutlined,\n PlusCircleOutlined\n} from '@ant-design/icons';\nimport { Card, Input, Button, Popconfirm, Tooltip } from 'antd';\nimport { Link, useHistory, useRouteMatch } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport Flex from '../../layout/shared/Flex';\nimport utils from '../../../utils/index';\nimport { IUser, IUserDisplay } from '../../../api/models/user';\nimport { RootState } from '../../../redux/reducers';\nimport { deleteUser } from '../../../redux/actions/users';\nimport SearchTable from '../../layout/SearchTable';\nimport Spinner from '../../layout/shared/Spinner';\nimport { UserRole } from '../../../constants/theme';\n\nconst UsersList = () => {\n const history = useHistory();\n const dispatch = useDispatch();\n const match = useRouteMatch();\n const { t } = useTranslation();\n\n const user = useSelector((state: RootState) => state.auth.user);\n const users = useSelector((state: RootState) => state.user.users);\n const deletingUserLoading = useSelector((state: RootState) => state.user.deletingUser);\n\n const userDisplay: IUserDisplay[] = users.map((el) => {\n return {\n ...el,\n institutionId: el.institution?.id,\n institutionDescription: el.institution?.name,\n roleId: el.role?.id,\n roleDescription: el.role?.description\n };\n });\n\n const [search, setSearch] = useState(null);\n\n const addProduct = () => {\n history.push(`${match.url}/shto-perdorues`);\n };\n\n const onHandleDelete = (id: number) => {\n dispatch(deleteUser(id, t('feedback_message.user_successfully_deleted')));\n };\n\n const tableColumns: any = [\n {\n title: t('general.fullName'),\n dataIndex: 'firstName',\n render: (_: any, record: IUser) => (\n {`${record.firstName} ${record.lastName}`}\n ),\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'firstName')\n },\n {\n title: t('general.email'),\n dataIndex: 'email',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'email')\n },\n // {\n // title: 'Address',\n // dataIndex: 'address',\n // sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'address')\n // },\n // {\n // title: 'Phone',\n // dataIndex: 'phone',\n // sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'phone')\n // },\n {\n title: t('general.role'),\n dataIndex: ['role', 'description'],\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'role')\n },\n {\n title: t('general.institution'),\n dataIndex: ['institution', 'name'],\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'institution.name')\n },\n {\n title: '',\n dataIndex: 'actions',\n render: (_: any, row: IUser) => {\n if (row.id === user?.id || user?.role.name !== UserRole.Admin) return null;\n\n return (\n \n \n \n \n )}\n \n \n \n \n );\n};\n\nexport default UsersList;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport { message } from 'antd';\nimport { FormInstance } from 'antd/lib/form';\nimport {\n FETCH_USERS,\n FETCH_USERS_SUCCESS,\n FETCH_USERS_FAIL,\n UPDATE_USER,\n UPDATE_USER_SUCCESS,\n UPDATE_USER_FAIL,\n ADD_USER,\n ADD_USER_SUCCESS,\n ADD_USER_FAIL,\n DELETE_USER,\n DELETE_USER_SUCCESS,\n DELETE_USER_FAIL,\n RESET_USER_ERRORS,\n UserActionTypes\n} from '../constants/users';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IError } from '../../api/models/error';\nimport { IUserSendRequest } from '../../api/models/user';\n\nexport const fetchUsers = (): ThunkAction> => async (\n dispatch\n) => {\n dispatch({\n type: FETCH_USERS\n });\n\n try {\n const users = await agent.User.list();\n\n dispatch({\n type: FETCH_USERS_SUCCESS,\n payload: {\n users\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_USERS_FAIL,\n payload: {\n errors\n }\n });\n\n message.error({ content: errors?.message, duration: 4 });\n }\n};\n\nexport const updateUser = (\n id: number,\n values: IUserSendRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_USER\n });\n\n try {\n const user = await agent.User.update(id, values);\n\n dispatch({\n type: UPDATE_USER_SUCCESS,\n payload: {\n user\n }\n });\n\n message.success({ content: successMessage, duration: 4 });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_USER_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const addUser = (\n values: IUserSendRequest,\n form: FormInstance,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: ADD_USER\n });\n\n try {\n const user = await agent.User.add({ ...values });\n\n dispatch({\n type: ADD_USER_SUCCESS,\n payload: {\n user\n }\n });\n\n form.resetFields();\n\n message.success({ content: successMessage, duration: 4 });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: ADD_USER_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const deleteUser = (\n id: number,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: DELETE_USER\n });\n\n try {\n await agent.User.delete(id);\n\n dispatch({\n type: DELETE_USER_SUCCESS,\n payload: {\n id\n }\n });\n\n message.success({ content: successMessage, duration: 4 });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: DELETE_USER_FAIL,\n payload: {\n errors\n }\n });\n\n message.error({ content: errors?.message, duration: 4 });\n }\n};\n\nexport const resetUserErrors = (): UserActionTypes => {\n return {\n type: RESET_USER_ERRORS\n };\n};\n","import React from 'react';\nimport UsersList from '../../../components/admin/users/UsersList';\n\nconst Users = () => {\n return ;\n};\n\nexport default Users;\n","import React from 'react';\nimport { Breadcrumb } from 'antd';\nimport { Link } from 'react-router-dom';\n\ninterface INavigationItem {\n title: string;\n path: string | null;\n}\n\ninterface IProps {\n items: INavigationItem[];\n}\n\nconst AppBreadCrumb: React.FC = ({ items }) => {\n const buildBreadcrumb = items.map((item) => {\n return (\n \n {item.path ? {item.title} : item.title}\n \n );\n });\n\n return {buildBreadcrumb};\n};\n\nexport default AppBreadCrumb;\n","import React from 'react';\nimport { Form, Button, Input, Card, Col, Row, Cascader } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport PageHeaderAlt from '../../layout/PageHeaderAlt';\nimport Flex from '../../layout/shared/Flex';\nimport { RootState } from '../../../redux/reducers';\nimport { IUser, IUserSendRequest } from '../../../api/models/user';\nimport { addUser, updateUser } from '../../../redux/actions/users';\nimport Alert from '../../layout/shared/Alert';\nimport { IInstitution } from '../../../api/models/institution';\nimport AppBreadCrumb from '../../layout/AppBreadCrumb';\nimport { InstitutionTypeName, UserRole } from '../../../constants/theme';\n\ninterface IProps {\n user?: IUser;\n}\n\nconst UsersForm: React.FC = ({ user = null }) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n\n const roles = useSelector((state: RootState) => state.role.roles);\n const institutions = useSelector((state: RootState) => state.institution.institutions);\n const institutionTypes = useSelector((state: RootState) => state.institution.institutionTypes);\n const updatingUser = useSelector((state: RootState) => state.user.updatingUser);\n const savingUser = useSelector((state: RootState) => state.user.addingUser);\n const addUserErrors = useSelector((state: RootState) => state.user.errorsAddingUser);\n const updateUserErrors = useSelector((state: RootState) => state.user.errorsUpdatingUser);\n\n const institutionTypeFor = (institution: IInstitution) =>\n institutionTypes.find(\n (institutionType) => institution.institutionType.id === institutionType.id\n );\n\n const displayErrors = () => {\n if (user && updateUserErrors) return ;\n if (addUserErrors) return ;\n\n return null;\n };\n\n const onFinish = (values: any) => {\n const { firstName, lastName, address, email, phone, institutionAndRole } = values;\n\n const userData: IUserSendRequest = {\n firstName,\n lastName,\n address,\n email,\n phone,\n institutionId: institutionAndRole[0],\n roleId: institutionAndRole[1]\n };\n\n if (user)\n dispatch(updateUser(user.id, userData, t('feedback_message.user_successfully_updated')));\n else dispatch(addUser(userData, form, t('feedback_message.user_successfully_added')));\n };\n\n return (\n \n \n \n

{user ? t('general.change_user') : t('general.add_user')}

\n \n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ({\n value: institution.id,\n label: institution.name,\n children: roles\n .filter((role) => {\n switch (institutionTypeFor(institution)?.name) {\n case InstitutionTypeName.AGJENSIA_KOMBETARE_ARSIMIT:\n return role.name === UserRole.Admin || role.name === UserRole.Director;\n case InstitutionTypeName.AGJENSIA_KOMBETARE_PUNESIMIT_AFTESIVE:\n return role.name === UserRole.Director;\n case InstitutionTypeName.QENDER_FORMIMI_PROFESIONAL:\n case InstitutionTypeName.SHKOLLE:\n return (\n role.name === UserRole.InstitutionAdmin ||\n role.name === UserRole.InstitutionDirector\n );\n default:\n return false;\n }\n })\n .map((role) => ({\n value: role.id,\n label: role.description\n }))\n }))}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {displayErrors()}\n \n \n \n \n );\n};\n\nexport default UsersForm;\n","import React from 'react';\nimport UsersForm from '../../../../components/admin/users/UsersForm';\n\nconst AddUser = () => {\n return ;\n};\n\nexport default AddUser;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { RouteComponentProps } from 'react-router-dom';\nimport UsersForm from '../../../../components/admin/users/UsersForm';\nimport { RootState } from '../../../../redux/reducers';\nimport NotFound from '../../../404';\n\ninterface MatchParams {\n id: string;\n}\n\ninterface IProps extends RouteComponentProps {}\n\nconst EditUser: React.FC = ({ match }) => {\n const users = useSelector((state: RootState) => state.user.users);\n const user = users.filter((el) => el.id === +match.params.id)[0];\n\n if (!user) return ;\n\n return ;\n};\n\nexport default EditUser;\n","import React, { ReactElement, useEffect, useCallback } from 'react';\nimport { Form, Modal, Select } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { IInstitution, IInstitutionSubject } from '../../../api/models/institution';\nimport { RootState } from '../../../redux/reducers';\nimport { getEvaluationPeriodBasedOnInstitutionType } from '../../../api/models/evaluationPeriod';\nimport { ISubject } from '../../../api/models/subject';\n\nexport interface EditInstitutionSubjectFormValues {\n mode: 'edit';\n id: number;\n subjectId: number;\n evaluationPeriodId: number;\n}\nexport interface AddInstitutionSubjectFormValues {\n mode: 'create';\n subjectId: number;\n evaluationPeriodIds: number[];\n}\n\nexport type InstitutionSubjectFormValues =\n | EditInstitutionSubjectFormValues\n | AddInstitutionSubjectFormValues;\n\nexport interface IProps {\n onCancel: () => void;\n onSubmit: (values: InstitutionSubjectFormValues) => void;\n subjects: ISubject[];\n errors: ReactElement | null;\n visible: boolean;\n loading: boolean;\n institution: IInstitution;\n institutionSubject: IInstitutionSubject | null;\n}\n\nconst InstitutionSubjectForm: React.FC = ({\n visible,\n loading,\n subjects,\n institution,\n institutionSubject,\n errors,\n onCancel,\n onSubmit\n}) => {\n const { t } = useTranslation();\n const [form] = Form.useForm();\n const evaluationPeriods = useSelector(\n (state: RootState) => state.evaluationPeriod.evaluationPeriods\n );\n const { Option } = Select;\n\n const getInitialValues = useCallback(() => {\n if (institutionSubject) {\n const { evaluationPeriod, subject } = institutionSubject;\n\n return {\n subjectId: subject.id,\n evaluationPeriodId: evaluationPeriod.id\n };\n }\n\n return null;\n }, [institutionSubject]);\n\n useEffect(() => {\n form.setFieldsValue(getInitialValues());\n }, [form, getInitialValues]);\n\n return (\n {\n form.resetFields();\n }}\n title={\n institutionSubject\n ? t('general.change_institution_subject')\n : t('general.add_institution_subject')\n }\n okText={institutionSubject ? t('general.save') : t('general.add')}\n cancelText={t('general.cancel')}\n onCancel={() => {\n onCancel();\n form.resetFields();\n }}\n onOk={async () => {\n try {\n const { subjectId, evaluationPeriodId } = await form.validateFields();\n if (institutionSubject) {\n onSubmit({\n mode: 'edit',\n id: institutionSubject.id,\n subjectId,\n evaluationPeriodId\n });\n } else {\n onSubmit({\n mode: 'create',\n subjectId,\n evaluationPeriodIds: evaluationPeriodId\n });\n }\n form.resetFields();\n } catch (error) {\n // NO-OP\n }\n }}\n >\n
\n \n \n \n {!institutionSubject ? (\n <>\n \n \n \n \n ) : (\n <>\n \n \n \n \n )}\n {errors}\n \n \n );\n};\nexport default InstitutionSubjectForm;\n","import React, { useEffect, useState } from 'react';\nimport { Button, Card, Input, Popconfirm } from 'antd';\nimport {\n EditOutlined,\n DeleteOutlined,\n PlusCircleOutlined,\n SearchOutlined\n} from '@ant-design/icons';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n IInstitution,\n IInstitutionSubject,\n IInstitutionSubjectDisplay\n} from '../../../api/models/institution';\nimport utils from '../../../utils';\nimport {\n addInstitutionSubject,\n closeInstitutionSubjectForm,\n deleteInstitutionSubject,\n fetchInstitutionSubjects,\n showInstitutionSubjectForm,\n updateInstitutionSubject\n} from '../../../redux/actions/institutions';\nimport Flex from '../../layout/shared/Flex';\nimport { RootState } from '../../../redux/reducers';\nimport SearchTable from '../../layout/SearchTable';\nimport InstitutionSubjectsForm, { InstitutionSubjectFormValues } from './InstitutionSubjectsForm';\n\nimport Alert from '../../layout/shared/Alert';\nimport Spinner from '../../layout/shared/Spinner';\nimport { getEvaluationPeriodBasedOnInstitutionType } from '../../../api/models/evaluationPeriod';\nimport { UserRole } from '../../../constants/theme';\n\ninterface IProps {\n institution: IInstitution;\n}\n\nconst InstitutionSubjectsList: React.FC = ({ institution }) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const userRole = useSelector((state: RootState) => state.auth.user?.role.name);\n const institutionSubjects = useSelector((state: RootState) =>\n state.institution.institutionSubjects.filter(\n (institutionSubject) => institutionSubject.institutionId === institution.id\n )\n );\n const addingInstitutionSubject = useSelector(\n (state: RootState) => state.institution.addingInstitutionSubject\n );\n const updatingInstitutionSubject = useSelector(\n (state: RootState) => state.institution.updatingInstitutionSubject\n );\n const addInstitutionSubjectErrors = useSelector(\n (state: RootState) => state.institution.errorsAddingInstitutionSubject\n );\n const updateInstitutionSubjectErrors = useSelector(\n (state: RootState) => state.institution.errorsUpdatingInstitutionSubject\n );\n const fetchingInstitutionSubjects = useSelector(\n (state: RootState) => state.institution.fetchingInstitutionSubjects\n );\n const currentInstitutionSubject = useSelector(\n (state: RootState) => state.institution.currentInstitutionSubject\n );\n const showingForm = useSelector(\n (state: RootState) => state.institution.showingInstitutionSubjectsForm\n );\n\n const loading = currentInstitutionSubject ? updatingInstitutionSubject : addingInstitutionSubject;\n\n const errors = () => {\n if (currentInstitutionSubject && updateInstitutionSubjectErrors) {\n return ;\n }\n if (addInstitutionSubjectErrors) {\n return ;\n }\n\n return null;\n };\n\n const institutionSubjectsDisplay: IInstitutionSubjectDisplay[] = institutionSubjects.map(\n (institutionSubject) => ({\n ...institutionSubject,\n subjectName: institutionSubject.subject.name,\n evaluationPeriodDescription: getEvaluationPeriodBasedOnInstitutionType(\n institutionSubject.evaluationPeriod.period,\n institution.institutionType.name\n ).toString()\n })\n );\n\n const subjects = useSelector((state: RootState) => state.subject.subjects).filter((subject) => {\n return subject.institutionTypeId === institution.institutionType.id;\n });\n\n useEffect(() => {\n dispatch(fetchInstitutionSubjects(institution.id));\n }, [dispatch, institution]);\n\n const [search, setSearch] = useState(null);\n\n const onDeleteInstitutionSubject = (institutionSubject: IInstitutionSubject) => {\n dispatch(\n deleteInstitutionSubject(\n institutionSubject.institutionId,\n institutionSubject.id,\n t('feedback_message.institution_subject_successfully_deleted')\n )\n );\n };\n\n const onFinishInstitutionSubject = (values: InstitutionSubjectFormValues) => {\n switch (values.mode) {\n case 'create':\n dispatch(\n addInstitutionSubject(\n institution.id,\n {\n evaluationPeriodId: values.evaluationPeriodIds,\n subjectId: values.subjectId\n },\n t('feedback_message.institution_subject_successfully_added')\n )\n );\n break;\n case 'edit':\n dispatch(\n updateInstitutionSubject(\n institution.id,\n values.id,\n {\n evaluationPeriodId: values.evaluationPeriodId,\n subjectId: values.subjectId\n },\n t('feedback_message.institution_subject_successfully_updated')\n )\n );\n break;\n default:\n break;\n }\n };\n\n const handleAddInstitutitonSubject = () => {\n dispatch(showInstitutionSubjectForm());\n };\n\n const handleEditInstitutionSubject = (institutionSubject: IInstitutionSubject) => {\n dispatch(showInstitutionSubjectForm(institutionSubject.id));\n };\n\n const tableColumns = [\n {\n title: t('general.subject'),\n dataIndex: 'subjectName',\n width: '40%',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'subjectName')\n },\n {\n title: t('general.evaluation_period'),\n dataIndex: 'evaluationPeriodDescription',\n width: '30%',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'evaluationPeriodDescription')\n },\n {\n title: '',\n dataIndex: 'actions',\n width: '30%',\n render: (_: any, row: IInstitutionSubjectDisplay) => {\n // Only Admin can edit\n if (userRole !== UserRole.Admin) return null;\n\n // Check if Institution Subject has statistics before showing edit/delete buttons\n if (row.hasStatistics) return null;\n\n return (\n \n }\n size=\"small\"\n onClick={() => handleEditInstitutionSubject(row)}\n />\n\n onDeleteInstitutionSubject(row)}\n >\n \n )}\n \n \n\n \n\n \n \n );\n};\n\nexport default InstitutionSubjectsList;\n","import React from 'react';\nimport { Button, Card, Cascader, Col, Form, Input, Row, Select } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { IInstitution } from '../../../api/models/institution';\nimport { addInstitution, updateInstitution } from '../../../redux/actions/institutions';\nimport { RootState } from '../../../redux/reducers';\nimport Alert from '../../layout/shared/Alert';\nimport Flex from '../../layout/shared/Flex';\nimport InstitutionSubjectsList from './InstitutionSubjectsList';\nimport AppBreadCrumb from '../../layout/AppBreadCrumb';\nimport { InstitutionTypeName } from '../../../constants/theme';\n\nconst { Option } = Select;\n\ninterface IProps {\n institution?: IInstitution;\n}\n\nconst InstitutionsForm: React.FC = ({ institution = null }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n\n const institutionTypes = useSelector((state: RootState) =>\n state.institution.institutionTypes.filter(\n (el) =>\n el.name !== InstitutionTypeName.AGJENSIA_KOMBETARE_ARSIMIT &&\n el.name !== InstitutionTypeName.AGJENSIA_KOMBETARE_PUNESIMIT_AFTESIVE\n )\n );\n const municipalities = useSelector((state: RootState) => state.municipality.municipalities);\n const counties = useSelector((state: RootState) => state.county.counties);\n const sectors = useSelector((state: RootState) => state.sector.sectors);\n const institutionSubjects = useSelector((state: RootState) =>\n state.institution.institutionSubjects.filter(\n (institutionSubject) => institutionSubject.institutionId === institution?.id\n )\n );\n\n const addingInstitution = useSelector((state: RootState) => state.institution.addingInstitution);\n const addInstitutionErrors = useSelector(\n (state: RootState) => state.institution.errorsAddingInstitution\n );\n const updatingInstitution = useSelector(\n (state: RootState) => state.institution.updatingInstitution\n );\n const updateInstitutionErrors = useSelector(\n (state: RootState) => state.institution.errorsUpdatingInstitution\n );\n const loadingInstitutionSubjects = useSelector(\n (state: RootState) => state.institution.fetchingInstitutionSubjects\n );\n\n const countyForMunicipalityId = (municipalityId: number) => {\n const municipality = municipalities.find((el) => el.id === municipalityId);\n const county = counties.find((el) => el.id === municipality?.countyId);\n return county;\n };\n\n const displayErrors = () => {\n if (institution && updateInstitutionErrors) {\n return ;\n }\n\n if (addInstitutionErrors) {\n return ;\n }\n\n return null;\n };\n\n const onFinishInstitution = (values: any) => {\n const {\n name,\n phone,\n email,\n institutionTypeId,\n sectorId,\n acronym,\n countyAndMunicipality\n } = values;\n\n const municipalityId = countyAndMunicipality[1];\n\n if (institution) {\n dispatch(\n updateInstitution(\n institution.id,\n {\n name,\n phone,\n email,\n municipalityId,\n institutionTypeId,\n sectorId,\n acronym\n },\n t('feedback_message.institution_successfully_updated')\n )\n );\n } else {\n dispatch(\n addInstitution(\n {\n name,\n phone,\n email,\n municipalityId,\n institutionTypeId,\n sectorId,\n acronym\n },\n t('feedback_message.institution_successfully_added'),\n history\n )\n );\n\n form.resetFields();\n }\n };\n\n const renderSubmitButton = () => {\n return (\n \n {institution ? t('general.save') : t('general.add')}\n \n );\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ({\n value: county.id,\n label: county.name,\n children: municipalities\n .filter((municipality) => municipality.countyId === county.id)\n .map((municipality) => ({\n value: municipality.id,\n label: municipality.name\n }))\n }))}\n />\n \n \n \n \n 0 || loadingInstitutionSubjects)\n }\n >\n {institutionTypes.map((institutionType, index) => (\n \n ))}\n \n \n \n \n \n \n \n \n {displayErrors()}\n \n \n \n \n \n {institution && (\n \n \n \n )}\n \n );\n};\n\nexport default InstitutionsForm;\n","import React from 'react';\nimport InstitutionsForm from '../../../../components/admin/institutions/InstitutionsForm';\n\nconst AddInstitution = () => {\n return ;\n};\n\nexport default AddInstitution;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { RouteComponentProps } from 'react-router-dom';\nimport InstitutionsForm from '../../../../components/admin/institutions/InstitutionsForm';\nimport { RootState } from '../../../../redux/reducers';\nimport NotFound from '../../../404';\n\ninterface MatchParams {\n id: string;\n}\n\ninterface IProps extends RouteComponentProps {}\n\nconst EditInstitution: React.FC = ({ match }) => {\n const institution = useSelector((state: RootState) => state.institution.institutions).find(\n (el) => el.id === +match.params.id\n );\n\n if (!institution) return ;\n\n return ;\n};\n\nexport default EditInstitution;\n","import React from 'react';\nimport { Route, Redirect, RouteProps, RouteComponentProps, useRouteMatch } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '../redux/reducers/index';\nimport { UserRole } from '../constants/theme';\n\ninterface IProps extends RouteProps {\n component: React.ComponentType>;\n exact: boolean;\n path: string;\n}\n\nconst AdminPrivateRoute: React.FC = ({ component: Component, exact = false, path }) => {\n const userRole = useSelector((state: RootState) => state.auth.role);\n\n const routeMatch = useRouteMatch();\n\n const renderComponent = (props: any) => {\n const { history, location, match } = props;\n\n if (userRole !== UserRole.Admin) return ;\n return ;\n };\n\n return (\n <>\n renderComponent(props)} />\n \n );\n};\n\nexport default AdminPrivateRoute;\n","import { IError } from '../../api/models/error';\nimport { ISubject, ISubjectSendRequest } from '../../api/models/subject';\n\nexport const FETCH_SUBJECTS = 'FETCH_SUBJECTS';\nexport const FETCH_SUBJECTS_SUCCESS = 'FETCH_SUBJECTS_SUCCESS';\nexport const FETCH_SUBJECTS_FAIL = 'FETCH_SUBJECTS_FAIL';\nexport const ADD_SUBJECT = 'ADD_SUBJECT';\nexport const ADD_SUBJECT_SUCCESS = 'ADD_SUBJECT_SUCESS';\nexport const ADD_SUBJECT_FAIL = 'ADD_SUBJECT_FAIL';\nexport const UPDATE_SUBJECT = 'UPDATE_SUBJECT';\nexport const UPDATE_SUBJECT_SUCCESS = 'UPDATE_SUBJECT_SUCCESS';\nexport const UPDATE_SUBJECT_FAIL = 'UPDATE_SUBJECT_FAIL';\nexport const DELETE_SUBJECT = 'DELETE_SUBJECT';\nexport const DELETE_SUBJECT_SUCCESS = 'DELETE_SUBJECT_SUCCESS';\nexport const DELETE_SUBJECT_FAIL = 'DELETE_SUBJECT_FAIL';\nexport const RESET_SUBJECT_ERRORS = 'RESET_SUBJECT_ERRORS';\n\n/** ************************** Fetch subjects *************************** */\nexport interface IFetchSubjects {\n type: typeof FETCH_SUBJECTS;\n}\n\nexport interface IFetchSubjectsSuccess {\n type: typeof FETCH_SUBJECTS_SUCCESS;\n payload: {\n subjects: ISubject[];\n };\n}\n\nexport interface IFetchSubjectsFail {\n type: typeof FETCH_SUBJECTS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\nexport interface ISubjectsState {\n subjects: ISubject[];\n fetchingSubjects: boolean;\n errorsFetchingSubjects: IError | null;\n addingSubject: boolean;\n errorsAddingSubject: IError | null;\n updatingSubject: boolean;\n errorsUpdatingSubject: IError | null;\n deletingSubject: boolean;\n errorsDeletingSubject: IError | null;\n}\n\n/** ************************** Add subject *************************** */\ninterface IAddSubject {\n type: typeof ADD_SUBJECT;\n payload: {\n subject: ISubjectSendRequest;\n };\n}\n\ninterface IAddSubjectSuccess {\n type: typeof ADD_SUBJECT_SUCCESS;\n payload: {\n subject: ISubject;\n };\n}\n\ninterface IAddSubjectFail {\n type: typeof ADD_SUBJECT_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Update subject *************************** */\ninterface IUpdateSubject {\n type: typeof UPDATE_SUBJECT;\n payload: {\n subject: ISubjectSendRequest;\n };\n}\n\ninterface IUpdateSubjectSuccess {\n type: typeof UPDATE_SUBJECT_SUCCESS;\n payload: {\n subject: ISubject;\n };\n}\n\ninterface IUpdateSubjectFail {\n type: typeof UPDATE_SUBJECT_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Delete subject *************************** */\ninterface IDeleteSubject {\n type: typeof DELETE_SUBJECT;\n}\n\ninterface IDeleteSubjectSuccess {\n type: typeof DELETE_SUBJECT_SUCCESS;\n payload: {\n id: number;\n };\n}\n\ninterface IDeleteSubjectFail {\n type: typeof DELETE_SUBJECT_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Reset subject errors *************************** */\ninterface IResetSubjectErrors {\n type: typeof RESET_SUBJECT_ERRORS;\n}\n\nexport type SubjectActionTypes =\n | IFetchSubjects\n | IFetchSubjectsSuccess\n | IFetchSubjectsFail\n | IAddSubject\n | IAddSubjectSuccess\n | IAddSubjectFail\n | IUpdateSubject\n | IUpdateSubjectSuccess\n | IUpdateSubjectFail\n | IDeleteSubject\n | IDeleteSubjectSuccess\n | IDeleteSubjectFail\n | IResetSubjectErrors;\n","import React, { useState } from 'react';\nimport {\n DeleteOutlined,\n EditOutlined,\n PlusCircleOutlined,\n SearchOutlined\n} from '@ant-design/icons';\nimport { Button, Card, Input, Popconfirm, Tooltip } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Link, useHistory, useRouteMatch } from 'react-router-dom';\nimport { ISubject, ISubjectsDisplay } from '../../../api/models/subject';\nimport { deleteSubject } from '../../../redux/actions/subjects';\nimport { RootState } from '../../../redux/reducers';\nimport utils from '../../../utils/index';\nimport SearchTable from '../../layout/SearchTable';\nimport Alert from '../../layout/shared/Alert';\nimport Flex from '../../layout/shared/Flex';\nimport Spinner from '../../layout/shared/Spinner';\nimport { UserRole } from '../../../constants/theme';\n\nconst SubjectsList = () => {\n const history = useHistory();\n const match = useRouteMatch();\n const { t } = useTranslation();\n\n const dispatch = useDispatch();\n const userRole = useSelector((state: RootState) => state.auth.role);\n const subjects = useSelector((state: RootState) => state.subject.subjects);\n const institutionTypes = useSelector((state: RootState) => state.institution.institutionTypes);\n const deletingSubject = useSelector((state: RootState) => state.subject.deletingSubject);\n const error = useSelector((state: RootState) => state.subject.errorsDeletingSubject);\n\n const subjectsDisplay: ISubjectsDisplay[] = subjects.map((subject) => {\n return {\n ...subject,\n institutionType: institutionTypes.filter(\n (institutionType) => institutionType.id === subject.institutionTypeId\n )[0]?.description\n };\n });\n\n const [search, setSearch] = useState(null);\n\n const addSubject = () => {\n history.push(`${match.url}/shto-drejtime`);\n };\n\n const onHandleDelete = (id: number) => {\n dispatch(deleteSubject(id, t('feedback_message.subject_successfully_deleted')));\n };\n\n const tableColumns: any = [\n {\n title: t('general.subject'),\n dataIndex: 'name',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'name')\n },\n {\n title: t('general.institution_type'),\n dataIndex: 'institutionType',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'institutionType')\n },\n {\n title: '',\n dataIndex: 'actions',\n render: (_: any, row: ISubject) => {\n if (userRole !== UserRole.Admin) return null;\n\n return (\n \n \n \n \n )}\n \n \n\n {error && }\n \n \n );\n};\n\nexport default SubjectsList;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport { message } from 'antd';\nimport {\n ADD_SUBJECT,\n ADD_SUBJECT_FAIL,\n ADD_SUBJECT_SUCCESS,\n DELETE_SUBJECT,\n DELETE_SUBJECT_FAIL,\n DELETE_SUBJECT_SUCCESS,\n FETCH_SUBJECTS,\n FETCH_SUBJECTS_FAIL,\n FETCH_SUBJECTS_SUCCESS,\n RESET_SUBJECT_ERRORS,\n UPDATE_SUBJECT,\n UPDATE_SUBJECT_FAIL,\n UPDATE_SUBJECT_SUCCESS,\n SubjectActionTypes\n} from '../constants/subjects';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IError } from '../../api/models/error';\nimport { ISubjectSendRequest } from '../../api/models/subject';\n\nexport const fetchSubjects = (): ThunkAction> => async (\n dispatch\n) => {\n dispatch({\n type: FETCH_SUBJECTS\n });\n\n try {\n const subjects = await agent.Subject.list();\n\n dispatch({\n type: FETCH_SUBJECTS_SUCCESS,\n payload: {\n subjects\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_SUBJECTS_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const addSubject = (\n subjectSendRequest: ISubjectSendRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: ADD_SUBJECT\n });\n\n try {\n const subject = await agent.Subject.add(subjectSendRequest);\n\n dispatch({\n type: ADD_SUBJECT_SUCCESS,\n payload: {\n subject\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: ADD_SUBJECT_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const updateSubject = (\n id: number,\n subject: ISubjectSendRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_SUBJECT\n });\n\n try {\n const updatedSubject = await agent.Subject.update(id, subject);\n\n dispatch({\n type: UPDATE_SUBJECT_SUCCESS,\n payload: {\n subject: updatedSubject\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_SUBJECT_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const deleteSubject = (\n id: number,\n successMessage: String\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: DELETE_SUBJECT\n });\n\n try {\n await agent.Subject.delete(id);\n\n dispatch({\n type: DELETE_SUBJECT_SUCCESS,\n payload: {\n id\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: DELETE_SUBJECT_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const resetSubjectErrors = (): SubjectActionTypes => {\n return {\n type: RESET_SUBJECT_ERRORS\n };\n};\n","import React from 'react';\nimport SubjectsList from '../../../components/admin/subjects/SubjectsList';\n\nconst Subjects = () => ;\n\nexport default Subjects;\n","import React from 'react';\nimport { Form, Button, Input, Card, Col, Row, Select } from 'antd';\n\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport PageHeaderAlt from '../../layout/PageHeaderAlt';\nimport Flex from '../../layout/shared/Flex';\nimport { RootState } from '../../../redux/reducers';\nimport Alert from '../../layout/shared/Alert';\nimport { ISubject } from '../../../api/models/subject';\nimport { addSubject, updateSubject } from '../../../redux/actions/subjects';\nimport AppBreadCrumb from '../../layout/AppBreadCrumb';\nimport { InstitutionTypeName } from '../../../constants/theme';\n\nconst { Option } = Select;\n\ninterface IProps {\n subject?: ISubject;\n}\n\nconst SubjectsForm: React.FC = ({ subject = null }) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [form] = Form.useForm();\n\n const institutionTypes = useSelector((state: RootState) =>\n state.institution.institutionTypes.filter(\n (institutionType) =>\n institutionType.name !== InstitutionTypeName.AGJENSIA_KOMBETARE_ARSIMIT &&\n institutionType.name !== InstitutionTypeName.AGJENSIA_KOMBETARE_PUNESIMIT_AFTESIVE\n )\n );\n\n const updatingSubject = useSelector((state: RootState) => state.subject.updatingSubject);\n const addingSubject = useSelector((state: RootState) => state.subject.addingSubject);\n const addSubjectErrors = useSelector((state: RootState) => state.subject.errorsAddingSubject);\n const updateSubjectErrors = useSelector(\n (state: RootState) => state.subject.errorsUpdatingSubject\n );\n\n const displayErrors = () => {\n if (subject && updateSubjectErrors) return ;\n if (addSubjectErrors) return ;\n\n return null;\n };\n\n const onFinish = (values: any) => {\n const { name, institutionTypeId } = values;\n\n if (subject) {\n dispatch(\n updateSubject(\n subject.id,\n {\n name,\n institutionTypeId\n },\n t('feedback_message.subject_successfully_updated')\n )\n );\n } else {\n dispatch(\n addSubject(\n {\n name,\n institutionTypeId\n },\n t('feedback_message.subject_successfully_added')\n )\n );\n\n form.resetFields();\n }\n };\n\n return (\n \n \n \n

{subject ? t('general.change_subject') : t('general.add_subject')}

\n
\n \n {subject ? t('general.save') : t('general.add')}\n \n
\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n {displayErrors()}\n \n \n \n \n );\n};\n\nexport default SubjectsForm;\n","import React from 'react';\nimport SubjectsForm from '../../../../components/admin/subjects/SubjectsForm';\n\nconst AddSubject = () => {\n return ;\n};\n\nexport default AddSubject;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { RouteComponentProps } from 'react-router-dom';\nimport { RootState } from '../../../../redux/reducers';\nimport NotFound from '../../../404';\nimport SubjectsForm from '../../../../components/admin/subjects/SubjectsForm';\n\ninterface MatchParams {\n id: string;\n}\n\ninterface IProps extends RouteComponentProps {}\n\nconst EditSubject: React.FC = ({ match }) => {\n const subject = useSelector((state: RootState) =>\n state.subject.subjects.find((el) => el.id === +match.params.id)\n );\n\n if (!subject) return ;\n\n return ;\n};\n\nexport default EditSubject;\n","import { IError } from '../../api/models/error';\nimport { IDocument } from '../../api/models/document';\n\nexport const FETCH_DOCUMENTS = 'FETCH_DOCUMENTS';\nexport const FETCH_DOCUMENTS_SUCCESS = 'FETCH_DOCUMENTS_SUCCESS';\nexport const FETCH_DOCUMENTS_FAIL = 'FETCH_DOCUMENTS_FAIL';\nexport const UPLOAD_DOCUMENT = 'UPLOAD_DOCUMENT';\nexport const RESET_DOCUMENT_ERRORS = 'RESET_DOCUMENT_ERRORS';\nexport interface IDocumentsState {\n documents: IDocument[];\n fetchingDocuments: boolean;\n errors: IError | null;\n}\n\n/** ************************** Fetch documents *************************** */\ninterface IFetchDocuments {\n type: typeof FETCH_DOCUMENTS;\n}\n\ninterface IFetchDocumentsSuccess {\n type: typeof FETCH_DOCUMENTS_SUCCESS;\n payload: {\n documents: IDocument[];\n };\n}\n\ninterface IFetchDocumentsFail {\n type: typeof FETCH_DOCUMENTS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Upload document *************************** */\ninterface IUploadDocument {\n type: typeof UPLOAD_DOCUMENT;\n payload: {\n document: IDocument;\n };\n}\n\n/** ************************** Reset documents errors *************************** */\ninterface IResetDocumentErrors {\n type: typeof RESET_DOCUMENT_ERRORS;\n}\n\nexport type DocumentsActionTypes =\n | IFetchDocuments\n | IFetchDocumentsSuccess\n | IFetchDocumentsFail\n | IUploadDocument\n | IResetDocumentErrors;\n","import React, { useState } from 'react';\nimport { Upload, message, Button } from 'antd';\nimport { UploadOutlined } from '@ant-design/icons';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { uploadDocument } from '../../redux/actions/documents';\nimport agent from '../../api/agent';\nimport { IError } from '../../api/models/error';\nimport { IDocument } from '../../api/models/document';\nimport { RootState } from '../../redux/reducers';\n\ninterface IProps {\n upload: (doc: IDocument | null) => void;\n uploading: (flag: boolean) => void;\n documentId: number | null;\n}\n\nconst UploadDocument: React.FC = ({ upload, uploading, documentId = null }) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n\n const documents = useSelector((state: RootState) => state.document.documents);\n\n const initialDocument: IDocument | null = documentId\n ? documents.filter((document) => document.id === documentId)[0]\n : null;\n\n const [documentList, setdocumentList] = useState(\n initialDocument\n ? [\n {\n uid: initialDocument.id,\n name: initialDocument.originalDocumentName,\n status: 'done'\n // url: initialDocument?.document\n }\n ]\n : null\n );\n\n const props: any = {\n name: 'file',\n onChange(info: { fileList: any; file: { status?: string; name: string } }) {\n let fileList = [...info.fileList];\n\n fileList = fileList.slice(-1);\n\n // fileList = fileList.map((file) => {\n // if (file.response) {\n // file.url = file.response.url;\n // }\n // return file;\n // });\n\n setdocumentList(fileList);\n\n if (info.file.status === 'uploading') {\n uploading(true);\n }\n if (info.file.status === 'done') {\n uploading(false);\n message.success({\n content: `${info.file.name} ${t('feedback_message.uploaded_successfully')}`,\n duration: 4\n });\n } else if (info.file.status === 'error') {\n uploading(false);\n message.error({ content: t('feedback_message.upload_failed'), duration: 4 });\n }\n },\n onRemove() {\n upload(null);\n },\n beforeUpload(file: { type: string; size: number }) {\n const mimeTypes = [\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'text/csv',\n 'application/pdf',\n 'image/jpeg',\n 'image/png'\n ];\n\n const { size, type } = file;\n\n let allowedFileFormat = true;\n\n if (!mimeTypes.includes(type)) {\n allowedFileFormat = false;\n message.error(t('feedback_message.file_format_not_allowed'));\n }\n\n const allowedFileSize = size / 1024 / 1024 < 20;\n\n if (!allowedFileSize) {\n message.error(t('feedback_message.image_20Mb'));\n }\n\n return allowedFileFormat && allowedFileSize;\n }\n };\n\n const uploadFile = async (options: any) => {\n const { onSuccess, onError, file, onProgress } = options;\n\n const config = {\n onUploadProgress: (event: { loaded: number; total: number }) => {\n onProgress({ percent: (event.loaded / event.total) * 100 });\n }\n };\n\n try {\n const document = await agent.Document.upload(file, config);\n dispatch(uploadDocument(document));\n\n upload(document);\n\n onSuccess(document);\n } catch (error) {\n const errors: IError = error?.data;\n\n onError({ errors });\n }\n };\n\n const { name, onChange, onRemove, beforeUpload } = props;\n\n return (\n \n \n \n );\n};\n\nexport default UploadDocument;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport {\n FETCH_DOCUMENTS,\n FETCH_DOCUMENTS_SUCCESS,\n FETCH_DOCUMENTS_FAIL,\n UPLOAD_DOCUMENT,\n DocumentsActionTypes,\n RESET_DOCUMENT_ERRORS\n} from '../constants/documents';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IError } from '../../api/models/error';\nimport { IDocument } from '../../api/models/document';\n\nexport const fetchDocuments = (): ThunkAction> => async (\n dispatch\n) => {\n dispatch({\n type: FETCH_DOCUMENTS\n });\n\n try {\n const documents = await agent.Document.list();\n\n dispatch({\n type: FETCH_DOCUMENTS_SUCCESS,\n payload: {\n documents\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_DOCUMENTS_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const uploadDocument = (document: IDocument): DocumentsActionTypes => {\n return {\n type: UPLOAD_DOCUMENT,\n payload: { document }\n };\n};\n\nexport const resetDocumentErrors = (): DocumentsActionTypes => {\n return {\n type: RESET_DOCUMENT_ERRORS\n };\n};\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Form, Button, Card, Col, Row, DatePicker } from 'antd';\nimport moment from 'moment';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n IEvaluationPeriod,\n IEvaluationPeriodSendRequest\n} from '../../../api/models/evaluationPeriod';\n\nimport PageHeaderAlt from '../../layout/PageHeaderAlt';\nimport Flex from '../../layout/shared/Flex';\nimport UploadDocument from '../../layout/UploadDocument';\nimport { IDocument } from '../../../api/models/document';\nimport {\n addEvaluationPeriod,\n updateEvaluationPeriod\n} from '../../../redux/actions/evaluationPeriods';\nimport { RootState } from '../../../redux/reducers';\nimport Alert from '../../layout/shared/Alert';\nimport AppBreadCrumb from '../../layout/AppBreadCrumb';\n\ninterface IProps {\n evaluationPeriod?: IEvaluationPeriod;\n}\n\nconst EvaluationPeriodForm: React.FC = ({ evaluationPeriod = null }) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n\n const { RangePicker } = DatePicker;\n const [form] = Form.useForm();\n const [document, setDocument] = useState();\n const [uploading, setUploading] = useState(false);\n\n const savingEvaluationPeriod = useSelector(\n (state: RootState) => state.evaluationPeriod.addingEvaluationPeriod\n );\n const updatingEvaluationPeriod = useSelector(\n (state: RootState) => state.evaluationPeriod.updatingEvaluationPeriod\n );\n const editEvaluationPeriodErrors = useSelector(\n (state: RootState) => state.evaluationPeriod.errors\n );\n\n const onSuccessDocumentUpload = (doc: IDocument | null) => {\n setDocument(doc);\n };\n\n const onDocumentUploading = (flag: boolean) => {\n setUploading(flag);\n };\n\n const initialDocument =\n useSelector((state: RootState) => state.document.documents).filter(\n (doc) => doc.id === evaluationPeriod?.documentId\n )[0] ?? null;\n\n useEffect(() => {\n setDocument(initialDocument);\n }, [initialDocument]);\n\n const onFinish = (values: any) => {\n const { period, year } = values;\n\n const evaluationPeriodData: IEvaluationPeriodSendRequest = {\n period: +moment(year).format('YYYY'),\n documentId: document?.id ?? null,\n startDate: new Date(period[0]),\n endDate: new Date(period[1])\n };\n\n if (evaluationPeriod) {\n dispatch(\n updateEvaluationPeriod(\n evaluationPeriod.id,\n evaluationPeriodData,\n t('feedback_message.evaluation_period_successfully_updated')\n )\n );\n } else {\n dispatch(\n addEvaluationPeriod(\n evaluationPeriodData,\n form,\n t('feedback_message.evaluation_period_successfully_added')\n )\n );\n }\n };\n\n return (\n \n \n \n

\n {evaluationPeriod\n ? t('general.change_evaluation_period')\n : t('general.add_evaluation_period')}\n

\n \n {evaluationPeriod ? t('general.save') : t('general.add')}\n \n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {editEvaluationPeriodErrors ? (\n \n ) : null}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default EvaluationPeriodForm;\n","import React from 'react';\nimport EvaluationPeriodForm from '../../../../components/admin/self-evaluation-periods/EvaluationPeriodForm';\n\nconst AddSelfEvaluationPeriod = () => {\n return ;\n};\n\nexport default AddSelfEvaluationPeriod;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { RouteComponentProps } from 'react-router-dom';\nimport { RootState } from '../../../../redux/reducers';\nimport NotFound from '../../../404';\nimport EvaluationPeriodForm from '../../../../components/admin/self-evaluation-periods/EvaluationPeriodForm';\n\ninterface MatchParams {\n id: string;\n}\n\ninterface IProps extends RouteComponentProps {}\n\nconst EditEvaluationPeriod: React.FC = ({ match }) => {\n const evaluationPeriods = useSelector(\n (state: RootState) => state.evaluationPeriod.evaluationPeriods\n );\n\n const evaluationPeriod = evaluationPeriods.filter((el) => el.id === +match.params.id)[0];\n\n if (!evaluationPeriod) return ;\n\n return ;\n};\n\nexport default EditEvaluationPeriod;\n","import React, { useState, ReactNode } from 'react';\nimport { Grid, Drawer } from 'antd';\nimport { MenuOutlined } from '@ant-design/icons';\nimport utils from '../../utils';\n\nconst { useBreakpoint } = Grid;\n\ninterface SideContentProps {\n sideContentWidth?: number;\n sideContent: ReactNode;\n border?: boolean;\n}\n\nconst SideContent: React.FC = ({\n sideContent,\n sideContentWidth = 250,\n border = false\n}) => (\n \n {sideContent}\n \n);\n\ninterface SideContentMobileProps {\n sideContent: ReactNode;\n visible: boolean;\n onSideContentClose?: () => void;\n}\n\nconst SideContentMobile: React.FC = ({\n sideContent,\n visible,\n onSideContentClose\n}) => {\n return (\n \n
{sideContent}
\n \n );\n};\n\ninterface InnerAppLayoutProps {\n mainContent: ReactNode;\n sideContent: ReactNode;\n pageHeader: boolean;\n sideContentGutter?: boolean;\n}\n\nexport const InnerAppLayout: React.FC = ({\n mainContent,\n sideContent,\n pageHeader,\n sideContentGutter = true\n}) => {\n const isMobile = !utils.getBreakPoint(useBreakpoint()).includes('lg');\n const [visible, setVisible] = useState(false);\n\n const close = () => {\n setVisible(false);\n };\n\n const openSideContentMobile = () => {\n setVisible(true);\n };\n\n return (\n
\n {isMobile ? (\n \n ) : (\n \n )}\n \n {isMobile ? (\n
\n openSideContentMobile()} />\n
\n ) : null}\n {mainContent}\n
\n \n );\n};\n\nexport default InnerAppLayout;\n","import { IError } from '../../api/models/error';\nimport { ISelfEvaluationResponse } from '../../api/models/field';\nimport { IInstitution, IInstitutionSubject } from '../../api/models/institution';\nimport { IInstitutionSelfEvaluation } from '../../api/models/selfEvaluation';\nimport { IInstitutionStatistics } from '../../api/models/statistic';\nimport { IUser } from '../../api/models/user';\nimport {\n IAddInstitutionSubject,\n IAddInstitutionSubjectFail,\n IAddInstitutionSubjectSuccess,\n IDeleteInstitutionSubject,\n IDeleteInstitutionSubjectFail,\n IDeleteInstitutionSubjectSuccess\n} from './institutions';\n\nexport const FETCH_MY_INSTITUTION = 'FETCH_MY_INSTITUTION';\nexport const FETCH_MY_INSTITUTION_SUCCESS = 'FETCH_MY_INSTITUTION_SUCCESS';\nexport const FETCH_MY_INSTITUTION_FAIL = 'FETCH_MY_INSTITUTION_FAIL';\nexport const FETCH_MY_INSTITUTION_USERS = 'FETCH_MY_INSTITUTION_USERS';\nexport const FETCH_MY_INSTITUTION_USERS_SUCCESS = 'FETCH_MY_INSTITUTION_USERS_SUCCESS';\nexport const FETCH_MY_INSTITUTION_USERS_FAIL = 'FETCH_MY_INSTITUTION_USERS_FAIL';\nexport const FETCH_MY_INSTITUTION_SUBJECTS = 'FETCH_MY_INSTITUTION_SUBJECTS';\nexport const FETCH_MY_INSTITUTION_SUBJECTS_SUCCESS = 'FETCH_MY_INSTITUTION_SUBJECTS_SUCCESS';\nexport const FETCH_MY_INSTITUTION_SUBJECTS_FAIL = 'FETCH_MY_INSTITUTION_SUBJECTS_FAIL';\nexport const FETCH_MY_INSTITUTION_STATISTICS = 'FETCH_MY_INSTITUTION_STATISTICS';\nexport const FETCH_MY_INSTITUTION_STATISTICS_SUCCESS = 'FETCH_MY_INSTITUTION_STATISTICS_SUCCESS';\nexport const FETCH_MY_INSTITUTION_STATISTICS_FAIL = 'FETCH_MY_INSTITUTION_STATISTICS_FAIL';\nexport const UPDATE_MY_INSTITUTION_STATISTICS = 'UPDATE_MY_INSTITUTION_STATISTICS';\nexport const UPDATE_MY_INSTITUTION_STATISTICS_SUCCESS = 'UPDATE_MY_INSTITUTION_STATISTICS_SUCCESS';\nexport const UPDATE_MY_INSTITUTION_STATISTICS_FAIL = 'UPDATE_MY_INSTITUTION_STATISTICS_FAIL';\nexport const FETCH_MY_INSTITUTION_SELF_EVALUATION = 'FETCH_MY_INSTITUTION_SELF_EVALUATION';\nexport const FETCH_MY_INSTITITUTION_SELF_EVALUATION_SUCCESS =\n 'FETCH_MY_INSTITUTION_SELF_EVALUATION_SUCCESS';\nexport const FETCH_MY_INSTITITUTION_SELF_EVALUATION_FAIL =\n 'FETCH_MY_INSTITUTION_SELF_EVALUATION_FAIL';\nexport const UPDATE_MY_INSTITUTION_SELF_EVALUATION = 'UPDATE_MY_INSTITUTION_SELF_EVALUATION';\nexport const UPDATE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS =\n 'UPDATE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS';\nexport const UPDATE_MY_INSTITUTION_SELF_EVALUATION_FAIL =\n 'UPDATE_MY_INSTITUTION_SELF_EVALUATION_FAIL';\nexport const DELETE_MY_INSTITUTION_SELF_EVALUATION = 'DELETE_MY_INSTITUTION_SELF_EVALUATION';\nexport const DELETE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS =\n 'DELETE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS';\nexport const DELETE_MY_INSTITUTION_SELF_EVALUATION_FAIL =\n 'DELETE_MY_INSTITUTION_SELF_EVALUATION_FAIL';\nexport const SHOW_MY_INSTITUTION_SELF_EVALUATION_FORM = 'SHOW_MY_INSTITUTION_SELF_EVALUATION_FORM';\nexport const CLOSE_MY_INSTITUTION_SELF_EVALUATION_FORM =\n 'CLOSE_MY_INSTITUTION_SELF_EVALUATION_FORM';\nexport const UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE =\n 'UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE';\nexport const UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_SUCCESS =\n 'UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_SUCCESS';\nexport const UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_FAIL =\n 'UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_FAIL';\nexport const FETCH_MY_INSTITUTION_CURRENT_RESPONSE = 'FETCH_MY_INSTITUTION_CURRENT_RESPONSE';\nexport const FETCH_MY_INSTITUTION_CURRENT_RESPONSE_SUCCESS =\n 'FETCH_MY_INSTITUTION_CURRENT_RESPONSE_SUCCESS';\nexport const FETCH_MY_INSTITUTION_CURRENT_RESPONSE_FAIL =\n 'FETCH_MY_INSTITUTION_CURRENT_RESPONSE_FAIL';\nexport const RESET_MY_INSTITUTION_ERRORS = 'RESET_MY_INSTITUTION_ERRORS';\n\nexport interface IMyInstitutionState {\n institution: IInstitution | null;\n users: IUser[];\n subjects: IInstitutionSubject[];\n statistics: IInstitutionStatistics[];\n selfEvaluation: IInstitutionSelfEvaluation[];\n currentResponse: ISelfEvaluationResponse[];\n fetchingMyInstitution: boolean;\n fetchingMyInstitutionUsers: boolean;\n fetchingMyInstitutionSubjects: boolean;\n fetchingMyInstitutionStatistics: boolean;\n fetchingMyInstitutionSelfEvaluation: boolean;\n fetchingMyInstitutionCurrentResponse: boolean;\n updatingMyInstitutionSubjects: boolean;\n updatingMyInstitutionStatistics: boolean;\n addingMyInstitutionSelfEvaluation: boolean;\n deletingMyInstitutionSelfEvaluation: boolean;\n showMyInstitutionSelfEvaluationForm: boolean;\n updatingMyInstitutionSelfEvaluationResponse: boolean;\n errors: IError | null;\n}\n\n/** ************************** Fetch my institution *************************** */\ninterface IFetchMyInstitution {\n type: typeof FETCH_MY_INSTITUTION;\n}\n\ninterface IFetchMyInstitutionSuccess {\n type: typeof FETCH_MY_INSTITUTION_SUCCESS;\n payload: {\n institution: IInstitution;\n };\n}\n\ninterface IFetchMyInstitutionFail {\n type: typeof FETCH_MY_INSTITUTION_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Fetch institution users *************************** */\ninterface IFetchMyInstitutionUsers {\n type: typeof FETCH_MY_INSTITUTION_USERS;\n}\n\ninterface IFetchMyInstitutionUsersSuccess {\n type: typeof FETCH_MY_INSTITUTION_USERS_SUCCESS;\n payload: {\n users: IUser[];\n };\n}\n\ninterface IFetchMyInstitutionUsersFail {\n type: typeof FETCH_MY_INSTITUTION_USERS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Fetch institution subjects *************************** */\ninterface IFetchMyInstitutionSubjects {\n type: typeof FETCH_MY_INSTITUTION_SUBJECTS;\n}\n\ninterface IFetchMyInstitutionSubjectsSuccess {\n type: typeof FETCH_MY_INSTITUTION_SUBJECTS_SUCCESS;\n payload: {\n subjects: IInstitutionSubject[];\n };\n}\n\ninterface IFetchMyInstitutionSubjectsFail {\n type: typeof FETCH_MY_INSTITUTION_SUBJECTS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Fetch institution statistics *************************** */\ninterface IFetchMyInstitutionStatistics {\n type: typeof FETCH_MY_INSTITUTION_STATISTICS;\n}\n\ninterface IFetchMyInstitutionStatisticsSuccess {\n type: typeof FETCH_MY_INSTITUTION_STATISTICS_SUCCESS;\n payload: {\n statistics: IInstitutionStatistics[];\n };\n}\n\ninterface IFetchMyInstitutionStatisticsFail {\n type: typeof FETCH_MY_INSTITUTION_STATISTICS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Update institution statistics *************************** */\ninterface IUpdateMyInstitutionStatistics {\n type: typeof UPDATE_MY_INSTITUTION_STATISTICS;\n}\n\ninterface IUpdateMyInstitutionStatisticsSuccess {\n type: typeof UPDATE_MY_INSTITUTION_STATISTICS_SUCCESS;\n payload: {\n statistics: IInstitutionStatistics;\n };\n}\n\ninterface IUpdateMyInstitutionStatisticsFail {\n type: typeof UPDATE_MY_INSTITUTION_STATISTICS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Fetch institution self evaluation *************************** */\ninterface IFetchMyInstitutionSelfEvaluation {\n type: typeof FETCH_MY_INSTITUTION_SELF_EVALUATION;\n}\n\ninterface IFetchMyInstitutionSelfEvaluationSuccess {\n type: typeof FETCH_MY_INSTITITUTION_SELF_EVALUATION_SUCCESS;\n payload: {\n selfEvaluation: IInstitutionSelfEvaluation[];\n };\n}\n\ninterface IFetchMyInstitutionSelfEvaluationFail {\n type: typeof FETCH_MY_INSTITITUTION_SELF_EVALUATION_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Update institution self evaluation *************************** */\ninterface IUpdateMyInstitutionSelfEvaluation {\n type: typeof UPDATE_MY_INSTITUTION_SELF_EVALUATION;\n}\n\ninterface IUpdateMyInstitutionSelfEvaluationSuccess {\n type: typeof UPDATE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS;\n payload: {\n selfEvaluation: IInstitutionSelfEvaluation;\n };\n}\n\ninterface IUpdateMyInstitutionSelfEvaluationFail {\n type: typeof UPDATE_MY_INSTITUTION_SELF_EVALUATION_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Delete institution self evaluation *************************** */\ninterface IDeleteMyInstitutionSelfEvaluation {\n type: typeof DELETE_MY_INSTITUTION_SELF_EVALUATION;\n}\n\ninterface IDeleteMyInstitutionSelfEvaluationSuccess {\n type: typeof DELETE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS;\n payload: {\n id: number;\n };\n}\n\ninterface IDeleteMyInstitutionSelfEvaluationFail {\n type: typeof DELETE_MY_INSTITUTION_SELF_EVALUATION_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Show institution self evaluation form *************************** */\ninterface IShowMyInstitutionSelfEvaluationForm {\n type: typeof SHOW_MY_INSTITUTION_SELF_EVALUATION_FORM;\n}\n\ninterface IHideMyInstitutionSelfEvaluationForm {\n type: typeof CLOSE_MY_INSTITUTION_SELF_EVALUATION_FORM;\n}\n\n/** ************************** Update institution self evaluation response *************************** */\ninterface IUpdateMyInstitutionSelfEvaluationResponse {\n type: typeof UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE;\n}\n\ninterface IUpdateMyInstitutionSelfEvaluationResponseSuccess {\n type: typeof UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_SUCCESS;\n payload: {\n currentResponse: ISelfEvaluationResponse[];\n };\n}\n\ninterface IUpdateMyInstitutionSelfEvaluationResponseFail {\n type: typeof UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Fetch institution current response *************************** */\ninterface IFetchMyInstitutionCurrentResponse {\n type: typeof FETCH_MY_INSTITUTION_CURRENT_RESPONSE;\n}\n\ninterface IFetchMyInstitutionCurrentResponseSuccess {\n type: typeof FETCH_MY_INSTITUTION_CURRENT_RESPONSE_SUCCESS;\n payload: {\n currentResponse: ISelfEvaluationResponse[];\n };\n}\n\ninterface IFetchMyInstitutionCurrentResponseFail {\n type: typeof FETCH_MY_INSTITUTION_CURRENT_RESPONSE_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Reset institution errors *************************** */\ninterface IResetMyInstitutionErrors {\n type: typeof RESET_MY_INSTITUTION_ERRORS;\n}\n\nexport type MyInstitutionActionTypes =\n | IFetchMyInstitution\n | IFetchMyInstitutionSuccess\n | IFetchMyInstitutionFail\n | IFetchMyInstitutionUsers\n | IFetchMyInstitutionUsersSuccess\n | IFetchMyInstitutionUsersFail\n | IFetchMyInstitutionSubjects\n | IFetchMyInstitutionSubjectsSuccess\n | IFetchMyInstitutionSubjectsFail\n | IAddInstitutionSubject\n | IAddInstitutionSubjectSuccess\n | IAddInstitutionSubjectFail\n | IDeleteInstitutionSubject\n | IDeleteInstitutionSubjectSuccess\n | IDeleteInstitutionSubjectFail\n | IFetchMyInstitutionStatistics\n | IFetchMyInstitutionStatisticsSuccess\n | IFetchMyInstitutionStatisticsFail\n | IUpdateMyInstitutionStatistics\n | IUpdateMyInstitutionStatisticsSuccess\n | IUpdateMyInstitutionStatisticsFail\n | IFetchMyInstitutionSelfEvaluation\n | IFetchMyInstitutionSelfEvaluationSuccess\n | IFetchMyInstitutionSelfEvaluationFail\n | IUpdateMyInstitutionSelfEvaluation\n | IUpdateMyInstitutionSelfEvaluationSuccess\n | IUpdateMyInstitutionSelfEvaluationFail\n | IShowMyInstitutionSelfEvaluationForm\n | IHideMyInstitutionSelfEvaluationForm\n | IDeleteMyInstitutionSelfEvaluation\n | IDeleteMyInstitutionSelfEvaluationSuccess\n | IDeleteMyInstitutionSelfEvaluationFail\n | IUpdateMyInstitutionSelfEvaluationResponse\n | IUpdateMyInstitutionSelfEvaluationResponseSuccess\n | IUpdateMyInstitutionSelfEvaluationResponseFail\n | IFetchMyInstitutionCurrentResponse\n | IFetchMyInstitutionCurrentResponseSuccess\n | IFetchMyInstitutionCurrentResponseFail\n | IResetMyInstitutionErrors;\n","import { IError } from '../../api/models/error';\nimport { ISubfieldPercentageCompleted } from '../../api/models/graphicalData';\n\nexport const FETCH_SUBFIELD_PERCENTAGE_COMPLETED = 'FETCH_SUBFIELD_PERCENTAGE_COMPLETED';\nexport const FETCH_SUBFIELD_PERCENTAGE_COMPLETED_SUCCESS =\n 'FETCH_SUBFIELD_PERCENTAGE_COMPLETED_SUCCESS';\nexport const FETCH_SUBFIELD_PERCENTAGE_COMPLETED_FAIL = 'FETCH_SUBFIELD_PERCENTAGE_COMPLETED_FAIL';\n\nexport interface IGraphicalDataState {\n subFieldsPercentageCompleted: ISubfieldPercentageCompleted[];\n fetchingSubFieldPercentageCompleted: boolean;\n errors: IError | null;\n}\n\n/** ************************** Fetch field subfields *************************** */\ninterface IFetchFieldSubfieldPercentageCompleted {\n type: typeof FETCH_SUBFIELD_PERCENTAGE_COMPLETED;\n}\n\ninterface IFetchFieldSubfieldPercentageCompletedSuccess {\n type: typeof FETCH_SUBFIELD_PERCENTAGE_COMPLETED_SUCCESS;\n payload: {\n subfieldsPercentageCompleted: ISubfieldPercentageCompleted[];\n };\n}\n\ninterface IFetchFieldSubfieldPercentageCompletedFail {\n type: typeof FETCH_SUBFIELD_PERCENTAGE_COMPLETED_FAIL;\n payload: {\n errors: IError;\n };\n}\n\nexport type GraphicalDataActionTypes =\n | IFetchFieldSubfieldPercentageCompleted\n | IFetchFieldSubfieldPercentageCompletedSuccess\n | IFetchFieldSubfieldPercentageCompletedFail;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport {\n FETCH_SUBFIELD_PERCENTAGE_COMPLETED,\n FETCH_SUBFIELD_PERCENTAGE_COMPLETED_SUCCESS,\n FETCH_SUBFIELD_PERCENTAGE_COMPLETED_FAIL\n} from '../constants/graphicalData';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IError } from '../../api/models/error';\n\nconst fetchSubfieldPercentageCompleted = (\n id: number\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: FETCH_SUBFIELD_PERCENTAGE_COMPLETED\n });\n\n try {\n const subfieldsPercentageCompleted = await agent.GraphicalData.listInstitutionSubfieldPercentageCompleted(\n id\n );\n\n dispatch({\n type: FETCH_SUBFIELD_PERCENTAGE_COMPLETED_SUCCESS,\n payload: {\n subfieldsPercentageCompleted\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_SUBFIELD_PERCENTAGE_COMPLETED_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport default fetchSubfieldPercentageCompleted;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport { message } from 'antd';\nimport {\n FETCH_MY_INSTITUTION,\n FETCH_MY_INSTITUTION_SUCCESS,\n FETCH_MY_INSTITUTION_FAIL,\n FETCH_MY_INSTITUTION_USERS,\n FETCH_MY_INSTITUTION_USERS_SUCCESS,\n FETCH_MY_INSTITUTION_USERS_FAIL,\n FETCH_MY_INSTITUTION_SUBJECTS,\n FETCH_MY_INSTITUTION_SUBJECTS_SUCCESS,\n FETCH_MY_INSTITUTION_SUBJECTS_FAIL,\n FETCH_MY_INSTITUTION_STATISTICS,\n FETCH_MY_INSTITUTION_STATISTICS_SUCCESS,\n FETCH_MY_INSTITUTION_STATISTICS_FAIL,\n UPDATE_MY_INSTITUTION_STATISTICS,\n UPDATE_MY_INSTITUTION_STATISTICS_SUCCESS,\n UPDATE_MY_INSTITUTION_STATISTICS_FAIL,\n FETCH_MY_INSTITUTION_SELF_EVALUATION,\n FETCH_MY_INSTITITUTION_SELF_EVALUATION_SUCCESS,\n FETCH_MY_INSTITITUTION_SELF_EVALUATION_FAIL,\n UPDATE_MY_INSTITUTION_SELF_EVALUATION,\n UPDATE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS,\n UPDATE_MY_INSTITUTION_SELF_EVALUATION_FAIL,\n DELETE_MY_INSTITUTION_SELF_EVALUATION,\n DELETE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS,\n DELETE_MY_INSTITUTION_SELF_EVALUATION_FAIL,\n SHOW_MY_INSTITUTION_SELF_EVALUATION_FORM,\n CLOSE_MY_INSTITUTION_SELF_EVALUATION_FORM,\n UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE,\n UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_SUCCESS,\n UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_FAIL,\n MyInstitutionActionTypes,\n FETCH_MY_INSTITUTION_CURRENT_RESPONSE,\n FETCH_MY_INSTITUTION_CURRENT_RESPONSE_SUCCESS,\n FETCH_MY_INSTITUTION_CURRENT_RESPONSE_FAIL,\n RESET_MY_INSTITUTION_ERRORS\n} from '../constants/myInstitution';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IError } from '../../api/models/error';\nimport { IInstitutionStatistics } from '../../api/models/statistic';\nimport { IInstitutionSelfEvaluationRequest } from '../../api/models/selfEvaluation';\nimport { ISendRequestSelfEvaluationResponse } from '../../api/models/field';\nimport fetchSubfieldPercentageCompleted from './graphicalData';\n\nexport const fetchMyInstitution = (\n id: number\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: FETCH_MY_INSTITUTION\n });\n\n try {\n const institution = await agent.Institution.getById(id);\n\n dispatch({\n type: FETCH_MY_INSTITUTION_SUCCESS,\n payload: {\n institution\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_MY_INSTITUTION_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const fetchMyInstitutionUsers = (\n id: number\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: FETCH_MY_INSTITUTION_USERS\n });\n\n try {\n const users = await agent.Institution.listUsers(id);\n\n dispatch({\n type: FETCH_MY_INSTITUTION_USERS_SUCCESS,\n payload: {\n users\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_MY_INSTITUTION_USERS_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const fetchMyInstitutionSubjects = (\n id: number\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: FETCH_MY_INSTITUTION_SUBJECTS\n });\n\n try {\n const subjects = await agent.Institution.listSubjects(id);\n\n dispatch({\n type: FETCH_MY_INSTITUTION_SUBJECTS_SUCCESS,\n payload: {\n subjects\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_MY_INSTITUTION_SUBJECTS_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const fetchMyInstitutionStatistics = (\n institutionId: number\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: FETCH_MY_INSTITUTION_STATISTICS\n });\n\n try {\n const statistics = await agent.Statistic.fetchInstitutionStatistics(institutionId);\n\n dispatch({\n type: FETCH_MY_INSTITUTION_STATISTICS_SUCCESS,\n payload: {\n statistics\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_MY_INSTITUTION_STATISTICS_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const updateMyInstitutionStatistics = (\n id: number,\n data: IInstitutionStatistics,\n successMessage: string,\n history: any\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_MY_INSTITUTION_STATISTICS\n });\n\n try {\n const statistics = await agent.Statistic.updateInstitutionStatistics(id, data);\n\n dispatch({\n type: UPDATE_MY_INSTITUTION_STATISTICS_SUCCESS,\n payload: {\n statistics\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n\n history.goBack();\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_MY_INSTITUTION_STATISTICS_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const fetchMyInstitutionSelfEvaluation = (\n id: number\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: FETCH_MY_INSTITUTION_SELF_EVALUATION\n });\n\n try {\n const selfEvaluation = await agent.InstitutionSelfEvaluation.list(id);\n\n dispatch({\n type: FETCH_MY_INSTITITUTION_SELF_EVALUATION_SUCCESS,\n payload: {\n selfEvaluation\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_MY_INSTITITUTION_SELF_EVALUATION_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const showInstitutionSelfEvaluationForm = (): MyInstitutionActionTypes => {\n return {\n type: SHOW_MY_INSTITUTION_SELF_EVALUATION_FORM\n };\n};\n\nexport const closeInstitutionSelfEvaluationForm = (): MyInstitutionActionTypes => {\n return {\n type: CLOSE_MY_INSTITUTION_SELF_EVALUATION_FORM\n };\n};\n\nexport const updateMyInstitutionSelfEvaluation = (\n id: number,\n data: IInstitutionSelfEvaluationRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_MY_INSTITUTION_SELF_EVALUATION\n });\n\n try {\n const selfEvaluation = await agent.InstitutionSelfEvaluation.update(id, data);\n\n dispatch({\n type: UPDATE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS,\n payload: {\n selfEvaluation\n }\n });\n\n dispatch(closeInstitutionSelfEvaluationForm());\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_MY_INSTITUTION_SELF_EVALUATION_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const deleteMyInstitutionSelfEvaluation = (\n institutionId: number,\n id: number,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: DELETE_MY_INSTITUTION_SELF_EVALUATION\n });\n\n try {\n await agent.InstitutionSelfEvaluation.delete(institutionId, id);\n\n dispatch({\n type: DELETE_MY_INSTITUTION_SELF_EVALUATION_SUCCESS,\n payload: {\n id\n }\n });\n\n message.success({ content: successMessage, duration: 4 });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: DELETE_MY_INSTITUTION_SELF_EVALUATION_FAIL,\n payload: {\n errors\n }\n });\n\n message.error({ content: errors?.message, duration: 4 });\n }\n};\n\nexport const updateMyInstitutionSelfEvaluationResponse = (\n id: number,\n data: ISendRequestSelfEvaluationResponse,\n successMessage: string,\n history: any\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE\n });\n\n try {\n const currentResponse = await agent.InstitutionSelfEvaluation.saveResponse(id, data);\n\n dispatch({\n type: UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_SUCCESS,\n payload: {\n currentResponse\n }\n });\n\n dispatch(fetchSubfieldPercentageCompleted(id));\n dispatch(fetchMyInstitutionSelfEvaluation(id));\n\n message.success({\n content: successMessage,\n duration: 4\n });\n\n history.goBack();\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_MY_INSTITUTION_SELF_EVALUATION_RESPONSE_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const fetchMyInstitutionCurrentResponse = (\n insitutionId: number,\n selfEvaluationId: number,\n subFieldId: number\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: FETCH_MY_INSTITUTION_CURRENT_RESPONSE\n });\n\n try {\n const currentResponse = await agent.InstitutionSelfEvaluation.listResponse(\n insitutionId,\n selfEvaluationId,\n subFieldId\n );\n\n dispatch({\n type: FETCH_MY_INSTITUTION_CURRENT_RESPONSE_SUCCESS,\n payload: {\n currentResponse\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_MY_INSTITUTION_CURRENT_RESPONSE_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const resetMyInstitutionErrors = (): MyInstitutionActionTypes => {\n return {\n type: RESET_MY_INSTITUTION_ERRORS\n };\n};\n","import { IError } from '../../api/models/error';\nimport { IProperty } from '../../api/models/property';\n\nexport const FETCH_PROPERTIES = 'FETCH_PROPERTIES';\nexport const FETCH_PROPERTIES_SUCCESS = 'FETCH_PROPERTIES_SUCCESS';\nexport const FETCH_PROPERTIES_FAIL = 'FETCH_PROPERTIES_FAIL';\n\nexport interface IPropertyState {\n properties: IProperty[];\n fetchingProperties: boolean;\n errors: IError | null;\n}\n\n/** ************************** Fetch properties *************************** */\ninterface IFetchProperties {\n type: typeof FETCH_PROPERTIES;\n}\n\ninterface IFetchPropertiesSuccess {\n type: typeof FETCH_PROPERTIES_SUCCESS;\n payload: {\n properties: IProperty[];\n };\n}\n\ninterface IFetchPropertiesFail {\n type: typeof FETCH_PROPERTIES_FAIL;\n payload: {\n errors: IError;\n };\n}\n\nexport type PropertyActionTypes = IFetchProperties | IFetchPropertiesSuccess | IFetchPropertiesFail;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport {\n FETCH_PROPERTIES,\n FETCH_PROPERTIES_SUCCESS,\n FETCH_PROPERTIES_FAIL\n} from '../constants/property';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IError } from '../../api/models/error';\n\nconst fetchProperties = (): ThunkAction> => async (\n dispatch\n) => {\n dispatch({\n type: FETCH_PROPERTIES\n });\n\n try {\n const properties = await agent.Property.list();\n\n dispatch({\n type: FETCH_PROPERTIES_SUCCESS,\n payload: {\n properties\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_PROPERTIES_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport default fetchProperties;\n","import { IDocument } from './document';\nimport { IEvaluationPeriod } from './evaluationPeriod';\n\nexport const SUMMARY_TEMPLATE_NAME = 'Raporti i vetëvlerësimit';\n\nexport interface ISummaryTemplateSendRequest {\n documentId: number;\n}\n\nexport interface ISummaryTemplate {\n id: number;\n document: IDocument;\n}\n\nexport interface ISummaryTemplateDisplay {\n templateId: number;\n summaryId?: number;\n templateDocument: IDocument;\n summaryDocument?: IDocument;\n evaluationPeriod: IEvaluationPeriod;\n name: string;\n}\n","import { IError } from '../../api/models/error';\nimport { ISummary } from '../../api/models/summary';\n\nexport const FETCH_INSTITUTION_SUMMARY = 'FETCH_INSTITUTION_SUMMARY';\nexport const FETCH_INSTITUTION_SUMMARY_SUCCESS = 'FETCH_INSTITUTION_SUMMARY_SUCCESS';\nexport const FETCH_INSTITUTION_SUMMARY_FAIL = 'FETCH_INSTITUTION_SUMMARY_FAIL';\nexport const ADD_INSTITUTION_SUMMARY = 'ADD_INSTITUTION_SUMMARY';\nexport const ADD_INSTITUTION_SUMMARY_SUCCESS = 'ADD_INSTITUTION_SUMMARY_SUCCESS';\nexport const ADD_INSTITUTION_SUMMARY_FAIL = 'ADD_INSTITUTION_SUMMARY_FAIL';\nexport const UPDATE_INSTITUTION_SUMMARY = 'UPDATE_INSTITUTION_SUMMARY';\nexport const UPDATE_INSTITUTION_SUMMARY_SUCCESS = 'UPDATE_INSTITUTION_SUMMARY_SUCCESS';\nexport const UPDATE_INSTITUTION_SUMMARY_FAIL = 'UPDATE_INSTITUTION_SUMMARY_FAIL';\nexport const DELETE_INSTITUTION_SUMMARY = 'DELETE_INSTITUTION_SUMMARY';\nexport const DELETE_INSTITUTION_SUMMARY_SUCCESS = 'DELETE_INSTITUTION_SUMMARY_SUCCESS';\nexport const DELETE_INSTITUTION_SUMMARY_FAIL = 'DELETE_INSTITUTION_SUMMARY_FAIL';\nexport const RESET_INSTITUTION_SUMMARY_ERRORS = 'RESET_INSTITUTION_SUMMARY_ERRORS';\n\nexport interface ISummaryState {\n summaries: ISummary[];\n fetchingSummaries: boolean;\n addingSummary: boolean;\n updatingSummary: boolean;\n deletingSummary: boolean;\n errors: IError | null;\n}\n\n/** ************************** Fetch institution summary *************************** */\ninterface IFetchInstitutionSummary {\n type: typeof FETCH_INSTITUTION_SUMMARY;\n}\n\ninterface IFetchInstitutionSummarySuccess {\n type: typeof FETCH_INSTITUTION_SUMMARY_SUCCESS;\n payload: {\n summaries: ISummary[];\n };\n}\n\ninterface IFetchInstitutionSummaryFail {\n type: typeof FETCH_INSTITUTION_SUMMARY_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Add institution summary *************************** */\ninterface IAddInstitutionSummary {\n type: typeof ADD_INSTITUTION_SUMMARY;\n}\n\ninterface IAddInstitutionSummarySuccess {\n type: typeof ADD_INSTITUTION_SUMMARY_SUCCESS;\n payload: {\n summary: ISummary;\n };\n}\n\ninterface IAddInstitutionSummaryFail {\n type: typeof ADD_INSTITUTION_SUMMARY_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Update institution summary *************************** */\ninterface IUpdateInstitutionSummary {\n type: typeof UPDATE_INSTITUTION_SUMMARY;\n}\n\ninterface IUpdateInstitutionSummarySuccess {\n type: typeof UPDATE_INSTITUTION_SUMMARY_SUCCESS;\n payload: {\n summary: ISummary;\n };\n}\n\ninterface IUpdateInstitutionSummaryFail {\n type: typeof UPDATE_INSTITUTION_SUMMARY_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Delete institution summary *************************** */\ninterface IDeleteInstitutionSummary {\n type: typeof DELETE_INSTITUTION_SUMMARY;\n}\n\ninterface IDeleteInstitutionSummarySuccess {\n type: typeof DELETE_INSTITUTION_SUMMARY_SUCCESS;\n payload: {\n id: number;\n };\n}\n\ninterface IDeleteInstitutionSummaryFail {\n type: typeof DELETE_INSTITUTION_SUMMARY_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Reset institution summary errors *************************** */\ninterface IResetInstitutionSummaryErrors {\n type: typeof RESET_INSTITUTION_SUMMARY_ERRORS;\n}\n\nexport type SummaryActionTypes =\n | IFetchInstitutionSummary\n | IFetchInstitutionSummarySuccess\n | IFetchInstitutionSummaryFail\n | IAddInstitutionSummary\n | IAddInstitutionSummarySuccess\n | IAddInstitutionSummaryFail\n | IUpdateInstitutionSummary\n | IUpdateInstitutionSummarySuccess\n | IUpdateInstitutionSummaryFail\n | IDeleteInstitutionSummary\n | IDeleteInstitutionSummarySuccess\n | IDeleteInstitutionSummaryFail\n | IResetInstitutionSummaryErrors;\n","import { ThunkAction } from 'redux-thunk';\nimport { Action } from 'redux';\nimport { message } from 'antd';\nimport {\n FETCH_INSTITUTION_SUMMARY,\n FETCH_INSTITUTION_SUMMARY_SUCCESS,\n FETCH_INSTITUTION_SUMMARY_FAIL,\n ADD_INSTITUTION_SUMMARY,\n ADD_INSTITUTION_SUMMARY_SUCCESS,\n ADD_INSTITUTION_SUMMARY_FAIL,\n UPDATE_INSTITUTION_SUMMARY,\n UPDATE_INSTITUTION_SUMMARY_SUCCESS,\n UPDATE_INSTITUTION_SUMMARY_FAIL,\n DELETE_INSTITUTION_SUMMARY,\n DELETE_INSTITUTION_SUMMARY_SUCCESS,\n DELETE_INSTITUTION_SUMMARY_FAIL,\n RESET_INSTITUTION_SUMMARY_ERRORS,\n SummaryActionTypes\n} from '../constants/summary';\nimport agent from '../../api/agent';\nimport { RootState } from '../reducers/index';\nimport { IError } from '../../api/models/error';\nimport { ISummarySendRequest, ISummaryUpdateRequest } from '../../api/models/summary';\n\nexport const fetchSummaries = (\n institutionId: number\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: FETCH_INSTITUTION_SUMMARY\n });\n\n try {\n const summaries = await agent.Summary.list(institutionId);\n\n dispatch({\n type: FETCH_INSTITUTION_SUMMARY_SUCCESS,\n payload: {\n summaries\n }\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: FETCH_INSTITUTION_SUMMARY_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const addSummary = (\n institutionId: number,\n summary: ISummarySendRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: ADD_INSTITUTION_SUMMARY\n });\n\n try {\n const addedSummary = await agent.Summary.add(institutionId, summary);\n\n dispatch({\n type: ADD_INSTITUTION_SUMMARY_SUCCESS,\n payload: {\n summary: addedSummary\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: ADD_INSTITUTION_SUMMARY_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const updateSummary = (\n institutionId: number,\n summaryId: number,\n summary: ISummaryUpdateRequest,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: UPDATE_INSTITUTION_SUMMARY\n });\n\n try {\n const updatedSummary = await agent.Summary.update(institutionId, summaryId, summary);\n\n dispatch({\n type: UPDATE_INSTITUTION_SUMMARY_SUCCESS,\n payload: {\n summary: updatedSummary\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: UPDATE_INSTITUTION_SUMMARY_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const deleteSummary = (\n institutionId: number,\n summaryId: number,\n successMessage: string\n): ThunkAction> => async (dispatch) => {\n dispatch({\n type: DELETE_INSTITUTION_SUMMARY\n });\n\n try {\n await agent.Evidence.delete(institutionId, summaryId);\n\n dispatch({\n type: DELETE_INSTITUTION_SUMMARY_SUCCESS,\n payload: {\n id: summaryId\n }\n });\n\n message.success({\n content: successMessage,\n duration: 4\n });\n } catch (error) {\n const errors: IError = error?.data;\n\n dispatch({\n type: DELETE_INSTITUTION_SUMMARY_FAIL,\n payload: {\n errors\n }\n });\n }\n};\n\nexport const resetInstitutionSummaryErrors = (): SummaryActionTypes => {\n return {\n type: RESET_INSTITUTION_SUMMARY_ERRORS\n };\n};\n","import React, { useState } from 'react';\nimport { Modal } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from 'react-redux';\nimport { IDocument } from '../../../api/models/document';\nimport { SUMMARY_TEMPLATE_NAME } from '../../../api/models/summaryTemplate';\nimport { addSummary, updateSummary } from '../../../redux/actions/summary';\nimport UploadDocument from '../../layout/UploadDocument';\n\nexport interface ISummaryData {\n summaryId?: number;\n summaryDocument?: IDocument;\n evaluationPeriodId: number;\n templateId: number;\n institutionId: number;\n}\n\ninterface IProps {\n visible: boolean;\n summaryData?: ISummaryData;\n onClose: () => void;\n}\n\nconst SummaryModal: React.FC = ({ visible, onClose, summaryData }) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [document, setDocument] = useState(summaryData?.summaryDocument);\n const [uploading, setUploading] = useState(false);\n const onSuccessDocumentUpload = (doc: IDocument | null) => {\n if (doc) {\n setDocument(doc);\n }\n };\n const onDocumentUploading = (flag: boolean) => {\n setUploading(flag);\n };\n\n return (\n {\n if (!summaryData) {\n onClose();\n return;\n }\n\n if (summaryData.summaryId) {\n dispatch(\n updateSummary(\n summaryData.institutionId,\n summaryData.summaryId,\n {\n documentId: document!.id\n },\n t('feedback_message.evidence_successfully_updated')\n )\n );\n } else {\n dispatch(\n addSummary(\n summaryData.institutionId,\n {\n documentId: document!.id,\n finalReportTemplateId: summaryData.templateId,\n evaluationPeriodId: summaryData.evaluationPeriodId\n },\n t('feedback_message.evidence_successfully_added')\n )\n );\n }\n onClose();\n }}\n onCancel={onClose}\n okText={t('general.add')}\n cancelText={t('general.cancel')}\n >\n \n \n );\n};\n\nexport default SummaryModal;\n","import React, { useState } from 'react';\nimport { Button, Card, Collapse, List, Row, Col, Grid, message, Badge } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { Link, useRouteMatch } from 'react-router-dom';\nimport {\n EditOutlined,\n EyeOutlined,\n UnorderedListOutlined,\n PaperClipOutlined,\n FilePdfOutlined,\n FileTextOutlined,\n UploadOutlined,\n FileExcelOutlined\n} from '@ant-design/icons';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport PageHeaderAlt from '../../layout/PageHeaderAlt';\nimport Flex from '../../layout/shared/Flex';\nimport { RootState } from '../../../redux/reducers';\nimport { IInstitutionSelfEvaluation } from '../../../api/models/selfEvaluation';\nimport { getEvaluationPeriodBasedOnInstitutionType } from '../../../api/models/evaluationPeriod';\nimport agent from '../../../api/agent';\nimport Spinner from '../../layout/shared/Spinner';\nimport { IError } from '../../../api/models/error';\nimport selfEvaluationReportExcel from './fields-overview/report_template/selfEvaluationReport_excel';\nimport selfEvaluationReportPDF from './fields-overview/report_template/selfEvaluationReport_pdf';\nimport {\n ISummaryTemplateDisplay,\n SUMMARY_TEMPLATE_NAME\n} from '../../../api/models/summaryTemplate';\nimport SummaryModal, { ISummaryData } from './SummaryModal';\nimport Alert from '../../layout/shared/Alert';\nimport Utils from '../../../utils';\nimport { UserRole } from '../../../constants/theme';\n\nconst { useBreakpoint } = Grid;\n\ninterface ISelfEvaluationSection {\n year: number;\n selfEvaluations: IInstitutionSelfEvaluation[];\n summaryTemplate?: ISummaryTemplateDisplay;\n}\n\ntype ISectionListItem = IInstitutionSelfEvaluation | ISummaryTemplateDisplay;\n\nconst isSelfEvaluation = (item: ISectionListItem): item is IInstitutionSelfEvaluation => {\n return (item as IInstitutionSelfEvaluation).field !== undefined;\n};\n\nconst sectionListItems = (selfEvaluationSection: ISelfEvaluationSection): ISectionListItem[] => {\n const items: ISectionListItem[] = [...selfEvaluationSection.selfEvaluations];\n if (selfEvaluationSection.summaryTemplate) {\n items.push(selfEvaluationSection.summaryTemplate);\n }\n return items;\n};\n\nconst SelfEvaluationList = () => {\n const { t } = useTranslation();\n const { Panel } = Collapse;\n const match = useRouteMatch();\n const [currentSummary, setCurrentSummary] = useState(undefined);\n const selfEvaluations = useSelector((state: RootState) => state.myInstitution.selfEvaluation);\n const evaluationPeriods = useSelector(\n (state: RootState) => state.evaluationPeriod.evaluationPeriods\n );\n const institution = useSelector((state: RootState) => state.myInstitution.institution);\n const userRole = useSelector((state: RootState) => state.auth.role);\n const fields = useSelector((state: RootState) => state.field.fields);\n const summaryTemplate = useSelector((state: RootState) => state.summaryTemplate.summaryTemplate);\n const summaries = useSelector((state: RootState) => state.summary.summaries);\n const errors = useSelector((state: RootState) => state.summary.errors);\n\n const isMobile = !Utils.getBreakPoint(useBreakpoint()).includes('sm');\n\n const [loading, setLoading] = useState(false);\n\n const sections = () => {\n const result: ISelfEvaluationSection[] = [];\n\n const groupedSelfEvaluations = _.groupBy(selfEvaluations, 'evaluationPeriod.period');\n\n Object.keys(groupedSelfEvaluations).forEach((property) => {\n const section: ISelfEvaluationSection = { year: +property, selfEvaluations: [] };\n\n const tempSelfEvaluations = groupedSelfEvaluations[property];\n\n if (tempSelfEvaluations) {\n section.selfEvaluations = tempSelfEvaluations;\n }\n\n const sectionEvaluationPeriod = section.selfEvaluations[0]?.evaluationPeriod;\n\n const summaryForSection = summaries.find(\n (summary) => summary.evaluationPeriodId === sectionEvaluationPeriod.id\n );\n\n if (sectionEvaluationPeriod && summaryTemplate) {\n section.summaryTemplate = {\n templateId: summaryTemplate.id,\n evaluationPeriod: sectionEvaluationPeriod,\n name: SUMMARY_TEMPLATE_NAME,\n templateDocument: summaryTemplate.document,\n summaryDocument: summaryForSection?.document ?? undefined,\n summaryId: summaryForSection?.id\n };\n }\n\n result.push(section);\n });\n\n return result;\n };\n\n const generateSelfEvaluationReport = async (\n institutionId: number,\n selfEvaluationId: number,\n generateReport: any\n ) => {\n try {\n setLoading(true);\n\n const data = await agent.Report.listFieldsData(institutionId, selfEvaluationId);\n\n const selfEvaluation = selfEvaluations.filter((item) => item.id === selfEvaluationId)[0];\n\n if (institution && selfEvaluation) generateReport(data, selfEvaluation, institution, fields);\n\n setLoading(false);\n } catch (error) {\n const err: IError = error?.data ?? error;\n\n message.error({ content: err?.message ?? error, duration: 4 });\n\n setLoading(false);\n }\n };\n\n if (loading) return ;\n\n const renderSummaryTemplate = (item: ISummaryTemplateDisplay) => {\n return (\n \n \n \n

{item.name}

\n \n \n {\n const { templateDocument } = item;\n\n if (templateDocument) Utils.downloadDocument(templateDocument?.id);\n }}\n />\n {item.summaryDocument && (\n \n {\n const { summaryDocument } = item;\n\n if (summaryDocument) Utils.downloadDocument(summaryDocument?.id);\n }}\n />\n \n )}\n {userRole === UserRole.InstitutionAdmin &&\n Utils.isDateInRange(\n moment(item.evaluationPeriod.startDate),\n moment(item.evaluationPeriod.endDate)\n ) && (\n {\n if (institution) {\n setCurrentSummary({\n institutionId: institution?.id,\n templateId: item.templateId,\n evaluationPeriodId: item.evaluationPeriod.id,\n summaryId: item.summaryId,\n summaryDocument: item.summaryDocument\n });\n }\n }}\n />\n )}\n \n
\n
\n );\n };\n\n const renderSelfEvaluation = (item: IInstitutionSelfEvaluation, index: number) => {\n return (\n \n \n \n {`${index + 1}.${item.field.name} (${\n item.percentage ? Math.floor(+item.percentage) : 0\n } %)`}\n \n \n {\n if (institution)\n generateSelfEvaluationReport(institution?.id, item.id, selfEvaluationReportPDF);\n }}\n />\n {\n if (institution)\n generateSelfEvaluationReport(institution?.id, item.id, selfEvaluationReportExcel);\n }}\n />\n \n \n ) : (\n \n )\n }\n size=\"small\"\n >\n {userRole === UserRole.InstitutionAdmin &&\n Utils.isDateInRange(\n moment(item.evaluationPeriod.startDate),\n moment(item.evaluationPeriod.endDate)\n )\n ? t('general.edit')\n : t('general.view')}\n \n \n \n \n \n );\n };\n\n const renderListItem = (item: ISectionListItem, index: number) => {\n if (isSelfEvaluation(item)) {\n return renderSelfEvaluation(item, index);\n }\n return renderSummaryTemplate(item);\n };\n\n return (\n <>\n \n \n

{t('sidemenu.selfevaluation')}

\n \n }\n >\n {/* {institution?.institutionType.name === InstitutionTypeName.SHKOLLE\n ? t('general.academic_year')\n : t('general.calendar_year')} */}\n {t('general.select_field')}\n \n \n
\n
\n\n {\n setCurrentSummary(undefined);\n }}\n />\n\n {errors && }\n\n {sections().map((section, index) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n );\n};\n\nexport default SelfEvaluationList;\n","import React from 'react';\nimport SelfEvaluationList from '../../../components/institutions/self-evaluation/SelfEvaluationList';\n\nconst SelfEvaluation = () => {\n return ;\n};\n\nexport default SelfEvaluation;\n","import React from 'react';\nimport { Card, Col, Row } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport {\n MailOutlined,\n PhoneOutlined,\n UserOutlined,\n HomeOutlined,\n ForkOutlined,\n ApartmentOutlined,\n BankOutlined\n} from '@ant-design/icons';\nimport Icon from '../../layout/Icon';\nimport { RootState } from '../../../redux/reducers';\nimport { UserRole } from '../../../constants/theme';\n\ninterface IUserDataProps {\n iconType: any;\n dataKey: string;\n dataValue?: string | null;\n}\n\nconst UserDataInfo: React.FC = ({ iconType, dataKey, dataValue = '' }) => {\n return (\n \n \n \n {`${dataKey}:`}\n \n \n {dataValue}\n \n \n );\n};\n\nconst HomeInfo: React.FC = () => {\n const { t } = useTranslation();\n const institution = useSelector((state: RootState) => state.myInstitution.institution);\n const institutionMembers = useSelector((state: RootState) => state.myInstitution.users);\n\n const director = institutionMembers.filter(\n (member) => member.role.name === UserRole.InstitutionDirector\n )[0];\n\n return (\n \n \n \n \n\n \n\n {/* */}\n\n \n\n \n\n \n\n \n\n \n \n \n \n \n

\n Sigurimi i cilësisë së shërbimit arsimor mbetet një përparësi e institucioneve ofruese\n të arsimit dhe formimit profesional (IoAFP-të). Përvojat e suksesshme bashkëkohore,\n dëshmojnë se përmbushja e këtij qëllimi realizohet atëherë kur IoAFP-të zhvillojnë\n vetëvlerësimin e tyre, i cili konsiderohet i suksesshëm kur përputhet plotësisht me të\n dhënat e vlerësimit të jashtëm, që gjithnjë kryhet nga institucione të specializuara dhe\n të akredituara shtetërore ose joshtetërore. Në këtë kontekst, zhvillimi i proceseve të\n vetëvlerësimit nga IoAFP-të e bën më cilësor shërbimin që ato ofrojnë. Ndaj, procesi i\n vetëvlerësimit/vlerësimit të brendshëm të IoAFP-ve kërkon përdorimin e një metodologjie\n shkencore, të zbatueshme, të besueshme dhe bashkëkohore, e cila siguron të dhëna reale\n dhe mundësi për të pasqyruar pikat e forta, pikat e dobëta, mundësitë që IoAFP-ja ka për\n të ofruar kualifikime profesionale cilësore, por veçanarisht, nevojat për përmirësimin e\n saj në të ardhmen. Përhapja e kulturës së vetëvlerësimit është një rrugë profesionale\n dhe sfiduese që kërkon njohje dhe zotërim të standardeve profesionale dhe etike të\n vlerësimit, angazhim dhe përgjegjësi të të gjithë personave të përfshirë në vlerësim, të\n mësuesve/instruktorëve, të nxënësve/kursantëve, të ekipeve të vlerësimit, por dhe të\n autoriteteve drejtues dhe organizmave të IoAFP-së.\n

\n
\n \n
\n );\n};\n\nexport default HomeInfo;\n","import React from 'react';\nimport { Form, Modal, Select } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\n// import moment from 'moment';\nimport { RootState } from '../../../redux/reducers';\nimport {\n closeInstitutionSelfEvaluationForm,\n updateMyInstitutionSelfEvaluation\n} from '../../../redux/actions/myInstitution';\nimport Alert from '../../layout/shared/Alert';\nimport { IEvaluationPeriod } from '../../../api/models/evaluationPeriod';\n\n// import { getEvaluationPeriodBasedOnInstitutionType } from '../../../api/models/evaluationPeriod';\n// import utils from '../../../utils';\n\nexport interface IProps {\n visible: boolean;\n}\n\nconst getIdOfLatestEvaluationPeriod = (\n evaluationPeriods: IEvaluationPeriod[]\n): number | undefined => {\n const sortedByEndDate = evaluationPeriods.sort(\n (first, second) => new Date(first.endDate).valueOf() - new Date(second.endDate).valueOf()\n );\n\n return sortedByEndDate[sortedByEndDate.length - 1]?.id;\n};\n\nconst SelfEvaluationPeriodForm: React.FC = ({ visible }) => {\n const { t } = useTranslation();\n const [form] = Form.useForm();\n const dispatch = useDispatch();\n const { Option } = Select;\n\n const fields = useSelector((state: RootState) => state.field.fields);\n const institution = useSelector((state: RootState) => state.myInstitution.institution);\n const evaluationPeriods = useSelector(\n (state: RootState) => state.evaluationPeriod.evaluationPeriods\n );\n const addingMyInstitutionSelfEvaluationPeriod = useSelector(\n (state: RootState) => state.myInstitution.addingMyInstitutionSelfEvaluation\n );\n const errors = useSelector((state: RootState) => state.myInstitution.errors);\n\n return (\n {\n form.resetFields();\n }}\n title={t('general.add_field')}\n okText={t('general.add')}\n cancelText={t('general.cancel')}\n onCancel={() => {\n dispatch(closeInstitutionSelfEvaluationForm());\n form.resetFields();\n }}\n onOk={async () => {\n try {\n const { fieldId } = await form.validateFields();\n\n const evaluationPeriodId = getIdOfLatestEvaluationPeriod(evaluationPeriods);\n\n if (institution && evaluationPeriodId)\n dispatch(\n updateMyInstitutionSelfEvaluation(\n institution.id,\n { fieldId, evaluationPeriodId },\n t('feedback_message.institution_self_evaluation_period_successfully_added')\n )\n );\n } catch (error) {\n // NO-OP\n }\n }}\n >\n
\n \n \n \n {/* {institution && (\n \n \n \n )} */}\n {errors && }\n \n \n );\n};\n\nexport default SelfEvaluationPeriodForm;\n","import React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Button, Card, Col, Input, Popconfirm, Row, Tooltip } from 'antd';\nimport {\n DeleteOutlined,\n PlusCircleOutlined,\n SearchOutlined,\n FileTextOutlined,\n ArrowLeftOutlined\n} from '@ant-design/icons';\nimport { useTranslation } from 'react-i18next';\nimport moment from 'moment';\nimport { useHistory } from 'react-router-dom';\nimport { RootState } from '../../../redux/reducers';\nimport utils from '../../../utils';\nimport Flex from '../../layout/shared/Flex';\nimport SearchTable from '../../layout/SearchTable';\nimport AppBreadCrumb from '../../layout/AppBreadCrumb';\nimport SelfEvaluationPeriodForm from './SelfEvaluationPeriodForm';\nimport { IInstitutionSelfEvaluationDisplay } from '../../../api/models/selfEvaluation';\nimport {\n deleteMyInstitutionSelfEvaluation,\n showInstitutionSelfEvaluationForm\n} from '../../../redux/actions/myInstitution';\nimport Spinner from '../../layout/shared/Spinner';\nimport { getEvaluationPeriodBasedOnInstitutionType } from '../../../api/models/evaluationPeriod';\nimport { InstitutionTypeName, UserRole } from '../../../constants/theme';\n\nconst SelfEvaluationPeriodList = () => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const history = useHistory();\n\n const userRole = useSelector((state: RootState) => state.auth.role);\n const selfEvaluations = useSelector((state: RootState) => state.myInstitution.selfEvaluation);\n const institution = useSelector((state: RootState) => state.myInstitution.institution);\n const modalVisibility = useSelector(\n (state: RootState) => state.myInstitution.showMyInstitutionSelfEvaluationForm\n );\n const deletingSelfEvaluation = useSelector(\n (state: RootState) => state.myInstitution.deletingMyInstitutionSelfEvaluation\n );\n\n const institutionSelfEvaluationDisplay: IInstitutionSelfEvaluationDisplay[] = selfEvaluations.map(\n (selfEvaluation) => {\n return {\n id: selfEvaluation.id,\n fieldDescription: selfEvaluation.field.name,\n evaluationPeriodDescription: getEvaluationPeriodBasedOnInstitutionType(\n selfEvaluation.evaluationPeriod.period,\n institution?.institutionType.name ?? ''\n ).toString(),\n evaluationPeriodStartDate: moment(selfEvaluation.evaluationPeriod.startDate).format('LL'),\n evaluationPeriodEndDate: moment(selfEvaluation.evaluationPeriod.endDate).format('LL'),\n documentId: selfEvaluation.evaluationPeriod.documentId,\n hasResponses: selfEvaluation.hasResponses\n };\n }\n );\n\n const tableColumns = [\n {\n title: t('general.field'),\n dataIndex: 'fieldDescription',\n width: '25%',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'fieldDescription')\n },\n {\n title: t('general.evaluation_period'),\n dataIndex: 'evaluationPeriodDescription',\n width: '25%',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'evaluationPeriodDescription')\n },\n {\n title: t('general.calendar'),\n dataIndex: 'documentLink',\n align: 'center',\n render: (_: any, row: IInstitutionSelfEvaluationDisplay) => {\n if (row.documentId) {\n return (\n {\n const { documentId } = row;\n\n if (documentId) utils.downloadDocument(documentId);\n }}\n />\n );\n }\n\n return null;\n }\n },\n {\n title: t('general.start_date'),\n dataIndex: 'evaluationPeriodStartDate',\n width: '25%',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'evaluationPeriodDescription')\n },\n {\n title: t('general.end_date'),\n dataIndex: 'evaluationPeriodEndDate',\n width: '25%',\n sorter: (a: string, b: string) => utils.antdTableSorter(a, b, 'evaluationPeriodDescription')\n },\n {\n title: '',\n dataIndex: 'actions',\n width: '25%',\n render: (_: any, row: IInstitutionSelfEvaluationDisplay) => {\n // Only admin can delete & only self evaluation without data can be deleted\n if (userRole !== UserRole.InstitutionAdmin || row.hasResponses) return null;\n\n return (\n \n \n {\n if (institution)\n dispatch(\n deleteMyInstitutionSelfEvaluation(\n institution?.id,\n row.id,\n t(\n 'feedback_message.institution_self_evaluation_period_successfully_deleted'\n )\n )\n );\n }}\n >\n \n )}\n \n \n\n \n \n \n\n \n\n \n }\n onClick={() => history.goBack()}\n >\n {t('general.go_back')}\n \n \n \n );\n};\n\nexport default SelfEvaluationPeriodList;\n","import React from 'react';\nimport SelfEvaluationPeriodList from '../../../../components/institutions/self-evaluation/SelfEvaluationPeriodList';\n\nconst AddSelfEvaluation = () => {\n return ;\n};\n\nexport default AddSelfEvaluation;\n","import React from 'react';\nimport { Button, Card, List } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { Link, useRouteMatch } from 'react-router-dom';\nimport { EditOutlined, EyeOutlined } from '@ant-design/icons';\nimport { useSelector } from 'react-redux';\nimport moment from 'moment';\nimport { RootState } from '../../../../../redux/reducers';\nimport { IInstitutionSelfEvaluation } from '../../../../../api/models/selfEvaluation';\nimport Utils from '../../../../../utils';\nimport { ISubField } from '../../../../../api/models/field';\nimport { UserRole } from '../../../../../constants/theme';\n\ninterface IProps {\n selfEvaluation: IInstitutionSelfEvaluation;\n}\n\nconst SubFieldsList: React.FC = ({ selfEvaluation }) => {\n const { t } = useTranslation();\n const match = useRouteMatch();\n const userRole = useSelector((state: RootState) => state.auth.role);\n const { subFields } = useSelector((state: RootState) => state.field.fields).filter(\n (field) => field.id === selfEvaluation.field.id\n )[0];\n\n const subfieldsPercentageCompleted = useSelector(\n (state: RootState) => state.graphs.subFieldsPercentageCompleted\n ).filter((item) => item.selfEvaluationId === selfEvaluation.id)[0];\n\n const renderSubFieldTitle = (index: number, subField: ISubField) => {\n let percentage = 0;\n\n if (subfieldsPercentageCompleted) {\n const filteredPercentage = subfieldsPercentageCompleted.percentageResponse.filter(\n (item) => item.subFieldId === subField.id\n );\n\n if (filteredPercentage.length > 0)\n percentage = Math.floor(+filteredPercentage[0]?.percentage);\n }\n\n return ;\n };\n\n const canEdit =\n userRole === UserRole.InstitutionAdmin &&\n Utils.isDateInRange(\n moment(selfEvaluation.evaluationPeriod.startDate),\n moment(selfEvaluation.evaluationPeriod.endDate)\n );\n\n return (\n \n (\n \n : }\n size=\"small\"\n >\n {canEdit ? t('general.evaluate') : t('general.view')}\n \n \n ]}\n >\n {renderSubFieldTitle(index, subField)}\n \n )}\n />\n \n );\n};\n\nexport default SubFieldsList;\n","import React from 'react';\nimport { Row, Col, Card, Button } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { RouteComponentProps, useHistory } from 'react-router-dom';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { getEvaluationPeriodBasedOnInstitutionType } from '../../../../api/models/evaluationPeriod';\nimport { RootState } from '../../../../redux/reducers';\nimport NotFound from '../../../../views/404';\nimport AppBreadCrumb from '../../../layout/AppBreadCrumb';\n// import EvidenceList from './evidence/EvidenceList';\nimport SubFieldsList from './subfields/SubFieldsList';\n\ninterface MatchParams {\n selfEvaluationId: string;\n}\n\ninterface IProps extends RouteComponentProps {}\n\nconst FieldsOverview: React.FC = ({ match }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const institution = useSelector((state: RootState) => state.myInstitution.institution);\n const selfEvaluations = useSelector((state: RootState) => state.myInstitution.selfEvaluation);\n\n const selfEvaluation = selfEvaluations.filter(\n (item) => item.id === +match.params.selfEvaluationId\n )[0];\n\n const setTitle = () => {\n return `${selfEvaluation && selfEvaluation.field.name} (${\n selfEvaluation &&\n institution &&\n getEvaluationPeriodBasedOnInstitutionType(\n selfEvaluation.evaluationPeriod.period,\n institution.institutionType.name\n )\n })`;\n };\n\n if (!selfEvaluation) return ;\n\n return (\n <>\n \n \n \n \n {selfEvaluation && (\n \n {selfEvaluation.field.description.replace(/\\\\n/g, '\\n').replace(/\\\\u/g, '-')}\n \n )}\n \n \n {selfEvaluation && (\n <>\n \n \n \n {/* \n \n */}\n \n )}\n \n \n \n }\n onClick={() => history.goBack()}\n >\n {t('general.go_back')}\n \n \n \n \n );\n};\nexport default FieldsOverview;\n","import { IError } from '../../api/models/error';\nimport { IField, ISubFieldComplete } from '../../api/models/field';\n\nexport const FETCH_FIELDS = 'FETCH_FIELDS';\nexport const FETCH_FIELDS_SUCCESS = 'FETCH_FIELDS_SUCCESS';\nexport const FETCH_FIELDS_FAIL = 'FETCH_FIELDS_FAIL';\nexport const FETCH_SUBFIELDS = 'FETCH_SUBFIELDS';\nexport const FETCH_SUBFIELDS_SUCCESS = 'FETCH_SUBFIELDS_SUCCESS';\nexport const FETCH_SUBFIELDS_FAIL = 'FETCH_SUBFIELDS_FAIL';\n\nexport interface IFieldsState {\n fields: IField[];\n subFields: ISubFieldComplete[];\n fetchingFields: boolean;\n fetchingSubFields: boolean;\n errors: IError | null;\n}\n\n/** ************************** Fetch fields *************************** */\ninterface IFetchFields {\n type: typeof FETCH_FIELDS;\n}\n\ninterface IFetchFieldsSuccess {\n type: typeof FETCH_FIELDS_SUCCESS;\n payload: {\n fields: IField[];\n };\n}\n\ninterface IFetchFieldsFail {\n type: typeof FETCH_FIELDS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\n/** ************************** Fetch field subfields *************************** */\ninterface IFetchFieldSubfields {\n type: typeof FETCH_SUBFIELDS;\n}\n\ninterface IFetchFieldSubfieldsSuccess {\n type: typeof FETCH_SUBFIELDS_SUCCESS;\n payload: {\n subFields: ISubFieldComplete[];\n };\n}\n\ninterface IFetchFieldSubfieldsFail {\n type: typeof FETCH_SUBFIELDS_FAIL;\n payload: {\n errors: IError;\n };\n}\n\nexport type FieldActionTypes =\n | IFetchFields\n | IFetchFieldsSuccess\n | IFetchFieldsFail\n | IFetchFieldSubfields\n | IFetchFieldSubfieldsSuccess\n | IFetchFieldSubfieldsFail;\n","import React, { useEffect } from 'react';\nimport { Card, Col, Divider, Form, Input, Radio, Row, Tabs } from 'antd';\nimport Title from 'antd/lib/typography/Title';\nimport moment from 'moment';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport {\n ICriteria,\n ISelfEvaluationResponse,\n ISubFieldComplete\n} from '../../../../../../api/models/field';\nimport { IIndicator } from '../../../../../../api/models/indicator';\nimport { IInstitutionSelfEvaluation } from '../../../../../../api/models/selfEvaluation';\nimport { RootState } from '../../../../../../redux/reducers';\nimport Utils from '../../../../../../utils';\nimport { UserRole } from '../../../../../../constants/theme';\n\ninterface IProps {\n subField: ISubFieldComplete;\n responses: ISelfEvaluationResponse[];\n selfEvaluation: IInstitutionSelfEvaluation;\n currentTab: number;\n setCurrentTab: (value: number) => void;\n progress: (value: number) => void;\n}\n\nconst Indicators: React.FC = ({\n subField,\n responses,\n selfEvaluation,\n progress,\n currentTab,\n setCurrentTab\n}) => {\n const { t } = useTranslation();\n const { TabPane } = Tabs;\n const { TextArea } = Input;\n\n const userRole = useSelector((state: RootState) => state.auth.role);\n\n const { indicators } = subField;\n\n useEffect(() => {\n progress(\n responses.length === 0\n ? 0\n : Math.floor(\n (responses.filter((response) => response.rating !== null).length / responses.length) *\n 100\n )\n );\n }, [progress, subField, responses]);\n\n const getReadOnlyRating = (rating?: number | null): string => {\n switch (rating) {\n case 0:\n return t('general.no_evaluation');\n case 1:\n return t('general.very_good');\n case 2:\n return t('general.good');\n case 3:\n return t('general.enough');\n case 4:\n return t('general.poorly');\n default:\n return '';\n }\n };\n\n const formItems = (indicator: IIndicator, criteria: ICriteria) => {\n return (\n <>\n \n \n \n {t('general.very_good')}\n {t('general.good')}\n {t('general.enough')}\n {t('general.poorly')}\n {t('general.no_evaluation')}\n \n \n \n \n {t('general.comment_evidence')}\n \n \n ({\n // validator(_, value) {\n // if (value && getFieldValue(`rating_${indicator.id}_${criteria.id}`) === null) {\n // return Promise.reject(t('validation_messages.select_value'));\n // }\n // return Promise.resolve();\n // }\n // })\n // ]}\n >\n