{"version":3,"sources":["utils/saga.js","state/user/actions.js","state/national-committees/actions.js","services/auth/openIdClient.js","api/api.js","api/utils.js","utils/constants.js","state/notifications/actions.js","components/common/form/message-box/MessageBox.js","state/user/normalizers.js","state/user/reducer.js","state/national-committees/normalizer.js","state/national-committees/reducer.js","state/members/actions.js","state/members/normalizer.js","state/members/reducer.js","state/settings/actions.js","state/settings/reducer.js","state/document/actions.js","utils/browserDetection.js","utils/dynamicLink.js","state/document/normalizers.js","state/document/reducer.js","state/deadlines/actions.js","state/comments/actions.js","utils/references.js","state/deadlines/normalizer.js","state/meetings/normalizers.js","state/references/normalizers.js","state/deadlines/reducer.js","state/votes/actions.js","state/votes/normalizer.js","state/votes/reducer.js","state/meetings/actions.js","api/mappers/references.js","api/mappers/notification.js","api/resources/notifications.js","api/mappers/deadline.js","utils/toIsoDateTime.js","api/resources/deadlines.js","api/mappers/meeting.js","api/resources/meetings.js","api/mappers/comment.js","api/resources/comments.js","api/resources/members.js","api/resources/votes.js","api/mappers/document.js","api/resources/document.js","services/notifications/url.js","services/notifications/notificationsRepository.js","state/notifications/normalizers.js","state/notifications/reducer.js","state/meetings/reducer.js","state/app/actions.js","state/app/reducer.js","state/values/actions.js","state/values/normalizers.js","state/values/reducer.js","state/search/actions.js","state/search/reducer.js","state/search/normalizers.js","state/comments/normalizers.js","state/comments/reducer.js","state/committees/actions.js","state/committees/reducer.js","state/committees/normalizers.js","state/standards/actions.js","state/standards/reducer.js","state/standards/normalizer.js","state/documentSummary/normalizers.js","state/documentSummary/actions.js","state/documentSummary/reducer.js","state/diagnostics/normalizers.js","state/diagnostics/actions.js","utils/state.js","state/diagnostics/reducer.js","state/modal-stack/actions.js","state/modal-stack/reducer.js","state/header/actions.js","state/header/reducer.js","state/references/actions.js","state/references/reducer.js","state/notify-toaster-content/actions.js","state/notify-toaster-content/reducer.js","state/index.js","utils/transform.js","api/resources/user.js","api/errorCodes.js","state/national-committees/selectors.js","state/user/selectors.js","utils/history.js","api/resources/committees.js","sagas/nationalCommittees.js","api/resources/settings.js","sagas/settings.js","sagas/user.js","sagas/members.js","api/resources/values.js","sagas/committees.js","state/document/selectors.js","services/documents/url.js","components/common/modal-wrapper/contentTypes.js","state/notifications/selectors.js","utils/documentUtils.js","utils/validation/objectValidator.js","sagas/notifications.js","sagas/document.js","state/app/selectors.js","services/local-storage.js","services/analytics-tracking/analytics-tracking.js","utils/translations.js","state/documentSummary/selectors.js","components/common/action-box/ActionBox.js","components/common/toggler/Toggler.js","components/common/form/checkbox/Checkbox.js","components/common/with-privileges/WithPrivileges.js","components/common/readonly-guard/ReadonlyGuard.js","state/values/selectors.js","state/modal-stack/selectors.js","components/common/modal-wrapper/ModalWrapper.js","components/pages/deadlines/pages/deadline-list/DeadlineTable.js","components/pages/related-content/RelatedDeadlineContent.js","components/pages/notifications/pages/notifications-list/NotificationTable.js","components/pages/related-content/RelatedNotificationContent.js","state/meetings/selectors.js","components/pages/meetings/pages/meeting-tab/MeetingTable.js","components/pages/related-content/RelatedMeetingContent.js","components/pages/related-content/RelatedContent.js","components/common/document-list/FileDescription.js","components/common/document-list/Row.js","components/common/outside-click/OutsideClick.js","components/common/sort-box/SortBox.js","components/common/document-list/Header.js","services/documents/sort.js","components/common/optional-label/OptionalLabel.js","components/common/form/select/Select.js","components/common/select/SelectFilter.js","utils/form/select.js","services/documents/validation.js","components/pages/documents/components/modal-content/CreateDocument.js","components/pages/documents/components/modal-content/EditDocument.js","components/pages/documents/components/modal-content/DeleteModal.js","components/pages/documents/components/modal-content/CopyToCommittee.js","utils/diagnostics.js","components/common/diagnostics/DiagnosticsGuard.js","state/diagnostics/selectors.js","components/common/diagnostics/DocumentRowDiagnostics.js","components/common/document-list/List.js","components/common/loader/Loader.js","components/pages/documents-summary/DocumentsSummary.js","components/common/download-zip-button/DownloadZipButton.js","components/pages/documents-summary/DocumentSummaryModal.js","sagas/app.js","state/deadlines/selectors.js","services/deadlines/url.js","sagas/comments.js","state/members/selectors.js","sagas/votes.js","sagas/deadlines.js","api/mappers/values.js","sagas/values.js","services/meetings/url.js","sagas/meetings.js","state/search/selectors.js","api/resources/search.js","sagas/search.js","api/resources/standards.js","services/standards/url.js","sagas/standards.js","sagas/documentsSummary.js","sagas/diagnostics.js","Root.js","sagas/index.js","components/common/search-bar/SearchBar.js","components/common/layout/Navigation.js","utils/validation/phoneNumberValidator.js","utils/validation/linkedInProfileValidator.js","components/common/layout/PanelContainer.js","components/common/form/file-input/FileInput.js","components/common/avatar/Avatar.js","components/pages/user-account/tabs/profile/components/ProfileImage.js","utils/pageTitle.js","components/pages/user-account/tabs/profile/Profile.js","utils/validation/passwordLengthValidator.js","utils/validation/equalValidator.js","components/pages/user-account/tabs/credentials/Credentials.js","components/common/layout/Content.js","state/settings/selectors.js","components/pages/settings/EmailNotificationSettings.js","components/common/toggle-switch/ToggleSwitch.js","components/pages/settings/CommitteeSettingBlock.js","components/pages/settings/CommitteeSettings.js","components/pages/settings/Settings.js","components/pages/user-account/UserAccount.js","services/votes/userVote.js","components/common/infinite-scroll-wrapper/InfiniteScrollWrapper.js","components/common/slim-tabs/SlimTabs.js","services/votes/officialVoteCalculator.js","state/votes/selectors.js","components/common/card/Card.js","components/common/date-thumbnail/DateThumbnail.js","components/common/card/CardMenu.js","components/common/label/GrayboxLabel.js","components/common/card/CardHeader.js","utils/LinkifyDecorator.js","components/common/card/CardContent.js","components/common/card/CardAttachments.js","components/common/card/Attachments/VotesAttachment.js","components/pages/deadlines/components/deadline-card/DeadlineCard.js","components/pages/aggregated/AggDeadlines.js","components/pages/about/components/add-modal/AddModal.js","components/pages/about/components/table/table-row/TableRow.js","components/pages/about/components/table/Table.js","components/pages/about/components/about-confirmation-modal/AboutConfirmationModal.js","api/resources/about.js","components/pages/about/About.js","components/AggHome.js","components/common/card/CardMark.js","components/common/sidebar-filter/FilterOption.js","components/common/sidebar-filter/SidebarFilter.js","components/common/only-member/OnlyMember.js","components/pages/notifications/components/sidebar/Sidebar.js","utils/timeago.js","components/pages/notifications/components/delete-modal/NotificationDeleteModal.js","components/common/confirmation-modal/ConfirmationModal.js","components/pages/notifications/components/notification-card-menu/NotificationCardMenu.js","components/pages/notifications/components/notification-bar/NotificationBar.js","components/pages/notifications/components/notification-card-header/NotificationCardHeader.js","components/pages/notifications/components/deadline-notification/DeadlineNotification.js","utils/validation/urlValidator.js","utils/urlParser.js","components/pages/meetings/components/card-content/CardContent.js","components/pages/notifications/components/meeting-notification/MeetingNotification.js","components/pages/notifications/components/member-notification/MemberNotification.js","components/pages/notifications/components/user-notification/UserNotification.js","components/pages/notifications/components/comment-notification/CommentNotification.js","components/pages/notifications/components/vote-notification/VoteNotification.js","components/pages/notifications/components/document-notification/DocumentSummaryCardAttachments.js","components/pages/notifications/components/document-notification/DocumentSummationNotification.js","components/pages/notifications/components/document-notification/LegacyDocumentNotificationCard.js","components/pages/notifications/components/document-notification/LegacyDocumentNotification.js","components/pages/notifications/components/common/DeadlineSummaryNotification.js","components/pages/notifications/components/vote-notification/VoteSummationNotification.js","components/pages/notifications/components/comment-notification/CommentSummaryNotification.js","components/pages/notifications/pages/notifications-list/selectors.js","components/common/diagnostics/NotificationDiagnostics.js","components/pages/notifications/pages/notifications-list/NotificationsList.js","components/pages/404/PageNotFound.js","components/pages/notifications/Notifications.js","components/pages/deadlines/components/sidebar/Sidebar.js","components/pages/deadlines/components/delete-modal/DeadlineDeleteModal.js","components/pages/deadlines/pages/deadline-list/DeadlineList.js","components/pages/deadlines/pages/deadline-list/DeadlineTab.js","components/pages/deadlines/Deadlines.js","components/pages/meetings/components/sidebar/Sidebar.js","components/pages/meetings/components/meeting-card/MeetingCard.js","components/pages/meetings/components/delete-modal/MeetingDeleteModal.js","components/pages/meetings/pages/meeting-tab/MeetingList.js","components/pages/meetings/pages/meeting-tab/MeetingTab.js","components/pages/meetings/Meetings.js","components/common/filters/Filters.js","components/pages/documents/components/filters/DocumentFilters.js","components/pages/documents/components/upload-buttons/UploadButtons.js","components/pages/documents/components/action-buttons/ActionButtons.js","components/pages/documents/components/documents-drop/DocumentsDrop.js","components/pages/documents/components/committee-documents/CommitteeDocuments.js","utils/validation/documentLinkValidator.js","components/common/document-links/DocumentsLinks.js","components/pages/documents/Documents.js","components/common/list/List.js","components/common/list/BreadcrumbList.js","components/pages/committees/Committees.js","components/pages/members/components/member/DeactivationConfirmationModal.js","components/pages/members/components/member/Member.js","components/pages/members/Members.js","components/pages/published-standards/ExternalPublishedStandards.js","components/Home.js","components/common/side-menu/SideMenu.js","components/common/top-bar/TopBar.js","components/common/logo/Logo.js","components/common/consultant-menu/ConsultantMenu.js","components/common/user-tips-dialog/DeadlineFromDocumentHint.js","components/common/user-tips-dialog/DeadlinesListHint.js","components/common/user-tips-dialog/UserHintDialog.js","components/common/side-menu/selectors.js","state/committees/selectors.js","utils/scroll.js","components/common/side-menu/CommitteeList.js","components/common/search-committee-component/SearchCommitteeComponent.js","components/common/global-dialogs/GlobalDialogs.js","components/common/search-box/Search.js","components/common/Language-dropdown/LanguageDropdown.js","components/common/language-switcher/LanguageSwitcher.js","components/common/toolbar-link/ToolbarTool.js","components/common/side-menu/LayoutPanelLeftFooter.js","components/common/stepper/Item.js","components/common/stepper/Stepper.js","components/common/voter/vote-model.js","components/common/form/radio/Radio.js","components/pages/deadlines/components/modal-content/RelatedVotes.js","components/common/voter/VotingBar.js","components/pages/deadlines/components/modal-content/CommentReminder.js","components/common/voter/Voter.js","components/common/layout/VerticalSpacer.js","components/pages/deadlines/components/modal-content/OverrideOfficialVote.js","components/common/official-vote/OfficialVote.js","components/pages/notifications/components/reference/ReferenceDocumentsRow.js","components/pages/notifications/components/reference/ReferenceMeetingRow.js","components/pages/notifications/components/reference/ReferenceDeadlineRow.js","components/pages/notifications/components/reference/ReferenceComponent.js","components/pages/deadlines/components/deadline-details/DeadlineDetailsTab.js","state/comments/selectors.js","components/pages/deadlines/components/comment-list/Row.js","services/comments/url.js","components/pages/deadlines/components/comment-list/Header.js","components/pages/deadlines/components/comment-list/List.js","services/comments/sort.js","components/common/tooltip/Tooltip.js","components/pages/deadlines/components/deadline-details/DeadlineCommentsTab.js","utils/calendarEvent.js","components/pages/deadlines/pages/deadline-details/DeadlineDetails.js","components/common/editor/Editor.js","components/pages/deadlines/components/comment-form/CommentForm.js","components/pages/deadlines/pages/create-comment/CreateComment.js","components/pages/deadlines/components/deadline-details/DeadlineGeneralInfoEditor.js","components/common/documents-tab/DocumentSelector.js","components/pages/notifications/components/reference/ReferenceDocumentsList.js","components/pages/notifications/components/reference/ReferenceMeetingList.js","components/pages/notifications/components/reference/ReferenceDeadlineList.js","state/references/selectors.js","components/pages/notifications/components/reference/ReferencePage.js","components/pages/deadlines/pages/deadline-form/DeadlineForm.js","components/pages/deadlines/pages/edit-deadline/EditDeadline.js","components/pages/meetings/components/meeting-detail/MeetingDetailsTab.js","components/common/members-list/MembersList.js","components/pages/meetings/components/participation-bar/ParticipantsList.js","components/pages/meetings/components/participation-bar/ParticipationBar.js","components/pages/meetings/pages/meeting-details/MeetingDetails.js","components/common/documents-tab/DocumentsTab.js","components/pages/meetings/components/meeting-detail/MeetingFormDocumentsEditor.js","components/pages/meetings/components/meeting-detail/MeetingGeneralInfoEditor.js","components/pages/meetings/pages/meeting-form/MeetingForm.js","components/pages/meetings/pages/edit-meeting/EditMeeting.js","components/pages/meetings/pages/create-meeting/CreateMeeting.js","components/pages/deadlines/pages/create-deadline/CreateDeadline.js","components/pages/deadlines/pages/edit-comment/EditComment.js","components/pages/notifications/components/notification-detail/NotificationGeneralInfoTab.js","components/pages/notifications/components/poll/PollRow.js","components/pages/notifications/components/poll/PollPage.js","components/pages/notifications/pages/notification-form/NotificationForm.js","components/pages/notifications/pages/create-notification/CreateNotification.js","components/pages/notifications/pages/edit-notification/EditNotification.js","components/pages/notifications/components/notification-detail/NotificationDetailsTab.js","components/pages/notifications/components/poll/ChangeOfficalPollModal.js","components/pages/notifications/components/poll/PollVoterList.js","components/pages/notifications/components/poll/PollComponent.js","components/pages/notifications/pages/notification-details/NotificationDetails.js","components/common/slide-modal-router/SlideModalRouter.js","state/header/selectors.js","components/common/layout/Header.js","components/common/notify-modal/NotifyToaster.js","components/common/side-menu/UserAccountTopNavigation.js","App.js","components/common/auth/Auth.js","components/common/auth/SignIn.js","components/common/auth/SilentRefresh.js","components/common/cookiebot/CookieDeclaration.js","components/pages/gdpr/GdprScreen.js","services/hotjar-tracking/hotjar-tracking.js","index.js","applicationiIsightsTracking.js","assets/icons/expand_icon.svg"],"names":["sagaMiddleware","runSaga","saga","run","FETCH_USER_DETAILS_REQUESTED","FETCH_USER_DETAILS_SUCCEEDED","UPDATE_USER_PROFILE","UPDATE_USER_PHOTO","UPDATE_USER_CREDENTIALS","TURN_OFF_COMMITTEES","TURN_ON_COMMITTEES","TURN_OFF_COMMITTEE","TURN_ON_COMMITTEE","UPDATE_USER_EMAIL_SETTING_ALL_COMMITTEES","TURN_ON_OFF_COMMITTEE","SET_APP_LOCALE","FETCH_USER_DATA_REQUESTED","FETCH_RECENT_SEARCHES","UPDATE_RECENT_SEARCHES","CHECK_USER_PRIVILLEGES","ACCPET_GDPR","fetchUserDataRequest","createAction","getUserDetails","getUserDetailsSucceeded","getUserDetailsFailed","updateUserProfile","updateUserProfileSucceeded","updateUserProfileFailed","updateUserPhoto","updateUserPhotoSucceeded","updateUserPhotoFailed","fetchUserSettings","fetchUserSettingsSucceeded","fetchUserSettingsFailed","updateUserCredentials","updateUserCredentialsSucceeded","updateUserCredentialsFailed","resetUserApiResponse","turnOffCommittees","turnOnCommittees","turnOffCommitteeSucceeded","turnOnCommitteeSucceeded","updateTurnOffCommittees","updateUserEmailSettingAllCommitteesSucceeded","updateUserEmailSetting","turnOnOffCommittee","setAppLocale","fetchRecentSearches","fetchRecentSearchesSucceeded","fetchRecentSearchesFailed","updateRecentSearches","updateRecentSearchesSucceeded","updateRecentSearchesFailed","handleCheckUserPrivilleges","decreaseNumberOfUnseenNotifications","accpetGdpr","SET_SELECTED_NATIONAL_COMMITTEE","GET_ASSOCIATED_COMMITTEES_BY_COMMITTEE_ID","GET_ASSOCIATED_COMMITTEES","GET_COMMITTEES_LIST","SET_LAST_COMMITTEE_SUCCEEDED","getNationalCommittees","getNationalCommitteesSucceeded","getNationalCommitteesFailed","setSelectedNationalCommittee","getAssociatedCommitteesByCommitteeId","getAssociatedCommittees","getAssociatedCommitteesSucceeded","getAssociatedCommitteesFailed","saveLastCommitteeFailed","getCommitteesList","getCommitteesListSucceeded","getCommitteesListFailed","authEndpointConfig","authority","process","client_id","redirect_uri","scope","response_type","silent_redirect_uri","post_logout_redirect_uri","clockSkew","userManager","UserManager","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","addAuthorizationHeader","_ref","_asyncToGenerator","_callee","request","user","_context","headers","getUser","signoutRedirect","expired","signinSilent","t0","concat","access_token","_x","apply","arguments","unauthorizedRequestHandler","error","response","status","reject","createAxiosApiInstance","api","baseURL","Accept","Content-Type","Pragma","interceptors","use","axios","get","url","_len","props","Array","_key","post","_len2","_key2","put","_len3","_key3","delete","_len4","_key4","patch","_len5","_key5","createApi","apiUrl","ds","getProxyUrl","addQueryParams","params","reduce","query","paramValue","isArray","acc","val","getQueryParams","addPageQueryParam","page","pageLength","start","console","isRequestSuccessful","TIMEFRAME","PAST","FUTURE","ALL","sortBoxHidingDelay","roleType","member","consultant","chairman","professional","documentUploadType","file","link","notificationType","deadline","meeting","document","documentSummation","comment","vote","internalDocumentSummation","internalVoteSummation","internalCommentsSummation","notificationActionType","add","reminder","update","weekReminder","aggregate","notificationFilterTypes","label","defaultLocale","appLocaleMap","en-US","language","da-DK","eventSortType","deadlineSortType","comparisonOperator","voteType","abstain","yes","no","confirm","revise","withdraw","emptyVotes","voteLabelMap","_defineProperty","regularVotes","reviewVotes","reviewStageValue","otherCommitteeId","applicationUserHints","createDeadlineFromDocument","listDeadlines","dialogSizes","wide","big","fixedHeight","gdprVersion","SummaryFilesDownloadId","allNcsId","nonCommitteePages","initNotifications","fetchNotification","fetchNotificationSucceeded","fetchNotificationReferences","fetchNotificationReferencesSucceeded","fetchNotificationDocumentsSucceeded","fetchUpdatedNotificationDocument","fetchUpdatedNotificationDocumentSucceeded","fetchUpdatedNotificationDocumentFailed","removeReferenceFromNotification","removeReferenceFromNotificationSucceeded","updateNotification","updateNotificationSucceeded","updateNotificationFailed","deleteNotification","deleteNotificationSucceeded","deleteNotificationFailed","createNotification","createNotificationSucceeded","createNotificationFailed","createNotificationFromDocument","createNotificationFromMeeting","createNotificationFromDeadline","setSelectedNotificationDocuments","setSelectedNotificationDeadlines","setSelectedNotificationMeetings","addUploadedNotificationDocuments","addGeneralNotificationInformation","initNotificationFormWithGeneralInfo","initNotificationFormWithDocuments","clearNotificationForm","downloadNotificationDocuments","removeDocumentFromNotification","updateNotificationDocumentInfo","setFilterValue","resetNotificationsFilters","pullNextNotificationsPage","pullNotificationsPageSucceeded","pullNotificationsPageFailed","getNotificationDetailsSucceeded","getNotificationDetailsFailed","clearNotificationList","pinNotification","unpinNotification","pinNotificationSucceeded","unpinNotificationSucceeded","markNotificationsAsSeen","markNotificationsAsSeenSucceeded","markAllNotificationsAsSeen","markAllNotificationsAsSeenSucceeded","markAllNotificationsAsSeenFailed","sendInstantEmail","sendInstantEmailSucceeded","voteNotificationPoll","deleteVoteNotificationPoll","updatePoll","updatePollSucceeded","updatePollFailed","messageType","MessageBox","_Component","_classCallCheck","_inherits","_createClass","key","_this","formMessageBoxClass","classNames","form-message-box__errors","form-message-box__success","messages","React","createElement","className","map","message","indexOf","Component","withTranslation","normalizeTurnOffCommittees","data","state","_objectSpread","settings","selectedCommittee","turnedOffCommittees","normalizeTurnOffCommittee","_toConsumableArray","turnedOffCommittee","normalizeTurnOnCommittee","filter","committee","normalizeEmailSetting","id","emailSetting","actionHandlers","_actionHandlers","actions","payload","isFetching","isFetched","role","previous","current","memberSince","unseenNotifications","_ref2","updateInProgress","_ref3","apiResponse","_ref4","updatePhotoInProgress","_ref5","_ref6","_ref7","_ref8","_ref9","nationalCommittee","_ref10","_ref11","_ref12","_ref13","_ref14","combineActions","_ref15","recentSearches","history","element","_ref16","_ref17","handleActions","normalizeCommittees","committees","previousCommittees","newCommittees","normalizeAssociatedCommittees","parentCommittee","internationalCommittees","organizationUnits","unit","subCommittees","subCommittee","description","title","parent","workGroups","normalizeCommitteesList","toUpperCase","result","GET_COMMITTEE_MEMBERS","getCommitteeMembers","getCommitteeMembersSucceeded","getCommitteeMembersFailed","SET_MEMBER_ACTIVE_STATE","setMemberActiveState","setMemberActiveStateSucceeded","setMemberActiveStateFailed","setActiveState","userId","cur","m","isActive","userID","users","roleInCommittee","find","committeeId","email","phone","work","company","photo","profileImage","linkedIn","lastActivityDate","lastLoginDate","dslist","reverseTransformCommitteeName","isConsultant","some","isChairman","isProfessional","errorMessage","GET_EMAILS_FREQUENCY","getEmailsFrequency","getEmailsFrequencySucceeded","getEmailsFrequencyFailed","emailsFrequencies","SKIP_FILE_TO_UPLOAD","CANCEL_REMAINING_FILES_TO_UPLOAD","pullNextDocumentsPageRequest","pullDocumentsPageSucceeded","copyDocumentToDifferentCommittee","filterDocumentsSucceeded","filterDocumentsFailed","searchFilterDocumentsRequest","editDocumentRequest","editDocumentSucceeded","editDocumentFailed","initDocuments","reloadDocuments","editDocumentData","deleteDocumentRequest","deleteDocumentSucceeded","deleteDocumentFailed","uploadSelectedDocuments","uploadFile","skipFileToUpload","cancelRemainingFilesToUpload","downloadZipPackage","downloadZipPackageFinished","fetchRelatedResources","fetchRelatedResourcesFinished","resetFilters","resetFiltersForm","addFiltersToUrl","setDocumentsAreFiltered","setSortingType","setModalState","resetModalState","isIE","documentMode","PAGE_TYPES","DEADLINES","MEETING","NOTIFICATION","COMMENT","NOTIFICATIONS_DEADLINE","DIALOG_TYPES","CREATE_DEADLINE_COMMENT","EDIT_COMMENT","CREATE_DEADLINE","EDIT_DEADLINE","MEETING_DETAILS","DEADLINE_DETAILS","EDIT_MEETING","CREATE_MEETING","CREATE_NOTIFICATION","EDIT_NOTIFICATION","NOTIFICATION_DETAILS","SEARCH_COMMITTEE","generateDialogLinkForPage","pageType","dialogType","option","transformCommitteeName","generateDialogLink","generateCloseDialogLink","generateLink","linkPatterns","rule","pattern","getBinaryFileDownloadUri","references","committeeReference","metadata","exec","fileName","safeFileName","replace","documentID","documentTitle","trim","substring","split","endsWith","URL","searchParams","set","uri","organization","href","mergeDocuments","prevDocuments","results","prevDocumentsUrls","prevDocument","newDocuments","normalizeDocument","includes","normalizeDocuments","normalizeListOfDocuments","responses","makeOtherCommitteeIdIfEmpty","committeeID","filename","removeWrongCharacters","documentDescription","action","documentAction","documentType","dueDate","normalizeDate","documentDeadline","date","documentCreationDate","notificationUri","downloadUrl","buildDownloadLink","notifyOnUpdate","notifyInSummation","isLink","accessForbidden","documentSubType","now","Date","hasDocumentExpired","relatedContent","updateEditedDocument","documents","editedDocument","removeReferenceById","referencesPerType","newReferencesPerType","doc","updateRelatedResources","newState","k","documentUri","pagination","pagesLoaded","pagesToLoad","filters","documentsAreFiltered","sortingType","modal","content","isOpen","contentType","filesCurrentlyDownloaded","initDeadlines","fetchDeadline","fetchDeadlineSucceeded","fetchDeadlineFailed","fetchUpdatedDeadlineReferenceSucceeded","fetchCurrentDeadlineReferences","fetchCurrentDeadlineReferencesSucceeded","fetchCurrentDeadlineReferencesFailed","setDeadlineData","downloadDeadlineDocuments","removeReferenceFromDeadline","deleteDeadline","deleteDeadlineSucceeded","deleteDeadlineFailed","createDeadline","createDeadlineSucceeded","createDeadlineFailed","createDeadlineFromReference","setFormSelectedDeadlineReferences","setFormSelectedDeadlineReferencesMeetings","setFormSelectedDeadlineReferencesDocuments","addFormDeadlineReferences","addGeneralDeadlineInformation","addDeadlineReferences","setDeadlineReferences","updateDeadlineReferenceInfo","resetDeadlinesFilters","setDeadlinesFilterValue","pullDeadlinesPageRequest","pullDeadlinesPageSucceeded","pullDeadlinesPageFailed","fetchDeadlineReferences","fetchDeadlineReferencesSucceeded","fetchDeadlineReferencesFailed","clearDeadline","initDeadlineFormWithGeneralInfo","clearDeadlineForm","updateDeadline","updateDeadlineSucceeded","updateDeadlineFailed","initAggDeadlines","pullAggDeadlinesPage","updateIsRegistered","fetchComments","fetchCommentsSucceeded","fetchCommentsFailed","fetchComment","fetchCommentSucceeded","fetchCommentFailed","createComment","createCommentSucceeded","createCommentFailed","updateComment","updateCommentSucceeded","updateCommentFailed","deleteComment","deleteCommentSucceeded","deleteCommentFailed","exportCommentsToWord","attachFilesToCommentSucceeded","attachFilesToCommentFailed","getReferneceType","referenceListToReferenceDataPerType","newReferences","reference","tempReference","getReferenceRes","_reference$uri","realType","normalizeDeadlines","deadlinesData","commentsStats","deadlines","pageStart","normalizeDeadline","_ref2$commentsStats","actionDueDate","stage","enableCommenting","enableVoting","closedForComments","committeeName","reduceCommitteeName","committeeReferenceTitle","referencesRawResponsePerType","comments","numberOfComments","isRegistered","updateDeadlineOnList","newData","oldDeadline","newDeadline","addCommnetToActiveDeadlineOnList","deadlineId","count","normalizeMeetingsPage","meetings","normalizeMeeting","fromDate","toDate","eventDate","createdDate","locationLong","longLocation","locationShort","shortLocation","participants","isParticipationEnabled","normalizeMeetingGeneralInfo","updated","currentDate","output","isPastMeeting","past","updateMeetingOnList","newMeeting","normalizeObjectOfReferences","_responses$document$f","_responses$document","_responses$meeting$fi","_responses$meeting","_responses$deadline$f","_responses$deadline","documentEl","meetingEl","deadlineEl","initialForm","notifyImmediately","initialState","isProcessingRequest","isDeletingDeadline","isProcessingReferences","hasMoreToLoad","selectedUri","form","month","timeframe","pageLoaded","_state$data","newdata","_objectWithoutProperties","_toPropertyKey","_ref18","commentsActions","_ref19","deadlineUri","_ref20","GET_VOTES","CREATE_VOTE","UPDATE_VOTE","REMOVE_VOTE","initDeadlineVotes","initVotesSucceeded","getAllVotes","getAllVotesSucceeded","createVote","castNewVoteSucceeded","updateVote","updateVoteSucceeded","initVotesMemberNames","initVotesMemberNamesSucceeded","removeVote","removeVoteSucceeded","overrideOfficialVote","overrideOfficialVoteSucceeded","normalizeVotes","obj","item","normalizeVote","memberId","transformVote","memberVote","transformVotesToStatistics","statistics","_i","_Object$entries","entries","_Object$entries$_i","_slicedToArray","transformDeadlineVotesToStatistics","stats","ck","total","totalReview","removeDeadlineVotesFromStatistics","newStats","normalizeOverride","override","votes","overrides","officialVoteOverride","updateVoteInProgress","initMeetings","fetchUpdatedMeetingDocumentSucceeded","fetchMeeting","fetchMeetingSucceeded","fetchMeetingFailed","fetchCurrentMeetingDocuments","fetchCurrentMeetingDocumentsSucceeded","fetchCurrentMeetingDocumentsFailed","updateMeeting","updateMeetingSucceeded","updateMeetingFailed","deleteMeeting","deleteMeetingSucceeded","deleteMeetingFailed","createMeeting","createMeetingSucceeded","createMeetingFailed","createMeetingFromDocument","addFormSelectedMeetingDocuments","setFormSelectedMeetingDocuments","setFormSelectedMeetingReferencesDeadlines","addGeneralMeetingInformation","addMeetingDocuments","setMeetingDocuments","updateMeetingDocumentInfo","initMeetingFormWithGeneralInfo","initMeetingFormWithDocuments","clearMeetingForm","downloadMeetingDocuments","removeReferenceFromMeeting","resetMeetingsFilters","setMeetingsFilterValue","pullMeetingsPageRequest","pullMeetingsPageSucceeded","pullMeetingsPageFailed","clearMeeting","fetchMeetingReferences","fetchMeetingReferencesSucceeded","fetchMeetingReferencesFailed","addParticipant","addParticipantSucceeded","addParticipantFailed","updateParticipant","updateParticipantSucceeded","updateParticipantFailed","referencesPerTypeToReferences","_step","_iterator","_createForOfIteratorHelper","_reference$url","err","referencesPerTypeToPatchQuery","toEncodedUri","encodeURIComponent","_step2","_iterator2","mapToApiModel","notification","isBySystem","_notification$notifyM","poll","options","isMultiVote","getPollRequestModel","notify","notifyMembers","getInternalNotification","notificationId","getNotification","proxyUrl","mapNotificationToPatchQuery","docs","mapNotificationDocumentsToPatchQuery","JSON","stringify","notificationIds","markAllNotificationAsSeen","getBroadcastInformation","waitForNotificationId","seconds","undefined","sendInstantEmailWithNotificationIdUrl","sendInstantEmailWithCommitteeIdUrl","updatePollUrl","voteNotificationPollUrl","pollOptionId","deleteVoteNotificationPollUrl","pollVoteId","toIsoDateTime","getTime","getTimezoneOffset","toISOString","getDeadlinesUrl","getRelatedDeadlinesUrl","documentId","getAggDeadlinesUrl","committeeIds","queryModel","nationalCommittees","actionDueDates","sort","mapToAggDeadlinesQuery","getDeadlineUrl","updateDeadlineUrl","deadlineToUpdate","mapDeadlineToPatchQuery","mapDeadlineReferencesToPatchQuery","deleteDeadlineUrl","createDeadlineUrl","updateIsRegisteredUrl","getMeetingsUrl","getMeetingUrl","meetingUri","updateMeetingUrl","from","to","mapMeetingToPatchQuery","mapMeetingDocumentsToPatchQuery","deleteMeetingUrl","createMeetingUrl","addParticipantUrl","attending","updateParticipantUrl","participantId","mapCommentToQuery","deadlineCommitteeReference","subcommittee","line","clause","paragraph","author","proposedChange","proposal","udvalg","mapAttachments","attachments","mapCommentToPatchQuery","mapCommentElementsToPatchQuery","getComments","getComment","commentUri","getDeadlineCommentsStatistics","responseType","getMemberNotification","getDsMemberById","getVotes","voteUri","getVoteOverride","updateVoteOverride","mapToApiMetadataModel","handleOtherCommitteeId","committeeTitle","internationalCommitteeMembership","Number","parseInt","documentMimeType","mimeType","memberID","getDocumentsUrl","getDocumentUrl","getDocumentSafeUrl","getPromise","deleteDocumentUrl","documentUrl","encodeURI","updateDocumentUrl","mapDocumentToPatchQuery","setDocumentMetadataUrl","uploadDocumentUrl","downloadZipUrl","uris","getRelatedReferencesUrl","buildQueryParams","queryParams","pageSize","NotificationsRepository","pullNotifications","since","till","notificationsApi","pullUserNotificationsPage","onlyUnseen","pullNotificationDetails","callbackAction","contentId","document_uri","pullGenericNotificationDetails","meetingsApi","documentsApi","deadlinesApi","pullCommentNotificationDetails","pullUserNotificationDetails","pullMemberNotificationDetails","pullVoteNotificationDetails","pullInternalDocumentSummation","pullVoteOrCommentSummaryInternalNotificaion","errorResult","cachedRequest","requestFnc","pref","prefKey","cache","t1","makeSureIsSuccessful","t2","t3","_x2","_pullAllPages","_callee2","pullFnc","maxPages","_context2","_x3","_x4","_x5","failed","_pullGenericNotificationDetails","_callee3","apiFnc","_context3","_x6","_x7","_x8","_pullCommentNotificationDetails","_callee4","deadlineNotification","deadlineComments","_context4","commentsApi","_x9","_x10","_pullUserNotificationDetails","_callee5","_context5","userApi","_x11","_pullMemberNotificationDetails","_callee6","dsMember","_context6","membersApi","_x12","_x13","_pullVoteNotificationDetails","_callee7","_context7","_x14","_x15","_pullInternalDocumentSummation","_callee8","_context8","_x16","_pullVoteOrCommentSummaryInternalNotificaion","_callee9","_context9","votesApi","votesActions","_x17","_x18","_x19","normalizeBaseNotificationDetails","details","notificationDate","normalizeNotificationDetails","normalizeDeadlineNotificationDetails","normalizeMeetingNotificationDetails","normalizeMemberNotificationDetails","lastModifiedDate","normalizeUserNotificationDetails","normalizeCommentNotificationDetails","documentEventDate","normalizeDocumentNotificationDetails","normalizeDocumentSummationNotificationDetails","normalizeVoteNotificationDetails","documentsCount","aggDate","normalizeInternalDocumentSummation","normalizeInternalDeadlineSummation","normalizeNotification","event_type","pinned","seen","markedAsSeen","notification_date","isInstantSent","members","updateNotificationsOnDeadlineUpdate","updateNotificationOnDeadlineUpdate","addCommnetToDeadlineNotifications","updatedNotification","addCommnetToDeadlineNotification","removeCommnetToDeadlineNotifications","removeCommnetToDeadlineNotification","addVoteToDeadlineNotifications","addVoteToDeadlineNotification","removeVoteToDeadlineNotifications","removeVoteToDeadlineNotification","removeNotificationsRelatedToResource","updateNotificationsOnMeetingUpdate","updateNotificationOnMeetingUpdate","INSTANT_EMAIL_PARAM_TYPE","COMMITTEE_ID","NOTIFICATION_ID","isProcessed","markAllNotificationsAsSeenRequestProcessing","notificationRepository","notifications","fetched","failedFetch","_ref21","_ref22","_ref23","_ref24","_ref25","_ref26","deadlinesActions","_ref27","_ref28","_ref29","_ref30","_ref31","_ref32","meetingsActions","_ref33","_ref34","isProcessingMeetings","isProcessedMeetings","isProcessingDocuments","initializeApplication","applicationInitialized","changeNationalCommittee","applicationTriggerUserHint","applicationCloseUserHint","applicationSetUserHintState","applicationInvokeGlobalDialog","applicationPushGlobalDialog","applicationCloseGlobalDialog","applicationUpdateReadonlyMode","applicationSetReadonlyMode","isInitialized","userHint","globalDialogs","readonlyMode","messageToShow","FETCH_VALUES_FINISHED","fetchAllValues","fetchAllValuesFinished","fetchingDocumentFilterValuesSucceeded","fetchingDocumentFilterValuesFailed","fetchingDeadlineFilterValuesSucceeded","fetchingDeadlineFilterValuesFailed","fetchingMeetingFilterValuesSucceeded","fetchingMeetingFilterValuesFailed","getStageCodesSucceeded","getStageCodesFailed","getCommentTypesSucceeded","getCommentTypesFailed","clearMeetingsFilterValues","normalizeIndex","_ref$payload","types","avaiableTypes","actionsIndex","typesIndex","committeesIndex","_ref2$payload","months","_ref3$payload","stages","filterSearchRequest","filterSearchSucceeded","filterSearchFailed","fetchSearchFiltersRequest","fetchSearchFiltersSucceeded","selectSearchCommittee","selectSearchAction","selectSearchType","setSearchTitle","resetSearchFilters","addSearchFiltersToUrl","setSearchIsFiltered","initSearch","setCurrentPage","getSearchSuggestions","getSearchSuggestionsSucceeded","getSearchSuggestionsFailed","currentPage","Math","ceil","selected","suggestions","lastSearched","normalizeComments","reducedData","b","idx","normalizeComment","updateDate","referenceId","guid","authorId","getCommitteesSucceeded","actionsHandler","responsibleNames","GET_PUBLISHED_STANDARDS","getPublishedStandards","getPublishedStandardsSucceeded","getPublishedStandardsFailed","setPublishedStandardSortingType","standard","normalizeDetails","updateDocument","generateDocumentsSummary","generateDocumentsSummarySucceeded","generateDocumentsSummaryFailed","updateDocumentState","downloadDocumentsSummaryFiles","hasFailed","normalizeBroadcastInformation","cvtDate","epoch","setUTCSeconds","isInstant","instantBroadcastDate","dailyBroadcastDate","weeklyBroadcastDate","store","pullNotificationBroadcastInfo","pullNotificationBroadcastInfoSucceeded","pullNotificationBroadcastInfoFailed","updateDocumentWithDiagnosticsData","broadcastInformation","documentDiagnositcs","emptyModalStack","pushModalStack","popModalStack","modalStack","setHeaderTitle","setReferenceTab","emptyReferenceTab","REFERENCE_TAB","NONE","DOCUMENTS","MEETINGS","selectedReferenceTab","newSelectedReferenceTab","setNotifyToasterContent","clearNotifyToasterContent","NOTIFY_TOASTER_TYPE","INFO","ERROR","WARNING","SUCCESS","utils_state","reducers","csm","creteSagaMiddleware","enhancers","composeWithDevTools","createStore","userReducer","nationalCommitteesReducer","membersReducer","settingsReducer","documentReducer","deadlinesReducer","votesReducer","notificationsReducer","meetingsReducer","valuesReducer","search","searchReducer","app","appReducer","commentsReducer","committeesReducer","standards","standardsReducer","documentsSummary","documentSummaryReducer","diagnostics","diagnosticsReducer","header","notifyToasterContent","combineReducers","compose","applyMiddleware","getStore","getDateString","getFullYear","getMonth","getDate","dateString","dateObject","formatEventDate","locale","getState","kundeportal","dateFrom","dayFrom","monthFrom","toLocaleDateString","timeMinutes","getMinutes","timeHours","getHours","timeFrom","yearFrom","formatDateTime","day","year","time","formatDate","dateSort","direction","monthFilter","currentMonth","objMonth","transformUri","trimFileExtension","join","str","getUserById","getUserByName","saveUserDetails","userDetails","changeUserCredentials","userCredentials","getUserSettings","turnOffCommittee","turnOnCommittee","setUserEmailSetting","saveUserProfilePhoto","deleteUserProfilePhoto","getUserLastSearches","setUserLastSearch","entry","setUserLocale","setUserActiveState","acceptGdpr","version","ERROR_CODES","INVALID_PASSWORD","rawUserNationalCommittees","userNationalCommittees","selectedNationalCommittee","getSelectedNationalCommitteeTitle","createSelector","getInternationalCommittees","getInternationalCommitteesCount","getCommitteeTitleProvider","nationalCommitee","userSettings","userCommittees","userFullName","lastOpenedCommittee","getUserSetting","consultantRoles","isConsultantInAnyCommittee","currentCommitteeRole","findIndex","isMemberInCurrentCommittee","getTurnedOffCommittees","getUserEmailSettingForAllCommittees","majorSetting","cnt","isCommitteeAlreadyTurnedOff","committeeToTurnOff","getTunedOffCommitteesCount","getAppLocale","getAppLanguage","createBrowserHistory","getUserCommittees","saveLastCommittee","_marked","fetchNationalCommittees","_marked2","fetchAssociatedCommitteesByCommitteeId","_marked3","fetchAssociatedCommittees","_marked4","fetchCommitteesList","_marked5","_marked6","nationalCommitteesSaga","parentCommitteeIds","responseList","select","all","parentCommitteeId","takeEvery","fetchEmailsFrequency","settingsSaga","fetchUserDetails","_marked7","_marked8","updateUserEmailSettingAllCommittees","_marked9","handleTurnOffCommittee","_marked10","handleTurnOnCommittee","_marked11","fetchUserData","_marked12","_marked13","_marked14","_marked15","handleTurnOnOffCommittee","_marked16","handleSetAppLocale","_marked17","handleAcceptGdpr","_marked18","userDetailsSaga","warn","parser","hasCommitteeInUrl","isNonCommitteePage","UrlPattern","match","window","location","pathname","_response","errorCode","_action$payload","_action$payload2","lowerCaseEmailSetting","toLowerCase","_context10","_context11","_context12","_context13","_context14","_action$payload3","_context15","languageToSet","_context16","reload","handleFetchUserDetails","_context17","gdprAccepted","_context18","_context19","fetchCommitteeMembers","membersSaga","delay","getDocumentActions","getDocumentTypes","getDocumentCommittees","getDeadlineMonths","getDeadlineTypes","getDeadlineCommittees","getMeetingCommittees","getMeetingMonths","getSearchActions","getSearchTypes","getSearchCommittees","getCommittees","getStages","getCommentTypes","fetchCommittees","committeesSaga","getPagination","getSelectedFilters","getModalDetails","getModalData","getDocuments","nationalComitteeDocuments","isDownloadingFile","downloadId","getCurrentlyDownloaded","getSortingType","hasMoreDocumentsToLoad","date_descending","date_ascending","due_date_descending","due_date_ascending","document_id_descending","document_id_ascenting","mapSortTypeToUrlParam","URLSearchParams","has","buildSearchQueryParams","contentTypes","DELETE_FILE","EDIT_FILE","CREATE_FILE","COPY_FILE_TO_COMMITTEE","REMOVE_FILE_FROM_LIST","EXPORT_TO_WORD","REMOVE_FILE_FROM_DOCUMENT_LIST","REMOVE_FILE_FROM_MEETING_LIST","REMOVE_FILE_FROM_DEADLINE_LIST","rawNotifications","getNotifications","getPoll","getNewNotificationFormData","isNotificationPinned","isNotificationInstantSent","getNotificationDocumentsUri","_notification$referen","_notification$referen2","el","getNotificationUri","getNotificationsFilters","hasMoreNotificationsToLoad","getNotificationRepository","shouldRenderDocumentId","documentFilters","filterEmptyDocuments","isObjectEmpty","handleUpdateNotification","handleDeletingNotification","handleCreateNotificationBySystem","handleInitNotificationForm","handleCreateNotificationFromDocument","createNotificationFromReferences","handleCreateNotificationFromMeeting","handleCreateNotificationFromDeadline","handleDownloadNotificationDocuments","handleFetchUpdatedNotificationDocument","handleRemoveReferenceFromNotification","handleFetchNotification","handleFetchNotificationReferences","handlePinNotification","handleUnpinNotification","handleMarkNotificationAsSeen","handleMarkNotificationsAsSeen","handleMarkAllNotificationsAsSeen","_marked19","fetchDocuments","_marked20","handlePullNextNotificationsPage","_marked21","_marked22","handleSendInstantEmail","_marked23","handleVoteNotificationPoll","_marked24","handleDeleteVoteNotificationPoll","_marked25","handleUpdatePoll","_marked26","notificationsSaga","_notification$poll","_notification$poll$de","pollNotificationUri","handleCreateNotification","notificationData","selectors","userSelectors","REFERENCE_TARGET","FORM","selectedDocument","selectedMeeting","selectedDeadline","documentsUris","documentActions","packageName","take","notificationResponse","target","_notification$referen3","isNotification","documentTargets","meetingTargets","deadlineTargets","documentsResponse","meetingsResponse","deadlinesResponse","nextAction","fork","_context20","repository","pageToLoad","exportedActions","onActionExport","successfulDetails","failedDetails","successfulDetailsWithFetchedDocuments","_context22","page_size","_notifications$data$d","_context21","_context23","param","disableToast","_context24","i18next","ns","notifyToasterContentActions","_context25","_context26","_context27","_context28","takeLatest","takeLeading","handleEditDocument","handlePullNextDocumentsPageRequest","searchFilterDocuments","addToUrl","handleSorting","handleResetFilters","handleDeleteDocument","initFilters","handleReloadDocuments","uploadDocumentHandler","handleDocumentsUpload","handleZipDownload","handleCopyDocumentToDifferentCommittee","documentSaga","selectedFilters","_sortingType","documentsSelectors","documentSelectors","substr","toString","changeSorting","initFilter","isFiltered","setMetadata","callback","documentMetadata","metadataApiModel","responseMetadata","eventType","uploadDocumentResponse","FormData","append","uploadedDocumentUri","uploadType","numberOfDocuments","defaultAction","defaultType","defaultCommittee","currentUserId","_action","currentDocument","FileDownload","handleFetchRelatedResources","currentCommittee","isApplicationInitialized","applicationUserHintState","appGlobalDialogsStack","isApplicationInReadonlyMode","loadLocalObject","itemValue","localStorage","getItem","parse","setItem","ResourcesTypes","analytics_tracking","initialize","TagManager","gtmId","setUser","dataLayer","event","setUserLanguage","lang","showDeleteDialog","resourceType","resourceId","closeDeleteDialog","deletionConfirmed","i18Init","init","react","useSuspense","wait","interpolation","escapeValue","lng","resources","en","common","da","getFilesUrls","ActionBox","_this$props","children","aria-hidden","Toggler","args","opened","handleClick","preventDefault","stopPropagation","setState","setContentPosition","handleOutsideClick","ref","contains","clickHandler","calculatePosition","querySelector","rect","getBoundingClientRect","contentHeight","offsetHeight","clientWidth","body","isLast","setAttribute","right","width","top","height","setRef","node","addEventListener","removeEventListener","onClick","Checkbox","checked","htmlFor","onChange","WithPrivileges","connect","ReadonlyGuard","getDocumentValues","getMeetingFilters","getDeadlineFilters","getDocumentCommitteeFilterSelectItems","getMeetingCommitteeFilterSelectItems","meetingFilters","index","getMeetingMonthFilterSelectItems","getDeadlineCommitteeFilterSelectItems","deadlineFilters","getDeadlineMonthFilterSelectItems","getDeadlineTypeFilterSelectItems","getDeadlineStagesSelectItems","getDeadlineActionsSelectItems","getCommentTypeSelectItems","commentFilters","getModalDepth","getPreviousModal","getModalStackHistory","SLIDE_DURATION","SLIDE_STATUS","TO_LEFT","TO_RIGHT","ModalWrapper","slided","closing","modalClassName","modal__content--fixed-height","sizeType","modal__content--wide","modal__content--big","setSlided","_isUnmounted","handleClose","cb","isNestedModal","disableSlide","setTimeout","onClickClose","requestCloseHandler","onGoBack","goBack","renderChildrenWithProps","cloneElement","cancelHandler","_this2","_this$props$getModalS","_this$props2","_this$props2$vertical","verticalCentered","showGoBackButton","showCloseButton","shouldCloseOnOverlayClick","ReactModal","overlayClassName","modal__overlay--center","slide","bodyOpenClassName","htmlOpenClassName","onRequestClose","mapDispatchToProps","DeadlineTable","basicModals","renderActionBox","rowActions","actionBoxOpened","renderRow","selectedDeadlines","useCheckbox","useActionBox","deadlineDetailsUrl","onClickCheckbox","Link","renderModal","additionalModals","_this$props3","RelatedDeadlineContent","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","fetchedDeadlines","_fetchRelatedDeadlines","relatedDeadlines","rawResponses","_componentDidMount","fetchRelatedDeadlines","NotificationTable","onClickLink","closeRelatedContentModal","generateNotificationDetailLink","RelatedNotificationContent","fetchedNotifications","_fetchRelatedNotifications","relatedNotifications","fetchRelatedNotifications","closeModal","meetingsOrderShowPast","meetingsOrderShowUpcoming","getMeetings","getMeeting","isProcessingMeeting","getNewMeetingFormData","getMeetingDocumentsUri","getMeetingsFilters","hasMoreMeetingsToLoad","MeetingTable","selectedMeetings","meetingDetailsUrl","RelatedMeetingContent","fetchedMeetings","_fetchRelatedMeetings","relatedMeetings","fetchRelatedMeetings","RelatedContent","_document$relatedCont","_document$relatedCont2","_document$relatedCont3","FileDescription","isDisabled","_useState","useState","_useState2","setHeight","_useState3","_useState4","isExpanded","setIsExpanded","useTranslation","useRef","showExpandButton","descriptionClassName","useEffect","clientHeight","Fragment","aria-label","rel","prevState","src","expandIcon","alt","dangerouslySetInnerHTML","__html","Row","onShowRelatedContent","bind","documentValues","modalId","uuidv4","component","modalSettings","allowEscape","closeButton","selectHandler","showActionBox","enableSelection","disabledColumns","hideDueDate","showConnections","disabled","isColumnDisabled","DOCUMENT_TABLE_COLUMNS","COMMITTEE","renderDocumentCommittee","TYPE","actionLabel","typeLabel","button--link-disabled","DUE_DATE","DATE","appActions","OutsideClick","setWrapperRef","wrapperRef","handleClickOutside","changeState","elements","onSelectionChange","onClickOutside","isVisible","group--underlined","sortBoxElements","openSortBox","setOpenSortBox","disableSort","currentSortingType","onSortChange","closeSortBoxes","handleSortChange","getSortableButtonClassNames","sortableElements","descendingSortingTypes","ascendingSortingTypes","sortable-dsc","sortable-asc","renderColumn","columnName","sortBoxKey","translateColumnName","notSortable","boxName","isSortDisabled","sortBoxIsOpen","text","SortBox","sortDocuments","sortSettings","elem","mapSortTypeToObj","OptionalLabel","Select","placeholder","focused","generateSelectOptions","setSelectId","labelOnlyForScreenReaders","list","changeHandler","customClasses","_this$state","selectedListElement","selectedDisplay","visuallyhidden","optional","onBlur","onFocus","SelectFilter","selectedItem","items","selectItems","defaultElement","generateSelectItemsWithDefaultElement","validate","isValid","validation","isInteger","CreateDocument","formSubmitted","handleSubmit","formValidation","submitHandler","showValidationMessage","field","formField","_this$props$document","cancelRemainingHandler","skipHandler","editDataHandler","hideNotificationOption","input--validation_error","readOnly","typeId","actionId","DatePicker","addHours","dateFormat","minDate","button--awaiting button--disabled","EditDocument","DeleteModal","awaiting","onSubmit","deleteButtonText","button--disabled button--awaiting","CopyToCommittee","isAwaiting","copyDocumentToCommittee","onCopy","targetCommittee","targetCommittees","onClose","button--disabled","isDiagnosticsEnabled","debug","DiagnosticsGuard","DocumentRowDiagnostics","showDiagnostics","onShowMoreClicked","onShowLessClicked","diagnosticsInfo","appState","apiState","timeStamp","notificationTimestamp","format","colSpan","renderNotificationTime","renderMore","TITLE","DocumentList","manualSortingType","manualSort","editHandler","deleteHandler","AnalyticsTracking","createNotificationHandler","createDeadlineHandler","createMeetingHandler","copyToCommitteeHandler","editedHandler","onDocumentEdited","deletedHandler","onDocumentDeleted","cancleDeleteHandler","renderDeleteModal","itemName","showSpinnerOnSubmit","renderEditModal","renderCreateModal","skipFile","renderCopyToCommitteeModal","downloadDisabled","_this$props4","getDocumentList","tmp","showExtendedActions","_this$props5","Header","style","display","justifyContent","alignItems","minHeight","notificationActions","deadlineActions","valuesSelectors","ncSelectors","loader_Loader","loaderClassName","loader--content","loader--inline","DocumentsSummary","getSummaryHeader","commiteeTitleProvider","onDocumentUpdated","updateSummaryDocumentState","renderSummary","committess","localeCompare","anythingToShow","Loader","orderedSummaryCommittees","documentSummaryActions","committeesSelectors","documentsSummarySelectors","DownloadZipButton","DocumentsSummaryModal","getDocumentsCount","isLoading","closeHandler","closeDialog","downloadFiles","ids","handleInitializingApplication","handleApplicationTriggerUserHint","handleApplicationCloseUserHint","handleApplicationInvokeGlobalDialog","handleApplicationUpdateReadonlyMode","appSaga","appLang","initializeTranslations","valuesActions","handleChangeNationalCommittee","currentNaionalCommittee","segments","transformedCommitteeName","getNewUrl","ncActions","valueActions","userActions","memberActions","hintId","hints","hintState","disable","config","dialogConfig","hash","atob","DocumentSummaryModal","isFetchingDeadlines","getDeadline","getDeadlines","getYear","getDeadlineUri","getDeadlineReferredDocumentsUri","getDeadlinesFilters","hasDeadlinePassed","setHours","hasMoreDeadlinesToLoad","getNewDeadlineFormData","getCurrentDayStartDate","setDate","monthStart","nextMonth","setMonth","ype","relatedDocument","handleFetchingComments","handleFetchingComment","handleUpdateComment","handleDeletingComment","deleteAttachment","deleteCommentAttachments","handleCreateComment","uploadCommentAttachments","fetchDeadlineCommentsStatistics","fetchDeadlinesCommentsStatistics","commentsSaga","filesToUpload","uploadedFiles","attachmentsToRemoveFromServer","t4","t5","privillegesAction","attachment","handleExportCommentsToWord","saveAs","Blob","files","uploadedFileUri","deadlineCommentsStatisticsResponse","deadlinesCommentsStatistics","getMembers","committeeMembers","getCommitteeMemberById","isFetchingMembers","fetchVotes","fetchDeadlinesVotesStats","castVote","updateExistingVote","handleRemoveVote","handleOverrideOfficialVote","handleInitVotesMemberNames","votesSaga","_yield$all","_yield$all2","actionVotes","votesWithoutMembers","updatedVotes","votesReadyToShow","votesToLoad","missingNamesTasks","missingMembers","loadedVotes","votingMember","loading","handleInitDeadlines","handleInitDeadlineForm","handleAddDeadlineReferences","handleSetDeadlineReferences","handleRemoveReferenceFromDeadline","handleCreateDeadlineFromDocument","handleDownloadDeadlineDocuments","handlePullDeadlinesPageRequest","handleCreateDeadline","handleUpdateDeadline","handleDeleteDeadline","handleInitAggDeadlines","handlePullAggDeadlinesPage","handleUpdateIsRegistered","deadlinesSaga","_deadline$referencesR","_deadline$referencesR2","_deadline$referencesR3","_deadline$referencesR4","deadlineData","deadlineCommentsStatistics","_deadline$referencesR5","_deadline$referencesR6","_referenceCategorized","_referenceCategorized2","existingDeadline","referenceCategorized","maxPage","succeededResponse","updatedDeadline","userCommitteesIds","mapValueModel","handleFetchingDocumentFilterValues","handleFetchingDeadlineFilterValues","handleFetchingMeetingFilterValues","handleFetchingStageCodes","handleFetchingCommentTypes","handleFetchAllValues","valuesSaga","filterDocumentTypes","typesMap","supportedOrgs","st","org","actionsMap","committeesMap","splice","_yield$all3","_yield$all4","translatedMonths","dateObj","localeDateStr","_yield$all5","_yield$all6","newDateStr","getLocalDayStartDate","toDateString","handleInitMeetings","handleAddMeetingDocuments","handleSetMeetingDocuments","handleRemoveReferenceFromMeeting","handlePullMeetingsPageRequest","handleUpdateMeeting","handleDeletingMeeting","handleCreateMeeting","handleInitMeetingForm","handleCreateMeetingFromDocument","handleDownloadMeetingDocuments","handleAddParticipant","handleUpdateParticipant","meetingsSaga","existingMeeting","documentRequestLists","deadlineRequestLists","_meeting$referencesRa","_meeting$referencesRa2","updatedMeeting","meetingData","_meeting$referencesRa3","_meeting$referencesRa4","_meeting$referencesRa5","_meeting$referencesRa6","meetingId","getSearchFilters","getCurrentPage","floor","Search","searchSuggestions","getSearch","getSuggestions","filterSearch","fetchSearchFilters","addToSearchUrl","handleSearchFilterChange","handleSearchPagination","handleSearchSorting","handleResetSearchFilters","initSearchFilters","searchSaga","searching","currentFilters","changeFilter","changePagination","buildStandardsQueryParams","mapStandardsSortTypeToUrlParam","fetchPublishedStandards","standardsSaga","handleDownloadDocumentsSummaryFiles","documentSummationSaga","handleGenerateDocumentsSummary","uniqueUris","documentResponses","Set","onFilterNotificationsSucceeded","onPullDocumentsPageSucceeded","diagnosticsSaga","PageLanguage","_React$Component","Helmet","htmlAttributes","appLanguage","PageLanguageWithState","Root","documentsSummarySaga","Provider","I18nextProvider","i18n","SearchBar","handleChange","handleButtonClick","onClear","onSearch","search-bar__btn--opened","Navigation","createLink","urlPart","path","NavLink","activeClassName","createNavElement","navigation--inactive","scrollToNavLink","isMobile","navRef","activeElement","scrollLeft","offsetLeft","sideMenuSearch","createRef","links","phoneNumberValidator","test","linkedInProfileValidator","PanelContainer","FileInput","onChangeHandler","isInline","isPrimaryButton","isSecondaryButton","isSmallButton","inputOptions","buttonText","input-file--inline","button--small","button--primary","button--secondary","assign","resetInput","Avatar","isSmall","avatar--small","word","ProfileImage","editMode","imageData","croppedImage","croppedBlob","applyCropping","onImageUpdated","abortImageCrop","onChangePhoto","validateFile","reader","FileReader","onload","dataURL","readAsDataURL","onRemovePhoto","onRemoveImage","renderButtons","hasUploadedPhoto","accept","userName","dataUrl","refs","cropper","getCroppedCanvas","imageSmoothingQuality","toDataURL","toBlob","blob","updateMessageListState","size","startsWith","Cropper","aspectRatio","guides","crop","cropImage","renderPhotoEditor","renderPhoto","setPageTitle","titleParts","committeePrefix","UserProfile","imageFormData","updateMessageList","msg","validationTable","validationMessages","validationSet","onLinkedInChange","onPhoneChange","validatePhone","validateLinkedIn","img","imageBlob","formData","prevProps","_this$props$user","_this$state2","FormMessageBox","passwordLengthValidator","equalValidator","UserCredentials","currentPassword","newPassword","newPassword2","clearForm","validateFields","currentPasswordValid","validateLength","newPasswordValid","validateEqual","changeUserPassword","_this$state3","newMessages","Content","getEmailFrequencies","EmailNotificationSettings","frequency","onEmailsFrequencyClick","generateField","userSetting","ToggleSwitch","handleToggle","isChecked","CommitteeSettingBlock","insideCommitteeId","onChangeToggle","insideCommittees","insideCommittee","CommitteeSettings","generateCommitteeSettingBlock","_rawUserNationalCommi","disabledInsideCommittees","userNationalCommitteeKeys","Settings","UserPageLinks","User","generateRoutes","Route","findUserVote","deadlineVotes","userVote","InfiniteWaypointScroller","_callSuper","_handleEnter","loadMore","loaderClass","hasMore","Waypoint","onEnter","loader","InfiniteScrollWrapper","_PureComponent","infiniteScrollRef","scrollToTop","getParentElement","scrollComponent","scrollTop","InfiniteScroller","PureComponent","defaultProps","SlimTabsSwitcher","internalTabState","onTabSelected","enabled","onTab","useInternalState","selectedTab","defaultTab","childrenWithProps","Children","child","isValidElement","SlimTab","_Component2","_this3","active","officialVoteCalculator","voteStats","inReview","hasAbstaiVotes","hasConfirmVotes","hasReviseVotes","hasWithdrawVotes","hasOnlyConfirmVotes","hasOnlyReviseVotes","hasOnlyWithdrawVotes","calculateReviewVotes","isYesInMajority","isNoInMajority","calculateRegularVotes","voteStatistics","isUpdatingVote","voteDetails","officialVote","votesOverrides","Card","isPinned","withOffset","innerRef","card--with-offset","data-notification-type","data-resource-id","DateThumbnail","showYear","getClassNames","date-thumbnail--big--extended","date-thumbnail--extended","CardMenu","turnOffCommitteeClick","customActions","renderAction","label_GrayboxLabel","CardHeader","renderLabel","headerLabelText","isDeadlineRegistered","GrayboxLabel","Trans","useDangerouslySetInnerHTML","withRouter","targetBlankDecorator","CardContent","Linkify","componentDecorator","marginTop","CardAttachments","HashLink","data-link-type","VoteAttachment","markVote","card__votes--mark","calculateVotableDate","today","d14","char","showLabel","labelYear","labelMonth","labelDate","DeadlineCard","_this$props2$deadline","dialogUrl","hasUserVoted","card__highlight","highlight","card__inactive","VotesAttachment","SHOW_PAST_DEADLINES","AggDeadlines","handleDeadlinesUpcomingFilter","loadMoreItems","deadlineStages","group","groupHeading","getStageLabel","renderItems","initialLoad","AddModal","isSpecial","setIsAwaiting","inputTitleValue","setInputTitleValue","_useState5","_useState6","inputDescriptionValue","setInputDescriptionValue","_useState7","_useState8","setFile","marginBottom","TableRow","isEditing","onDocumentDelete","onDocumentUpdate","isDeleting","setIsDeleting","isEditingRow","setIsEditingRow","dataURI","byteString","arrayBuffer","ArrayBuffer","int8Array","Uint8Array","charCodeAt","dataURItoBlob","createObjectURL","download","click","AboutTable","onDocumentAdd","isAdding","setIsAdding","AboutConfirmationModal","updateCommitteeDescription","AddDocumentToInfoAboutCommittee","UpdateDocumentInInfoAboutCommittee","AddFileToDocument","AddFileToSpecialDocument","DeleteDocumentFromInfoAboutCommittee","committeeTitleProvider","setIsEditing","isEditingGeneral","setIsEditingGeneral","committeeInfo","setCommitteeInfo","setDescription","_useState9","_useState10","showConfirmationModal","setShowConfirmationModal","onSave","getCommitteeInfo","res","addCommitteeInfo","handleAddDocument","handleUpdateDocument","number","Table","specialDocuments","confirmText","AggPageNavigationLinks","subRoute","About","AggHome","Switch","Redirect","CardMark","FilterOption","SidebarFilter","OnlyMember","allowConsultant","Sidebar","selectCommittee","selectNotificationType","onMarkNotificationsAsSeen","onUnseenFilterChange","_this$props$filters","markAllNotificationsInProgress","Sticky","getNotificationFilterTypes","formatters","buildFormatter","daStrings","enStrings","getTimeAgoFormatter","currentLanguage","NotificationDeleteModal","showModal","onCancel","itemUri","itemTitle","ConfirmationModal","cancelAction","cancelLabel","disableSubmitButton","submitLabel","NotificationCardMenu","turnOffNotificationOnCommitteeAction","modalCancelHandler","turnOffNotificationOnCommitteeClick","modalContent","showDeleteModal","renderActiveCustomMenu","renderDisabledCustomMenu","sendInstantEmailActionHandler","sendInstantEmailActionModal","_this$props6","_this$props7","_this$props8","actionArray","sendInstantEmailAction","_this$props9","hideDeleteAction","newCustomActions","enableTurnOffCommittee","NotificationBar","notificationMenu","TimeAgo","formatter","NotificationCardHeader","DeadlineNotification","_this$props$data","notificationTitle","urlValidator","RegExp","UrlParser","addHTTP","shortenUrl","card_content_CardContent","isLocationUrl","MeetingNotification","MemberNotification","_this$props$data2","UserNotification","notificationDetailsUrl","getCardActions","CommentNotification","committeeMember","i18nKey","commentDetailsUrl","VoteNotification","DocumentSummaryCardAttachments","renderTable","mapDispatchToProsp","DocumentSummationNotification","dateLocale","enUS","formatWithOptions","appLocale","formater","formatAggDate","CommitteesSelectors","LegacyDocumentNotificationCard","generateDocumentsLink","sinceDate","renderCardAttachments","LegacyDocumentNotification","DeadlineSummaryNotification","renderTitle","committeeMemberById","unknownMembers","currentUserHasVoted","onlyYou","youAndOneMember","youAndTwoMembers","firstMmember","secondMember","youAndMoreMembers","othersCount","oneMember","twoMembers","moreMembers","_this$props2$data","votesStats","membersSelectors","votesSelectors","VoteSummationNotification","CommentSummaryNotification","notificationsExist","isViewingOwnCommittee","NotificationDiagnostics","showMore","onMoreClicked","onLessClicked","information","renderDate","NotificationsList","infinityLoaderRef","markedAsSeenNotifications","previouseCommittee","renderSingleNotification","onWaypointEnter","eventData","currentPosition","inside","clear","renderCard","renderWaypoint","scrollableAncestor","renderInternalCommitteeInfo","tunedOffCommitteesCount","internationalCommitteesCount","enabledInternalCommitteesCount","max","renderMarkAsAllReadButton","_userCommittees$selec","button--awaiting","sidebar__markAll--ready","unlisten","listen","matchResult","getDay","diff","thisWeekNotifications","previousNotifications","_notification$details","_notification$details2","getMonday","renderNotifications","PageNotFound","Notifications","exact","showAll","selectItem","selectMonth","selectType","selectStage","setTitle","disableSticky","renderContent","DeadlineDeleteModal","DeadlineList","isDeleteModalOpen","deadlineToDelete","markedAsRemoved","onCancelDelete","onSubmitDelete","getDeadlineActions","useTable","deadlinesFlatten","DeadlineTab","previousCommittee","Deadlines","MeetingCard","referencesSize","MeetingDeleteModal","MeetingList","meetingToDelete","loadMoreMeetings","SHOW_PAST_MEETINGS","MeetingTab","lastOppendMeetingId","handleUpcomingFilter","tab","getCommitteeFromLocation","Meetings","MeetingsTab","Filters","setDocumentTitle","selectFilterValue","committeeSelected","selectDocumentAction","selectDocumentType","handleDocumentSearchKeyDown","isRefernece","group--first","group--disabled","onKeyDown","DocumentFilters","UploadButtons","createHandler","multiple","ActionButtons","onCreateNewNotification","onCreateNewMeeting","onCreateNewDeadline","DocumentsDrop","dropActive","onDragEnter","onDragOver","onDragLeave","onDrop","dataTransfer","onDropFiles","CommitteeDocuments","selectedFiles","segment","handleLinkDocuments","isDocumentLinkValid","DocumentsLinks","rows","errorMessages","duringValidation","isInvalid","onAddRow","onRemoveRow","rowIndex","_","onUpdateRow","newRows","onAddLinkedDocuments","validateRows","rowsBeforeValidation","getRowsToValidate","isValidated","row","afterRowValidation","addLinks","hideLinkDocuments","showErrorMessage","nonEmptyRows","renderRemoveButton","withRemoveButton","Documents","isLinkingDocuments","onLinkDocuments","List","handleElementClick","ListBreadcrumb","Committees","selectedParent","getChildrenList","getList","getPrevList","x","DeactivationConfirmationModal","member_Member","changeActiveState","showConfirmation","setShowConfirmation","waitingForState","setWaitingForState","member__activity-state-active","member__activity-state-inactive","member__activity-state-wait","Members","sortMembers","aName","bName","aLastName","bLastName","sortIsConsultant","sortIsChairman","sortIsProfessional","Member","onChangeMemberActivState","addresses","orderedMembers","filteredMembers","filterActiveMembers","renderMailtoLink","renderMembers","membersActions","ExternalPublishedStandards","standardDistributeLink","DefaultPageNavigationLinks","Home","refreshHeaderTitle","getNationalCommitteeTitle","getLinks","selectedNationalCommitteeTitle","defaultLink","SideMenu","searchPhrase","sideMenuTitle","onClickAction","searchCommitteeUrl","TopBar","userBoxOpened","documentClick","classList","parentElement","toggleUserProfile","removeUser","buttonClickHandler","headingTitleFunction","Logo","ConsultantMenu","DeadlineFromDocumentHint","UserHintDialog","disableCurrentHint","onModalClose","DeadlinesListHint","renderModalContent","applicationActions","applicationSelectors","getCommitteeComparer","userCommitteesNames","userBelongsToA","userCommitteesLinkList","counter","getSearchResultCommittees","userCommitteesName","getMemberedCommittees","scroll","left","behavior","scrollToElement","selector","querySelectorAll","scrollIntoView","block","inline","CommitteeList","allNcParser","userParser","searchParser","setCounter","setClasses","onClickHandler","onItemClick","SearchCommitteeComponent","handleInputChange","handleMenuClick","selectedElement","GlobalDialogs","dialog","globalDialogsStack","_d$id","v4","opening","updateSearchValue","inputLength","getSuggestionValue","suggestion","renderSuggestion","newValue","onSuggestionsFetchRequested","inputValue","onSuggestionSelected","suggestionValue","clearTimeout","openingTimeout","autosuggestInput","blur","focus","storeInputReference","autosuggest","input","inputProps","search-box--opening","search-box--opened","Autosuggest","alwaysRenderSuggestions","LanguageDropdown","selectOption","optionId","selectedOptionId","onOptionChange","initOptionId","displaySelected","DropdownPanelItem","LanguageSwitcher","appLocales","ToolbarTool","open","icon","LayoutPanelLeftFooter","userSettingActive","StepperItem","code","chosenStep","setIsOpen","setToClosed","CURRENT","NEXT","PREVIOUS","Stepper","stageTitle","titleTranslationBase","handleStepClick","renderStage","renderStages","step","stepValue","stageValue","isBigger","isEqual","Vote","Radio","randomNumber","random","inputType","inline-checkbox--disabled","RelatedVotes","getMemberInfo","filterVote","deadlineStage","renderList","allVotes","headline","isLoadingMembers","VotingBar","showVotesModal","closeVotesModal","transformAdjustedPercentage","calcPercentage","adjustedPercentage","hideVoting","transform","countVotes","CommentReminder","Voter","handleVote","currentVote","isNewComment","voteObj","isRemoveComment","showCommentReminder","lastUpdatedVote","enableAwaitingAnimation","onChangeVote","closeCommentReminder","checkUserVote","disableVoting","voteTypeValue","votesCount","toFixed","isVoteAwaiting","renderVotingBar","VerticalSpacer","OverrideOfficialVote","selectedOverrideOption","onOverrideOfficialVote","selectedOption","overrideOptions","defaultOption","OfficialVote","showOverrideOfficialVoteModal","onOverrideOfficialVoteModal","getVoteLabel","ReferenceDocumentsRow","addDocumentActionType","fetchUpdatedDocument","onUpdateDocument","removeDocument","onRemoveDocument","showModalToRemoveDocumentFromList","renderRemoveDocumentFromListModal","renderListView","referenceDocumentList","renderView","renderButton","moveToLink","onSelect","isModal","selectFromDocuments","disableEdit","downloadDocuments","ReferenceMeetingRow","removeMeeting","onRemoveMeeting","renderRemoveMeetingFromListModal","showModalToRemoveMeetingFromList","selectFromMeetings","ReferenceDeadlineRow","removeDeadline","onRemoveDeadline","renderRemoveDeadlineFromListModal","showModalToRemoveDeadlineFromList","selectFromDeadlines","ReferenceComponent","onSelectTab","render","_referencesPerType$do","_referencesPerType$me","_referencesPerType$de","basePath","documentsPath","meetingsPath","deadlinesPath","isReferencesEmpty","disableRows","_referencesPerType$do2","_referencesPerType$me2","_referencesPerType$de2","DeadlineDetailsTab","handleCheckboxChange","notificationsOn","downloadAllFiles","deadlineDate","onRemoveReferenceFromDeadline","votesStatistics","isDownloadingZipPackage","commentGetter","isProcessingCommentsRequest","classGenerator","expanded","collapsed","createMarkup","renderAttachments","htmlString","guidPlaceholder","spanElement","onSelectItem","commentActions","isSelected","revertGuidPlaceholdersToSpans","lineNumber_descending","lineNumber_ascending","clause_descending","clause_ascending","paragraph_descending","paragraph_ascending","type_descending","type_ascending","author_descending","author_ascending","lineNumberSortBoxElements","clauseSortBoxElements","paragraphSortBoxElements","typeSortBoxElements","authorSortBoxElements","dateSortBoxElements","lineNumberSortBox","clauseSortBox","paragraphSortBox","typeSortBox","authorSortBox","dateSortBox","toggleLineNumberSortBox","toggleClauseSortBox","toggleParagraphSortBox","toggleTypeSortBox","toggleAuthorSortBox","toggleDateSortBox","descendingSortingType","ascendingSortingType","expandAllHandler","CommentList","memberCommentActions","consultantCommentActions","defaultCommentActions","getCommentActions","changeExpanded","sortComments","Tooltip","TooltipWrapper","extraClass","DeadlineCommentsTab","allExpanded","initializeComments","directToCreateComment","onAddComment","isDeadlineDatePassed","disableCommenting","createCalendarEvent","startDate","endDate","html","_ref$allDay","allDay","calendar","ical","createEvent","end","summary","plain","eventString","File","SHOW_DEADLINE_DETAILS","DeadlineDetails","currentCard","onDeleteClick","newComments","newest","handleCardChange","createEventBody","linkText","documentsText","domain","hostname","currentStage","docsHeader","meetingHeader","meetingsList","documentsList","handleExportToCalender","fileTitle","eventBody","eventFile","context","resource","addDays","renderHeader","renderDetails","TinyMceEditor","onEditorChange","setup","refreshKey","rest","_excluded","Editor","content_css","plugins","menubar","toolbar","min_height","statusbar","branding","mobile","htmlToPlainText","tempElement","innerHTML","textContent","innerText","makeSummary","tempText","getCommentPreview","setEditorSetupFn","paramComments","editor","keyupEvent","getContent","updatedContent","hasReplacement","lastChangedSpanId","regex","bookmark","selection","getBookmark","setContent","moveToBookmark","lastChangedSpan","getDoc","getElementById","range","createRange","setStartAfter","setEndAfter","sel","getSel","removeAllRanges","addRange","ui","registry","addMenuButton","fetch","onAction","insertContent","on","offscreenDivs","getElementsByClassName","offscreenDiv","contentWindow","div","CommentForm","supportedAttachments","hasUnsupportedAttachments","handleEditorCommentChange","handleEditorProposeChange","handleSave","isRowValid","isFieldValid","addAttachments","isAttachmentSupported","ext","removeAttachment","unsupportedAttachment","button--disabled, button--awaiting","CreateComment","guidComment","replaceSpansWithGuidPlaceholders","guidProposal","container","span","getAttribute","parentNode","replaceChild","createTextNode","DeadlineGeneralInfoEditor","setData","setDueDate","setEnableCommenting","setClosedForComments","setEnableVoting","setNotifyOnUpdate","setNotifyImmediately","setCommittee","defaultValue","setAction","setStage","updatedDocuments","cancelNavLinkUrl","showNotifyMembers","showDocumentsEditor","placeholderText","autoComplete","DocumentSelector","_this$props$selectedD","_this$props$selectedD2","selectedDocuments","listWasFilled","showSetEmptyButton","onSelectDocuments","documentsWithSelectedKeyValue","DocumentActionType","ReferenceDocumentsList","forwardRef","dispatch","useDispatch","useHistory","useSelector","setAddDocumentActionType","setSelectedDocuments","useImperativeHandle","onAddSelectedDocumentsHandler","onLeave","useCallback","onAddDocuments","onDocumentSelectorCancelClick","onSelectDocumentsCallback","renderUploadButton","ReferenceMeetingList","isProcessing","setSelectedMeetings","_props$selectedMeetin","onAddSelectedMeetingsHandler","onMeetingSelectorCancelClick","onSetMeeting","ReferenceDeadlineList","setSelectedDeadlines","_props$selectedDeadli","onAddSelectedDeadlinesHandler","onDeadlineselectorCancelClick","onSetDeadline","getSelectedReferenceTab","ReferencePage","_props$referencesPerT","_props$referencesPerT2","_props$referencesPerT3","_props$referencesPerT4","_props$referencesPerT5","_props$referencesPerT6","documentRef","meetingRef","deadlineRef","onSaveAction","onSelectInit","currentRef","DeadlineForm","object","onEditorSubmitAction","editorSubmitAction","_this$props$formData","renderFooter","editorCancelAction","footerSecondaryButton","footerPrimaryAction","footerPrimaryButtonDisable","footerPrimaryButtonText","referencesRef","slimTabRef","onMount","isGeneralTab","renderGeneralTab","renderReferenceTab","isCreate","detailTitle","renderTabContents","isDataFetched","renderTab","EditDeadline","MeetingDetailsTab","_this$props$reference","_this$props$reference2","_this$props$reference3","_this$props$reference4","_this$props$reference5","_this$props$reference6","isReferenceEmpty","MembersList","membersList","emails","ParticipantsList","getAttendanceStatus","participantsList","participant","order","1","2","0","ParticipationBar","attendance","setAttendance","participantsCount","setParticipantsCount","setParticipantId","showParticipantsList","setShowParticipantsList","disableAttendance","setDisableAttendance","_useState11","_useState12","hideAttendance","setHideAttendance","_isMemberInCurrentCommittee","_meeting$participants","radio-option--disabled","MeetingDetails","deadlineHeader","deadlinesList","deadliens","onRemoveReferenceById","_meeting$referencesPe","_meeting$referencesPe2","upload","linkToFile","DocumentsTab","removeDocumentFromList","showModalToremoveDocumentFromList","onHideLinkDocuments","areSmall","hideDefaultButtons","addUploadedDocuments","showDownloadAllFiles","isDownloadingAllFiles","renderUploadView","formDocuments","ReactDropzone","acceptedFiles","getRootProps","getInputProps","removeFromLabel","addSelectedDocuments","uploadDocumentsCallback","MeetingFormDocumentsEditor","setDeadlineDocuments","updateDocumentAfterEdit","MeetingGeneralInfoEditor","setFromDate","setToDate","setLocationShort","setLocationLong","showTimeSelect","showTimeSelectOnly","timeFormat","timeIntervals","validationInitialState","MeetingForm","setIsParticipationEnabled","setMeetingData","renderRadioButtons","EditMeeting","CreateMeeting","currentHours","currentMinutes","extraMinutes","newDate","setMinutes","CreateDeadline","EditComment","Comment","referenceIdPlaceholder","replaceGuidWithReferenceId","NotificationGeneralInfoTab","setNotifyMembers","PollRow","onAddPoll","strings","renderPollFooter","PollPage","onAdd","setShowValidationMessage","setOptions","setIsMultiVote","enableDeadline","setEnableDeadline","setDeadlineValue","isPollValid","deleteOption","newOptions","handleOptionChange","ReactDatePicker","NotificationForm","setNotificationData","isTitleEmpty","_this$pollRef$current","currentContent","pollRef","pollTab","onTogglePoll","editorCancelUrl","_this2$pollRef$curren","renderNotifyRadio","renderPollTab","CreateNotification","EditNotification","NotificationDetailsTab","referencesCounter","ChangeOfficalPollModal","_poll$options$map","currentResult","selectedOverrideOptionValue","setSelectedOverrideOptionValue","disableButton","setDisableButton","PollVoterList","_poll$votes","getPollOptionValue","_poll$options$find","voterList","PollComponent","_useSelector","orgDeadline","isDeadlinePassed","selectedOptions","setSelectedOptions","showPollVoterList","setShowPollVoterList","setSelectedOptionId","showChangeOfficialPollModal","setShowChangeOfficialPollModal","userVotes","percentage","NotificationDetails","_this$props$notificat","SlideModalRouter","route","updateRouteChange","getQueryValues","onCloseDialog","dialogName","CreateDeadlineComment","show_dialog","getTitle","routeMap","SearchCommittee","getHeaderTitle","heading","getFormattedHeading","NotifyToaster","setIsVisible","timeout","delayedTimeout","UserAccountTopNavigation","__ENABLE_TOPBAR_SEARCH","matchMediaValue","matchMedia","App","resizeEventListener","menuOpened","resizeEventThrottler","eventTimeout","setClassList","changeMenuState","matches","setHeadingTitle","redirect","NavigationList","Auth","WrappedComponent","_class","isAuthenticated","signinRedirect","redirectUrl","profile","sub","SignIn","redirectTimeout","updateBrowserUrl","replaceState","origin","signinRedirectCallback","SilentRefresh","signinSilentCallback","CookieDeclaration","script","appendChild","margin","GdprScreen","translationsInitialized","onAcceptGdpr","initializeHotjarTracking","hotjar","Modal","setAppElement","appInsights","ApplicationInsights","instrumentationKey","loggingLevelConsole","disableAjaxTracking","disableFetchTracking","loadAppInsights","log_error","trackTrace","stack","trackException","exception","CreateApplicationInsights","TrackedRoot","Router","ReactDOM","module","exports","__webpack_require__"],"mappings":"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","file":"static/js/main.ed6a47c1.chunk.js","sourcesContent":["import csm from \"redux-saga\";\n\nlet sagaMiddleware;\n\nexport const creteSagaMiddleware = (...props) =>\n (sagaMiddleware = csm(...props));\n\nexport const runSaga = (saga) => {\n if (sagaMiddleware) {\n sagaMiddleware.run(saga);\n }\n};\n","import { createAction } from \"redux-actions\";\n\nexport const FETCH_USER_DETAILS_REQUESTED = \"USER/fetch_user_details_requested\";\nexport const FETCH_USER_DETAILS_SUCCEEDED = \"USER/fetch_user_details_succeeded\";\nexport const FETCH_USER_DETAILS_FAILED = \"USER/fetch_user_details_failed\";\n\nexport const UPDATE_USER_PROFILE = \"USER/update_user_profile\";\nexport const UPDATE_USER_PROFILE_SUCCEEDED =\n \"USER/update_user_profile_succeeded\";\nexport const UPDATE_USER_PROFILE_FAILED = \"USER/update_user_profile_failed\";\n\nexport const UPDATE_USER_PHOTO = \"USER/update_user_photo\";\nexport const UPDATE_USER_PHOTO_SUCCEEDED = \"USER/update_user_photo_succeeded\";\nexport const UPDATE_USER_PHOTO_FAILED = \"USER/update_user_photo_failed\";\n\nexport const FETCH_USER_SETTINGS = \"USER/fetch_user_settings\";\nexport const FETCH_USER_SETTINGS_SUCCEEDED =\n \"USER/fetch_user_settings_succeeded\";\nexport const FETCH_USER_SETTINGS_FAILED = \"USER/fetch_user_settings_failed\";\n\nexport const UPDATE_USER_CREDENTIALS = \"USER/update_user_credentials\";\nexport const UPDATE_USER_CREDENTIALS_SUCCEEDED =\n \"USER/update_user_credentials_succeeded\";\nexport const UPDATE_USER_CREDENTIALS_FAILED =\n \"USER/update_user_credentials_failed\";\n\nexport const RESET_USER_API_RESPONSE = \"USER/reset_user_api_response\";\n\nexport const TURN_OFF_COMMITTEES = \"USER/turn_off_committees\";\nexport const TURN_ON_COMMITTEES = \"USER/turn_on_committees\";\nexport const TURN_OFF_COMMITTEE = \"USER/turn_off_committee\";\nexport const TURN_OFF_COMMITTEE_SUCCEEDED = \"USER/turn_off_committee_succeeded\";\nexport const TURN_ON_COMMITTEE = \"USER/turn_on_committee\";\nexport const TURN_ON_COMMITTEE_SUCCEEDED = \"USER/turn_on_committee_succeeded\";\nexport const UPDATE_TURN_OFF_COMMITTEES = \"USER/update_turn_off_committees\";\nexport const UPDATE_USER_EMAIL_SETTING_ALL_COMMITTEES =\n \"USER/update_user_email_setting_all_committees\";\nexport const UPDATE_USER_EMAIL_SETTING_ALL_COMMITTEES_SUCCEEDED =\n \"USER/update_user_email_setting_all_committees_succeeded\";\nexport const UPDATE_USER_EMAIL_SETTING = \"USER/update_user_email_setting\";\nexport const UPDATE_USER_EMAIL_SETTING_SUCCEEDED =\n \"USER/update_user_email_setting_succeeded\";\nexport const TURN_ON_OFF_COMMITTEE = \"USER/turn_on_off_committee\";\nexport const SET_APP_LOCALE = \"USER/set_app_locale\";\n\nexport const FETCH_USER_DATA_REQUESTED = \"USER/fetch_user_data_request\";\n\nexport const FETCH_RECENT_SEARCHES = \"USER/fetch_recent_searches\";\nexport const FETCH_RECENT_SEARCHES_SUCCEEDED =\n \"USER/fetch_recent_searches_succeeded\";\nexport const FETCH_RECENT_SEARCHES_FAILED = \"USER/fetch_recent_searches_failed\";\n\nexport const UPDATE_RECENT_SEARCHES = \"USER/update_recent_searches\";\nexport const UPDATE_RECENT_SEARCHES_SUCCEEDED =\n \"USER/update_recent_searches_succeeded\";\nexport const UPDATE_RECENT_SEARCHES_FAILED =\n \"USER/update_recent_searches_failed\";\n\nexport const CHECK_USER_PRIVILLEGES = \"USER/check_user_privilleges\";\n\nexport const ACCPET_GDPR = \"USER/accpet_gdpr\";\n\nconst DECREASE_NUMBER_OF_UNSEEN_NOTIFICATIONS =\n \"USER/decrease_number_of_unseen_notifications\";\n\nexport const fetchUserDataRequest = createAction(FETCH_USER_DATA_REQUESTED);\n\nexport const getUserDetails = createAction(FETCH_USER_DETAILS_REQUESTED);\nexport const getUserDetailsSucceeded = createAction(\n FETCH_USER_DETAILS_SUCCEEDED,\n);\nexport const getUserDetailsFailed = createAction(FETCH_USER_DETAILS_FAILED);\n\nexport const updateUserProfile = createAction(UPDATE_USER_PROFILE);\nexport const updateUserProfileSucceeded = createAction(\n UPDATE_USER_PROFILE_SUCCEEDED,\n);\nexport const updateUserProfileFailed = createAction(UPDATE_USER_PROFILE_FAILED);\n\nexport const updateUserPhoto = createAction(UPDATE_USER_PHOTO);\nexport const updateUserPhotoSucceeded = createAction(\n UPDATE_USER_PHOTO_SUCCEEDED,\n);\nexport const updateUserPhotoFailed = createAction(UPDATE_USER_PHOTO_FAILED);\n\nexport const fetchUserSettings = createAction(FETCH_USER_SETTINGS);\nexport const fetchUserSettingsSucceeded = createAction(\n FETCH_USER_SETTINGS_SUCCEEDED,\n);\nexport const fetchUserSettingsFailed = createAction(FETCH_USER_SETTINGS_FAILED);\n\nexport const updateUserCredentials = createAction(UPDATE_USER_CREDENTIALS);\nexport const updateUserCredentialsSucceeded = createAction(\n UPDATE_USER_CREDENTIALS_SUCCEEDED,\n);\nexport const updateUserCredentialsFailed = createAction(\n UPDATE_USER_CREDENTIALS_FAILED,\n);\n\nexport const resetUserApiResponse = createAction(RESET_USER_API_RESPONSE);\n\nexport const turnOffCommittees = createAction(TURN_OFF_COMMITTEES);\nexport const turnOnCommittees = createAction(TURN_ON_COMMITTEES);\nexport const turnOffCommittee = createAction(TURN_OFF_COMMITTEE);\nexport const turnOffCommitteeSucceeded = createAction(\n TURN_OFF_COMMITTEE_SUCCEEDED,\n);\nexport const turnOnCommittee = createAction(TURN_ON_COMMITTEE);\nexport const turnOnCommitteeSucceeded = createAction(\n TURN_ON_COMMITTEE_SUCCEEDED,\n);\nexport const updateTurnOffCommittees = createAction(UPDATE_TURN_OFF_COMMITTEES);\nexport const updateUserEmailSettingAllCommittees = createAction(\n UPDATE_USER_EMAIL_SETTING_ALL_COMMITTEES,\n);\nexport const updateUserEmailSettingAllCommitteesSucceeded = createAction(\n UPDATE_USER_EMAIL_SETTING_ALL_COMMITTEES_SUCCEEDED,\n);\n\nexport const updateUserEmailSetting = createAction(UPDATE_USER_EMAIL_SETTING);\nexport const updateUserEmailSettingSucceeded = createAction(\n UPDATE_USER_EMAIL_SETTING_SUCCEEDED,\n);\n\nexport const turnOnOffCommittee = createAction(TURN_ON_OFF_COMMITTEE);\nexport const setAppLocale = createAction(SET_APP_LOCALE);\n\nexport const fetchRecentSearches = createAction(FETCH_RECENT_SEARCHES);\nexport const fetchRecentSearchesSucceeded = createAction(\n FETCH_RECENT_SEARCHES_SUCCEEDED,\n);\nexport const fetchRecentSearchesFailed = createAction(\n FETCH_RECENT_SEARCHES_FAILED,\n);\n\nexport const updateRecentSearches = createAction(UPDATE_RECENT_SEARCHES);\nexport const updateRecentSearchesSucceeded = createAction(\n UPDATE_RECENT_SEARCHES_SUCCEEDED,\n);\nexport const updateRecentSearchesFailed = createAction(\n UPDATE_RECENT_SEARCHES_FAILED,\n);\nexport const handleCheckUserPrivilleges = createAction(CHECK_USER_PRIVILLEGES);\n\nexport const decreaseNumberOfUnseenNotifications = createAction(\n DECREASE_NUMBER_OF_UNSEEN_NOTIFICATIONS,\n);\n\nexport const accpetGdpr = createAction(ACCPET_GDPR);\n","import { createAction } from \"redux-actions\";\n\nexport const GET_NATIONAL_COMMITTEES =\n \"NATIONAL_COMMITTEE/get_national_committees\";\nexport const GET_NATIONAL_COMMITTEES_SUCCEEDED =\n \"NATIONAL_COMMITTEE/get_national_committees_succeeded\";\nexport const GET_NATIONAL_COMMITTEES_FAILED =\n \"NATIONAL_COMMITTEE/get_national_committees_failed\";\n\nexport const SET_SELECTED_NATIONAL_COMMITTEE =\n \"NATIONAL_COMMITTEE/set_selected_national_committee\";\nexport const SET_SELECTED_NATIONAL_COMMITTEE_SUCCEEDED =\n \"NATIONAL_COMMITTEE/set_selected_national_committee_succeeded\";\nexport const SET_SELECTED_NATIONAL_COMMITTEE_FAILED =\n \"NATIONAL_COMMITTEE/set_selected_national_committee_failed\";\nexport const GET_ASSOCIATED_COMMITTEES_BY_COMMITTEE_ID =\n \"NATIONAL_COMMITTEE/get_associated_committees_by_committee_id\";\nexport const GET_ASSOCIATED_COMMITTEES =\n \"NATIONAL_COMMITTEE/get_associated_committees\";\nexport const GET_ASSOCIATED_COMMITTEES_SUCCEEDED =\n \"NATIONAL_COMMITTEE/get_accociated_committees_succeeded\";\nexport const GET_ASSOCIATED_COMMITTEES_FAILED =\n \"NATIONAL_COMMITTEE/get_associated_committees_failed\";\n\nexport const GET_COMMITTEES_LIST = \"NATIONAL_COMMITTEE/get_committees_list\";\nexport const GET_COMMITTEES_SUCCEEDED_LIST =\n \"NATIONAL_COMMITTEE/get_committees_succeeded_list\";\nexport const GET_COMMITTEES_FAILED_LIST =\n \"NATIONAL_COMMITTEE/get_committees_failed_list\";\n\nexport const SET_LAST_COMMITTEE = \"NATIONAL_COMMITTEE/set_last_committee\";\nexport const SET_LAST_COMMITTEE_SUCCEEDED =\n \"NATIONAL_COMMITTEE/set_last_committee_succeeded\";\nexport const SET_LAST_COMMITTEE_FAILED =\n \"NATIONAL_COMMITTEE/set_last_committee_failed\";\n\nexport const getNationalCommittees = createAction(GET_NATIONAL_COMMITTEES);\nexport const getNationalCommitteesSucceeded = createAction(\n GET_NATIONAL_COMMITTEES_SUCCEEDED,\n);\nexport const getNationalCommitteesFailed = createAction(\n GET_NATIONAL_COMMITTEES_FAILED,\n);\n\nexport const setSelectedNationalCommittee = createAction(\n SET_SELECTED_NATIONAL_COMMITTEE,\n);\nexport const setSelectedNationalCommitteeSucceeded = createAction(\n SET_SELECTED_NATIONAL_COMMITTEE_SUCCEEDED,\n);\nexport const setSelectedNationalCommitteeFailed = createAction(\n SET_SELECTED_NATIONAL_COMMITTEE_FAILED,\n);\n\nexport const getAssociatedCommitteesByCommitteeId = createAction(\n GET_ASSOCIATED_COMMITTEES_BY_COMMITTEE_ID,\n);\n\nexport const getAssociatedCommittees = createAction(GET_ASSOCIATED_COMMITTEES);\nexport const getAssociatedCommitteesSucceeded = createAction(\n GET_ASSOCIATED_COMMITTEES_SUCCEEDED,\n);\nexport const getAssociatedCommitteesFailed = createAction(\n GET_ASSOCIATED_COMMITTEES_FAILED,\n);\n\nexport const saveLastCommitteeSucceeded = createAction(\n SET_LAST_COMMITTEE_SUCCEEDED,\n);\nexport const saveLastCommitteeFailed = createAction(SET_LAST_COMMITTEE_FAILED);\n\nexport const getCommitteesList = createAction(GET_COMMITTEES_LIST);\nexport const getCommitteesListSucceeded = createAction(\n GET_COMMITTEES_SUCCEEDED_LIST,\n);\nexport const getCommitteesListFailed = createAction(GET_COMMITTEES_FAILED_LIST);\n","import { UserManager } from \"oidc-client\";\n\nconst authEndpointConfig = {\n authority: process.env.REACT_APP_OPENID_AUTHORITY,\n client_id: process.env.REACT_APP_OPENID_CLIENT_ID,\n redirect_uri: process.env.REACT_APP_OPENID_REDIRECT_URL,\n scope: \"openid profile\",\n response_type: \"id_token token\",\n silent_redirect_uri: process.env.REACT_APP_OPENID_SILENT_REDIRECT_URL,\n post_logout_redirect_uri: process.env.REACT_APP_OPENID_LOGOUT_REDIRECT_URL,\n clockSkew: 60 * 30, //30m\n};\n\nfunction createUserManager() {\n return new UserManager(authEndpointConfig);\n}\n\nconst userManager = createUserManager();\n\nexport default userManager;\n","import { create } from \"axios\";\nimport userManager from \"../services/auth/openIdClient\";\n\nfunction createApiOptions() {\n return {\n baseURL: process.env.REACT_APP_OPENID_AUTHORITY,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Pragma: \"no-cache\",\n },\n };\n}\n\nconst addAuthorizationHeader = async (request) => {\n if (request.headers[\"Authorization\"]) return request;\n\n let user = await userManager.getUser();\n\n if (!user) {\n await userManager.signoutRedirect();\n return request;\n }\n\n if (user.expired) {\n try {\n user = await userManager.signinSilent();\n } catch (error) {\n await userManager.signoutRedirect();\n return request;\n }\n }\n\n request.headers[\"Authorization\"] = `Bearer ${user.access_token}`;\n return request;\n};\n\nconst unauthorizedRequestHandler = (error) => {\n if (error.response.status === 401) {\n return userManager.signoutRedirect();\n }\n\n return Promise.reject(error);\n};\n\nfunction createAxiosApiInstance() {\n const api = create(createApiOptions());\n\n api.interceptors.request.use(addAuthorizationHeader);\n api.interceptors.response.use(\n (request) => request,\n unauthorizedRequestHandler,\n );\n\n return api;\n}\n\nfunction createApi() {\n const axios = createAxiosApiInstance();\n\n return {\n get(url, ...props) {\n return axios.get(url, ...props);\n },\n post(url, ...props) {\n return axios.post(url, ...props);\n },\n put(url, ...props) {\n return axios.put(url, ...props);\n },\n delete(url, ...props) {\n return axios.delete(url, ...props);\n },\n patch(url, ...props) {\n return axios.patch(url, ...props);\n },\n };\n}\n\nexport const api = createApi();\n","const apiUrl = {\n ds: \"ds_api\",\n};\n\nexport function getProxyUrl(url) {\n return `/proxy/${apiUrl.ds}${url}`;\n}\n\nexport function getQueryParams(params) {\n return Object.keys(params).reduce((query, name) => {\n let paramValue = params[name];\n if (paramValue === null) {\n return query;\n }\n if (Array.isArray(paramValue)) {\n return paramValue.reduce((acc, val) => {\n return val !== null ? `${acc}&${name}=${val}` : acc;\n }, query);\n } else {\n return `${query}&${name}=${paramValue}`;\n }\n }, \"?\");\n}\n\nexport function addQueryParams(url, params) {\n if (!params) {\n return url;\n }\n\n return `${url}${getQueryParams(params)}`;\n}\n\nexport const addPageQueryParam = (query, page) => {\n if (query.pageLength) {\n query.start = query.pageLength * page + 1;\n } else {\n console.error(\"pageLength missing in query, page attribute not set\");\n }\n return query;\n};\n\nexport function isRequestSuccessful(response) {\n return response && response.status >= 200 && response.status <= 299;\n}\n\nexport const TIMEFRAME = {\n PAST: \"past\",\n FUTURE: \"future\",\n ALL: \"all\",\n};\n","export const sortBoxHidingDelay = 500;\n\nexport const roleType = {\n member: \"Medlem\",\n consultant: \"Ansvarlig\",\n chairman: \"Formand\",\n professional: \"Faglig\",\n};\n\nexport const documentUploadType = {\n file: \"file\",\n link: \"link\",\n};\n\nexport const notificationType = {\n user: \"Notification\",\n member: \"Member\",\n deadline: \"Deadline\",\n meeting: \"Meeting\",\n document: \"Document\",\n documentSummation: \"Document Summation\",\n comment: \"Comment\",\n vote: \"Vote\",\n\n internalDocumentSummation: \"internal_document_summation\",\n internalVoteSummation: \"internal_vote_summation\",\n internalCommentsSummation: \"internal_comment_summation\",\n};\n\nexport const notificationActionType = {\n add: \"Add\",\n reminder: \"Reminder\",\n update: \"Update\",\n weekReminder: \"WeekReminder\",\n aggregate: \"internal_aggregate\",\n};\n\nexport const notificationFilterTypes = [\n {\n value: notificationType.user,\n label: \"notifications.sidebar.typeFilters.user\",\n },\n {\n value: `${notificationType.internalDocumentSummation},${notificationType.documentSummation}`,\n label: \"notifications.sidebar.typeFilters.internalDocumentSummation\",\n },\n {\n value: notificationType.meeting,\n label: \"notifications.sidebar.typeFilters.meeting\",\n },\n {\n value: notificationType.deadline,\n label: \"notifications.sidebar.typeFilters.deadline\",\n },\n {\n value: `${notificationType.comment},${notificationType.internalCommentsSummation}`,\n label: \"notifications.sidebar.typeFilters.comment\",\n },\n {\n value: `${notificationType.vote},${notificationType.internalVoteSummation}`,\n label: \"notifications.sidebar.typeFilters.vote\",\n },\n {\n value: notificationType.member,\n label: \"notifications.sidebar.typeFilters.member\",\n },\n];\n\nexport const defaultExcerptLength = 204;\n\nexport const defaultLocale = \"en-US\";\nexport const appLocaleMap = {\n \"en-US\": { language: \"en\", name: \"language.english\" },\n \"da-DK\": { language: \"da\", name: \"language.danish\" },\n};\n\nexport const eventSortType = {\n asc: \"from_date_asc\",\n desc: \"from_date_dsc\",\n};\n\nexport const deadlineSortType = {\n asc: \"deadline_asc\",\n desc: \"deadline_dsc\",\n};\n\nexport const comparisonOperator = {\n gt: \"GT \",\n ge: \"GE \",\n lt: \"LT \",\n le: \"LE \",\n ne: \"NE \",\n};\n\nexport const voteType = {\n abstain: 0,\n yes: 1,\n no: 2,\n confirm: 3,\n revise: 4,\n withdraw: 5,\n};\n\nexport const emptyVotes = {\n abstain: 0,\n yes: 0,\n no: 0,\n confirm: 0,\n revise: 0,\n withdraw: 0,\n};\n\nexport const voteLabelMap = {\n [voteType.abstain]: \"deadlines.details.votes.abstain\",\n [voteType.yes]: \"deadlines.details.votes.yes\",\n [voteType.no]: \"deadlines.details.votes.no\",\n [voteType.confirm]: \"deadlines.details.votes.confirm\",\n [voteType.revise]: \"deadlines.details.votes.revise\",\n [voteType.withdraw]: \"deadlines.details.votes.withdraw\",\n};\n\nexport const regularVotes = [voteType.yes, voteType.no, voteType.abstain];\nexport const reviewVotes = [\n voteType.confirm,\n voteType.revise,\n voteType.withdraw,\n voteType.abstain,\n];\nexport const reviewStageValue = \"90\";\n\nexport const voteAction = \"VOTE\";\nexport const otherCommitteeId = \"__other_committee__\";\n\nexport const applicationUserHints = {\n createDeadlineFromDocument: 1000,\n listDeadlines: 1100,\n};\n\nexport const dialogSizes = {\n wide: \"wide\",\n big: \"big\",\n fixedHeight: \"fixed-height\",\n};\n\nexport const gdprVersion = \"1.1\";\nexport const SummaryFilesDownloadId = \"summary_download\";\n\nexport const allNcsId = \"all\";\nexport const nonCommitteePages = [\"all\", \"search\", \"user\"];\n","import { createAction } from \"redux-actions\";\n\nconst INIT_NOTIFICATIONS = \"NOTIFICATIONS/init_notifications\";\n\nconst FETCH_NOTIFICATION = \"NOTIFICATIONS/fetch_notification_data\";\nconst FETCH_NOTIFICATION_SUCCEEDED =\n \"NOTIFICATIONS/fetch_notification_succeeded\";\nconst FETCH_NOTIFICATION_FAILED = \"NOTIFICATIONS/fetch_notification_failed\";\n\nconst FETCH_NOTIFICATION_REFERENCES =\n \"NOTIFICATIONS/fetch_notification_references\";\nconst FETCH_NOTIFICATION_REFERENCES_SUCCEEDED =\n \"NOTIFICATIONS/fetch_notification_references_succeeded\";\nconst FETCH_NOTIFICATION_REFERENCES_FAILED =\n \"NOTIFICATIONS/fetch_notification_references_failed\";\n\nconst FETCH_NOTIFICATION_DOCUMENTS =\n \"NOTIFICATIONS/fetch_notification_documents\";\nconst FETCH_NOTIFICATION_DOCUMENTS_SUCCEEDED =\n \"NOTIFICATIONS/fetch_notification_documents_succeeded\";\nconst FETCH_NOTIFICATION_DOCUMENTS_FAILED =\n \"NOTIFICATIONS/fetch_notification_documents_failed\";\n\nconst FETCH_UPDATED_NOTIFICATION_DOCUMENT =\n \"NOTIFICATION_FORM/fetch_updated_document\";\nconst FETCH_UPDATED_NOTIFICATION_DOCUMENT_SUCCEEDED =\n \"NOTIFICATION_FORM/fetch_updated_document_succeeded\";\nconst FETCH_UPDATED_NOTIFICATION_DOCUMENT_FAILED =\n \"NOTIFICATION_FORM/fetch_updated_document_failed\";\n\nconst REMOVE_REFERENCE_FROM_NOTIFICATION =\n \"NOTIFICATION/remove_reference_from_notification\";\nconst REMOVE_REFERENCE_FROM_NOTIFICATION_SUCCEEDED =\n \"NOTIFICATION/remove_reference_from_notification_succeeded\";\n\nconst UPDATE_NOTIFICATION = \"NOTIFICATIONS/update_notification\";\nconst UPDATE_NOTIFICATION_SUCCEEDED =\n \"NOTIFICATIONS/update_notification_succeeded\";\nconst UPDATE_NOTIFICATION_FAILED = \"NOTIFICATIONS/update_notification_failed\";\n\nconst DELETE_NOTIFICATION = \"NOTIFICATIONS/delete_notification\";\nconst DELETE_NOTIFICATION_SUCCEEDED =\n \"NOTIFICATIONS/delete_notification_succeeded\";\nconst DELETE_NOTIFICATION_FAILED = \"NOTIFICATIONS/delete_notification_failed\";\n\nconst CREATE_NOTIFICATION = \"NOTIFICATIONS/create_notification\";\nconst CREATE_NOTIFICATION_SUCCEEDED =\n \"NOTIFICATIONS/create_notification_succeeded\";\nconst CREATE_NOTIFICATION_FAILED = \"NOTIFICATIONS/create_notification_failed\";\n\nconst SET_SELECTED_NOTIFICATION_DOCUMENTS =\n \"NOTIFICATION_FORM/set_selected_documents\";\nconst SET_SELECTED_NOTIFICATION_DEADLINES =\n \"NOTIFICATION_FORM/set_selected_deadlines\";\nconst SET_SELECTED_NOTIFICATION_MEETINGS =\n \"NOTIFICATION_FORM/set_selected_meetings\";\n\nconst ADD_UPLOADED_NOTIFICATION_DOCUMENTS =\n \"NOTIFICATION_FORM/add_uploaded_documents\";\nconst ADD_GENERAL_NOTIFICATION_INFORMATION =\n \"NOTIFICATION_FORM/add_general_info\";\n\nconst INIT_NOTIFICATION_FORM_WITH_GENERAL_INFO_DATA =\n \"NOTIFICATION_FORM/init_with_general_info_data\";\nconst INIT_NOTIFICATION_FORM_WITH_DOCUMENTS =\n \"NOTIFICATION_FORM/init_with_documents\";\nconst CLEAR_NOTIFICATION_FORM = \"NOTIFICATION_FORM/clear\";\n\nconst CREATE_NOTIFICATION_FROM_DOCUMENT = \"NOTIFICATION/create_from_document\";\nconst CREATE_NOTIFICATION_FROM_MEETING = \"NOTIFICATION/create_from_meeting\";\nconst CREATE_NOTIFICATION_FROM_DEADLINE = \"NOTIFICATION/create_from_deadline\";\nconst DOWNLOAD_NOTIFICATION_DOCUMENTS =\n \"NOTIFICATION_FORM/download_notification_documents\";\nconst REMOVE_NOTIFICATION_DOCUMENT =\n \"NOTIFICATION_FORM/remove_notification_document\";\nconst UPDATE_NOTIFICATION_DOCUMENT_INFO =\n \"NOTIFICATION_FORM/update_notification_document_info\";\n\nconst SET_FILTER_VALUE = \"FILTER/set_filter_values\";\n\nconst RESET_NOTIFICATIONS_FILTERS = \"FILTER/reset_notifications_filters\";\n\nconst PULL_NEXT_NOTIFICATIONS_PAGE =\n \"NOTIFICATIONS/pull_next_notifications_page\";\nconst PULL_NOTIFICATIONS_PAGE_SUCCEEDED =\n \"NOTIFICATIONS/pull_notifications_page_succeeded\";\nconst PULL_NOTIFICATIONS_PAGE_FAILED =\n \"NOTIFICATIONS/pull_notifications_page_failed\";\n\nexport const initNotifications = createAction(INIT_NOTIFICATIONS);\n\nexport const fetchNotification = createAction(FETCH_NOTIFICATION);\nexport const fetchNotificationSucceeded = createAction(\n FETCH_NOTIFICATION_SUCCEEDED,\n);\nexport const fetchNotificationFailed = createAction(FETCH_NOTIFICATION_FAILED);\n\nexport const fetchNotificationReferences = createAction(\n FETCH_NOTIFICATION_REFERENCES,\n);\nexport const fetchNotificationReferencesSucceeded = createAction(\n FETCH_NOTIFICATION_REFERENCES_SUCCEEDED,\n);\nexport const fetchNotificationReferencesFailed = createAction(\n FETCH_NOTIFICATION_REFERENCES_FAILED,\n);\n\nexport const fetchNotificationDocuments = createAction(\n FETCH_NOTIFICATION_DOCUMENTS,\n);\nexport const fetchNotificationDocumentsSucceeded = createAction(\n FETCH_NOTIFICATION_DOCUMENTS_SUCCEEDED,\n);\nexport const fetchNotificationDocumentsFailed = createAction(\n FETCH_NOTIFICATION_DOCUMENTS_FAILED,\n);\n\nexport const fetchUpdatedNotificationDocument = createAction(\n FETCH_UPDATED_NOTIFICATION_DOCUMENT,\n);\nexport const fetchUpdatedNotificationDocumentSucceeded = createAction(\n FETCH_UPDATED_NOTIFICATION_DOCUMENT_SUCCEEDED,\n);\nexport const fetchUpdatedNotificationDocumentFailed = createAction(\n FETCH_UPDATED_NOTIFICATION_DOCUMENT_FAILED,\n);\n\nexport const removeReferenceFromNotification = createAction(\n REMOVE_REFERENCE_FROM_NOTIFICATION,\n);\nexport const removeReferenceFromNotificationSucceeded = createAction(\n REMOVE_REFERENCE_FROM_NOTIFICATION_SUCCEEDED,\n);\n\nexport const updateNotification = createAction(UPDATE_NOTIFICATION);\nexport const updateNotificationSucceeded = createAction(\n UPDATE_NOTIFICATION_SUCCEEDED,\n);\nexport const updateNotificationFailed = createAction(\n UPDATE_NOTIFICATION_FAILED,\n);\n\nexport const deleteNotification = createAction(DELETE_NOTIFICATION);\nexport const deleteNotificationSucceeded = createAction(\n DELETE_NOTIFICATION_SUCCEEDED,\n);\nexport const deleteNotificationFailed = createAction(\n DELETE_NOTIFICATION_FAILED,\n);\n\nexport const createNotification = createAction(CREATE_NOTIFICATION);\nexport const createNotificationSucceeded = createAction(\n CREATE_NOTIFICATION_SUCCEEDED,\n);\nexport const createNotificationFailed = createAction(\n CREATE_NOTIFICATION_FAILED,\n);\n\nexport const createNotificationFromDocument = createAction(\n CREATE_NOTIFICATION_FROM_DOCUMENT,\n);\n\nexport const createNotificationFromMeeting = createAction(\n CREATE_NOTIFICATION_FROM_MEETING,\n);\n\nexport const createNotificationFromDeadline = createAction(\n CREATE_NOTIFICATION_FROM_DEADLINE,\n);\n\nexport const setSelectedNotificationDocuments = createAction(\n SET_SELECTED_NOTIFICATION_DOCUMENTS,\n);\nexport const setSelectedNotificationDeadlines = createAction(\n SET_SELECTED_NOTIFICATION_DEADLINES,\n);\nexport const setSelectedNotificationMeetings = createAction(\n SET_SELECTED_NOTIFICATION_MEETINGS,\n);\nexport const addUploadedNotificationDocuments = createAction(\n ADD_UPLOADED_NOTIFICATION_DOCUMENTS,\n);\nexport const addGeneralNotificationInformation = createAction(\n ADD_GENERAL_NOTIFICATION_INFORMATION,\n);\n\nexport const initNotificationFormWithGeneralInfo = createAction(\n INIT_NOTIFICATION_FORM_WITH_GENERAL_INFO_DATA,\n);\nexport const initNotificationFormWithDocuments = createAction(\n INIT_NOTIFICATION_FORM_WITH_DOCUMENTS,\n);\nexport const clearNotificationForm = createAction(CLEAR_NOTIFICATION_FORM);\n\nexport const downloadNotificationDocuments = createAction(\n DOWNLOAD_NOTIFICATION_DOCUMENTS,\n);\nexport const removeDocumentFromNotification = createAction(\n REMOVE_NOTIFICATION_DOCUMENT,\n);\nexport const updateNotificationDocumentInfo = createAction(\n UPDATE_NOTIFICATION_DOCUMENT_INFO,\n);\n\nexport const setFilterValue = createAction(SET_FILTER_VALUE);\nexport const resetNotificationsFilters = createAction(\n RESET_NOTIFICATIONS_FILTERS,\n);\n\nexport const pullNextNotificationsPage = createAction(\n PULL_NEXT_NOTIFICATIONS_PAGE,\n);\nexport const pullNotificationsPageSucceeded = createAction(\n PULL_NOTIFICATIONS_PAGE_SUCCEEDED,\n);\nexport const pullNotificationsPageFailed = createAction(\n PULL_NOTIFICATIONS_PAGE_FAILED,\n);\n\nconst GET_NOTIFICATION_DETAILS_FAILED =\n \"NOTIFICATIONS/get_notification_details_failed\";\nconst GET_NOTIFICATION_DETAILS_SUCCEEDED =\n \"NOTIFICATIONS/get_notification_details_succeeded\";\n\nexport const getNotificationDetailsSucceeded = createAction(\n GET_NOTIFICATION_DETAILS_SUCCEEDED,\n);\nexport const getNotificationDetailsFailed = createAction(\n GET_NOTIFICATION_DETAILS_FAILED,\n);\n\nexport const clearNotificationList = createAction(\"CLEAR_NOTIFICATION\");\n\nconst PIN_NOTIFICATION = \"NOTIFICATIONS/pin_notification\";\nconst UNPIN_NOTIFICATION = \"NOTIFICATIONS/unpin_notification\";\nconst PIN_NOTIFICATION_SCUCCEEDED = \"NOTIFICATIONS/pin_notification_succceeded\";\nconst UNPIN_NOTIFICATION_SUCCEEDED =\n \"NOTIFICATIONS/unpin_notification_succeeded\";\n\nexport const pinNotification = createAction(PIN_NOTIFICATION);\nexport const unpinNotification = createAction(UNPIN_NOTIFICATION);\nexport const pinNotificationSucceeded = createAction(\n PIN_NOTIFICATION_SCUCCEEDED,\n);\nexport const unpinNotificationSucceeded = createAction(\n UNPIN_NOTIFICATION_SUCCEEDED,\n);\n\nconst MARK_NOTIFICATIONS_AS_SEEN = \"NOTIFICATIONS/mark_notifications_as_seen\";\nconst MARK_NOTIFICATIONS_AS_SEEN_SUCCEEDED =\n \"NOTIFICATIONS/mark_notifications_as_seen_succeeded\";\n\nconst MARK_ALL_NOTIFICATIONS_AS_SEEN =\n \"NOTIFICATIONS/mark_all_notifications_as_seen\";\nconst MARK_ALL_NOTIFICATIONS_AS_SEEN_SUCCEEDED =\n \"NOTIFICATIONS/mark_all_notifications_as_seen_succeeded\";\nconst MARK_ALL_NOTIFICATIONS_AS_SEEN_FAILED =\n \"NOTIFICATIONS/mark_all_notifications_as_seen_failed\";\n\nexport const markNotificationsAsSeen = createAction(MARK_NOTIFICATIONS_AS_SEEN);\nexport const markNotificationsAsSeenSucceeded = createAction(\n MARK_NOTIFICATIONS_AS_SEEN_SUCCEEDED,\n);\n\nexport const markAllNotificationsAsSeen = createAction(\n MARK_ALL_NOTIFICATIONS_AS_SEEN,\n);\nexport const markAllNotificationsAsSeenSucceeded = createAction(\n MARK_ALL_NOTIFICATIONS_AS_SEEN_SUCCEEDED,\n);\nexport const markAllNotificationsAsSeenFailed = createAction(\n MARK_ALL_NOTIFICATIONS_AS_SEEN_FAILED,\n);\n\nconst SEND_INSTANT_EMAIL = \"USER/send_instant_email\";\nconst SEND_INSTANT_EMAIL_SUCCEEDED = \"USER/send_instant_email_succeeded\";\nconst SEND_INSTANT_EMAIL_FAILED = \"USER/send_instant_email_failed\";\n\nconst VOTE_NOTIFICATION_POLL = \"NOTIFICATIONS/vote_notification_poll\";\nconst VOTE_NOTIFICATION_POLL_SUCCEEDED =\n \"NOTIFICATIONS/vote_notification_poll_succeeded\";\nconst VOTE_NOTIFICATION_POLL_FAILED =\n \"NOTIFICATIONS/vote_notification_poll_failed\";\n\nconst DELETE_VOTE_NOTIFICATION_POLL =\n \"NOTIFICATIONS/delete_vote_notification_poll\";\nconst DELETE_VOTE_NOTIFICATION_POLL_SUCCEEDED =\n \"NOTIFICATIONS/delete_vote_notification_poll_succeeded\";\nconst DELETE_VOTE_NOTIFICATION_POLL_FAILED =\n \"NOTIFICATIONS/delete_vote_notification_poll_failed\";\n\nexport const sendInstantEmail = createAction(SEND_INSTANT_EMAIL);\nexport const sendInstantEmailSucceeded = createAction(\n SEND_INSTANT_EMAIL_SUCCEEDED,\n);\nexport const sendInstantEmailFailed = createAction(SEND_INSTANT_EMAIL_FAILED);\n\nexport const voteNotificationPoll = createAction(VOTE_NOTIFICATION_POLL);\nexport const voteNotificationPollSucceeded = createAction(\n VOTE_NOTIFICATION_POLL_SUCCEEDED,\n);\nexport const voteNotificationPollFailed = createAction(\n VOTE_NOTIFICATION_POLL_FAILED,\n);\n\nexport const deleteVoteNotificationPoll = createAction(\n DELETE_VOTE_NOTIFICATION_POLL,\n);\nexport const deleteVoteNotificationPollSucceeded = createAction(\n DELETE_VOTE_NOTIFICATION_POLL_SUCCEEDED,\n);\nexport const deleteVoteNotificationPollFailed = createAction(\n DELETE_VOTE_NOTIFICATION_POLL_FAILED,\n);\n\nconst UPDATE_POLL = \"NOTIFICATIONS/update_poll\";\nconst UPDATE_POLL_SUCCEEDED = \"NOTIFICATIONS/update_poll_succeeded\";\nconst UPDATE_POLL_FAILED = \"NOTIFICATIONS/update_poll_failed\";\n\nexport const updatePoll = createAction(UPDATE_POLL);\nexport const updatePollSucceeded = createAction(UPDATE_POLL_SUCCEEDED);\nexport const updatePollFailed = createAction(UPDATE_POLL_FAILED);\n","import React, { Component } from \"react\";\nimport classNames from \"classnames\";\nimport { withTranslation } from \"react-i18next\";\n\nexport const messageType = {\n error: 1,\n success: 2,\n};\n\nclass MessageBox extends Component {\n render() {\n const formMessageBoxClass = classNames(\n \"form-message-box\",\n {\n \"form-message-box__errors\":\n this.props.messageType === messageType.error,\n },\n {\n \"form-message-box__success\":\n this.props.messageType === messageType.success,\n },\n );\n const t = this.props.t;\n\n return (\n this.props.messages &&\n this.props.messages.length > 0 && (\n
\n
\n {this.props.messages.map((message) => (\n

{t(message)}

\n ))}\n
\n
\n )\n );\n }\n}\n\nexport default withTranslation(\"common\")(MessageBox);\n","export function normalizeUserSettings(settings) {\n return {\n [settings.nationalCommittee]: {\n emailSetting: settings.emailSetting,\n turnedOffCommittees: settings.turnedOffCommittees,\n },\n };\n}\n\nexport function normalizeTurnOffCommittees(data, state) {\n return {\n ...state.data.settings,\n [data.selectedCommittee]: {\n ...state.data.settings[data.selectedCommittee],\n turnedOffCommittees: data.turnedOffCommittees,\n },\n };\n}\n\nexport function normalizeTurnOffCommittee(data, state) {\n return {\n ...state.data.settings,\n [data.selectedCommittee]: {\n ...state.data.settings[data.selectedCommittee],\n turnedOffCommittees: [\n ...state.data.settings[data.selectedCommittee].turnedOffCommittees,\n data.turnedOffCommittee,\n ],\n },\n };\n}\n\nexport function normalizeTurnOnCommittee(data, state) {\n return {\n ...state.data.settings,\n [data.selectedCommittee]: {\n ...state.data.settings[data.selectedCommittee],\n turnedOffCommittees: state.data.settings[\n data.selectedCommittee\n ].turnedOffCommittees.filter(\n (committee) => committee !== data.turnedOffCommittee,\n ),\n },\n };\n}\n\nexport function normalizeEmailSetting(data, state) {\n return {\n ...state.data.settings,\n [data.selectedCommittee.id]: {\n ...state.data.settings[data.selectedCommittee.id],\n emailSetting: data.emailSetting,\n },\n };\n}\n\nexport function normalizeUserData(data) {\n return {\n ...data,\n role: data.role.reduce((previous, current) => {\n previous[current.committee] = {\n name: current.role,\n memberSince: current.memberSince,\n unseenNotifications: current.unseenNotifications,\n };\n return previous;\n }, {}),\n };\n}\n\nexport function normalizeRecentSearches(data) {\n return data.map((element) => ({ name: element }));\n}\n","import { combineActions, handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport { markAllNotificationsAsSeenSucceeded } from \"../notifications/actions\";\nimport { messageType } from \"../../components/common/form/message-box/MessageBox\";\nimport {\n normalizeEmailSetting,\n normalizeRecentSearches,\n normalizeTurnOffCommittees,\n normalizeUserData,\n normalizeTurnOffCommittee,\n normalizeTurnOnCommittee,\n normalizeUserSettings,\n} from \"./normalizers\";\n\nconst initialState = {\n isFetching: false,\n isFetched: false,\n data: {\n settings: {},\n recentSearches: null,\n },\n apiResponse: {\n message: null,\n type: null,\n },\n updateInProgress: false,\n updatePhotoInProgress: false,\n};\n\nconst actionHandlers = {\n [actions.getUserDetailsSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n ...state.data,\n ...normalizeUserData(payload.data),\n },\n }),\n\n [actions.getUserDetailsFailed]: (state) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n }),\n [actions.updateUserProfile]: (state, { payload }) => ({\n ...state,\n updateInProgress: true,\n }),\n [actions.updateUserProfileSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n ...state.data,\n ...payload,\n },\n apiResponse: {\n type: messageType.success,\n message: [\"userProfile.messages.userDetailsUpdated\"],\n },\n updateInProgress: false,\n }),\n\n [actions.updateUserProfileFailed]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n apiResponse: {\n type: messageType.error,\n message: payload,\n },\n updateInProgress: false,\n }),\n [actions.updateUserPhoto]: (state) => ({\n ...state,\n updatePhotoInProgress: true,\n }),\n [actions.updateUserPhotoSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n ...state.data,\n ...payload,\n },\n apiResponse: {\n type: messageType.success,\n message: [\"userProfile.messages.userPhotoUpdated\"],\n },\n updatePhotoInProgress: false,\n }),\n [actions.updateUserPhotoFailed]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n apiResponse: {\n type: messageType.error,\n message: payload,\n },\n updatePhotoInProgress: false,\n }),\n [actions.updateUserCredentials]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n\n [actions.updateUserCredentialsSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n apiResponse: {\n type: messageType.success,\n message: payload,\n },\n }),\n\n [actions.updateUserCredentialsFailed]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n apiResponse: {\n type: messageType.error,\n message: payload,\n },\n }),\n\n [actions.resetUserApiResponse]: (state) => ({\n ...state,\n apiResponse: {\n type: null,\n message: null,\n },\n }),\n\n [actions.fetchUserSettings]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n\n [actions.fetchUserSettingsSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n ...state.data,\n settings: {\n ...state.data.settings,\n ...normalizeUserSettings(payload),\n },\n },\n apiResponse: {\n type: null,\n message: null,\n },\n }),\n\n [actions.fetchUserSettingsFailed]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n apiResponse: {\n type: messageType.error,\n message: payload,\n },\n }),\n\n [actions.updateTurnOffCommittees]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n settings: normalizeTurnOffCommittees(payload, state),\n },\n }),\n\n [actions.turnOffCommitteeSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n settings: normalizeTurnOffCommittee(payload, state),\n },\n }),\n\n [actions.turnOnCommitteeSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n settings: normalizeTurnOnCommittee(payload, state),\n },\n }),\n\n [actions.updateUserEmailSettingAllCommitteesSucceeded]: (\n state,\n { payload },\n ) => ({\n ...state,\n data: {\n ...state.data,\n settings: normalizeEmailSetting(payload, state),\n },\n }),\n\n [combineActions(actions.fetchRecentSearches, actions.updateRecentSearches)]: (\n state,\n ) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n }),\n\n [combineActions(\n actions.fetchRecentSearchesSucceeded,\n actions.updateRecentSearchesSucceeded,\n )]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n ...state.data,\n recentSearches: normalizeRecentSearches(payload.history),\n },\n }),\n\n [combineActions(\n actions.fetchRecentSearchesFailed,\n actions.updateRecentSearchesFailed,\n )]: (state) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n }),\n\n [actions.decreaseNumberOfUnseenNotifications]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n role: {\n ...state.data.role,\n [payload]: {\n ...state.data.role[payload],\n unseenNotifications: state.data.role[payload].unseenNotifications - 1,\n },\n },\n },\n }),\n [markAllNotificationsAsSeenSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n role: {\n ...state.data.role,\n [payload]: {\n ...state.data.role[payload],\n unseenNotifications: 0,\n },\n },\n },\n }),\n};\nexport default handleActions(actionHandlers, initialState);\n","export function normalizeCommittees(committees, previousCommittees) {\n const newCommittees = committees.reduce((acc, committee) => {\n acc[committee.committee] = {\n id: committee.committee,\n };\n\n return acc;\n }, {});\n\n return {\n ...newCommittees,\n // ...previousCommittees,\n };\n}\n\nexport function normalizeAssociatedCommittees(parentCommittee, state) {\n let internationalCommittees = [];\n\n parentCommittee.organizationUnits.forEach((unit) => {\n unit.subCommittees.forEach((subCommittee) => {\n internationalCommittees.push({\n name: subCommittee.id,\n description: subCommittee.title,\n parent: unit.committee.id,\n });\n });\n unit.workGroups.forEach((subCommittee) => {\n internationalCommittees.push({\n name: subCommittee.id,\n description: subCommittee.title,\n parent: unit.committee.id,\n });\n });\n\n internationalCommittees.push({\n name: unit.committee.id,\n description: unit.committee.title,\n parent: null,\n });\n });\n\n return {\n ...state,\n [parentCommittee.committee.id]: {\n ...state[parentCommittee.committee.id],\n title: parentCommittee.committee.title,\n internationalCommittees: internationalCommittees,\n },\n };\n}\n\nexport function normalizeCommitteesList(committees) {\n return committees.map((current) => {\n let previous = {\n name: current.name,\n value: current.name,\n description: current.description,\n };\n\n return previous;\n });\n}\n","import { handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport {\n normalizeAssociatedCommittees,\n normalizeCommittees,\n normalizeCommitteesList,\n} from \"./normalizer\";\nimport { messageType } from \"../../components/common/form/message-box/MessageBox\";\n\nconst initialState = {\n isFetching: false,\n isFetched: false,\n data: {},\n selectedCommittee: null,\n apiResponse: {\n message: null,\n type: null,\n },\n};\n\nconst actionHandlers = {\n [actions.getNationalCommittees]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.getNationalCommitteesSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: normalizeCommittees(payload.role, state.data),\n }),\n [actions.getNationalCommitteesFailed]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n apiResponse: {\n type: messageType.error,\n message: payload,\n },\n }),\n [actions.setSelectedNationalCommittee]: (state, { payload }) => ({\n ...state,\n selectedCommittee: payload.toUpperCase(),\n }),\n [actions.getAssociatedCommittees]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.getAssociatedCommitteesSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: normalizeAssociatedCommittees(payload.result, state.data),\n }),\n [actions.getAssociatedCommitteesFailed]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n apiResponse: {\n type: messageType.error,\n message: payload,\n },\n }),\n [actions.getCommitteesList]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.getCommitteesListSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: normalizeCommitteesList(payload.result, state.data),\n }),\n [actions.getCommitteesListFailed]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n apiResponse: {\n type: messageType.error,\n message: payload,\n },\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nexport const GET_COMMITTEE_MEMBERS = \"MEMBERS/get_committee_members\";\nexport const GET_COMMITTEE_MEMBERS_SUCCEEDED =\n \"MEMBERS/get_committee_members_succeeded\";\nexport const GET_COMMITTEE_MEMBERS_FAILED =\n \"MEMBERS/get_committee_members_failed\";\n\nexport const getCommitteeMembers = createAction(GET_COMMITTEE_MEMBERS);\nexport const getCommitteeMembersSucceeded = createAction(\n GET_COMMITTEE_MEMBERS_SUCCEEDED,\n);\nexport const getCommitteeMembersFailed = createAction(\n GET_COMMITTEE_MEMBERS_FAILED,\n);\n\nexport const SET_MEMBER_ACTIVE_STATE = \"MEMBERS/set_active_state\";\nexport const SET_MEMBER_ACTIVE_STATE_SUCCEEDED =\n \"MEMBERS/set_active_state_succeeded\";\nexport const SET_MEMBER_ACTIVE_STATE_FAILED = \"MEMBERS/set_active_state_failed\";\n\nexport const setMemberActiveState = createAction(SET_MEMBER_ACTIVE_STATE);\nexport const setMemberActiveStateSucceeded = createAction(\n SET_MEMBER_ACTIVE_STATE_SUCCEEDED,\n);\nexport const setMemberActiveStateFailed = createAction(\n SET_MEMBER_ACTIVE_STATE_FAILED,\n);\n","import { reverseTransformCommitteeName } from \"../../utils/transform\";\nimport { roleType } from \"../../utils/constants\";\n\nexport function normalizeMembers(data) {\n return data.users.reduce((previous, current) => {\n const roleInCommittee = current.role.find(\n (role) => role.committee === data.committeeId,\n );\n const member = {\n userID: current.id,\n name: current.name,\n email: current.email,\n phone: current.phone,\n work: current.company,\n photo: current.profileImage,\n linkedIn: current.linkedIn,\n lastActivityDate: current.lastActivityDate || current.lastLoginDate,\n dslist: current.role.map((role) =>\n reverseTransformCommitteeName(role.committee),\n ),\n isConsultant: current.role.some(\n (role) =>\n role.committee === data.committeeId &&\n role.role === roleType.consultant,\n ),\n isChairman: current.role.some(\n (role) =>\n role.committee === data.committeeId &&\n role.role === roleType.chairman,\n ),\n isProfessional: current.role.some(\n (role) =>\n role.committee === data.committeeId &&\n role.role === roleType.professional,\n ),\n memberSince: roleInCommittee ? roleInCommittee.memberSince : \"\",\n role: current.role,\n isActive: current.isActive,\n };\n\n previous[data.committeeId]\n ? previous[data.committeeId].push(member)\n : (previous[data.committeeId] = [member]);\n\n return previous;\n }, {});\n}\n\nexport function setActiveState(data, userId, state) {\n return Object.keys(data).reduce(\n (acc, cur) => ({\n ...acc,\n [cur]: [...data[cur]].map((m) => ({\n ...m,\n isActive: m.userID === userId ? state : m.isActive,\n })),\n }),\n {},\n );\n}\n","import { handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport { normalizeMembers, setActiveState } from \"./normalizer\";\n\nconst initialState = {\n isFetching: true,\n isFetched: false,\n data: {},\n errorMessage: null,\n};\n\nconst actionHandlers = {\n [actions.getCommitteeMembers]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.getCommitteeMembersSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n ...state.data,\n ...normalizeMembers(payload),\n },\n }),\n [actions.getCommitteeMembersFailed]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n errorMessage: payload,\n }),\n [actions.setMemberActiveStateSucceeded]: (state, { payload }) => ({\n ...state,\n data: setActiveState(state.data, payload.userId, payload.state),\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nexport const GET_EMAILS_FREQUENCY = \"SETTINGS/get_emails_frequency\";\nexport const GET_EMAILS_FREQUENCY_SUCCEEDED =\n \"SETTINGS/get_emails_frequency_succeeded\";\nexport const GET_EMAILS_FREQUENCY_FAILED =\n \"SETTINGS/get_emails_frequency_failed\";\n\nexport const getEmailsFrequency = createAction(GET_EMAILS_FREQUENCY);\nexport const getEmailsFrequencySucceeded = createAction(\n GET_EMAILS_FREQUENCY_SUCCEEDED,\n);\nexport const getEmailsFrequencyFailed = createAction(\n GET_EMAILS_FREQUENCY_FAILED,\n);\n","import { handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport { messageType } from \"../../components/common/form/message-box/MessageBox\";\n\nconst initialState = {\n isFetching: false,\n isFetched: true,\n data: [],\n apiResponse: {\n message: null,\n type: null,\n },\n};\n\nconst actionHandlers = {\n [actions.getEmailsFrequency]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.getEmailsFrequencySucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n emailsFrequencies: [...payload],\n },\n apiResponse: {\n message: null,\n type: null,\n },\n }),\n\n [actions.getEmailsFrequencyFailed]: (state, { payload }) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n apiResponse: {\n message: payload,\n type: messageType.error,\n },\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst FILTER_DOCUMENTS_SUCCEEDED = \"DOCUMENT/filter_documents_succeeded\";\nconst FILTER_DOCUMENTS_FAILED = \"DOCUMENT/filter_documents_failed\";\nconst SEARCH_FILTER_DOCUMENTS_REQUEST =\n \"DOCUMENT/search_filter_documents_request\";\n\nconst EDIT_DOCUMENT_REQUEST = \"DOCUMENT/edit_document_request\";\nconst EDIT_DOCUMENT_SUCCEEDED = \"DOCUMENT/edit_document_succeeded\";\nconst EDIT_DOCUMENT_FAILED = \"DOCUMENT/edit_document_failed\";\nconst EDIT_DOCUMENT_DATA = \"DOCUMENT/edit_document_data\";\n\nconst INIT_DOCUMENTS = \"DOCUMENT/init_documents\";\nconst RELOAD_DOCUMENTS = \"DOCUMENT/reload_documents\";\n\nconst DELETE_DOCUMENT_REQUEST = \"DOCUMENT/delete_document_request\";\nconst DELETE_DOCUMENT_SUCCEEDED = \"DOCUMENT/delete_document_succeeded\";\nconst DELETE_DOCUMENT_FAILED = \"DOCUMENT/delete_document_failed\";\n\nconst UPLOAD_SELECTED_DOCUMENTS = \"DOCUMENT/upload_selected_documents\";\nconst UPLOAD_FILE = \"DOCUMENT/upload_file\";\n\nconst DOWNLOAD_ZIP_PACKAGE = \"DOCUMENTS/download_zip_package\";\nconst DOWNLOAD_ZIP_PACKAGE_FINISHED = \"DOCUMENTS/download_zip_package_finished\";\n\nexport const SKIP_FILE_TO_UPLOAD = \"DOCUMENT/skip_file_to_upload\";\nexport const CANCEL_REMAINING_FILES_TO_UPLOAD =\n \"DOCUMENT/cancel_remaining_files_to_upload\";\n\nconst PULL_NEXT_DOCUMENTS_PAGE = \"DOCUMENT/pull_next_documents_page\";\nconst PULL_DOCUMENTS_PAGE_SUCCEEDED = \"DOCUMENT/pull_documents_page_succeeded\";\nconst PULL_DOCUMENTS_PAGE_FAILED = \"DOCUMENT/pull_documents_page_failed\";\n\nconst FETCH_RELATED_RESOURCES = \"DOCUMENT/fetch_related_resources\";\nconst FETCH_RELATED_RESOURCES_FINISHED =\n \"DOCUMENT/fetch_related_resources_finished\";\n\nconst COPY_DOCUMENT_TO_DIFFERENT_COMMITTEE =\n \"DOCUMENT/copy_document_to_different_committee\";\n\nexport const pullNextDocumentsPageRequest = createAction(\n PULL_NEXT_DOCUMENTS_PAGE,\n);\nexport const pullDocumentsPageSucceeded = createAction(\n PULL_DOCUMENTS_PAGE_SUCCEEDED,\n);\nexport const pullDocumentsPageFailed = createAction(PULL_DOCUMENTS_PAGE_FAILED);\n\nexport const copyDocumentToDifferentCommittee = createAction(\n COPY_DOCUMENT_TO_DIFFERENT_COMMITTEE,\n);\n\nexport const filterDocumentsSucceeded = createAction(\n FILTER_DOCUMENTS_SUCCEEDED,\n);\nexport const filterDocumentsFailed = createAction(FILTER_DOCUMENTS_FAILED);\nexport const searchFilterDocumentsRequest = createAction(\n SEARCH_FILTER_DOCUMENTS_REQUEST,\n);\n\nexport const editDocumentRequest = createAction(EDIT_DOCUMENT_REQUEST);\nexport const editDocumentSucceeded = createAction(EDIT_DOCUMENT_SUCCEEDED);\nexport const editDocumentFailed = createAction(EDIT_DOCUMENT_FAILED);\n\nexport const initDocuments = createAction(INIT_DOCUMENTS);\nexport const reloadDocuments = createAction(RELOAD_DOCUMENTS);\n\nexport const editDocumentData = createAction(EDIT_DOCUMENT_DATA);\n\nexport const deleteDocumentRequest = createAction(DELETE_DOCUMENT_REQUEST);\nexport const deleteDocumentSucceeded = createAction(DELETE_DOCUMENT_SUCCEEDED);\nexport const deleteDocumentFailed = createAction(DELETE_DOCUMENT_FAILED);\n\nexport const uploadSelectedDocuments = createAction(UPLOAD_SELECTED_DOCUMENTS);\nexport const uploadFile = createAction(UPLOAD_FILE);\nexport const skipFileToUpload = createAction(SKIP_FILE_TO_UPLOAD);\nexport const cancelRemainingFilesToUpload = createAction(\n CANCEL_REMAINING_FILES_TO_UPLOAD,\n);\n\nexport const downloadZipPackage = createAction(DOWNLOAD_ZIP_PACKAGE);\nexport const downloadZipPackageFinished = createAction(\n DOWNLOAD_ZIP_PACKAGE_FINISHED,\n);\n\nexport const fetchRelatedResources = createAction(FETCH_RELATED_RESOURCES);\nexport const fetchRelatedResourcesFinished = createAction(\n FETCH_RELATED_RESOURCES_FINISHED,\n);\n\nconst SET_FILTER_VALUE = \"FILTER/set_filter_value\";\n\nconst RESET_FILTERS = \"FILTER/reset_filters\";\nconst RESET_FILTERS_FORM = \"FILTER/reset_filters_form\";\nconst ADD_FILTERS_TO_URL = \"FILTERS/add_to_url\";\nconst SET_DOCUMENTS_ARE_FILTERED = \"FILTER/set_documents_are_filtered\";\n\nexport const setFilterValue = createAction(SET_FILTER_VALUE);\nexport const resetFilters = createAction(RESET_FILTERS);\nexport const resetFiltersForm = createAction(RESET_FILTERS_FORM);\nexport const addFiltersToUrl = createAction(ADD_FILTERS_TO_URL);\nexport const setDocumentsAreFiltered = createAction(SET_DOCUMENTS_ARE_FILTERED);\n\nconst SET_SORTING_TYPE = \"SORTING/set_type\";\nexport const setSortingType = createAction(SET_SORTING_TYPE);\n\nconst SET_MODAL_STATE = \"MODAL/set_state\";\nconst RESET_MODAL_STATE = \"MODAL/reset_state\";\n\nexport const setModalState = createAction(SET_MODAL_STATE);\nexport const resetModalState = createAction(RESET_MODAL_STATE);\n","export const isIE = /*@cc_on!@*/ false || !!document.documentMode;\n","import { transformCommitteeName } from \"./transform\";\nimport { isIE } from \"./browserDetection\";\n\nexport const PAGE_TYPES = {\n DEADLINES: \"deadlines\",\n MEETING: \"meetings\",\n NOTIFICATION: \"notifications\",\n COMMENT: \"comments\",\n NOTIFICATIONS_DEADLINE: \"notifications/deadline\",\n};\n\n// TODO: Need to add reference modals here?\nexport const DIALOG_TYPES = {\n CREATE_DEADLINE_COMMENT: \"CreateDeadlineComment\",\n EDIT_COMMENT: \"EditComment\",\n CREATE_DEADLINE: \"CreateDeadline\",\n EDIT_DEADLINE: \"EditDeadline\",\n MEETING_DETAILS: \"MeetingDetails\",\n DEADLINE_DETAILS: \"DeadlineDetails\",\n EDIT_MEETING: \"EditMeeting\",\n CREATE_MEETING: \"CreateMeeting\",\n // RELATED_CONTENT: \"RelatedContent\",\n CREATE_NOTIFICATION: \"CreateNotification\",\n EDIT_NOTIFICATION: \"EditNotification\",\n NOTIFICATION_DETAILS: \"NotificationDetails\",\n\n SEARCH_COMMITTEE: \"SearchCommittee\",\n};\n\nexport const generateDialogLinkForPage = (\n nationalCommittee,\n pageType,\n dialogType,\n id,\n parent,\n option,\n) => {\n let url = `/${transformCommitteeName(\n nationalCommittee,\n )}/${pageType}?show_dialog=${dialogType}`;\n if (id) url += `&resource=${id}`;\n if (parent) url += `&parent=${parent}`;\n if (option) url += `&option=${option}`;\n return url;\n};\n\nexport const generateDialogLink = (dialogType, id, parent, option) => {\n let url = `?show_dialog=${dialogType}`;\n if (id) url += `&resource=${id}`;\n if (parent) url += `&parent=${parent}`;\n if (option) url += `&option=${option}`;\n return url;\n};\n\nexport const generateCloseDialogLink = () => {\n return \"?\";\n};\n\nexport const generateNotificationDeadlineLink = (\n nationalCommittee,\n actionType,\n id,\n) => {\n if (!id && !actionType) {\n return `/${transformCommitteeName(nationalCommittee)}/${\n PAGE_TYPES.NOTIFICATIONS_DEADLINE\n }`;\n }\n if (id) {\n return `/${transformCommitteeName(nationalCommittee)}/${\n PAGE_TYPES.NOTIFICATIONS_DEADLINE\n }/${id}/${actionType}`;\n }\n return `/${transformCommitteeName(nationalCommittee)}/${\n PAGE_TYPES.NOTIFICATIONS_DEADLINE\n }/${actionType}`;\n};\n\nexport const generateCommentLink = (nationalCommittee, actionType, id) => {\n if (!id && !actionType) {\n return `/${transformCommitteeName(nationalCommittee)}/${\n PAGE_TYPES.DEADLINES\n }`;\n }\n if (id) {\n return `/${transformCommitteeName(nationalCommittee)}/${\n PAGE_TYPES.DEADLINES\n }/${id}/${actionType}`;\n }\n return `/${transformCommitteeName(nationalCommittee)}/${\n PAGE_TYPES.DEADLINES\n }/${actionType}`;\n};\n\nexport const generateDocumentsSummaryLink = (nationalCommittee, config) => {\n let url = new URL(\n `/${transformCommitteeName(nationalCommittee)}/documentssummary`,\n process.env.REACT_APP_OPENID_REDIRECT_URL,\n );\n\n const hash = btoa(JSON.stringify(config));\n return `${url.pathname}#${hash}`;\n};\n\nexport const generateLink = (nationalCommittee, page) => {\n return `${transformCommitteeName(nationalCommittee)}/${page}`;\n};\n\nconst linkPatterns = [\n {\n rule: () => /^(ISO|CEN).*/gm,\n pattern: \"{{committee}} N{{docId}} {{title}}.{{extension}}\",\n },\n {\n rule: () => /^(IEC).*/gm,\n pattern: \"{{committee}} {{docId}} {{title}}.{{extension}}\",\n },\n {\n rule: () => /^(CLC).*/gm,\n pattern: \"{{committee}} {{title}}.{{extension}}\",\n },\n { rule: () => /.*/gm, pattern: \"{{title}}.{{extension}}\" },\n];\n\nexport function getBinaryFileDownloadUri(document) {\n if (!document || !document.references || document.references.length === 0)\n return \"\";\n\n var committeeReference = document.metadata.committeeReference || \"\";\n\n var pattern = linkPatterns.find(\n (p) => p.rule().exec(committeeReference) != null,\n );\n\n if (!pattern) return document.references[0].fileName;\n\n const fileName = pattern.pattern\n .replace(\n \"{{committee}}\",\n document.metadata.committeeReference\n .replace(/ /gm, \"\")\n .replace(/\\//gm, \"-\"),\n )\n .replace(\"{{docId}}\", document.metadata.documentID)\n .replace(\n \"{{title}}\",\n document.metadata.documentTitle.trim().substring(0, 50).trim(),\n )\n .replace(\"{{extension}}\", document.references[0].fileName.split(\".\").pop());\n // .replace(\"{{fileName}}\", document.documents[0].fileName);\n\n let safeFileName = fileName.replace(/[/\\\\;,:]/gm, \"_\");\n\n if (safeFileName.endsWith(\"~pdf\")) {\n safeFileName = safeFileName.replace(\"~pdf\", \".pdf\");\n }\n\n const url = new URL(\n \"/api/files/download/binary\",\n process.env.REACT_APP_OPENID_AUTHORITY,\n );\n url.searchParams.set(\"fileName\", safeFileName);\n url.searchParams.set(\"uri\", document.references[0].uri);\n if (isIE) {\n url.searchParams.set(\"noinline\", true);\n }\n if (document.metadata.organization) {\n url.searchParams.set(\"org\", document.metadata.organization);\n }\n\n return url.href;\n}\n","import { getBinaryFileDownloadUri } from \"../../utils/dynamicLink\";\nimport {\n makeOtherCommitteeIdIfEmpty,\n normalizeDate,\n removeWrongCharacters,\n} from \"../../utils/transform\";\n\nexport function mergeDocuments(state, data) {\n const prevDocuments =\n state.data.results && state.data.results.hasOwnProperty(data.id)\n ? state.data.results[data.id]\n : [];\n\n const prevDocumentsUrls = prevDocuments.map(\n (prevDocument) => prevDocument.url,\n );\n\n const newDocuments = data.results\n .map(normalizeDocument)\n .filter((document) => !prevDocumentsUrls.includes(document.url));\n\n return {\n ...state.results,\n [data.id]: [...prevDocuments, ...newDocuments],\n };\n}\n\nexport function normalizeDocuments(data) {\n return data.results\n .filter((d) => !!d)\n .reduce((previous, current) => {\n const document = normalizeDocument(current);\n\n previous[data.id]\n ? previous[data.id].push(document)\n : (previous[data.id] = [document]);\n\n return previous;\n }, {});\n}\n\nexport function normalizeListOfDocuments(responses) {\n return responses\n .filter((d) => !!d)\n .map((response) =>\n normalizeDocument({\n ...response.data,\n }),\n );\n}\n\nexport function normalizeDocument(document) {\n // TODO: THIS FILE WOULD NEED A HUGE REFACTORING ...\n\n function buildDownloadLink(document) {\n if (!document.references[0]) return \"\";\n\n if (document.references[0].link) return document.references[0].link;\n\n return getBinaryFileDownloadUri(document);\n }\n\n function isLink(document) {\n if (!document.references[0]) return false;\n\n return document.references[0].link ? true : false;\n }\n\n function hasDocumentExpired(document) {\n try {\n const data = document.metadata;\n if (\n data.documentType === \"90\" &&\n data.documentSubType === \"90\" &&\n data.documentDeadline\n ) {\n const now = new Date();\n return new Date(data.documentDeadline) < now;\n }\n } catch (e) {\n console.error(e);\n }\n\n return false;\n }\n\n if (document.metadata) {\n return {\n committee: makeOtherCommitteeIdIfEmpty(\n document.metadata.committeeReference,\n ),\n committeeID: document.metadata.committeeID,\n id: document.metadata.documentID,\n filename: document.references[0] ? document.references[0].fileName : \"\",\n title: removeWrongCharacters(document.metadata.documentTitle),\n description: document.metadata.documentDescription,\n action: document.metadata.documentAction,\n type: document.metadata.documentType,\n dueDate: normalizeDate(document.metadata.documentDeadline),\n date: normalizeDate(document.metadata.documentCreationDate),\n // TODO: URL or URI?\n url: document.metadata.notificationUri,\n uri: document.metadata.notificationUri,\n downloadUrl: buildDownloadLink(document),\n notifyOnUpdate: document.metadata.notifyInSummation,\n isLink: isLink(document),\n accessForbidden: hasDocumentExpired(document),\n relatedContent: null,\n // referenceType: document.type,\n };\n }\n\n return document;\n}\n\nexport function updateEditedDocument(documents, editedDocument) {\n return documents.map((document) =>\n document.url === editedDocument.metadata.notificationUri\n ? normalizeDocument(editedDocument)\n : document,\n );\n}\n\nexport function removeReferenceById(referencesPerType, id) {\n const newReferencesPerType = { ...referencesPerType };\n for (const key in newReferencesPerType) {\n newReferencesPerType[key] = newReferencesPerType[key].filter(\n (doc) => doc.uri !== id,\n );\n }\n return newReferencesPerType;\n}\n\nexport function updateRelatedResources(state, payload) {\n const relatedContent = payload.results;\n const newState = {};\n\n if (!state.data.results) return newState;\n const keys = Object.keys(state.data.results);\n\n keys.forEach((k) => {\n newState[k] = state.data.results[k].map((d) => {\n if (d.url === payload.documentUri) {\n return { ...d, relatedContent: relatedContent };\n }\n return { ...d };\n });\n });\n\n return newState;\n}\n","import { handleActions, combineActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport {\n normalizeDocuments,\n mergeDocuments,\n updateRelatedResources,\n} from \"./normalizers\";\n\nconst initialState = {\n isFetching: false,\n isFetched: false,\n data: {\n results: null,\n pagination: {\n pagesLoaded: 0,\n pagesToLoad: 0,\n },\n },\n filters: {\n type: null,\n action: null,\n committee: null,\n title: \"\",\n documentsAreFiltered: false,\n },\n sortingType: null,\n modal: {\n isOpen: false,\n contentType: null,\n content: null,\n },\n filesCurrentlyDownloaded: [],\n};\n\nconst actionHandlers = {\n [combineActions(actions.initDocuments, actions.reloadDocuments)]: (\n state,\n ) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n data: {\n pagination: {\n pagesLoaded: 0,\n pagesToLoad: 0,\n },\n results: null,\n },\n }),\n [actions.pullNextDocumentsPageRequest]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.pullDocumentsPageSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n results: mergeDocuments(state, payload),\n pagination: {\n pagesLoaded: state.data.pagination.pagesLoaded + 1,\n pagesToLoad: payload.pagesToLoad,\n },\n },\n }),\n [actions.fetchRelatedResourcesFinished]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n results: updateRelatedResources(state, payload),\n },\n }),\n [actions.filterDocumentsSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n results: normalizeDocuments(payload),\n },\n }),\n [actions.deleteDocumentSucceeded]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.setDocumentsAreFiltered]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n documentsAreFiltered: payload.value,\n },\n }),\n [actions.setFilterValue]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n ...payload,\n },\n }),\n\n [actions.resetFilters]: (state) => ({\n ...state,\n filters: {\n ...state.filters,\n title: \"\",\n action: null,\n type: null,\n committee: null,\n },\n }),\n [actions.resetFiltersForm]: (state) => ({\n ...state,\n filters: {\n ...state.filters,\n title: \"\",\n },\n }),\n [actions.setSortingType]: (state, { payload }) => ({\n ...state,\n sortingType: payload.value,\n }),\n [actions.editDocumentData]: (state, { payload }) => ({\n ...state,\n modal: {\n ...state.modal,\n content: {\n ...state.modal.content,\n ...payload,\n },\n },\n }),\n [actions.setModalState]: (state, { payload }) => ({\n ...state,\n modal: {\n ...state.modal,\n ...payload,\n },\n }),\n [actions.resetModalState]: (state) => ({\n ...state,\n modal: {\n isOpen: false,\n contentType: null,\n content: null,\n },\n }),\n [actions.downloadZipPackage]: (state, { payload }) => ({\n ...state,\n filesCurrentlyDownloaded: [...state.filesCurrentlyDownloaded, payload.id],\n }),\n [actions.downloadZipPackageFinished]: (state, { payload }) => ({\n ...state,\n filesCurrentlyDownloaded: state.filesCurrentlyDownloaded.filter(\n (d) => d !== payload,\n ),\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst INIT_DEADLINES = \"DEADLINES/init_deadlines\";\n\nexport const GET_DEADLINES = \"DEADLINES/get_deadlines\";\nexport const GET_DEADLINES_SUCCEEDED = \"DEADLINES/get_deadlines_succeeded\";\nexport const GET_DEADLINES_FAILED = \"DEADLINES/get_deadlines_failed\";\nexport const SET_DEADLINE = \"DEADLINES/set_deadline\";\nexport const SET_SELECTED_URI = \"DEADLINES/SET_SELECTED_URI\";\nexport const DOWNLOAD_DEADLINE_DOCUMENTS =\n \"DEADLINES/download_deadline_documents\";\n\nconst FETCH_DEADLINE = \"DEADLINES/fetch_deadline\";\nconst FETCH_DEADLINE_SUCCEEDED = \"DEADLINES/fetch_deadline_succeeded\";\nconst FETCH_DEADLINE_FAILED = \"DEADLINES/fetch_deadline_failed\";\n\nconst FETCH_UPDATED_DEADLINE_REFERENCE =\n \"DEADLINE_FORM/fetch_updated_reference\";\nconst FETCH_UPDATED_DEADLINE_REFERENCE_SUCCEEDED =\n \"DEADLINE_FORM/fetch_updated_reference_succeeded\";\nconst FETCH_UPDATED_DEADLINE_REFERENCE_FAILED =\n \"DEADLINE_FORM/fetch_updated_reference_failed\";\n\nconst FETCH_CURRENT_DEADLINE_REFERENCES =\n \"DEADLINES/fetch_current_deadline_references\";\nconst FETCH_CURRENT_DEADLINE_REFERENCES_SUCCEEDED =\n \"DEADLINES/fetch_current_deadline_references_succeeded\";\nconst FETCH_CURRENT_DEADLINE_REFERENCES_FAILED =\n \"DEADLINES/fetch_current_deadline_references_failed\";\n\nconst REMOVE_DEADLINE_REFERENCE = \"DEADLINE_FORM/remove_deadline_document\";\n\nconst DELETE_DEADLINE = \"DEADLINES/delete_deadline\";\nconst DELETE_DEADLINE_SUCCEEDED = \"DEADLINES/delete_deadline_succeeded\";\nconst DELETE_DEADLINE_FAILED = \"DEADLINES/delete_deadline_failed\";\n\nconst CREATE_DEADLINE = \"DEADLINES/create_deadline\";\nconst CREATE_DEADLINE_SUCCEEDED = \"DEADLINES/create_deadline_succeeded\";\nconst CREATE_DEADLINE_FAILED = \"DEADLINES/create_deadline_failed\";\n\nconst UPDATE_DEADLINE = \"DEADLINES/update_deadline\";\nconst UPDATE_DEADLINE_SUCCEEDED = \"DEADLINES/update_deadline_succeeded\";\nconst UPDATE_DEADLINE_FAILED = \"DEADLINES/update_deadline_failed\";\n\nexport const CREATE_DEADLINE_FROM_REFERENCE = \"DEADLINE/create_from_reference\";\nconst SET_FORM_SELECTED_DEADLINE_REFERENCE =\n \"DEADLINE_FORM/set_form_selected_references\";\nconst SET_FORM_SELECTED_DEADLINE_REFERENCE_MEETINGS =\n \"DEADLINE_FORM/set_form_selected_references_meetings\";\nconst SET_FORM_SELECTED_DEADLINE_REFERENCE_DOCUMENTS =\n \"DEADLINE_FORM/set_form_selected_references_documents\";\nconst ADD_FORM_DEADLINE_REFERENCE = \"DEADLINE_FORM/add_form_references\";\nconst ADD_GENERAL_DEADLINE_INFORMATION = \"DEADLINE_FORM/add_general_info\";\n\nconst ADD_DEADLINE_REFERENCE = \"DEADLINES/add_deadline_references\";\nconst SET_DEADLINE_REFERENCES = \"DEADLINES/set_deadline_references\";\nconst UPDATE_DEADLINE_REFERENCE_INFO =\n \"DEADLINES/update_deadline_reference_info\";\n\nconst RESET_DEADLINES_FILTERS = \"FILTER/reset_deadlines_filters\";\n\nconst PULL_DEADLINES_PAGE_REQUEST = \"DEADLINES/pull_deadlines_page_request\";\nconst PULL_DEADLINES_PAGE_SUCCEEDED = \"DEADLINES/pull_deadlines_page_success\";\nconst PULL_DEADLINES_PAGE_FAILED = \"DEADLINES/pull_deadlines_page_failed\";\n\nconst SET_DEADLINES_FILTER_VALUE = \"FILTER/set_deadlines_filter_values\";\n\nconst GET_DEADLINE_COMMITTEES = \"DEADLINES/get_deadline_committees\";\n\nconst FETCH_DEADLINES_REFERENCES = \"DEADLINES/fetch_deadline_references\";\nconst FETCH_DEADLINES_REFERENCES_SUCCEEDED =\n \"DEADLINES/fetch_deadline_references_succeeded\";\nconst FETCH_DEADLINES_REFERENCES_FAILED =\n \"DEADLINES/fetch_deadline_references_failed\";\n\nconst CLEAR_DEADLINE = \"DEADLINES/clear_deadline\";\n\nconst INIT_DEADLINE_FORM_WITH_GENERAL_INFO_DATA =\n \"DEADLINE_FORM/init_with_general_info_data\";\nconst CLEAR_DEADLINE_FORM = \"DEADLINE_FORM/clear\";\n\nconst INIT_AGG_DEADLINES = \"DEADLINES/init_agg_deadlines\";\nconst PULL_AGG_DEADLINES_PAGE = \"DEADLINES/pull_agg_deadlines_page\";\n\nconst UPDATE_IS_REGISTERED = \"DEADLINES/update_is_registered\";\nconst UPDATE_IS_REGISTERED_SUCCEEDED =\n \"DEADLINES/update_is_registered_succeeded\";\nconst UPDATE_IS_REGISTERED_FAILED = \"DEADLINES/update_is_registered_failed\";\n\nexport const initDeadlines = createAction(INIT_DEADLINES);\n\nexport const fetchDeadline = createAction(FETCH_DEADLINE);\nexport const fetchDeadlineSucceeded = createAction(FETCH_DEADLINE_SUCCEEDED);\nexport const fetchDeadlineFailed = createAction(FETCH_DEADLINE_FAILED);\n\nexport const fetchUpdatedDeadlineReference = createAction(\n FETCH_UPDATED_DEADLINE_REFERENCE,\n);\nexport const fetchUpdatedDeadlineReferenceSucceeded = createAction(\n FETCH_UPDATED_DEADLINE_REFERENCE_SUCCEEDED,\n);\nexport const fetchUpdatedDeadlineReferenceFailed = createAction(\n FETCH_UPDATED_DEADLINE_REFERENCE_FAILED,\n);\n\nexport const fetchCurrentDeadlineReferences = createAction(\n FETCH_CURRENT_DEADLINE_REFERENCES,\n);\nexport const fetchCurrentDeadlineReferencesSucceeded = createAction(\n FETCH_CURRENT_DEADLINE_REFERENCES_SUCCEEDED,\n);\nexport const fetchCurrentDeadlineReferencesFailed = createAction(\n FETCH_CURRENT_DEADLINE_REFERENCES_FAILED,\n);\n\nexport const setDeadlineData = createAction(SET_DEADLINE);\nexport const setSelectedUri = createAction(SET_SELECTED_URI);\n\nexport const downloadDeadlineDocuments = createAction(\n DOWNLOAD_DEADLINE_DOCUMENTS,\n);\nexport const removeReferenceFromDeadline = createAction(\n REMOVE_DEADLINE_REFERENCE,\n);\n\nexport const deleteDeadline = createAction(DELETE_DEADLINE);\nexport const deleteDeadlineSucceeded = createAction(DELETE_DEADLINE_SUCCEEDED);\nexport const deleteDeadlineFailed = createAction(DELETE_DEADLINE_FAILED);\n\nexport const createDeadline = createAction(CREATE_DEADLINE);\nexport const createDeadlineSucceeded = createAction(CREATE_DEADLINE_SUCCEEDED);\nexport const createDeadlineFailed = createAction(CREATE_DEADLINE_FAILED);\n\nexport const createDeadlineFromReference = createAction(\n CREATE_DEADLINE_FROM_REFERENCE,\n);\nexport const setFormSelectedDeadlineReferences = createAction(\n SET_FORM_SELECTED_DEADLINE_REFERENCE,\n);\nexport const setFormSelectedDeadlineReferencesMeetings = createAction(\n SET_FORM_SELECTED_DEADLINE_REFERENCE_MEETINGS,\n);\nexport const setFormSelectedDeadlineReferencesDocuments = createAction(\n SET_FORM_SELECTED_DEADLINE_REFERENCE_DOCUMENTS,\n);\nexport const addFormDeadlineReferences = createAction(\n ADD_FORM_DEADLINE_REFERENCE,\n);\nexport const addGeneralDeadlineInformation = createAction(\n ADD_GENERAL_DEADLINE_INFORMATION,\n);\n\nexport const addDeadlineReferences = createAction(ADD_DEADLINE_REFERENCE);\nexport const setDeadlineReferences = createAction(SET_DEADLINE_REFERENCES);\nexport const updateDeadlineReferenceInfo = createAction(\n UPDATE_DEADLINE_REFERENCE_INFO,\n);\n\nexport const resetDeadlinesFilters = createAction(RESET_DEADLINES_FILTERS);\n\nexport const setDeadlinesFilterValue = createAction(SET_DEADLINES_FILTER_VALUE);\n\nexport const pullDeadlinesPageRequest = createAction(\n PULL_DEADLINES_PAGE_REQUEST,\n);\nexport const pullDeadlinesPageSucceeded = createAction(\n PULL_DEADLINES_PAGE_SUCCEEDED,\n);\nexport const pullDeadlinesPageFailed = createAction(PULL_DEADLINES_PAGE_FAILED);\n\nexport const fetchDeadlineReferences = createAction(FETCH_DEADLINES_REFERENCES);\nexport const fetchDeadlineReferencesSucceeded = createAction(\n FETCH_DEADLINES_REFERENCES_SUCCEEDED,\n);\nexport const fetchDeadlineReferencesFailed = createAction(\n FETCH_DEADLINES_REFERENCES_FAILED,\n);\n\nexport const clearDeadline = createAction(CLEAR_DEADLINE);\n\nexport const initDeadlineFormWithGeneralInfo = createAction(\n INIT_DEADLINE_FORM_WITH_GENERAL_INFO_DATA,\n);\nexport const clearDeadlineForm = createAction(CLEAR_DEADLINE_FORM);\n\nexport const getDeadlineCommittees = createAction(GET_DEADLINE_COMMITTEES);\n\nexport const updateDeadline = createAction(UPDATE_DEADLINE);\nexport const updateDeadlineSucceeded = createAction(UPDATE_DEADLINE_SUCCEEDED);\nexport const updateDeadlineFailed = createAction(UPDATE_DEADLINE_FAILED);\n\nexport const initAggDeadlines = createAction(INIT_AGG_DEADLINES);\nexport const pullAggDeadlinesPage = createAction(PULL_AGG_DEADLINES_PAGE);\n\nexport const updateIsRegistered = createAction(UPDATE_IS_REGISTERED);\nexport const updateIsRegisteredSucceeded = createAction(\n UPDATE_IS_REGISTERED_SUCCEEDED,\n);\nexport const updateIsRegisteredFailed = createAction(\n UPDATE_IS_REGISTERED_FAILED,\n);\n","import { createAction } from \"redux-actions\";\n\nconst FETCH_COMMENTS = \"COMMENTS/fetch_comments\";\nconst FETCH_COMMENTS_SUCCEEDED = \"COMMENTS/fetch_comments_succeeded\";\nconst FETCH_COMMENTS_FAILED = \"COMMENTS/fetch_comments_failed\";\n\nconst FETCH_COMMENT = \"COMMENTS/fetch_comment\";\nconst FETCH_COMMENT_SUCCEEDED = \"COMMENTS/fetch_comment_succeeded\";\nconst FETCH_COMMENT_FAILED = \"COMMENTS/fetch_comment_failed\";\n\nconst CREATE_COMMENT = \"COMMENTS/create_comment\";\nconst CREATE_COMMENT_SUCCEEDED = \"COMMENTS/create_comment_succeeded\";\nconst CREATE_COMMENT_FAILED = \"COMMENTS/create_comment_failed\";\n\nconst UPDATE_COMMENT = \"COMMENTS/update_comment\";\nconst UPDATE_COMMENT_SUCCEEDED = \"COMMENTS/update_comment_succeeded\";\nconst UPDATE_COMMENT_FAILED = \"COMMENTS/update_comment_failed\";\n\nconst DELETE_COMMENT = \"COMMENTS/delete_comment\";\nexport const DELETE_COMMENT_SUCCEEDED = \"COMMENTS/delete_comment_succeeded\";\nconst DELETE_COMMENT_FAILED = \"COMMENTS/delete_comment_failed\";\n\nconst ATTACH_FILES_TO_COMMENT_SUCCEEDED =\n \"COMMENTS/attach_file_to_comment_succeeded\";\nconst ATTACH_FILES_TO_COMMENT_FAILED = \"COMMENTS/attach_file_to_comment_failed\";\n\nexport const fetchComments = createAction(FETCH_COMMENTS);\nexport const fetchCommentsSucceeded = createAction(FETCH_COMMENTS_SUCCEEDED);\nexport const fetchCommentsFailed = createAction(FETCH_COMMENTS_FAILED);\n\nexport const fetchComment = createAction(FETCH_COMMENT);\nexport const fetchCommentSucceeded = createAction(FETCH_COMMENT_SUCCEEDED);\nexport const fetchCommentFailed = createAction(FETCH_COMMENT_FAILED);\n\nexport const createComment = createAction(CREATE_COMMENT);\nexport const createCommentSucceeded = createAction(CREATE_COMMENT_SUCCEEDED);\nexport const createCommentFailed = createAction(CREATE_COMMENT_FAILED);\n\nexport const updateComment = createAction(UPDATE_COMMENT);\nexport const updateCommentSucceeded = createAction(UPDATE_COMMENT_SUCCEEDED);\nexport const updateCommentFailed = createAction(UPDATE_COMMENT_FAILED);\n\nexport const deleteComment = createAction(DELETE_COMMENT);\nexport const deleteCommentSucceeded = createAction(DELETE_COMMENT_SUCCEEDED);\nexport const deleteCommentFailed = createAction(DELETE_COMMENT_FAILED);\n\nconst EXPORT_COMMENTS_TO_WORD = \"COMMENTS/export_to_word\";\nexport const exportCommentsToWord = createAction(EXPORT_COMMENTS_TO_WORD);\n\nexport const attachFilesToCommentSucceeded = createAction(\n ATTACH_FILES_TO_COMMENT_SUCCEEDED,\n);\nexport const attachFilesToCommentFailed = createAction(\n ATTACH_FILES_TO_COMMENT_FAILED,\n);\n","export const getReferneceType = (type) => {\n switch (type) {\n case \"Document\":\n return \"document\";\n case \"Meeting\":\n return \"meeting\";\n case \"Deadline\":\n return \"deadline\";\n case \"Notification\":\n return \"notification\";\n default:\n return type ?? \"empty\";\n }\n};\n\nexport const referenceListToReferenceDataPerType = (references) => {\n const newReferences = {};\n\n references.forEach((reference) => {\n let tempReference;\n\n switch (reference.type) {\n case \"Document\":\n tempReference = getReferenceRes(reference);\n break;\n case \"Notification\":\n tempReference = getReferenceRes(reference);\n break;\n case \"Deadline\":\n tempReference = getReferenceRes(reference);\n break;\n case \"Meeting\":\n tempReference = getReferenceRes(reference);\n break;\n // case \"Binary\": tempReference = handleDocument(reference); break;\n // case \"Comment\": tempReference = handleDocument(reference); break;\n // case \"Vote\": tempReference = handleDocument(reference); break;\n default:\n tempReference = getReferenceRes(reference);\n break;\n }\n // const tempReference = {\n // uri: reference.url,\n // fileName: reference.filename,\n // link: reference.link,\n // type: reference.type,\n // };\n\n if (!newReferences[tempReference.type])\n newReferences[tempReference.type] = [];\n\n newReferences[tempReference.type].push(tempReference);\n });\n\n return newReferences;\n};\n\nconst getReferenceRes = (reference) => {\n return {\n uri: reference.uri ?? reference.url,\n fileName: reference.fileName,\n link: reference.link,\n type: getReferneceType(reference.type),\n realType: reference.type,\n };\n};\n\n// export const referenceObjectToArray = (references) => {\n// const newReferences = [];\n\n// for(const key in references){\n// const reference = references[key];\n\n// newReferences.push({\n// uri: reference.url,\n// fileName: reference.filename,\n// link: reference.link,\n// type: key,\n// })\n\n// // switch(key){\n// // // documents\n// // case \"binary\":\n// // newReferences.push({\n// // uri: reference.url,\n// // fileName: reference.filename,\n// // link: reference.link,\n// // type: reference.type,\n// // })\n// // break;\n// // case \"meeting\":\n// // case \"deadline\":\n// // }\n// }\n\n// return newReferences;\n// }\n","import { referenceListToReferenceDataPerType } from \"../../utils/references\";\nimport {\n normalizeDate,\n reduceCommitteeName,\n removeWrongCharacters,\n} from \"../../utils/transform\";\n\nexport const normalizeDeadlines = ({ deadlinesData, commentsStats }) => {\n const deadlines = deadlinesData.results;\n const pageStart = deadlinesData.start;\n return deadlines.reduce((previous, current) => {\n previous[current.uri] = normalizeDeadline({\n deadline: current,\n commentsStats: commentsStats[current.uri],\n });\n previous[current.uri].pageStart = pageStart;\n return previous;\n }, {});\n};\n\nexport const normalizeDeadline = ({ deadline, commentsStats = {} }) => {\n return {\n uri: deadline.uri,\n id: deadline.id,\n date: normalizeDate(deadline.actionDueDate),\n title: removeWrongCharacters(deadline.title),\n description: deadline.description,\n action: deadline.action,\n stage: deadline.stage,\n enableCommenting: deadline.enableCommenting,\n enableVoting: deadline.enableVoting,\n committee: deadline.committeeReference,\n closedForComments: deadline.closedForComments,\n committeeName: reduceCommitteeName(\n deadline.committeeReference,\n deadline.committeeReferenceTitle,\n ),\n references: deadline.references,\n referencesRawResponsePerType: referenceListToReferenceDataPerType(\n deadline.references,\n ),\n referencesPerType: {\n document: [],\n meeting: [],\n deadline: [],\n },\n comments: commentsStats ? commentsStats.numberOfComments : 0,\n isRegistered: deadline.isRegistered,\n };\n};\n\nexport const updateDeadlineOnList = (deadlines, newData) => {\n const oldDeadline = deadlines[newData.uri];\n if (!oldDeadline) {\n return deadlines;\n }\n\n var newDeadline = normalizeDeadline({\n deadline: newData,\n commentsStats: { numberOfComments: oldDeadline.comments },\n });\n\n return { ...deadlines, [newData.uri]: newDeadline };\n};\n\nexport const addCommnetToActiveDeadlineOnList = (\n deadlines,\n deadlineId,\n count,\n) => {\n let deadline = deadlines[deadlineId];\n if (!deadline) {\n return deadlines;\n }\n\n deadline.comments += count;\n if (deadline.comments < 0) deadline.comments = 0;\n return { ...deadlines, [deadlineId]: deadline };\n};\n\nexport const emptyDeadline = () => ({\n uri: \"\",\n id: \"\",\n date: null,\n title: \"\",\n description: \"\",\n action: \"\",\n stage: \"\",\n enableCommenting: false,\n enableVoting: false,\n closedForComments: false,\n committee: \"\",\n committeeName: \"\",\n referencesRawResponsePerType: {\n document: [],\n meeting: [],\n deadline: [],\n },\n referencesPerType: {\n document: [],\n meeting: [],\n deadline: [],\n },\n references: [],\n comments: [],\n});\n","import { referenceListToReferenceDataPerType } from \"../../utils/references\";\nimport {\n normalizeDate,\n reduceCommitteeName,\n removeWrongCharacters,\n} from \"../../utils/transform\";\n\nexport const normalizeMeetingsPage = (payload) => {\n const meetings = payload.results;\n const pageStart = payload.start;\n\n return meetings.reduce((previous, current) => {\n previous[current.uri] = normalizeMeeting(current);\n previous[current.uri].pageStart = pageStart;\n return previous;\n }, {});\n};\n\nexport const normalizeMeeting = (meeting) => {\n return {\n id: meeting.id,\n uri: meeting.uri,\n committee: meeting.committeeReference,\n committeeName: reduceCommitteeName(\n meeting.committeeReference,\n meeting.committeeReferenceTitle,\n ),\n title: removeWrongCharacters(meeting.title),\n fromDate: normalizeDate(meeting.fromDate),\n toDate: normalizeDate(meeting.toDate),\n eventDate: normalizeDate(meeting.eventDate),\n createdDate: normalizeDate(meeting.createdDate),\n locationLong: meeting.longLocation,\n locationShort: meeting.shortLocation,\n referencesRawResponsePerType: referenceListToReferenceDataPerType(\n meeting.references,\n ),\n references: meeting.references,\n participants: meeting.participants,\n isParticipationEnabled: meeting.isParticipationEnabled,\n };\n};\n\nexport const normalizeMeetingGeneralInfo = (previous, updated) => {\n const currentDate = new Date();\n let output = {\n ...previous,\n ...updated,\n };\n\n if (output.fromDate) {\n const isPastMeeting = output.fromDate < currentDate;\n output.past = isPastMeeting;\n\n if (output.fromDate > output.toDate)\n output.toDate = new Date(output.fromDate);\n\n if (output.past) {\n if (!output.eventDate) {\n output.eventDate = output.fromDate;\n }\n\n if (!output.createdDate) {\n output.createdDate = currentDate;\n }\n\n output.notifyOnUpdate = false;\n }\n }\n\n return output;\n};\n\nexport const updateMeetingOnList = (meetings, newData) => {\n const oldMeeting = meetings[newData.uri];\n if (!oldMeeting) {\n return meetings;\n }\n\n const newMeeting = normalizeMeeting(newData);\n return { ...meetings, [newData.uri]: newMeeting };\n};\n","import { normalizeDeadline } from \"../deadlines/normalizer\";\nimport { normalizeDocument } from \"../document/normalizers\";\nimport { normalizeMeeting } from \"../meetings/normalizers\";\n/*\nThis response is once normalized with referenceListToReferenceDataPerType.\n\nresponse : {\n document: []: documentEl,\n meeting: []: meetingEl,\n deadline: []: deadlineEl,\n}\n\n*El: {\n data: {}\n}\n*/\nexport function normalizeObjectOfReferences(responses) {\n // need to find out if references[0] type is worth using.\n const document =\n responses.document\n ?.filter((d) => !!d)\n .map((documentEl) => normalizeDocument(documentEl.data)) ?? [];\n\n const meeting =\n responses.meeting\n ?.filter((d) => !!d)\n .map((meetingEl) => normalizeMeeting(meetingEl.data)) ?? [];\n\n const deadline =\n responses.deadline\n ?.filter((d) => !!d)\n .map((deadlineEl) => normalizeDeadline({ deadline: deadlineEl.data })) ??\n [];\n\n return {\n document,\n meeting,\n deadline,\n };\n}\n","import { combineActions, handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport * as commentsActions from \"../comments/actions\";\n\nimport {\n normalizeDeadline,\n normalizeDeadlines,\n emptyDeadline,\n updateDeadlineOnList,\n addCommnetToActiveDeadlineOnList,\n} from \"./normalizer\";\n\nimport {\n normalizeDocument,\n normalizeListOfDocuments,\n removeReferenceById,\n updateEditedDocument,\n} from \"../document/normalizers\";\nimport { normalizeObjectOfReferences } from \"../references/normalizers\";\nimport { TIMEFRAME } from \"../../api/utils\";\n\nconst initialForm = {\n committee: \"\",\n title: \"\",\n description: \"\",\n date: \"\",\n action: \"\",\n stage: \"\",\n enableVoting: true,\n enableCommenting: true,\n closedForComments: false,\n references: [],\n notifyOnUpdate: true,\n notifyImmediately: false,\n};\n\nconst initialState = {\n isProcessingRequest: false,\n isDeletingDeadline: false,\n isProcessingReferences: false,\n pagination: {\n pagesLoaded: 0,\n pagesToLoad: 0,\n hasMoreToLoad: true,\n },\n data: {},\n sortingType: null,\n selectedUri: null,\n form: initialForm,\n filters: {\n title: \"\",\n committee: null,\n month: null,\n type: null,\n stage: null,\n timeframe: TIMEFRAME.FUTURE,\n },\n};\n\nconst actionHandlers = {\n [actions.fetchDeadline]: (state) => ({\n ...state,\n isProcessingRequest: true,\n deadline: emptyDeadline(),\n }),\n [combineActions(actions.initDeadlines, actions.initAggDeadlines)]: (\n state,\n ) => ({\n ...state,\n isProcessingRequest: true,\n pagination: {\n pagesLoaded: 0,\n pagesToLoad: 0,\n hasMoreToLoad: true,\n },\n data: {},\n }),\n [actions.updateDeadline]: (state) => ({\n ...state,\n isProcessingRequest: true,\n }),\n [combineActions(\n actions.fetchDeadlineReferences,\n actions.setDeadlineReferences,\n actions.addDeadlineReferences,\n )]: (state) => ({\n ...state,\n isProcessingReferences: true,\n }),\n [combineActions(actions.deleteDeadline)]: (state) => ({\n ...state,\n isDeletingDeadline: true,\n }),\n [actions.fetchDeadlineSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n deadline: normalizeDeadline(payload),\n }),\n [actions.createDeadlineSucceeded]: (state, { payload }) => {\n const newDeadline = normalizeDeadline(payload);\n let newState = {\n ...state,\n isProcessingRequest: false,\n deadline: newDeadline,\n };\n\n if (state.filters.timeframe === TIMEFRAME.FUTURE) {\n newState.data = { ...state.data, [newDeadline.uri]: newDeadline };\n }\n\n return newState;\n },\n [actions.fetchDeadlineFailed]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n }),\n [actions.fetchDeadlineReferencesSucceeded]: (state, { payload }) => {\n // TODO: have 3 different types of references\n const referencesPerType = normalizeObjectOfReferences(payload);\n\n return {\n ...state,\n isProcessingReferences: false,\n deadline: {\n ...state.deadline,\n references: referencesPerType.document,\n referencesPerType,\n },\n };\n },\n [actions.fetchDeadlineReferencesFailed]: (state) => ({\n ...state,\n isProcessingReferences: false,\n deadline: {\n ...state.deadline,\n references: [],\n },\n }),\n [actions.fetchCurrentDeadlineReferences]: (state) => ({\n ...state,\n isProcessingReferences: true,\n }),\n [actions.fetchCurrentDeadlineReferencesSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingReferences: false,\n deadline: {\n ...state.deadline,\n referencesPerType: normalizeObjectOfReferences(payload),\n },\n }),\n [actions.fetchCurrentDeadlineReferencesFailed]: (state) => ({\n ...state,\n isProcessingReferences: false,\n }),\n [actions.pullDeadlinesPageRequest]: (state) => ({\n ...state,\n isProcessingRequest: true,\n }),\n [actions.pullDeadlinesPageSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n data: { ...state.data, ...normalizeDeadlines(payload) },\n pagination: {\n pagesLoaded: payload.pagination.pageLoaded + 1,\n pagesToLoad: payload.pagination.pagesToLoad,\n hasMoreToLoad: payload.pagination.hasMoreToLoad,\n },\n }),\n [actions.setDeadlineData]: (state, { payload }) => ({\n ...state,\n deadline: payload,\n }),\n [actions.setDeadlinesFilterValue]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n ...payload,\n },\n }),\n [actions.resetDeadlinesFilters]: (state) => ({\n ...state,\n filters: {\n committee: null,\n month: null,\n type: null,\n title: \"\",\n timeframe: TIMEFRAME.FUTURE,\n },\n }),\n [actions.addGeneralDeadlineInformation]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n ...payload,\n },\n }),\n [actions.deleteDeadlineFailed]: (state) => ({\n ...state,\n isDeletingDeadline: false,\n }),\n [actions.deleteDeadlineSucceeded]: (state, { payload }) => {\n const { [payload]: toRemove, ...newdata } = state.data;\n return {\n ...state,\n isDeletingDeadline: false,\n data: newdata,\n };\n },\n [actions.setFormSelectedDeadlineReferences]: (state, { payload }) => {\n return {\n ...state,\n form: {\n ...state.form,\n references: [...payload],\n },\n };\n },\n [actions.setFormSelectedDeadlineReferencesMeetings]: (state, { payload }) => {\n return {\n ...state,\n form: {\n ...state.form,\n referencesPerType: {\n ...state.form.referencesPerType,\n meeting: [...payload],\n },\n },\n };\n },\n [actions.setFormSelectedDeadlineReferencesDocuments]: (\n state,\n { payload },\n ) => {\n return {\n ...state,\n form: {\n ...state.form,\n referencesPerType: {\n ...state.form.referencesPerType,\n document: [...payload],\n },\n },\n };\n },\n [actions.addFormDeadlineReferences]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n references: [...state.form.references, normalizeDocument(payload)],\n },\n }),\n [actions.fetchUpdatedDeadlineReferenceSucceeded]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n references: updateEditedDocument(state.form.references, payload),\n },\n }),\n [actions.removeReferenceFromDeadline]: (state, { payload }) => {\n return {\n ...state,\n form: {\n ...state.form,\n referencesPerType: removeReferenceById(\n state.deadline.referencesPerType,\n payload,\n ),\n },\n };\n },\n [actions.clearDeadlineForm]: (state) => ({\n ...state,\n form: initialForm,\n }),\n [actions.clearDeadline]: (state) => ({\n ...state,\n deadline: null,\n }),\n [actions.updateDeadlineReferenceInfo]: (state, { payload }) => ({\n ...state,\n deadline: {\n ...state.deadline,\n references: state.deadline.references.map((d) =>\n d.url !== payload.url ? d : payload,\n ),\n },\n }),\n [actions.updateDeadlineSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n data: updateDeadlineOnList(state.data, payload),\n }),\n [commentsActions.createCommentSucceeded]: (state, { payload }) => ({\n ...state,\n data: addCommnetToActiveDeadlineOnList(state.data, payload.deadlineUri, 1),\n }),\n [commentsActions.deleteCommentSucceeded]: (state, { payload }) => ({\n ...state,\n data: addCommnetToActiveDeadlineOnList(state.data, payload.deadlineUri, -1),\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst INIT_DEADLINE_VOTES = \"VOTES/init_deadline_votes\";\nconst INIT_VOTES_SUCCEEDED = \"VOTES/init_votes_succeeded\";\n\nexport const GET_VOTES = \"VOTES/get_votes\";\nexport const GET_VOTES_SUCCEEDED = \"VOTES/get_votes_succeeded\";\n\nexport const CREATE_VOTE = \"VOTES/create_new_vote\";\nexport const CAST_NEW_VOTE_SUCCEEDED = \"VOTES/cast_new_vote_succeeded\";\n\nexport const UPDATE_VOTE = \"VOTES/update_vote\";\nexport const UPDATE_VOTE_SUCCEEDED = \"VOTES/update_vote_succeeded\";\n\nexport const INIT_VOTES_MEMBER_NAMES = \"VOTES/init_votes_member_names\";\nexport const INIT_VOTES_MEMBER_NAMES_SUCCEEDED =\n \"VOTES/init_votes_member_names_succeeded\";\n\nexport const REMOVE_VOTE = \"VOTES/remove_vote\";\nexport const REMOVE_VOTE_SUCCEEDED = \"VOTES/remove_vote_succeeded\";\n\nconst OVERRIDE_OFFICIAL_VOTE = \"VOTES/override_official_vote\";\nconst OVERRIDE_OFFICIAL_VOTE_SUCCEEDED =\n \"VOTES/override_official_vote_succeeded\";\n\nexport const initDeadlineVotes = createAction(INIT_DEADLINE_VOTES);\nexport const initVotesSucceeded = createAction(INIT_VOTES_SUCCEEDED);\n\nexport const getAllVotes = createAction(GET_VOTES);\nexport const getAllVotesSucceeded = createAction(GET_VOTES_SUCCEEDED);\n\nexport const createVote = createAction(CREATE_VOTE);\nexport const castNewVoteSucceeded = createAction(CAST_NEW_VOTE_SUCCEEDED);\n\nexport const updateVote = createAction(UPDATE_VOTE);\nexport const updateVoteSucceeded = createAction(UPDATE_VOTE_SUCCEEDED);\n\nexport const initVotesMemberNames = createAction(INIT_VOTES_MEMBER_NAMES);\nexport const initVotesMemberNamesSucceeded = createAction(\n INIT_VOTES_MEMBER_NAMES_SUCCEEDED,\n);\n\nexport const removeVote = createAction(REMOVE_VOTE);\nexport const removeVoteSucceeded = createAction(REMOVE_VOTE_SUCCEEDED);\n\nexport const overrideOfficialVote = createAction(OVERRIDE_OFFICIAL_VOTE);\nexport const overrideOfficialVoteSucceeded = createAction(\n OVERRIDE_OFFICIAL_VOTE_SUCCEEDED,\n);\n","import {\n voteType,\n voteLabelMap,\n regularVotes,\n reviewVotes,\n} from \"../../utils/constants\";\n\nexport function normalizeVotes(data) {\n let object = data.reduce((obj, item) => {\n if (typeof obj[item.deadlineUri] === \"undefined\")\n obj[item.deadlineUri] = [];\n obj[item.deadlineUri].push(normalizeVote(item));\n return obj;\n }, {});\n\n return object;\n}\n\nexport function normalizeVote(vote) {\n return {\n userID: vote.memberId,\n vote: transformVote(\n typeof vote.memberVote !== \"undefined\" ? vote.memberVote : vote.vote,\n ),\n uri: vote.uri,\n deadlineUri: vote.deadlineUri,\n };\n}\n\nfunction transformVote(vote) {\n return {\n value: vote,\n label: voteLabelMap[vote],\n };\n}\n\nexport function transformVotesToStatistics(data) {\n let statistics = {};\n for (let [key, value] of Object.entries(data)) {\n statistics[key] = transformDeadlineVotesToStatistics(value);\n }\n\n return statistics;\n}\n\nexport function transformDeadlineVotesToStatistics(data) {\n let stats = Object.keys(voteType).reduce(\n (acc, ck) => ({\n ...acc,\n [ck]: data.filter((vote) => filterVotes(vote, voteType[ck])).length,\n }),\n {},\n );\n\n stats.total = data.filter((v) => regularVotes.includes(v.vote.value)).length;\n stats.totalReview = data.filter((v) =>\n reviewVotes.includes(v.vote.value),\n ).length;\n\n return stats;\n}\n\nexport function removeDeadlineVotesFromStatistics(state, data) {\n const newStats = transformDeadlineVotesToStatistics(\n state.data[data.deadlineUri].filter((d) => d.uri !== data.uri),\n );\n\n // if(newStats.total === 0){\n // const outStats = {\n // ...state.statistics\n // };\n\n // delete outStats[data.deadlineUri];\n // return outStats;\n // }\n\n return {\n ...state.statistics,\n [data.deadlineUri]: newStats,\n };\n}\n\nfunction filterVotes(data, value) {\n return data.memberVote === value || (data.vote && data.vote.value === value);\n}\n\nexport function normalizeOverride(override) {\n return {\n vote: override.vote,\n };\n}\n","import { handleActions, combineActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport {\n normalizeVotes,\n normalizeVote,\n transformVotesToStatistics,\n transformDeadlineVotesToStatistics,\n removeDeadlineVotesFromStatistics,\n normalizeOverride,\n} from \"./normalizer\";\n\nconst initialState = {\n isFetching: false,\n isFetched: true,\n data: {},\n overrides: {},\n statistics: {},\n updateVoteInProgress: false,\n};\n\nconst actionHandlers = {\n [actions.initDeadlineVotes]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.initVotesSucceeded]: (state, { payload }) => {\n const votes = normalizeVotes(payload.votes);\n return {\n ...state,\n isFetching: false,\n isFetched: true,\n data: { ...state.data, ...votes },\n overrides: {\n ...state.overrides,\n [payload.officialVoteOverride.deadlineId]: normalizeOverride(\n payload.officialVoteOverride,\n ),\n },\n statistics: {\n ...state.statistics,\n ...transformVotesToStatistics(votes),\n },\n };\n },\n [actions.getAllVotes]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n\n [actions.getAllVotesSucceeded]: (state, { payload }) => {\n const votes = normalizeVotes(payload);\n return {\n ...state,\n isFetching: false,\n isFetched: true,\n data: { ...state.data, ...votes },\n statistics: {\n ...state.statistics,\n ...transformVotesToStatistics(votes),\n },\n };\n },\n [combineActions(actions.createVote, actions.updateVote, actions.removeVote)]:\n (state) => ({\n ...state,\n updateVoteInProgress: true,\n }),\n [actions.castNewVoteSucceeded]: (state, { payload }) => {\n let data = state.data;\n if (!data[payload.deadlineUri]) data[payload.deadlineUri] = [];\n data[payload.deadlineUri].push(normalizeVote(payload));\n\n return {\n ...state,\n data: {\n ...data,\n },\n statistics: {\n ...state.statistics,\n [payload.deadlineUri]: transformDeadlineVotesToStatistics(\n data[payload.deadlineUri],\n ),\n },\n updateVoteInProgress: false,\n };\n },\n\n [actions.updateVoteSucceeded]: (state, { payload }) => {\n return {\n ...state,\n data: {\n ...state.data,\n [payload.deadlineUri]: state.data[payload.deadlineUri].map((item) =>\n item.userID === payload.memberId ? normalizeVote(payload) : item,\n ),\n },\n statistics: {\n ...state.statistics,\n [payload.deadlineUri]: transformDeadlineVotesToStatistics(\n state.data[payload.deadlineUri].map((item) =>\n item.userID === payload.memberId ? normalizeVote(payload) : item,\n ),\n ),\n },\n updateVoteInProgress: false,\n };\n },\n [actions.removeVoteSucceeded]: (state, { payload }) => {\n return {\n ...state,\n data: {\n ...state.data,\n [payload.deadlineUri]: state.data[payload.deadlineUri].filter(\n (d) => d.uri !== payload.uri,\n ),\n },\n statistics: removeDeadlineVotesFromStatistics(state, payload),\n updateVoteInProgress: false,\n };\n },\n [actions.overrideOfficialVoteSucceeded]: (state, { payload }) => ({\n ...state,\n overrides: {\n ...state.overrides,\n [payload.deadlineId]: normalizeOverride(payload),\n },\n }),\n [actions.initVotesMemberNamesSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n [payload.deadlineUri]: state.data[payload.deadlineUri].map((item) =>\n item.userID === payload.userID ? payload : item,\n ),\n },\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst INIT_MEETINGS = \"MEETINGS/init_meetings\";\n\nconst FETCH_UPDATED_MEETING_DOCUMENT = \"MEETING_FORM/fetch_updated_document\";\nconst FETCH_UPDATED_MEETING_DOCUMENT_SUCCEEDED =\n \"MEETING_FORM/fetch_updated_document_succeeded\";\nconst FETCH_UPDATED_MEETING_DOCUMENT_FAILED =\n \"MEETING_FORM/fetch_updated_document_failed\";\n\nconst FETCH_MEETING = \"MEETINGS/fetch_meeting\";\nconst FETCH_MEETING_SUCCEEDED = \"MEETINGS/fetch_meeting_succeeded\";\nconst FETCH_MEETING_FAILED = \"MEETINGS/fetch_meeting_failed\";\n\nconst CLEAR_MEETING = \"MEETINGS/clear_meeting\";\n\nconst UPDATE_MEETING = \"MEETINGS/update_meeting\";\nconst UPDATE_MEETING_SUCCEEDED = \"MEETINGS/update_meeting_succeeded\";\nconst UPDATE_MEETING_FAILED = \"MEETINGS/update_meeting_failed\";\n\nconst FETCH_CURRENT_MEETING_DOCUMENTS =\n \"MEETINGS/fetch_current_meeting_documents\";\nconst FETCH_CURRENT_MEETING_DOCUMENTS_SUCCEEDED =\n \"MEETINGS/fetch_current_meeting_documents_succeeded\";\nconst FETCH_CURRENT_MEETING_DOCUMENTS_FAILED =\n \"MEETINGS/fetch_current_meeting_documents_failed\";\n\nconst DELETE_MEETING = \"MEETINGS/delete_meeting\";\nconst DELETE_MEETING_SUCCEEDED = \"MEETINGS/delete_meeting_succeeded\";\nconst DELETE_MEETING_FAILED = \"MEETINGS/delete_meeting_failed\";\n\nconst CREATE_MEETING = \"MEETINGS/create_meeting\";\nconst CREATE_MEETING_SUCCEEDED = \"MEETINGS/create_meeting_succeeded\";\nconst CREATE_MEETING_FAILED = \"MEETINGS/create_meeting_failed\";\n\nconst ADD_FORM_SELECTED_MEETING_DOCUMENTS =\n \"MEETING_FORM/add_form_selected_documents\";\nconst SET_FORM_SELECTED_MEETING_DOCUMENTS =\n \"MEETING_FORM/set_form_selected_documents\";\nconst SET_FORM_SELECTED_MEETING_REFERENCE_DEADLINES =\n \"MEETING_FORM/set_form_selected_references_deadlines\";\nconst ADD_GENERAL_MEETING_INFORMATION = \"MEETING_FORM/add_general_info\";\n\nconst ADD_MEETING_DOCUMENTS = \"MEETINGS/add_meeting_documents\";\nconst SET_MEETING_DOCUMENTS = \"MEETINGS/set_meeting_documents\";\nconst UPDATE_MEETING_DOCUMENT_INFO = \"MEETINGS/update_meeting_document_info\";\n\nconst INIT_MEETING_FORM_WITH_GENERAL_INFO_DATA =\n \"MEETING_FORM/init_with_general_info_data\";\nconst INIT_MEETING_FORM_WITH_DOCUMENTS = \"MEETING_FORM/init_with_documents\";\nconst CLEAR_MEETING_FORM = \"MEETING_FORM/clear\";\n\nconst CREATE_MEETING_FROM_DOCUMENT = \"MEETING/create_meeting_from_document\";\nconst DOWNLOAD_MEETING_DOCUMENTS = \"MEETING_FORM/download_meeting_documents\";\nconst REMOVE_MEETING_DOCUMENT = \"MEETING_FORM/remove_notification_document\";\n\nconst RESET_MEETINGS_FILTERS = \"FILTER/reset_meetings_filters\";\n\nconst PULL_MEETINGS_PAGE_REQUEST = \"MEETINGS/pull_meetings_page_request\";\nconst PULL_MEETINGS_PAGE_SUCCEEDED = \"MEETINGS/pull_meetings_page_succeeded\";\nconst PULL_MEETINGS_PAGE_FAILED = \"MEETINGS/pull_meetings_page_failed\";\n\nconst FETCH_MEETING_REFERENCES = \"MEETINGS/fetch_meeting_documents\";\nconst FETCH_MEETING_REFERENCES_SUCCEEDED =\n \"MEETINGS/fetch_meeting_documents_succeeded\";\nconst FETCH_MEETING_REFERENCESS_FAILED =\n \"MEETINGS/fetch_meeting_documents_failed\";\n\nconst SET_MEETINGS_FILTER_VALUE = \"FILTER/set_meetings_filter_values\";\n\nconst ADD_PARTICIPANT = \"MEETINGS/add_participant\";\nconst ADD_PARTICIPANT_SUCCEEDED = \"MEETINGS/add_participant_succeeded\";\nconst ADD_PARTICIPANT_FAILED = \"MEETINGS/add_participant_failed\";\n\nconst UPDATE_PARTICIPANT = \"MEETINGS/update_participant\";\nconst UPDATE_PARTICIPANT_SUCCEEDED = \"MEETINGS/update_participant_succeeded\";\nconst UPDATE_PARTICIPANT_FAILED = \"MEETINGS/update_participant_failed\";\n\nexport const initMeetings = createAction(INIT_MEETINGS);\n\nexport const fetchUpdatedMeetingDocument = createAction(\n FETCH_UPDATED_MEETING_DOCUMENT,\n);\nexport const fetchUpdatedMeetingDocumentSucceeded = createAction(\n FETCH_UPDATED_MEETING_DOCUMENT_SUCCEEDED,\n);\nexport const fetchUpdatedMeetingDocumentFailed = createAction(\n FETCH_UPDATED_MEETING_DOCUMENT_FAILED,\n);\n\nexport const fetchMeeting = createAction(FETCH_MEETING);\nexport const fetchMeetingSucceeded = createAction(FETCH_MEETING_SUCCEEDED);\nexport const fetchMeetingFailed = createAction(FETCH_MEETING_FAILED);\n\nexport const fetchCurrentMeetingDocuments = createAction(\n FETCH_CURRENT_MEETING_DOCUMENTS,\n);\nexport const fetchCurrentMeetingDocumentsSucceeded = createAction(\n FETCH_CURRENT_MEETING_DOCUMENTS_SUCCEEDED,\n);\nexport const fetchCurrentMeetingDocumentsFailed = createAction(\n FETCH_CURRENT_MEETING_DOCUMENTS_FAILED,\n);\n\nexport const updateMeeting = createAction(UPDATE_MEETING);\nexport const updateMeetingSucceeded = createAction(UPDATE_MEETING_SUCCEEDED);\nexport const updateMeetingFailed = createAction(UPDATE_MEETING_FAILED);\n\nexport const deleteMeeting = createAction(DELETE_MEETING);\nexport const deleteMeetingSucceeded = createAction(DELETE_MEETING_SUCCEEDED);\nexport const deleteMeetingFailed = createAction(DELETE_MEETING_FAILED);\n\nexport const createMeeting = createAction(CREATE_MEETING);\nexport const createMeetingSucceeded = createAction(CREATE_MEETING_SUCCEEDED);\nexport const createMeetingFailed = createAction(CREATE_MEETING_FAILED);\n\nexport const createMeetingFromDocument = createAction(\n CREATE_MEETING_FROM_DOCUMENT,\n);\nexport const addFormSelectedMeetingDocuments = createAction(\n ADD_FORM_SELECTED_MEETING_DOCUMENTS,\n);\nexport const setFormSelectedMeetingDocuments = createAction(\n SET_FORM_SELECTED_MEETING_DOCUMENTS,\n);\n\nexport const setFormSelectedMeetingReferencesDeadlines = createAction(\n SET_FORM_SELECTED_MEETING_REFERENCE_DEADLINES,\n);\n\nexport const addGeneralMeetingInformation = createAction(\n ADD_GENERAL_MEETING_INFORMATION,\n);\n\nexport const addMeetingDocuments = createAction(ADD_MEETING_DOCUMENTS);\nexport const setMeetingDocuments = createAction(SET_MEETING_DOCUMENTS);\nexport const updateMeetingDocumentInfo = createAction(\n UPDATE_MEETING_DOCUMENT_INFO,\n);\n\nexport const initMeetingFormWithGeneralInfo = createAction(\n INIT_MEETING_FORM_WITH_GENERAL_INFO_DATA,\n);\nexport const initMeetingFormWithDocuments = createAction(\n INIT_MEETING_FORM_WITH_DOCUMENTS,\n);\nexport const clearMeetingForm = createAction(CLEAR_MEETING_FORM);\n\nexport const downloadMeetingDocuments = createAction(\n DOWNLOAD_MEETING_DOCUMENTS,\n);\nexport const removeReferenceFromMeeting = createAction(REMOVE_MEETING_DOCUMENT);\n\nexport const resetMeetingsFilters = createAction(RESET_MEETINGS_FILTERS);\n\nexport const setMeetingsFilterValue = createAction(SET_MEETINGS_FILTER_VALUE);\n\nexport const pullMeetingsPageRequest = createAction(PULL_MEETINGS_PAGE_REQUEST);\nexport const pullMeetingsPageSucceeded = createAction(\n PULL_MEETINGS_PAGE_SUCCEEDED,\n);\nexport const pullMeetingsPageFailed = createAction(PULL_MEETINGS_PAGE_FAILED);\n\nexport const clearMeeting = createAction(CLEAR_MEETING);\n\nexport const fetchMeetingReferences = createAction(FETCH_MEETING_REFERENCES);\nexport const fetchMeetingReferencesSucceeded = createAction(\n FETCH_MEETING_REFERENCES_SUCCEEDED,\n);\nexport const fetchMeetingReferencesFailed = createAction(\n FETCH_MEETING_REFERENCESS_FAILED,\n);\n\nexport const addParticipant = createAction(ADD_PARTICIPANT);\nexport const addParticipantSucceeded = createAction(ADD_PARTICIPANT_SUCCEEDED);\nexport const addParticipantFailed = createAction(ADD_PARTICIPANT_FAILED);\n\nexport const updateParticipant = createAction(UPDATE_PARTICIPANT);\nexport const updateParticipantSucceeded = createAction(\n UPDATE_PARTICIPANT_SUCCEEDED,\n);\nexport const updateParticipantFailed = createAction(UPDATE_PARTICIPANT_FAILED);\n","export const referencesPerTypeToReferences = (referencesPerType) => {\n const references = [];\n\n for (const key in referencesPerType) {\n for (const reference of referencesPerType[key]) {\n // TODO: Should filename be different according to the key\n references.push({\n uri: reference.url ?? reference.uri,\n fileName: reference.filename,\n link: reference.link,\n type: key,\n });\n }\n }\n\n return references;\n};\n\nexport const referencesPerTypeToPatchQuery = (referencesPerType) => {\n const toEncodedUri = (value) =>\n value !== null ? encodeURIComponent(value) : null;\n\n const references = [];\n\n for (const key in referencesPerType) {\n for (const reference of referencesPerType[key]) {\n references.push({\n // TODO: HORRIBLE DESIGN, GET ONE KEY, either URI or URL\n uri: toEncodedUri(reference.uri ?? reference.url),\n fileName: toEncodedUri(reference.filename),\n link: toEncodedUri(reference.link),\n type: toEncodedUri(reference.type),\n });\n }\n }\n\n return references;\n};\n","import {\n referencesPerTypeToPatchQuery,\n referencesPerTypeToReferences,\n} from \"./references\";\n\nfunction getPollRequestModel(poll) {\n if (!poll) return null;\n\n return {\n title: poll.title,\n options: poll.options,\n isMultiVote: poll.isMultiVote,\n deadline: poll.deadline,\n };\n}\n\nexport function mapToApiModel(notification, memberId, isBySystem) {\n const references = isBySystem\n ? notification.references\n : referencesPerTypeToReferences(notification.referencesPerType);\n\n const poll = getPollRequestModel(notification.poll);\n\n return {\n ...notification,\n memberId,\n // notifyMembers is from Notification\n // notify is from Deadline, Meeting\n notify: notification.notifyMembers ?? notification.notify,\n references,\n poll,\n };\n}\n\nexport function mapNotificationToPatchQuery(notification) {\n const toEncodedUri = (value) =>\n value !== null ? encodeURIComponent(value) : null;\n\n const query = {\n uri: toEncodedUri(notification.uri ? notification.uri : null),\n title: toEncodedUri(notification.title),\n description: toEncodedUri(notification.description),\n };\n\n if (notification.notifyMembers) query.notify = notification.notifyMembers;\n\n return query;\n}\n\nexport function mapNotificationDocumentsToPatchQuery(notification) {\n const references = referencesPerTypeToPatchQuery(\n notification.referencesPerType,\n );\n\n return references;\n}\n","import { addQueryParams, getProxyUrl } from \"../utils\";\nimport { api } from \"./../api\";\nimport { transformCommitteeName } from \"../../utils/transform\";\nimport {\n mapNotificationDocumentsToPatchQuery,\n mapNotificationToPatchQuery,\n} from \"../mappers/notification\";\n\nexport function queryNotifications(params = null) {\n let url = \"/api/notifications/query\";\n url = addQueryParams(url, params);\n return api.get(url);\n}\n\nexport function getUserNotifications(params = null) {\n let url = \"/api/notifications/current_user\";\n url = addQueryParams(url, params);\n return api.get(url);\n}\n\nexport function getUserUnseenNotifications(params = null) {\n let url = \"/api/notifications/current_user/unseen\";\n url = addQueryParams(url, params);\n return api.get(url);\n}\n\nexport function getInternalNotification(notificationId) {\n let url = `/api/notifications/internal_notification?id=${encodeURIComponent(\n notificationId,\n )}`;\n return api.get(url);\n}\n\nexport function getNotification(notificationId) {\n const proxyUrl = getProxyUrl(`/Notifications/notification/${notificationId}`);\n return api.get(proxyUrl);\n}\n\nexport function updateNotification(notification) {\n let proxyUrl = getProxyUrl(`/Notifications/notification/${notification.uri}`);\n proxyUrl = addQueryParams(\n proxyUrl,\n mapNotificationToPatchQuery(notification),\n );\n let docs = mapNotificationDocumentsToPatchQuery(notification);\n return api.patch(proxyUrl, JSON.stringify(docs));\n}\n\nexport function deleteNotification(notificationUri) {\n const proxyUrl = `/api/notifications/notification?id=${encodeURIComponent(\n notificationUri,\n )}`;\n return api.delete(proxyUrl);\n}\n\nexport function createNotification(committeeId, data) {\n const proxyUrl = getProxyUrl(\n `/Notifications/notification/${transformCommitteeName(committeeId)}`,\n );\n return api.post(proxyUrl, data);\n}\n\nexport function pinNotification(notificationId) {\n const url = \"/api/notifications/current_user/pin\";\n return api.post(url, `\"${notificationId}\"`);\n}\n\nexport function unpinNotification(notificationId) {\n const url = \"/api/notifications/current_user/pin\";\n return api.delete(url, { data: `\"${notificationId}\"` });\n}\n\nexport function markNotificationsAsSeen(notificationIds) {\n const url = \"/api/notifications/current_user/seen\";\n return api.post(url, notificationIds);\n}\n\nexport function markAllNotificationAsSeen(committee) {\n const url = \"/api/notifications/current_user/seen_all\";\n return api.post(url, `\"${committee}\"`);\n}\n\nexport function getBroadcastInformation(notificationId) {\n const url = `/api/notifications/broadcast_info?id=${encodeURIComponent(\n notificationId,\n )}`;\n return api.get(url);\n}\n\nexport function waitForNotificationId(notificationId, seconds = 10) {\n const url = `/api/notifications/wait?notificationId=${encodeURIComponent(\n notificationId,\n )}&seconds=${seconds}`;\n return api.post(url);\n}\n\nexport function waitForNotificationDocumentId(documentId, seconds = 10) {\n const url = `/api/notifications/wait?documentId=${encodeURIComponent(\n documentId,\n )}&seconds=${seconds}`;\n return api.post(url);\n}\n\nexport function waitForNotificationTypedDocumentId(docId, eType, sec = 10) {\n const url = `/api/notifications/wait?documentId=${encodeURIComponent(\n docId,\n )}&eventType=${eType}&seconds=${sec}`;\n return api.post(url);\n}\n\nexport function sendInstantEmailWithNotificationIdUrl(notificationId) {\n const url = `/api/notifications/instant_email/notification_id?notificationId=${encodeURIComponent(\n notificationId,\n )}`;\n\n return api.post(url);\n}\n\nexport function sendInstantEmailWithCommitteeIdUrl(committeeId) {\n const url = `/api/notifications/instant_email/committee_id?committeeId=${encodeURIComponent(\n committeeId,\n )}`;\n\n return api.post(url);\n}\n\nexport function updatePollUrl(poll) {\n const proxyUrl = getProxyUrl(\"/Notifications/poll\");\n\n return api.patch(proxyUrl, poll);\n}\n\nexport function voteNotificationPollUrl(notificationUri, userId, pollOptionId) {\n const proxyUrl = getProxyUrl(\n `/Notifications/poll/vote/${notificationUri}/${userId}/${pollOptionId}`,\n );\n\n return api.post(proxyUrl);\n}\n\nexport function deleteVoteNotificationPollUrl(pollVoteId) {\n const proxyUrl = getProxyUrl(`/Notifications/poll/vote/${pollVoteId}`);\n return api.delete(proxyUrl);\n}\n","import {\n referencesPerTypeToPatchQuery,\n referencesPerTypeToReferences,\n} from \"./references\";\n\n// THIS IS TO CREATE DEADLINE\nexport function mapToApiModel(deadline) {\n const references = referencesPerTypeToReferences(deadline.referencesPerType);\n\n return {\n ...deadline,\n // id: deadline.id,\n // uri: deadline.uri,\n committeeReference: deadline.committee,\n committeeReferenceTitle: deadline.committeeName,\n title: deadline.title.trim(),\n description: deadline.description.trim(),\n // type: deadline.type,\n // stage: deadline.stage,\n actionDueDate: deadline.date,\n // action: deadline.action,\n // enableVoting: deadline.enableVoting,\n // enableCommenting: deadline.enableCommenting,\n // closedForComments: deadline.closedForComments,\n references,\n };\n}\n\nexport function mapDeadlineToPatchQuery(deadline, notify) {\n const toEncodedIsoString = (date) => {\n return date ? encodeURIComponent(date) : null;\n };\n const toEncodedUri = (value) =>\n value !== null ? encodeURIComponent(value) : null;\n return {\n uri: toEncodedUri(deadline.uri ? deadline.uri : null),\n committeeReference: toEncodedUri(deadline.committee),\n title: toEncodedUri(deadline.title),\n description: toEncodedUri(deadline.description),\n type: toEncodedUri(deadline.type),\n stage: toEncodedUri(deadline.stage),\n actionDueDate: toEncodedIsoString(deadline.date),\n action: toEncodedUri(deadline.action),\n enableVoting: toEncodedUri(deadline.enableVoting),\n enableCommenting: toEncodedUri(deadline.enableCommenting),\n notify: toEncodedUri(notify),\n closedForComments: toEncodedUri(deadline.closedForComments),\n };\n}\n\nexport function mapDeadlineReferencesToPatchQuery(deadline) {\n // const toEncodedUri = (value) =>\n // value !== null ? encodeURIComponent(value) : null;\n\n const references = referencesPerTypeToPatchQuery(deadline.referencesPerType);\n\n return references;\n}\n\nexport function mapToAggDeadlinesQuery(committeeIds, params) {\n return {\n nationalCommittees: committeeIds,\n start: params.start,\n pageLength: params.pageLength,\n actionDueDates: [params.actionDueDate],\n sort: params.sort,\n };\n}\n","const toIsoDateTime = (date) => {\n return new Date(\n date.getTime() - date.getTimezoneOffset() * 60000,\n ).toISOString();\n};\n\nexport default toIsoDateTime;\n","import { api } from \"../api\";\nimport { addQueryParams, getProxyUrl } from \"../utils\";\nimport { transformCommitteeName } from \"../../utils/transform\";\nimport {\n mapDeadlineReferencesToPatchQuery,\n mapDeadlineToPatchQuery,\n mapToAggDeadlinesQuery,\n} from \"../mappers/deadline\";\nimport toIsoDateTime from \"../../utils/toIsoDateTime\";\n\nexport function getDeadlinesUrl(committeeId, params) {\n let proxyUrl = getProxyUrl(\n `/Deadlines/deadlines/${transformCommitteeName(committeeId)}`,\n );\n proxyUrl = addQueryParams(proxyUrl, params);\n\n return api.get(proxyUrl);\n}\n\nexport function getRelatedDeadlinesUrl(documentId, params) {\n let proxyUrl = getProxyUrl(`/Deadlines/document/${documentId}`);\n proxyUrl = addQueryParams(proxyUrl, params);\n\n return api.get(proxyUrl);\n}\n\nexport function getAggDeadlinesUrl(committeeIds, params) {\n const proxyUrl = getProxyUrl(\"/Deadlines\");\n const queryModel = mapToAggDeadlinesQuery(committeeIds, params);\n return api.post(proxyUrl, JSON.stringify(queryModel));\n}\n\nexport function getDeadlineUrl(uri) {\n const proxyUrl = getProxyUrl(`/Deadlines/deadline/${uri}`);\n return api.get(proxyUrl);\n}\n\nexport function updateDeadlineUrl(deadline, notify) {\n const deadlineToUpdate = {\n ...deadline,\n date: toIsoDateTime(deadline.date),\n };\n let proxyUrl = getProxyUrl(`/Deadlines/deadline/${deadlineToUpdate.uri}`);\n proxyUrl = addQueryParams(\n proxyUrl,\n mapDeadlineToPatchQuery(deadlineToUpdate, notify),\n );\n const docs = mapDeadlineReferencesToPatchQuery(deadlineToUpdate);\n return api.patch(proxyUrl, JSON.stringify(docs));\n}\n\nexport function deleteDeadlineUrl(deadlineUri) {\n const proxyUrl = getProxyUrl(`/Deadlines/deadline/${deadlineUri}`);\n return api.delete(proxyUrl);\n}\n\nexport function createDeadlineUrl(committeeId, data) {\n const proxyUrl = getProxyUrl(\n `/Deadlines/${transformCommitteeName(committeeId)}`,\n );\n const actionDueDate = toIsoDateTime(data.actionDueDate);\n\n return api.post(proxyUrl, { ...data, actionDueDate });\n}\n\nexport function updateIsRegisteredUrl(deadlineUri, isRegistered) {\n const proxyUrl = getProxyUrl(\n `/Deadlines/deadline/registered/${deadlineUri}/${isRegistered}`,\n );\n return api.patch(proxyUrl);\n}\n","import {\n referencesPerTypeToPatchQuery,\n referencesPerTypeToReferences,\n} from \"./references\";\n\nexport function mapToApiModel(meeting) {\n const references = referencesPerTypeToReferences(meeting.referencesPerType);\n\n return {\n id: meeting.id,\n uri: meeting.uri,\n committeeReference: meeting.committee,\n committeeReferenceTitle: meeting.committeeName,\n title: meeting.title.trim(),\n fromDate: meeting.fromDate,\n toDate: meeting.toDate,\n eventDate: meeting.eventDate,\n createdDate: meeting.createdDate,\n longLocation: meeting.locationLong.trim(),\n shortLocation: meeting.locationShort.trim(),\n notifyMembers: meeting.notifyMembers,\n past: meeting.past,\n references,\n isParticipationEnabled: meeting.isParticipationEnabled,\n };\n}\n\nexport function mapMeetingToPatchQuery(meeting, notify) {\n // const toEncodedIsoString = (date) => date ? encodeURIComponent(date.toISOString()) : null;\n const toIsoDateTime = (date) =>\n new Date(date.getTime() - date.getTimezoneOffset() * 60000).toISOString();\n const toEncodedUri = (value) =>\n value !== null ? encodeURIComponent(value) : null;\n return {\n uri: toEncodedUri(meeting.uri ? meeting.uri : null),\n committeeReference: toEncodedUri(meeting.committee),\n title: toEncodedUri(meeting.title),\n from: toIsoDateTime(meeting.fromDate),\n to: toIsoDateTime(meeting.toDate),\n longLocation: toEncodedUri(meeting.locationLong),\n shortLocation: toEncodedUri(meeting.locationShort),\n notify: toEncodedUri(notify),\n isParticipationEnabled: meeting.isParticipationEnabled,\n };\n}\nexport function mapMeetingDocumentsToPatchQuery(meeting) {\n const toEncodedUri = (value) =>\n value !== null ? encodeURIComponent(value) : null;\n\n const references = referencesPerTypeToPatchQuery(meeting.referencesPerType);\n\n return references;\n}\n","import { addQueryParams, getProxyUrl } from \"../utils\";\nimport { api } from \"./../api\";\nimport { transformCommitteeName } from \"../../utils/transform\";\nimport {\n mapMeetingDocumentsToPatchQuery,\n mapMeetingToPatchQuery,\n} from \"../mappers/meeting\";\n\nconst toIsoDateTime = (date) =>\n new Date(date.getTime() - date.getTimezoneOffset() * 60000).toISOString();\n\nexport function getMeetingsUrl(committeeId, params) {\n let proxyUrl = getProxyUrl(\n `/Meetings/meetings/${transformCommitteeName(committeeId)}`,\n );\n proxyUrl = addQueryParams(proxyUrl, params);\n return api.get(proxyUrl);\n}\n\nexport function getMeetingUrl(meetingUri) {\n const proxyUrl = getProxyUrl(`/Meetings/meeting/${meetingUri}`);\n return api.get(proxyUrl);\n}\n\nexport function updateMeetingUrl(meeting, notify) {\n let proxyUrl = getProxyUrl(`/Meetings/meeting/${meeting.uri}`);\n proxyUrl = addQueryParams(proxyUrl, mapMeetingToPatchQuery(meeting, notify));\n let docs = mapMeetingDocumentsToPatchQuery(meeting);\n return api.patch(proxyUrl, JSON.stringify(docs));\n}\n\nexport function deleteMeetingUrl(meetingUri) {\n const proxyUrl = getProxyUrl(`/Meetings/meeting/${meetingUri}`);\n return api.delete(proxyUrl);\n}\n\nexport function createMeetingUrl(committeeId, data) {\n const proxyUrl = getProxyUrl(\n `/Meetings/meeting/${transformCommitteeName(committeeId)}`,\n );\n const fromDate = toIsoDateTime(data.fromDate);\n const toDate = toIsoDateTime(data.toDate);\n\n return api.post(proxyUrl, { ...data, fromDate, toDate });\n}\n\nexport function addParticipantUrl(meetingUri, userId, attending) {\n const proxyUrl = getProxyUrl(\n `/Meetings/participant/${meetingUri}/${userId}/${attending}`,\n );\n\n return api.post(proxyUrl);\n}\n\nexport function updateParticipantUrl(participantId, attending) {\n const proxyUrl = getProxyUrl(\n `/Meetings/participant/${participantId}/${attending}`,\n );\n\n return api.patch(proxyUrl);\n}\n\nexport function getParticipantsUrl(meetingUri) {\n const proxyUrl = getProxyUrl(`/Meetings/participants/${meetingUri}`);\n\n return api.get(proxyUrl);\n}\n","export const mapCommentToQuery = (comment) => {\n return {\n deadlineUri: comment.deadlineUri,\n deadlineCommitteeReference: comment.subcommittee,\n line: comment.line,\n clause: comment.clause,\n paragraph: comment.paragraph,\n type: comment.type,\n author: comment.author,\n comment: comment.comment,\n proposedChange: comment.proposal,\n udvalg: comment.committee,\n memberId: comment.memberId,\n references: mapAttachments(comment.attachments),\n };\n};\n\nexport const mapCommentToPatchQuery = (comment) => {\n const toEncodedUri = (value) =>\n value !== null ? encodeURIComponent(value) : null;\n return {\n uri: toEncodedUri(comment.uri ? comment.uri : null),\n line: toEncodedUri(comment.line),\n clause: toEncodedUri(comment.clause),\n paragraph: toEncodedUri(comment.paragraph),\n type: toEncodedUri(comment.type),\n };\n};\n\nexport const mapCommentElementsToPatchQuery = (comment) => {\n return {\n comment: comment.comment,\n proposedChange: comment.proposal,\n references: mapAttachments(comment.attachments),\n };\n};\n\nconst mapAttachments = (attachments) =>\n attachments.map((file) => ({ uri: file.uri, fileName: file.name }));\n","import { addQueryParams, getProxyUrl } from \"../utils\";\nimport { api } from \"./../api\";\nimport {\n mapCommentToQuery,\n mapCommentToPatchQuery,\n mapCommentElementsToPatchQuery,\n} from \"../mappers/comment\";\nimport { transformCommitteeName } from \"../../utils/transform\";\nexport function getComments(deadlineUri) {\n let proxyUrl = getProxyUrl(`/Comments/comments/${deadlineUri}`);\n return api.get(proxyUrl);\n}\n\nexport function getComment(commentUri) {\n const proxyUrl = getProxyUrl(`/Comments/comment/${commentUri}`);\n return api.get(proxyUrl);\n}\n\nexport function updateComment(comment) {\n let proxyUrl = getProxyUrl(`/Comments/comment/${comment.uri}`);\n proxyUrl = addQueryParams(proxyUrl, mapCommentToPatchQuery(comment));\n let content = mapCommentElementsToPatchQuery(comment);\n return api.patch(proxyUrl, JSON.stringify(content));\n}\n\nexport function deleteComment(commentUri) {\n const proxyUrl = getProxyUrl(`/Comments/comment/${commentUri}`);\n return api.delete(proxyUrl);\n}\n\nexport function createComment(committee, data) {\n const proxyUrl = getProxyUrl(\n `/Comments/comment/${committee}/${data.deadlineUri}`,\n );\n return api.post(proxyUrl, mapCommentToQuery(data));\n}\n\nexport function getDeadlineCommentsStatistics(deadlineUri) {\n const proxyUrl = getProxyUrl(`/Comments/statistics/${deadlineUri}`);\n return api.get(proxyUrl);\n}\n\nexport function exportCommentsToWord(committee, deadlineUri) {\n const proxyUrl = getProxyUrl(\n `/Comments/export/${transformCommitteeName(committee)}/${deadlineUri}`,\n );\n return api.get(proxyUrl, { responseType: \"blob\" });\n}\n","import { api } from \"../api\";\nimport { transformCommitteeName } from \"../../utils/transform\";\nimport { getProxyUrl } from \"../utils\";\n\nexport function getCommitteeMembers(committeeId) {\n return api.get(\n `/api/kundeportal/users?committee=${transformCommitteeName(committeeId)}`,\n );\n}\n\nexport function getMemberNotification(uri) {\n let proxyUrl = getProxyUrl(`/Member/notification?uri=${uri}`);\n return api.get(proxyUrl);\n}\n\nexport function getDsMemberById(id) {\n let proxyUrl = getProxyUrl(`/Member/member/${id}`);\n return api.get(proxyUrl);\n}\n\nexport function getMemberById(id) {\n return api.get(`/api/users?id=${encodeURIComponent(id)}`);\n}\n","import { api } from \"../api\";\nimport { addQueryParams, getProxyUrl } from \"../utils\";\n\nexport function getVotes(deadlineId) {\n const proxyUrl = getProxyUrl(`/Votes/votes/${deadlineId}`);\n return api.get(proxyUrl);\n}\n\nexport function getVotesStatistics(deadlineId) {\n const proxyUrl = getProxyUrl(`/Votes/statistics/${deadlineId}`);\n return api.get(proxyUrl);\n}\n\nexport function createVote(data) {\n const proxyUrl = getProxyUrl(\"/Votes/vote\");\n return api.post(proxyUrl, data);\n}\n\nexport function updateVote(vote) {\n let proxyUrl = getProxyUrl(`/Votes/vote/${vote.uri}`);\n proxyUrl = addQueryParams(proxyUrl, { vote: vote.vote });\n return api.patch(proxyUrl, null);\n}\n\nexport function removeVote(voteUri) {\n let proxyUrl = getProxyUrl(`/Votes/vote/${voteUri}`);\n return api.delete(proxyUrl, null);\n}\n\nexport function getVoteOverride(deadlineId) {\n return api.get(\n `/api/votes/official_vote?deadline=${encodeURIComponent(deadlineId)}`,\n );\n}\n\nexport function updateVoteOverride(deadlineId, vote) {\n return api.post(\n `/api/votes/official_vote?deadline=${encodeURIComponent(deadlineId)}`,\n `\"${vote}\"`,\n );\n}\n","import { handleOtherCommitteeId } from \"../../utils/transform\";\n\nexport function mapToApiMetadataModel(document, uri) {\n const committee = handleOtherCommitteeId(document.committee);\n\n return {\n nationalCommittees: [\n {\n committeeReference: committee,\n committeeTitle: document.committeeTitle,\n internationalCommitteeMembership: \"\",\n },\n ],\n metadata: {\n documentId: document.id ? Number.parseInt(document.id) : 0,\n documentTitle: document.title,\n documentDescription: document.description,\n documentType: document.type,\n committeeReference: committee,\n documentAction: document.action,\n documentDeadline: document.dueDate,\n documentMimeType: document.mimeType,\n memberID: document.memberID,\n },\n references: [\n {\n uri,\n fileName: document.filename,\n link: document.link,\n },\n ],\n };\n}\n\nexport function mapDocumentToPatchQuery(document) {\n const toEncodedIsoString = (date) =>\n date ? encodeURIComponent(date.toISOString()) : null;\n const toEncodedUri = (value) =>\n value !== null ? encodeURIComponent(value) : null;\n const committee = handleOtherCommitteeId(document.committee);\n\n return {\n fileName: toEncodedUri(document.filename),\n title: toEncodedUri(document.title),\n committeeReference: toEncodedUri(committee),\n documentId: toEncodedUri(document.id ? Number.parseInt(document.id) : 0),\n action: toEncodedUri(document.action),\n actionDueDate: toEncodedIsoString(document.dueDate),\n documentType: toEncodedUri(document.type),\n notify: toEncodedUri(document.notifyOnUpdate),\n description: toEncodedUri(document.description),\n };\n}\n","import { api } from \"./../api\";\nimport { addQueryParams, getProxyUrl } from \"../utils\";\nimport { transformCommitteeName } from \"../../utils/transform\";\nimport { mapDocumentToPatchQuery } from \"../mappers/document\";\n\nexport function getDocumentsUrl(committeeId, params) {\n let proxyUrl = getProxyUrl(\n `/Documents/documents/${transformCommitteeName(committeeId)}`,\n );\n proxyUrl = addQueryParams(proxyUrl, params);\n return api.get(proxyUrl);\n}\n\nexport function getDocumentUrl(uri) {\n let proxyUrl = getProxyUrl(`/Documents/document/${uri}`);\n return api.get(proxyUrl);\n}\n\nexport function getDocumentSafeUrl(uri) {\n let getPromise = getDocumentUrl(uri);\n return new Promise((resolve) => {\n getPromise.then(resolve).catch((error) => {\n console.error(`getDocumentSafe error: '${uri}': ${error}`);\n resolve(null);\n });\n });\n}\n\nexport function deleteDocumentUrl(documentUrl) {\n const proxyUrl = getProxyUrl(`/Documents/document/${encodeURI(documentUrl)}`);\n return api.delete(proxyUrl);\n}\n\nexport function updateDocumentUrl(document) {\n let proxyUrl = getProxyUrl(`/Documents/document/${encodeURI(document.url)}`);\n proxyUrl = addQueryParams(proxyUrl, mapDocumentToPatchQuery(document));\n return api.patch(proxyUrl, null);\n}\n\nexport function setDocumentMetadataUrl(committeeId, params, metadata) {\n let proxyUrl = getProxyUrl(\n `/Documents/document/${transformCommitteeName(committeeId)}`,\n );\n proxyUrl = addQueryParams(proxyUrl, params);\n return api.post(proxyUrl, metadata);\n}\n\nexport function uploadDocumentUrl(data) {\n const proxyUrl = getProxyUrl(\"/Document\");\n // return api.put(proxyUrl, {data});\n return api.post(proxyUrl, data);\n}\n\nexport function downloadZipUrl(uris) {\n return api.post(\n \"/api/files/zipFiles\",\n { uris },\n { responseType: \"arraybuffer\" },\n );\n}\n\nexport function getRelatedReferencesUrl(documentId) {\n const proxyUrl = getProxyUrl(`/References/${documentId}`);\n\n return api.get(proxyUrl);\n}\n","import { transformCommitteeName } from \"../../utils/transform\";\n\nexport const buildQueryParams = (committeeId, page, filters) => {\n let queryParams = {};\n\n queryParams.nationalCommittee = transformCommitteeName(committeeId);\n\n if (filters.committee) {\n queryParams.committee = filters.committee;\n }\n\n if (filters.type) {\n queryParams.type = filters.type;\n }\n\n queryParams.page = page;\n queryParams.pageSize = 10;\n\n return queryParams;\n};\n","import * as notificationsApi from \"../../api/resources/notifications\";\nimport * as deadlinesApi from \"../../api/resources/deadlines\";\nimport * as meetingsApi from \"../../api/resources/meetings\";\nimport * as commentsApi from \"../../api/resources/comments\";\nimport * as membersApi from \"../../api/resources/members\";\nimport * as userApi from \"../../api/resources/user\";\nimport * as votesApi from \"../../api/resources/votes\";\nimport * as documentsApi from \"../../api/resources/document\";\n\nimport { buildQueryParams } from \"./url\";\nimport { notificationType } from \"../../utils/constants\";\nimport { transformCommitteeName } from \"../../utils/transform\";\nimport { isRequestSuccessful } from \"../../api/utils\";\n\nimport * as votesActions from \"../../state/votes/actions\";\n\nexport class NotificationsRepository {\n constructor() {\n this.cache = {};\n }\n\n async pullAllPages(pullFnc, pageSize, maxPages) {\n var data = [];\n for (var i = 1; i <= maxPages; i++) {\n const page = await pullFnc(i, pageSize);\n\n data = [...data, ...page.data];\n\n if (page.data.length === 0 || page.data.length < pageSize) return data;\n }\n\n return data;\n }\n\n pullNotifications = (committeeId, type, since, till, page, pageSize) => {\n const queryParams = {\n nationalCommittee: transformCommitteeName(committeeId),\n type,\n since,\n till,\n page,\n pageSize,\n };\n\n return notificationsApi.queryNotifications(queryParams);\n };\n\n pullUserNotificationsPage = (committeeId, filters, page) => {\n const queryParams = buildQueryParams(committeeId, page, filters);\n\n if (filters.onlyUnseen) {\n return notificationsApi.getUserUnseenNotifications(queryParams);\n } else {\n return notificationsApi.getUserNotifications(queryParams);\n }\n };\n\n pullNotificationDetails = (notification, callbackAction) => {\n const notificationId = notification.uri;\n const contentId = notification.document_uri;\n\n if (notification.type === notificationType.meeting) {\n return this.pullGenericNotificationDetails(\n meetingsApi.getMeetingUrl,\n notificationId,\n contentId,\n );\n } else if (notification.type === notificationType.document) {\n return this.pullGenericNotificationDetails(\n documentsApi.getDocumentUrl,\n notificationId,\n contentId,\n );\n } else if (notification.type === notificationType.documentSummation) {\n return this.pullGenericNotificationDetails(\n notificationsApi.getNotification,\n notificationId,\n notificationId,\n );\n } else if (notification.type === notificationType.deadline) {\n return this.pullGenericNotificationDetails(\n deadlinesApi.getDeadlineUrl,\n notificationId,\n contentId,\n );\n } else if (notification.type === notificationType.comment) {\n return this.pullCommentNotificationDetails(notificationId, contentId);\n } else if (notification.type === notificationType.user) {\n return this.pullUserNotificationDetails(notificationId);\n } else if (notification.type === notificationType.member) {\n return this.pullMemberNotificationDetails(notificationId, contentId);\n } else if (notification.type === notificationType.vote) {\n return this.pullVoteNotificationDetails(notificationId, contentId);\n } else if (\n notification.type === notificationType.internalDocumentSummation\n ) {\n return this.pullInternalDocumentSummation(notificationId);\n } else if (notification.type === notificationType.internalVoteSummation) {\n return this.pullVoteOrCommentSummaryInternalNotificaion(\n notificationId,\n contentId,\n callbackAction,\n );\n } else if (\n notification.type === notificationType.internalCommentsSummation\n ) {\n return this.pullVoteOrCommentSummaryInternalNotificaion(\n notificationId,\n contentId,\n callbackAction,\n );\n }\n\n console.error(`Unsupported notification type: '${notification.type}', \n notificationId: '${notificationId}', contentId: '${contentId}'`);\n return Promise.resolve(this.errorResult(notificationId));\n };\n\n errorResult(notificationId) {\n return { notificationId, failed: true };\n }\n\n makeSureIsSuccessful(response) {\n if (isRequestSuccessful(response)) {\n return response;\n }\n\n throw response;\n }\n\n async pullGenericNotificationDetails(apiFnc, notificationId, contentId) {\n try {\n const response = await this.cachedRequest(contentId, apiFnc);\n return { notificationId, ...response.data };\n } catch (error) {\n console.error(`Error while pulling '${apiFnc.name}'\n notification details (notification id: '${notificationId}', content id: '${contentId}')`);\n console.error(error);\n return this.errorResult(notificationId);\n }\n }\n\n async pullCommentNotificationDetails(notificationId, contentId) {\n try {\n const notification = await this.cachedRequest(\n notificationId,\n notificationsApi.getNotification,\n );\n\n const deadlineNotification = await this.cachedRequest(\n contentId,\n deadlinesApi.getDeadlineUrl,\n );\n\n const deadlineComments = await this.cachedRequest(\n contentId,\n commentsApi.getDeadlineCommentsStatistics,\n );\n\n return {\n notificationId,\n notification: notification.data,\n deadline: {\n ...deadlineNotification.data,\n comments: deadlineComments.data.numberOfComments,\n },\n };\n } catch (error) {\n console.error(`Error while pulling 'getComment' \n notification details (notification id: ${notificationId}, content id: ${contentId})`);\n console.error(error);\n return this.errorResult(notificationId);\n }\n }\n\n async pullUserNotificationDetails(notificationId) {\n try {\n const notification = await this.cachedRequest(\n notificationId,\n notificationsApi.getNotification,\n );\n const user = await this.cachedRequest(\n notification.data.memberId,\n userApi.getUserById,\n );\n\n return {\n notificationId,\n ...notification.data,\n member: { ...user.data },\n };\n } catch (error) {\n console.error(`Error while pulling 'getNotification'\n notification details (notification id: ${notificationId})`);\n console.error(error);\n return this.errorResult(notificationId);\n }\n }\n\n async pullMemberNotificationDetails(notificationId, contentId) {\n try {\n const notification = await this.cachedRequest(\n contentId,\n membersApi.getMemberNotification,\n );\n //TODO remove this tmp. code after Niclas fixes\n const dsMember = await this.cachedRequest(\n notification.data.id,\n membersApi.getDsMemberById,\n );\n const user = await this.cachedRequest(\n dsMember.data.email,\n userApi.getUserByName,\n );\n\n return {\n notificationId,\n ...user.data,\n date: notification.data.memberSince,\n udvalg: notification.data.udvalg,\n };\n } catch (error) {\n console.error(\n `Error while pulling member notification details (id: ${notificationId})`,\n );\n console.error(error);\n return this.errorResult(notificationId);\n }\n }\n\n async pullVoteNotificationDetails(notificationId, contentId) {\n try {\n const notification = await this.cachedRequest(\n notificationId,\n notificationsApi.getNotification,\n );\n const deadline = await this.cachedRequest(\n contentId,\n deadlinesApi.getDeadlineUrl,\n );\n const deadlineComments = await this.cachedRequest(\n contentId,\n commentsApi.getDeadlineCommentsStatistics,\n );\n const user = await this.cachedRequest(\n notification.data.memberId,\n userApi.getUserById,\n );\n\n return {\n notificationId,\n deadline: {\n ...deadline.data,\n comments: deadlineComments.data.numberOfComments,\n },\n user: user.data,\n comments: deadlineComments.data,\n };\n } catch (error) {\n console.error(`getting vote notification details failed - ${error}`);\n return this.errorResult(notificationId);\n }\n }\n\n async pullInternalDocumentSummation(notificationId) {\n try {\n const notification = await this.cachedRequest(\n notificationId,\n notificationsApi.getInternalNotification,\n );\n\n return {\n notificationId,\n ...notification.data,\n };\n } catch (error) {\n console.error(\n `getting internal-document-summation notification details failed - ${error}`,\n );\n return this.errorResult(notificationId);\n }\n }\n\n async pullVoteOrCommentSummaryInternalNotificaion(\n notificationId,\n contentId,\n callbackAction,\n ) {\n try {\n const notification = await this.cachedRequest(\n notificationId,\n notificationsApi.getInternalNotification,\n );\n const deadline = await this.cachedRequest(\n contentId,\n deadlinesApi.getDeadlineUrl,\n );\n const deadlineComments = await this.cachedRequest(\n contentId,\n commentsApi.getDeadlineCommentsStatistics,\n );\n\n const votes =\n deadline && deadline.data.enableVoting\n ? await this.cachedRequest(contentId, votesApi.getVotes)\n : null;\n\n if (votes && votes.data) {\n callbackAction(votesActions.getAllVotesSucceeded(votes.data));\n }\n\n return {\n notificationId,\n ...notification.data,\n deadline: {\n ...deadline.data,\n comments: deadlineComments.data.numberOfComments,\n },\n };\n } catch (error) {\n console.error(`getting internal notification details failed - ${error}`);\n return this.errorResult(notificationId);\n }\n }\n\n cachedRequest = async (key, requestFnc) => {\n const pref = requestFnc.name;\n const prefKey = `${pref}_${key}`;\n\n if (this.cache[prefKey]) {\n return this.makeSureIsSuccessful(await this.cache[prefKey]);\n }\n\n this.cache[prefKey] = requestFnc(key);\n return this.makeSureIsSuccessful(await this.cache[prefKey]);\n };\n}\n","import { notificationType } from \"../../utils/constants\";\nimport {\n normalizeDate,\n reduceCommitteeName,\n removeWrongCharacters,\n} from \"../../utils/transform\";\nimport { normalizeDocument } from \"../document/normalizers\";\n\nexport const markNotificationsAsSeen = (notifications) => {\n Object.values(notifications).forEach((obj) => {\n obj.seen = true;\n });\n return notifications;\n};\n\nexport const setIsInstantSent = (\n notifications,\n notificationId,\n isInstantSent,\n) => ({\n ...notifications,\n [notificationId]: {\n ...notifications[notificationId],\n isInstantSent,\n },\n});\n\nconst normalizeUserNotificationDetails = (details, data) => {\n data.committee = details.committeeReference;\n data.date = normalizeDate(details.lastModifiedDate);\n data.title = details.title;\n data.description = details.description;\n data.documents =\n details.references && details.references.length > 0\n ? details.references\n : null;\n data.references = details.references;\n data.member = details.member;\n};\n\nconst normalizeMemberNotificationDetails = (details, notification, data) => {\n data.email = details.email;\n data.name = details.name;\n data.company = details.company;\n data.profileImage = details.profileImage;\n data.date = normalizeDate(details.date);\n data.udvalg = details.udvalg;\n};\n\nconst normalizeMeetingNotificationDetails = (details, notification, data) => {\n normalizeBaseNotificationDetails(details, notification, data);\n\n data.date = normalizeDate(details.fromDate);\n data.fromDate = normalizeDate(details.fromDate);\n data.toDate = normalizeDate(details.toDate);\n data.locationShort = details.shortLocation;\n};\n\nconst normalizeBaseNotificationDetails = (details, notification, data) => {\n data.notificationDate = normalizeDate(details.eventDate);\n data.title = removeWrongCharacters(details.title);\n data.committee = details.committeeReference;\n data.committeeName = reduceCommitteeName(\n details.committeeReference,\n details.committeeReferenceTitle,\n );\n data.references = details.references;\n};\n\nconst normalizeDeadlineNotificationDetails = (details, notification, data) => {\n normalizeBaseNotificationDetails(details, notification, data);\n\n data.date = normalizeDate(details.actionDueDate);\n data.description = details.description;\n};\n\nconst normalizeDocumentSummationNotificationDetails = (\n details,\n notification,\n data,\n) => {\n normalizeBaseNotificationDetails(details, notification, data);\n data.documents = new Array(details.documentSummation.count);\n data.references = details.references;\n};\n\nconst normalizeDocumentNotificationDetails = (details, notification, data) => {\n data.committee = details.metadata.committeeReference;\n data.committeeName = reduceCommitteeName(\n details.metadata.committeeReference,\n details.metadata.committeeReferenceTitle,\n );\n\n data.date = normalizeDate(details.metadata.documentEventDate);\n data.documents = details.documents;\n data.references = details.references;\n};\n\nconst normalizeVoteNotificationDetails = (details, notification, data) => {\n data.notificationDate = normalizeDate(notification.eventDate);\n data.title = details.deadline.title;\n data.committee = details.deadline.committeeReference;\n data.committeeName = reduceCommitteeName(\n details.deadline.committeeReference,\n details.deadline.committeeReferenceTitle,\n );\n\n data.documents = details.deadline.documents;\n data.references = details.deadline.references;\n data.date = normalizeDate(details.deadline.actionDueDate);\n data.description = details.deadline.description;\n data.contentId = details.deadline.uri;\n data.comments = details.deadline.comments;\n data.author = details.user.name;\n\n return data;\n};\n\nconst normalizeInternalDocumentSummation = (details, notification, data) => {\n data.notificationDate = normalizeDate(notification.eventDate);\n data.committee = details.committee;\n data.documentsCount = details.documents.length;\n data.aggDate = details.aggDate;\n data.documents = details.documents.map(normalizeDocument);\n data.references = details.references;\n // data.documentUris = details.documents.map((d) => d.uri);\n};\n\nexport const normalizeNotificationDetails = (details, notification) => {\n let data = {};\n\n switch (notification.type) {\n case notificationType.deadline:\n normalizeDeadlineNotificationDetails(details, notification, data);\n break;\n case notificationType.meeting:\n normalizeMeetingNotificationDetails(details, notification, data);\n break;\n case notificationType.member:\n normalizeMemberNotificationDetails(details, notification, data);\n break;\n case notificationType.user:\n normalizeUserNotificationDetails(details, data);\n break;\n case notificationType.comment:\n normalizeCommentNotificationDetails(details, notification, data);\n break;\n case notificationType.document:\n normalizeDocumentNotificationDetails(details, notification, data);\n break;\n case notificationType.documentSummation:\n normalizeDocumentSummationNotificationDetails(\n details,\n notification,\n data,\n );\n break;\n case notificationType.vote:\n normalizeVoteNotificationDetails(details, notification, data);\n break;\n case notificationType.internalDocumentSummation:\n normalizeInternalDocumentSummation(details, notification, data);\n break;\n case notificationType.internalVoteSummation:\n normalizeInternalDeadlineSummation(details, notification, data);\n break;\n case notificationType.internalCommentsSummation:\n normalizeInternalDeadlineSummation(details, notification, data);\n break;\n default:\n break;\n }\n\n return data;\n};\n\nexport const normalizeNotifications = (notifications) => {\n return notifications.reduce(\n (previous, current) => ({\n ...previous,\n ...normalizeNotification(current),\n }),\n {},\n );\n};\n\nexport const normalizeNotification = (notification) => {\n const contentId = [\n notificationType.user,\n notificationType.documentSummation,\n ].includes(notification.type)\n ? notification.uri\n : notification.document_uri\n ? notification.document_uri\n : null;\n\n return {\n [notification.uri]: {\n notificationId: notification.uri,\n action: notification.event_type,\n type: notification.type,\n pinned: notification.pinned,\n seen: notification.seen,\n markedAsSeen: notification.seen,\n eventDate: normalizeDate(notification.notification_date),\n contentId,\n isInstantSent: notification.isInstantSent,\n },\n };\n};\n\nconst normalizeCommentNotificationDetails = (details, notification, data) => {\n data.notificationDate = notification.eventDate;\n data.title = details.deadline.title;\n data.committee = details.deadline.committeeReference;\n data.committeeName = reduceCommitteeName(\n details.deadline.committeeReference,\n details.deadline.committeeReferenceTitle,\n );\n\n data.documents = details.deadline.documents;\n data.references = details.deadline.references;\n data.date = normalizeDate(details.deadline.actionDueDate);\n data.description = details.deadline.description;\n data.contentId = details.deadline.uri;\n data.comments = details.deadline.comments;\n data.author = details.notification.memberId;\n};\n\nconst normalizeInternalDeadlineSummation = (details, notification, data) => {\n data.notificationDate = normalizeDate(notification.eventDate);\n data.title = details.deadline.title;\n data.committee = details.committee;\n data.members = details.members;\n\n data.committeeName = reduceCommitteeName(\n details.deadline.committeeReference,\n details.deadline.committeeReferenceTitle,\n );\n\n data.documents = details.deadline.documents;\n data.references = details.deadline.references;\n data.date = normalizeDate(details.deadline.actionDueDate);\n data.description = details.deadline.description;\n data.contentId = details.deadline.uri;\n data.comments = details.deadline.comments;\n data.enableVoting = details.deadline.enableVoting;\n data.stage = details.deadline.stage;\n data.closedForComments = details.deadline.closedForComments;\n // data.documentsCount = details.documents.length;\n // data.aggDate = details.aggDate;\n};\n\n// deadline updates\nconst updateNotificationOnDeadlineUpdate = (notification, update) => {\n if (notification.contentId !== update.uri || !notification.details)\n return { ...notification };\n\n if (notification.type === notificationType.deadline) {\n let newNotification = {\n ...notification,\n details: {\n ...notification.details,\n title: removeWrongCharacters(update.title),\n committee: update.committeeReference,\n committeeName: reduceCommitteeName(\n update.committeeReference,\n update.committeeReferenceTitle,\n ),\n documents: update.documents,\n references: update.references,\n\n date: normalizeDate(update.actionDueDate),\n description: update.description,\n },\n };\n return newNotification;\n }\n\n if (\n notification.type === notificationType.internalCommentsSummation ||\n notification.type === notificationType.internalVoteSummation\n ) {\n let newNotification = {\n ...notification,\n details: {\n ...notification.details,\n title: removeWrongCharacters(update.title),\n committee: update.committeeReference,\n committeeName: reduceCommitteeName(\n update.committeeReference,\n update.committeeReferenceTitle,\n ),\n documents: update.documents,\n references: update.references,\n date: normalizeDate(update.actionDueDate),\n description: update.description,\n stage: update.stage,\n },\n };\n\n return newNotification;\n }\n\n return { ...notification };\n};\nexport const updateNotificationsOnDeadlineUpdate = (data, update) => {\n const newData = Object.values(data).reduce(\n (acc, cur) => ({\n ...acc,\n [cur.notificationId]: updateNotificationOnDeadlineUpdate(cur, update),\n }),\n {},\n );\n return newData;\n};\n\nconst addCommnetToDeadlineNotification = (notification, comment) => {\n const { deadlineUri, memberId } = comment;\n if (notification.contentId !== deadlineUri || !notification.details) {\n return { ...notification };\n }\n\n let updatedNotification = {\n ...notification,\n details: {\n ...notification.details,\n comments: (notification.details.comments || 0) + 1,\n },\n };\n\n if (notification.type === notificationType.internalCommentsSummation) {\n if (!updatedNotification.details.members)\n updatedNotification.details.members = [memberId];\n else if (!updatedNotification.details.members.includes(memberId)) {\n updatedNotification.details.members = [\n ...updatedNotification.details.members,\n memberId,\n ];\n }\n }\n\n return updatedNotification;\n};\n\nconst removeCommnetToDeadlineNotification = (notification, comment) => {\n const { deadlineUri } = comment;\n if (notification.contentId !== deadlineUri || !notification.details) {\n return { ...notification };\n }\n\n let updatedNotification = {\n ...notification,\n details: {\n ...notification.details,\n comments: (notification.details.comments || 0) - 1,\n },\n };\n\n return updatedNotification;\n};\n\nexport const addCommnetToDeadlineNotifications = (data, comment) => {\n const newData = Object.values(data).reduce(\n (acc, cur) => ({\n ...acc,\n [cur.notificationId]: addCommnetToDeadlineNotification(cur, comment),\n }),\n {},\n );\n return newData;\n};\n\nexport const removeCommnetToDeadlineNotifications = (data, comment) => {\n const newData = Object.values(data).reduce(\n (acc, cur) => ({\n ...acc,\n [cur.notificationId]: removeCommnetToDeadlineNotification(cur, comment),\n }),\n {},\n );\n return newData;\n};\n\nconst addVoteToDeadlineNotification = (notification, vote) => {\n let updatedNotification = {\n ...notification,\n details: {\n ...notification.details,\n },\n };\n\n if (\n notification.type === notificationType.internalVoteSummation &&\n notification.contentId === vote.deadlineUri\n ) {\n const memberId = vote.memberId;\n\n if (!updatedNotification.details.members) {\n updatedNotification.details.members = [memberId];\n } else if (!updatedNotification.details.members.includes(memberId)) {\n updatedNotification.details.members = [\n ...updatedNotification.details.members,\n memberId,\n ];\n }\n }\n\n return updatedNotification;\n};\n\nexport const addVoteToDeadlineNotifications = (data, vote) => {\n const newData = Object.values(data).reduce(\n (acc, cur) => ({\n ...acc,\n [cur.notificationId]: addVoteToDeadlineNotification(cur, vote),\n }),\n {},\n );\n return newData;\n};\n\nconst removeVoteToDeadlineNotification = (notification, vote) => {\n let updatedNotification = {\n ...notification,\n details: {\n ...notification.details,\n },\n };\n\n if (\n notification.type === notificationType.internalVoteSummation &&\n notification.contentId === vote.deadlineUri\n ) {\n const memberId = vote.memberId;\n\n if (!updatedNotification.details.members) {\n return updatedNotification;\n } else if (updatedNotification.details.members.includes(memberId)) {\n updatedNotification.details.members =\n updatedNotification.details.members.filter((m) => m !== memberId);\n }\n }\n\n return updatedNotification;\n};\n\nexport const removeVoteToDeadlineNotifications = (data, vote) => {\n const newData = Object.values(data).reduce(\n (acc, cur) => ({\n ...acc,\n [cur.notificationId]: removeVoteToDeadlineNotification(cur, vote),\n }),\n {},\n );\n return newData;\n};\n\nexport const removeNotificationById = (data, id) => {\n return Object.values(data)\n .filter((d) => d.notificationId !== id)\n .reduce(\n (acc, cur) => ({\n ...acc,\n [cur.notificationId]: cur,\n }),\n {},\n );\n};\n\nexport const removeNotificationsRelatedToResource = (data, contentId) => {\n return Object.values(data)\n .filter((d) => d.contentId !== contentId)\n .reduce(\n (acc, cur) => ({\n ...acc,\n [cur.notificationId]: cur,\n }),\n {},\n );\n};\n\n// meeting updates\nconst updateNotificationOnMeetingUpdate = (notification, update) => {\n if (notification.contentId !== update.uri || !notification.details)\n return { ...notification };\n\n if (notification.type === notificationType.meeting) {\n let newNotification = {\n ...notification,\n details: {\n ...notification.details,\n title: removeWrongCharacters(update.title),\n committee: update.committeeReference,\n committeeName: reduceCommitteeName(\n update.committeeReference,\n update.committeeReferenceTitle,\n ),\n documents: update.documents,\n date: normalizeDate(update.fromDate),\n fromDate: normalizeDate(update.fromDate),\n toDate: normalizeDate(update.toDate),\n locationShort: update.shortLocation,\n },\n };\n return newNotification;\n }\n\n return { ...notification };\n};\nexport const updateNotificationsOnMeetingUpdate = (data, update) => {\n const newData = Object.values(data).reduce(\n (acc, cur) => ({\n ...acc,\n [cur.notificationId]: updateNotificationOnMeetingUpdate(cur, update),\n }),\n {},\n );\n return newData;\n};\n","import { combineActions, handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport * as deadlinesActions from \"../deadlines/actions\";\nimport * as commentsActions from \"../comments/actions\";\nimport * as votesActions from \"../votes/actions\";\nimport * as meetingsActions from \"../meetings/actions\";\n\nimport { NotificationsRepository } from \"../../services/notifications/notificationsRepository\";\n\nimport {\n normalizeNotificationDetails,\n normalizeNotifications,\n markNotificationsAsSeen,\n updateNotificationsOnDeadlineUpdate,\n addCommnetToDeadlineNotifications,\n addVoteToDeadlineNotifications,\n removeVoteToDeadlineNotifications,\n removeCommnetToDeadlineNotifications,\n updateNotificationsOnMeetingUpdate,\n removeNotificationsRelatedToResource,\n removeNotificationById,\n setIsInstantSent,\n} from \"./normalizers\";\n\nimport {\n normalizeDocument,\n normalizeListOfDocuments,\n removeReferenceById,\n updateEditedDocument,\n} from \"../document/normalizers\";\nimport { referenceListToReferenceDataPerType } from \"../../utils/references\";\n\nexport const INSTANT_EMAIL_PARAM_TYPE = {\n COMMITTEE_ID: \"committeeId\",\n NOTIFICATION_ID: \"notificationId\",\n};\n\nconst initialForm = {\n title: \"\",\n description: \"\",\n notifyMembers: false,\n references: [],\n};\n\nconst initialState = {\n isProcessingRequest: false,\n isProcessed: false,\n notification: null,\n data: {},\n pagination: {\n pagesLoaded: 0,\n pagesToLoad: 0,\n hasMoreToLoad: true,\n },\n form: initialForm,\n filters: {\n committee: null,\n type: null,\n onlyUnseen: false,\n },\n poll: {},\n markAllNotificationsAsSeenRequestProcessing: false,\n notificationRepository: new NotificationsRepository(),\n};\n\nconst actionHandlers = {\n [combineActions(\n actions.updateNotification,\n actions.deleteNotification,\n actions.createNotification,\n )]: (state) => ({\n ...state,\n isProcessingRequest: true,\n }),\n [combineActions(actions.initNotifications)]: (state) => ({\n ...state,\n isProcessingRequest: true,\n pagination: {\n pagesLoaded: 0,\n pagesToLoad: 0,\n hasMoreToLoad: true,\n },\n data: {},\n notificationRepository: new NotificationsRepository(),\n }),\n [actions.pullNotificationsPageSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n isProcessed: true,\n data: {\n ...state.data,\n ...normalizeNotifications(payload.results),\n },\n pagination: {\n pagesLoaded: state.pagination.pagesLoaded + 1,\n pagesToLoad: payload.pagesToLoad,\n hasMoreToLoad: payload.hasMoreToLoad,\n },\n }),\n\n [actions.setFilterValue]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n ...payload,\n },\n }),\n [actions.resetNotificationsFilters]: (state) => ({\n ...state,\n filters: {\n ...state.filters,\n committee: null,\n type: null,\n onlyUnseen: false,\n },\n }),\n [combineActions(\n actions.pullNotificationsPageFailed,\n actions.updateNotificationFailed,\n actions.deleteNotificationFailed,\n actions.updateNotificationSucceeded,\n actions.createNotificationSucceeded,\n actions.createNotificationFailed,\n )]: (state, { payload }) => {\n // console.log(\"state : check referencePerType!\", state)\n // console.log(\"payload : check referencePerType!\", payload)\n\n return {\n ...state,\n isProcessingRequest: false,\n };\n },\n // [combineActions(\n // actions.removeReferenceFromNotificationSucceeded,\n // )]: (state, { payload }) => {\n // console.log(\"state : check referencePerType!\", state)\n // console.log(\"payload : check referencePerType!\", payload)\n\n // const newNotification = payload;\n // newNotification.referencesRawResponsePerType = referenceListToReferenceDataPerType(newNotification.references);\n // newNotification.referencesPerType = normalizeObjectOfReferences(newNotification.references);\n\n // return ({\n // ...state,\n // isProcessingRequest: false,\n // })},\n [actions.deleteNotificationSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n data: removeNotificationById(state.data, payload),\n }),\n [actions.setSelectedNotificationDocuments]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n referencesPerType: {\n ...state.form.referencesPerType,\n document: [...payload],\n },\n },\n }),\n [actions.setSelectedNotificationDeadlines]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n referencesPerType: {\n ...state.form.referencesPerType,\n deadline: [...payload],\n },\n },\n }),\n [actions.setSelectedNotificationMeetings]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n referencesPerType: {\n ...state.form.referencesPerType,\n meeting: [...payload],\n },\n },\n }),\n\n [actions.addUploadedNotificationDocuments]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n references: [...state.form.references, normalizeDocument(payload)],\n },\n }),\n\n [actions.addGeneralNotificationInformation]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n ...payload,\n },\n }),\n\n [actions.initNotificationFormWithDocuments]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n referencesPerType: {\n document: normalizeListOfDocuments(payload),\n },\n },\n }),\n\n [actions.clearNotificationForm]: (state) => ({\n ...state,\n form: initialForm,\n }),\n\n [actions.fetchUpdatedNotificationDocumentSucceeded]: (\n state,\n { payload },\n ) => ({\n ...state,\n form: {\n ...state.form,\n references: updateEditedDocument(state.form.references, payload),\n },\n }),\n\n [actions.removeDocumentFromNotification]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n references: removeReferenceById(state.form.references, payload),\n },\n }),\n\n [actions.getNotificationDetailsSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n [payload.notificationId]: {\n ...state.data[payload.notificationId],\n details: normalizeNotificationDetails(\n payload,\n state.data[payload.notificationId],\n ),\n fetched: true,\n },\n },\n }),\n\n // [actions.getCommentNotificationDetailsFailed] : (state, {payload}) => {\n // return {\n // ...state,\n // isProcessingRequest: false,\n // data: {\n // ...state.data,\n // [payload.notificationId]: {\n // ...state.data[payload.notificationId],\n // details: payload\n // }\n // }\n // }\n // },\n\n [combineActions(\n actions.fetchNotificationSucceeded,\n actions.removeReferenceFromNotificationSucceeded,\n )]: (state, { payload }) => {\n return {\n ...state,\n notification: {\n ...payload,\n referencesRawResponsePerType: referenceListToReferenceDataPerType(\n payload.references,\n ),\n },\n };\n },\n\n [actions.fetchNotificationReferencesSucceeded]: (state, { payload }) => ({\n ...state,\n notification: {\n ...state.notification,\n referencesPerType: payload.referencesPerType,\n },\n }),\n [actions.fetchNotificationDocumentsSucceeded]: (state, { payload }) => ({\n ...state,\n notification: {\n ...state.notification,\n references: normalizeListOfDocuments(payload),\n },\n }),\n [actions.clearNotificationList]: (state) => ({\n ...state,\n data: {},\n notificationRepository: new NotificationsRepository(),\n }),\n\n [actions.pinNotificationSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n [payload]: {\n ...state.data[payload],\n pinned: true,\n },\n },\n }),\n\n [actions.unpinNotificationSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n [payload]: {\n ...state.data[payload],\n pinned: false,\n },\n },\n }),\n\n [actions.markNotificationsAsSeenSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n [payload]: {\n ...state.data[payload],\n markedAsSeen: true,\n },\n },\n }),\n [actions.getNotificationDetailsFailed]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n [payload.notificationId]: {\n ...state.data[payload.notificationId],\n failedFetch: true,\n fetched: true,\n },\n },\n }),\n [actions.markAllNotificationsAsSeen]: (state, { payload }) => ({\n ...state,\n markAllNotificationsAsSeenRequestProcessing: true,\n }),\n [actions.markAllNotificationsAsSeenSucceeded]: (state, { payload }) => ({\n ...state,\n markAllNotificationsAsSeenRequestProcessing: false,\n data: markNotificationsAsSeen({ ...state.data }),\n }),\n [actions.markAllNotificationsAsSeenFailed]: (state, { payload }) => ({\n ...state,\n markAllNotificationsAsSeenRequestProcessing: false,\n }),\n [actions.updateNotificationDocumentInfo]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n references: state.form.references.map((d) =>\n d.url !== payload.url ? d : payload,\n ),\n },\n }),\n\n [actions.sendInstantEmailSucceeded]: (state, { payload }) => ({\n ...state,\n data: setIsInstantSent(state.data, payload, true),\n }),\n [actions.updatePollSucceeded]: (state, { payload }) => ({\n ...state,\n notification: {\n ...state.notification,\n poll: payload,\n },\n }),\n\n // deadlines updates\n [deadlinesActions.updateDeadlineSucceeded]: (state, { payload }) => ({\n ...state,\n data: updateNotificationsOnDeadlineUpdate(state.data, payload),\n }),\n [deadlinesActions.deleteDeadlineSucceeded]: (state, { payload }) => ({\n ...state,\n data: removeNotificationsRelatedToResource(state.data, payload),\n }),\n [commentsActions.createCommentSucceeded]: (state, { payload }) => ({\n ...state,\n data: addCommnetToDeadlineNotifications(state.data, payload),\n }),\n [commentsActions.deleteCommentSucceeded]: (state, { payload }) => ({\n ...state,\n data: removeCommnetToDeadlineNotifications(state.data, payload),\n }),\n [votesActions.castNewVoteSucceeded]: (state, { payload }) => ({\n ...state,\n data: addVoteToDeadlineNotifications(state.data, payload),\n }),\n [votesActions.removeVoteSucceeded]: (state, { payload }) => ({\n ...state,\n data: removeVoteToDeadlineNotifications(state.data, payload),\n }),\n\n // meetings updates\n [meetingsActions.updateMeetingSucceeded]: (state, { payload }) => ({\n ...state,\n data: updateNotificationsOnMeetingUpdate(state.data, payload),\n }),\n [meetingsActions.deleteMeetingSucceeded]: (state, { payload }) => ({\n ...state,\n data: removeNotificationsRelatedToResource(state.data, payload),\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { combineActions, handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport {\n normalizeMeeting,\n normalizeMeetingsPage,\n normalizeMeetingGeneralInfo,\n updateMeetingOnList,\n} from \"./normalizers\";\n\nimport {\n updateEditedDocument,\n normalizeDocument,\n} from \"../document/normalizers\";\nimport { normalizeObjectOfReferences } from \"../references/normalizers\";\nimport { TIMEFRAME } from \"../../api/utils\";\n\nconst initialForm = {\n committee: \"\",\n title: \"\",\n fromDate: \"\",\n toDate: \"\",\n locationShort: \"\",\n locationLong: \"\",\n referencesRawResponsePerType: {\n document: [],\n meeting: [],\n deadline: [],\n },\n referencesPerType: {\n document: [],\n meeting: [],\n deadline: [],\n },\n references: [],\n participants: [],\n isParticipationEnabled: false,\n notifyOnUpdate: true,\n notifyImmediately: false,\n};\n\nconst initialState = {\n isProcessingRequest: false,\n isProcessingMeetings: false,\n isProcessedMeetings: false,\n isProcessingDocuments: false,\n pagination: {\n pagesLoaded: 0,\n pagesToLoad: 0,\n hasMoreToLoad: true,\n },\n data: {},\n meeting: null,\n form: initialForm,\n filters: {\n committee: null,\n month: null,\n timeframe: TIMEFRAME.FUTURE,\n },\n};\n\nconst actionHandlers = {\n [combineActions(\n actions.fetchMeeting,\n actions.updateMeeting,\n actions.deleteMeeting,\n actions.createMeeting,\n )]: (state) => ({\n ...state,\n isProcessingRequest: true,\n }),\n [combineActions(\n actions.fetchMeetingReferences,\n actions.setMeetingDocuments,\n actions.addMeetingDocuments,\n )]: (state) => ({\n ...state,\n isProcessingDocuments: true,\n }),\n [combineActions(actions.initMeetings)]: (state) => ({\n ...state,\n isProcessingRequest: true,\n isProcessingMeetings: true,\n isProcessedMeetings: false,\n pagination: {\n pagesLoaded: 0,\n pagesToLoad: 0,\n hasMoreToLoad: true,\n },\n data: {},\n }),\n [actions.pullMeetingsPageRequest]: (state) => ({\n ...state,\n isProcessingMeetings: true,\n isProcessedMeetings: false,\n isProcessingRequest: true,\n }),\n [actions.pullMeetingsPageSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingMeetings: false,\n isProcessedMeetings: true,\n isProcessingRequest: false,\n data: { ...state.data, ...normalizeMeetingsPage(payload) },\n pagination: {\n pagesLoaded: payload.pagination.pageLoaded + 1,\n pagesToLoad: payload.pagination.pagesToLoad,\n hasMoreToLoad: payload.pagination.hasMoreToLoad,\n },\n }),\n [actions.fetchMeetingSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n meeting: normalizeMeeting(payload),\n }),\n [actions.createMeetingSucceeded]: (state, { payload }) => {\n const newMeeting = normalizeMeeting(payload);\n let newState = {\n ...state,\n isProcessingRequest: false,\n meeting: normalizeMeeting(payload),\n };\n\n if (\n state.filters.timeframe === TIMEFRAME.PAST &&\n newMeeting.fromDate < new Date()\n ) {\n newState.data = { ...state.data, [newMeeting.uri]: newMeeting };\n }\n\n if (\n state.filters.timeframe === TIMEFRAME.FUTURE &&\n newMeeting.fromDate > new Date()\n ) {\n newState.data = { ...state.data, [newMeeting.uri]: newMeeting };\n }\n\n return newState;\n },\n [actions.fetchMeetingReferencesSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingDocuments: false,\n meeting: {\n ...state.meeting,\n referencesPerType: normalizeObjectOfReferences(payload),\n },\n }),\n [actions.fetchCurrentMeetingDocuments]: (state) => ({\n ...state,\n isProcessingDocuments: true,\n }),\n [actions.fetchCurrentMeetingDocumentsSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingDocuments: false,\n meeting: {\n ...state.meeting,\n referencesPerType: normalizeObjectOfReferences(payload),\n },\n }),\n [actions.fetchCurrentMeetingDocumentsFailed]: (state) => ({\n ...state,\n isProcessingDocuments: false,\n }),\n [actions.fetchMeetingReferencesFailed]: (state) => ({\n ...state,\n isProcessingDocuments: false,\n meeting: {\n ...state.meeting,\n references: [],\n },\n }),\n [actions.clearMeeting]: (state) => ({\n ...state,\n meeting: null,\n }),\n [actions.setMeetingsFilterValue]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n ...payload,\n },\n }),\n [actions.resetMeetingsFilters]: (state) => ({\n ...state,\n filters: {\n committee: null,\n month: null,\n timeframe: TIMEFRAME.FUTURE,\n },\n }),\n [combineActions(\n actions.updateMeetingFailed,\n actions.deleteMeetingFailed,\n actions.createMeetingFailed,\n )]: (state) => ({\n ...state,\n isFetching: false,\n }),\n [actions.updateMeetingSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n data: updateMeetingOnList(state.data, payload),\n }),\n [actions.deleteMeetingSucceeded]: (state, { payload }) => {\n const { [payload]: toRemove, ...newdata } = state.data;\n return {\n ...state,\n isFetching: false,\n data: newdata,\n };\n },\n [actions.setFormSelectedMeetingDocuments]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n referencesPerType: {\n ...state.form.referencesPerType,\n document: [...payload],\n },\n },\n }),\n [actions.setFormSelectedMeetingReferencesDeadlines]: (\n state,\n { payload },\n ) => ({\n ...state,\n form: {\n ...state.form,\n referencesPerType: {\n ...state.form.referencesPerType,\n deadline: [...payload],\n },\n },\n }),\n [actions.addFormSelectedMeetingDocuments]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n references: [...state.form.references, normalizeDocument(payload)],\n },\n }),\n [actions.addGeneralMeetingInformation]: (state, { payload }) => ({\n ...state,\n form: normalizeMeetingGeneralInfo(state.form, payload),\n }),\n\n [actions.initMeetingFormWithDocuments]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n referencesPerType: normalizeObjectOfReferences(payload),\n },\n }),\n\n [actions.clearMeetingForm]: (state) => ({\n ...state,\n form: initialForm,\n }),\n [actions.fetchUpdatedMeetingDocumentSucceeded]: (state, { payload }) => ({\n ...state,\n form: {\n ...state.form,\n references: updateEditedDocument(state.form.references, payload),\n },\n }),\n [actions.updateMeetingDocumentInfo]: (state, { payload }) => ({\n ...state,\n meeting: {\n ...state.meeting,\n references: state.meeting.references.map((d) =>\n d.url !== payload.url ? d : payload,\n ),\n },\n }),\n [actions.addParticipantSucceeded]: (state, { payload }) => ({\n ...state,\n meeting: {\n ...state.meeting,\n participants: [...state.meeting.participants, payload],\n },\n }),\n [actions.updateParticipantSucceeded]: (state, { payload }) => ({\n ...state,\n meeting: {\n ...state.meeting,\n participants: state.meeting.participants.map((p) =>\n p.id === payload.id ? payload : p,\n ),\n },\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst INITIALIZE_APP = \"APP/initialize_application\";\nconst APP_INITIALIZED = \"APP/application_initialized\";\n\nconst CHANGE_NATIONAL_COMMITTEE = \"APP/change_national_committee\";\n\nconst APP_TRIGGER_USER_HINT = \"APP/user_hint_trigger\";\nconst APP_CLOSE_USER_HIN = \"APP/user_hint_close\";\nconst APP_SET_USER_HIN_STATE = \"APP/set_user_hint_state\";\n\nconst APP_INVOKE_GLOBAL_DIALOG = \"APP/invoke_global_dialog\";\nconst APP_PUSH_GLOBAL_DIALOG = \"APP/push_global_dialog\";\nconst APP_CLOSE_GLOBAL_DIALOG = \"APP/close_global_dialog\";\n\nconst APP_UPDATE_READONLY_MODE = \"APP/update_read_only_mode\";\nconst APP_SET_READONLY_MODE = \"APP/set_read_only_mode\";\n\nexport const initializeApplication = createAction(INITIALIZE_APP);\nexport const applicationInitialized = createAction(APP_INITIALIZED);\n\nexport const changeNationalCommittee = createAction(CHANGE_NATIONAL_COMMITTEE);\n\nexport const applicationTriggerUserHint = createAction(APP_TRIGGER_USER_HINT);\nexport const applicationCloseUserHint = createAction(APP_CLOSE_USER_HIN);\nexport const applicationSetUserHintState = createAction(APP_SET_USER_HIN_STATE);\n\nexport const applicationInvokeGlobalDialog = createAction(\n APP_INVOKE_GLOBAL_DIALOG,\n);\nexport const applicationPushGlobalDialog = createAction(APP_PUSH_GLOBAL_DIALOG);\nexport const applicationCloseGlobalDialog = createAction(\n APP_CLOSE_GLOBAL_DIALOG,\n);\n\nexport const applicationUpdateReadonlyMode = createAction(\n APP_UPDATE_READONLY_MODE,\n);\nexport const applicationSetReadonlyMode = createAction(APP_SET_READONLY_MODE);\n","import { handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\n\nconst initialState = {\n isInitialized: false,\n userHint: {\n messageToShow: null,\n },\n globalDialogs: [],\n readonlyMode: false,\n};\n\nconst actionHandlers = {\n [actions.initializeApplication]: (state) => ({\n ...state,\n isInitialized: false,\n }),\n [actions.applicationInitialized]: (state) => ({\n ...state,\n isInitialized: true,\n }),\n [actions.applicationSetUserHintState]: (state, { payload }) => ({\n ...state,\n userHint: {\n ...payload,\n },\n }),\n [actions.applicationPushGlobalDialog]: (state, { payload }) => ({\n ...state,\n globalDialogs: [...state.globalDialogs, payload],\n }),\n [actions.applicationCloseGlobalDialog]: (state, { payload }) => ({\n ...state,\n globalDialogs: state.globalDialogs.filter((d) => d.id !== payload),\n }),\n [actions.applicationSetReadonlyMode]: (state, { payload }) => ({\n ...state,\n readonlyMode: payload,\n }),\n};\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst FETCH_VALUES = \"VALUES/fetch_values\";\nexport const FETCH_VALUES_FINISHED = \"VALUES/fetch_values_finished\";\n\nconst FETCHING_DOCUMENT_FILTER_VALUES_SUCCEEDED =\n \"VALUES/fetching_document_filters_succeeded\";\nconst FETCHING_DOCUMENT_FILTER_VALUES_FAILED =\n \"VALUES/fetching_document_filters_failed\";\n\nconst FETCHING_DEADLINE_FILTER_VALUES_FAILED =\n \"VALUES/fetching_deadline_filters_failed\";\nconst FETCHING_DEADLINE_FILTER_VALUES_SUCCEEDED =\n \"VALUES/fetching_deadline_filters_succeeded\";\n\nconst FETCHING_MEETING_FILTER_VALUES_FAILED =\n \"VALUES/fetching_meeting_filters_failed\";\nconst FETCHING_MEETING_FILTER_VALUES_SUCCEEDED =\n \"VALUES/fetching_meeting_filters_succeeded\";\n\nexport const fetchAllValues = createAction(FETCH_VALUES);\nexport const fetchAllValuesFinished = createAction(FETCH_VALUES_FINISHED);\n\nexport const fetchingDocumentFilterValuesSucceeded = createAction(\n FETCHING_DOCUMENT_FILTER_VALUES_SUCCEEDED,\n);\nexport const fetchingDocumentFilterValuesFailed = createAction(\n FETCHING_DOCUMENT_FILTER_VALUES_FAILED,\n);\n\nexport const fetchingDeadlineFilterValuesSucceeded = createAction(\n FETCHING_DEADLINE_FILTER_VALUES_SUCCEEDED,\n);\nexport const fetchingDeadlineFilterValuesFailed = createAction(\n FETCHING_DEADLINE_FILTER_VALUES_FAILED,\n);\n\nexport const fetchingMeetingFilterValuesSucceeded = createAction(\n FETCHING_MEETING_FILTER_VALUES_SUCCEEDED,\n);\nexport const fetchingMeetingFilterValuesFailed = createAction(\n FETCHING_MEETING_FILTER_VALUES_FAILED,\n);\n\nconst GET_STAGE_CODES_SUCCEEDED = \"VALUE/get_stage_codes_succeeded\";\nconst GET_STAGE_CODES_FAILED = \"VALUE/get_stage_codes_failed\";\n\nexport const getStageCodesSucceeded = createAction(GET_STAGE_CODES_SUCCEEDED);\nexport const getStageCodesFailed = createAction(GET_STAGE_CODES_FAILED);\n\nconst GET_COMMENT_TYPES_SUCCEEDED = \"VALUE/get_comment_types_succeeded\";\nconst GET_COMMENT_TYPES_FAILED = \"VALUE/get_comment_types_failed\";\n\nexport const getCommentTypesSucceeded = createAction(\n GET_COMMENT_TYPES_SUCCEEDED,\n);\nexport const getCommentTypesFailed = createAction(GET_COMMENT_TYPES_FAILED);\n\nconst CLEAR_MEETINGS_FILTER_VALUES = \"VALUE/CLEAR_MEETINGS_FILTER_VALUES\";\nexport const clearMeetingsFilterValues = createAction(\n CLEAR_MEETINGS_FILTER_VALUES,\n);\n","export function normalizeIndex(values) {\n return values.reduce((acc, cur) => {\n acc[cur.value] = cur.label;\n return acc;\n }, {});\n}\n","import { handleActions, combineActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport { normalizeIndex } from \"./normalizers\";\n\nconst initialState = {\n isFetching: false,\n data: {\n document: null,\n deadline: null,\n meeting: null,\n stages: null,\n comment: null,\n },\n};\n\nconst actionHandlers = {\n [combineActions(actions.fetchAllValues)]: (state) => ({\n ...state,\n isFetching: true,\n }),\n [actions.fetchingDocumentFilterValuesSucceeded]: (\n state,\n { payload: { actions, types, committees, avaiableTypes } },\n ) => ({\n ...state,\n data: {\n ...state.data,\n document: {\n actions,\n types,\n committees,\n avaiableTypes: avaiableTypes,\n actionsIndex: normalizeIndex(actions),\n typesIndex: normalizeIndex(types),\n committeesIndex: normalizeIndex(committees),\n },\n },\n }),\n\n [actions.fetchingDeadlineFilterValuesSucceeded]: (\n state,\n { payload: { months, types, committees } },\n ) => ({\n ...state,\n data: {\n ...state.data,\n deadline: {\n months,\n types,\n committees,\n },\n },\n }),\n\n [actions.fetchingMeetingFilterValuesSucceeded]: (\n state,\n { payload: { months, committees } },\n ) => ({\n ...state,\n data: {\n ...state.data,\n meeting: {\n months,\n committees,\n },\n },\n }),\n\n [actions.getStageCodesSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n stages: payload,\n },\n }),\n\n [actions.getCommentTypesSucceeded]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n comment: {\n types: payload,\n },\n },\n }),\n\n [actions.clearMeetingsFilterValues]: (state) => ({\n ...state,\n data: {\n ...state.data,\n meeting: null,\n },\n }),\n [actions.fetchAllValuesFinished]: (state) => ({\n ...state,\n isFetching: false,\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst FILTER_SEARCH_REQUEST = \"SEARCH/filter_search_request\";\nconst FILTER_SEARCH_SUCCEEDED = \"SEARCH/filter_search_succeeded\";\nconst FILTER_SEARCH_FAILED = \"SEARCH/filter_search_failed\";\n\nconst FETCH_SEARCH_FILTERS_REQUEST = \"SEARCH/fetch_filters_request\";\nconst FETCH_SEARCH_FILTERS_SUCCEEDED = \"SEARCH/fetch_filters_succeeded\";\n\nconst INIT_SEARCH = \"SEARCH/init_search\";\n\nexport const filterSearchRequest = createAction(FILTER_SEARCH_REQUEST);\nexport const filterSearchSucceeded = createAction(FILTER_SEARCH_SUCCEEDED);\nexport const filterSearchFailed = createAction(FILTER_SEARCH_FAILED);\n\nexport const fetchSearchFiltersRequest = createAction(\n FETCH_SEARCH_FILTERS_REQUEST,\n);\nexport const fetchSearchFiltersSucceeded = createAction(\n FETCH_SEARCH_FILTERS_SUCCEEDED,\n);\n\nconst SELECT_SEARCH_COMMITTEE = \"FILTER/SEARCH/select_search_committee\";\nconst SELECT_SEARCH_ACTION = \"FILTER/SEARCH/select_search_action\";\nconst SELECT_SEARCH_TYPE = \"FILTER/SEARCH/select_search_type\";\nconst SET_SEARCH_TITLE = \"FILTER/SEARCH/set_search_title\";\nconst RESET_SEARCH_FILTERS = \"FILTER/SEARCH/reset_search_filters\";\nconst ADD_SEARCH_FILTERS_TO_URL = \"FILTERS/SEARCH/add_to_url_search\";\nconst SET_SEARCH_IS_FILTERED = \"FILTER/SEARCH/set_search_is_filtered\";\n\nexport const selectSearchCommittee = createAction(SELECT_SEARCH_COMMITTEE);\nexport const selectSearchAction = createAction(SELECT_SEARCH_ACTION);\nexport const selectSearchType = createAction(SELECT_SEARCH_TYPE);\nexport const setSearchTitle = createAction(SET_SEARCH_TITLE);\nexport const resetSearchFilters = createAction(RESET_SEARCH_FILTERS);\nexport const addSearchFiltersToUrl = createAction(ADD_SEARCH_FILTERS_TO_URL);\nexport const setSearchIsFiltered = createAction(SET_SEARCH_IS_FILTERED);\nexport const initSearch = createAction(INIT_SEARCH);\n\nconst SET_SEARCH_CURRENT_PAGE = \"PAGINATION/SEARCH/set_current_page\";\nexport const setCurrentPage = createAction(SET_SEARCH_CURRENT_PAGE);\n\nconst SET_SEARCH_SORTING_TYPE = \"SORTING/SEARCH/set_type\";\nexport const setSortingType = createAction(SET_SEARCH_SORTING_TYPE);\n\nconst SET_SEARCH_MODAL_STATE = \"MODAL/SEARCH/set_state\";\nconst RESET_SEARCH_MODAL_STATE = \"MODAL/SEARCH/reset_state\";\n\nexport const setModalState = createAction(SET_SEARCH_MODAL_STATE);\nexport const resetModalState = createAction(RESET_SEARCH_MODAL_STATE);\n\nconst GET_SEARCH_SUGGESTIONS = \"SEARCH/get_search_suggestions\";\nconst GET_SEARCH_SUGGESTIONS_SUCCEEDED =\n \"SEARCH/get_search_suggestions_succeeded\";\nconst GET_SEARCH_SUGGESTIONS_FAILED = \"SEARCH/get_search_suggestions_failed\";\nexport const getSearchSuggestions = createAction(GET_SEARCH_SUGGESTIONS);\nexport const getSearchSuggestionsSucceeded = createAction(\n GET_SEARCH_SUGGESTIONS_SUCCEEDED,\n);\nexport const getSearchSuggestionsFailed = createAction(\n GET_SEARCH_SUGGESTIONS_FAILED,\n);\n\nconst INIT_SEARCH_DOCUMENTS = \"SEARCH/init_documents\";\nexport const initSearchDocuments = createAction(INIT_SEARCH_DOCUMENTS);\n","import { handleActions, combineActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport { normalizeDocuments } from \"../document/normalizers\";\nimport { normalizeSuggestions } from \"./normalizers\";\n\nconst initialState = {\n isFetching: false,\n isFetched: false,\n data: {\n results: null,\n pagination: {\n currentPage: 1,\n },\n },\n suggestions: [],\n lastSearched: null,\n filters: {\n types: null,\n actions: null,\n committees: null,\n title: \"\",\n documentsAreFiltered: false,\n },\n sortingType: null,\n modal: {\n isOpen: false,\n contentType: null,\n content: null,\n },\n};\n\nconst actionHandlers = {\n [combineActions(actions.initSearch, actions.filterSearchRequest)]: (\n state,\n ) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.filterSearchSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n pagination: {\n total: payload.total,\n pageSize: payload.pageLength,\n currentPage: Math.ceil(payload.start / 10),\n },\n results: normalizeDocuments(payload),\n },\n }),\n [actions.filterSearchFailed]: (state) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n pagination: {\n total: 0,\n pageSize: 0,\n currentPage: 0,\n },\n results: null,\n },\n }),\n [actions.fetchSearchFiltersSucceeded]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n ...payload,\n },\n }),\n [actions.selectSearchAction]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n actions: {\n ...state.filters.actions,\n selected: payload.value,\n },\n },\n }),\n [actions.selectSearchType]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n types: {\n ...state.filters.types,\n selected: payload.value,\n },\n },\n }),\n [actions.setSearchIsFiltered]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n documentsAreFiltered: payload.value,\n },\n }),\n [actions.selectSearchCommittee]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n committees: {\n ...state.filters.committees,\n selected: payload.value,\n },\n },\n }),\n [actions.setSearchTitle]: (state, { payload }) => ({\n ...state,\n filters: {\n ...state.filters,\n title: payload.value,\n },\n }),\n [actions.resetSearchFilters]: (state) => ({\n ...state,\n filters: {\n ...state.filters,\n title: \"\",\n actions: {\n ...state.filters.actions,\n selected: null,\n },\n types: {\n ...state.filters.types,\n selected: null,\n },\n committees: {\n ...state.filters.committees,\n selected: null,\n },\n },\n }),\n [actions.setSortingType]: (state, { payload }) => ({\n ...state,\n sortingType: payload.value,\n }),\n [actions.setCurrentPage]: (state, { payload }) => ({\n ...state,\n data: {\n ...state.data,\n pagination: {\n ...state.data.pagination,\n currentPage: payload.value,\n },\n },\n }),\n [actions.setModalState]: (state, { payload }) => ({\n ...state,\n modal: {\n ...state.modal,\n ...payload,\n },\n }),\n [actions.resetModalState]: (state) => ({\n ...state,\n modal: {\n isOpen: false,\n contentType: null,\n content: null,\n },\n }),\n [actions.getSearchSuggestions]: (state) => ({\n ...state,\n }),\n [actions.getSearchSuggestionsSucceeded]: (state, { payload }) => ({\n ...state,\n suggestions: normalizeSuggestions(payload),\n }),\n [actions.getSearchSuggestionsFailed]: (state) => ({\n ...state,\n suggestions: [],\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","export function normalizeSuggestions(result) {\n return result.map((element) => ({ name: element }));\n}\n","import { getBinaryFileDownloadUri } from \"../../utils/dynamicLink\";\n\nexport const normalizeComments = (data) => {\n if (data.length === 0) {\n return {};\n }\n\n const sortedData = data.sort(\n (a, b) => new Date(a.createdDate) - new Date(b.createdDate),\n );\n const reducedData = sortedData.reduce((previous, current, idx) => {\n const comment = normalizeComment(current, idx + 1);\n\n typeof previous[current.deadlineUri] !== \"undefined\"\n ? previous[current.deadlineUri].push(comment)\n : (previous[current.deadlineUri] = [comment]);\n\n return previous;\n }, {});\n\n reducedData[data[0].deadlineUri] = reducedData[data[0].deadlineUri].sort(\n (a, b) =>\n a.clause - b.clause || new Date(a.updateDate) - new Date(b.updateDate),\n );\n return reducedData;\n};\n\nexport const normalizeComment = (data, idx) => {\n return {\n id: data.referenceId,\n referenceId: idx,\n guid: data.guid,\n uri: data.uri,\n committee: data.udvalg,\n subcommittee: data.deadlineCommitteeReference,\n line: data.line,\n clause: data.clause,\n paragraph: data.paragraph,\n type: data.type,\n comment: data.comment,\n proposal: data.proposedChange,\n createdDate: data.createdDate,\n updateDate: data.lastModifiedDate,\n eventDate: data.eventDate,\n author: data.author,\n authorId: data.memberId,\n attachments: data.references.map((reference) => ({\n name: reference.fileName,\n uri: reference.uri,\n downloadUrl: getBinaryFileDownloadUri(reference),\n })),\n };\n};\n","import { combineActions, handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport { normalizeComment, normalizeComments } from \"./normalizers\";\n\nconst initialState = {\n isProcessingRequest: false,\n data: {},\n};\n\nconst actionHandlers = {\n [combineActions(\n actions.fetchComments,\n actions.fetchComment,\n actions.updateComment,\n actions.deleteComment,\n actions.createComment,\n )]: (state) => ({\n ...state,\n isProcessingRequest: true,\n }),\n [actions.fetchCommentsSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n data: {\n ...state.data,\n ...normalizeComments(payload),\n },\n }),\n [actions.fetchCommentSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n data: {\n ...state.data,\n ...normalizeComments([payload]),\n },\n }),\n [actions.updateCommentSucceeded]: (state, { payload }) => ({\n ...state,\n isProcessingRequest: false,\n data: {\n ...state.data,\n [payload.deadlineUri]: state.data[payload.deadlineUri].map((item) =>\n item.uri === payload.uri ? normalizeComment(payload) : item,\n ),\n },\n }),\n [actions.createCommentSucceeded]: (state, { payload }) => {\n let data = state.data;\n if (typeof data[payload.deadlineUri] === \"undefined\") {\n data = normalizeComments([payload]);\n } else {\n data[payload.deadlineUri] = [\n ...data[payload.deadlineUri],\n normalizeComment(payload),\n ];\n }\n return {\n ...state,\n isProcessingRequest: false,\n data: data,\n };\n },\n [actions.deleteCommentSucceeded]: (state, { payload }) => {\n let data = {};\n\n for (let [deadlineUri, comments] of Object.entries(state.data)) {\n data[deadlineUri] = comments.filter((comment) => {\n return comment.uri !== payload.uri;\n });\n }\n\n return {\n ...state,\n isProcessingRequest: false,\n data: data,\n };\n },\n [combineActions(\n actions.fetchCommentsFailed,\n actions.fetchCommentFailed,\n actions.updateCommentFailed,\n actions.createCommentFailed,\n actions.deleteCommentFailed,\n )]: (state) => ({\n ...state,\n isProcessingRequest: false,\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst GET_COMMITTEES = \"COMMITTEES/get_all\";\nconst GET_COMMITTEES_SUCCEEDED = \"COMMITTEES/get_all_succeeded\";\n\nexport const getCommittees = createAction(GET_COMMITTEES);\nexport const getCommitteesSucceeded = createAction(GET_COMMITTEES_SUCCEEDED);\n","import { handleActions } from \"redux-actions\";\n\nimport { getCommitteesSucceeded } from \"./actions\";\nimport { normalizeCommittees } from \"./normalizers\";\n\nconst intialState = {\n isFetching: false,\n isFetched: true,\n data: {},\n};\n\nconst actionsHandler = {\n [getCommitteesSucceeded]: (state, { payload }) => ({\n isFetching: false,\n isFetched: true,\n data: normalizeCommittees(payload),\n }),\n};\n\nexport default handleActions(actionsHandler, intialState);\n","export const normalizeCommittees = (committees) =>\n committees.map((committee) => ({\n id: committee.committeeId,\n title: committee.committeeTitle,\n responsibleNames: committee.responsibleNames,\n // membership: committee.membership,\n }));\n","import { createAction } from \"redux-actions\";\n\nexport const GET_PUBLISHED_STANDARDS =\n \"PUBLISHED_STANDARDS/get_published_standards\";\nexport const GET_PUBLISHED_STANDARDS_SUCCEEDED =\n \"PUBLISHED_STANDARDS/get_published_standards_succeeded\";\nexport const GET_PUBLISHED_STANDARDS_FAILED =\n \"PUBLISHED_STANDARDS/get_published_standards_failed\";\n\nexport const getPublishedStandards = createAction(GET_PUBLISHED_STANDARDS);\nexport const getPublishedStandardsSucceeded = createAction(\n GET_PUBLISHED_STANDARDS_SUCCEEDED,\n);\nexport const getPublishedStandardsFailed = createAction(\n GET_PUBLISHED_STANDARDS_FAILED,\n);\n\nconst SET_PUBLISHED_STANDARDS_CURRENT_PAGE =\n \"PUBLISHED_STANDARDS/set_current_page\";\nexport const setPublishedStandardsCurrentPage = createAction(\n SET_PUBLISHED_STANDARDS_CURRENT_PAGE,\n);\n\nconst FILTER_PUBLISHED_STANDARDS_REQUEST =\n \"PUBLISHED_STANDARDS/filter_notifications_request\";\nconst FILTER_PUBLISHED_STANDARDS_SUCCEEDED =\n \"PUBLISHED_STANDARDS/filter_notifications_succeeded\";\nconst FILTER_PUBLISHED_STANDARDS_FAILED =\n \"PUBLISHED_STANDARDS/filter_notifications_failed\";\n\nexport const filterPublishedStandardsRequest = createAction(\n FILTER_PUBLISHED_STANDARDS_REQUEST,\n);\nexport const filterPublishedStandardsSucceeded = createAction(\n FILTER_PUBLISHED_STANDARDS_SUCCEEDED,\n);\nexport const filterPublishedStandardsFailed = createAction(\n FILTER_PUBLISHED_STANDARDS_FAILED,\n);\n\nconst SET_STANDARDS_SORTING_TYPE = \"PUBLISHED_STANDARDS/set_sorting_type\";\nexport const setPublishedStandardSortingType = createAction(\n SET_STANDARDS_SORTING_TYPE,\n);\n","import { handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\nimport { normalizeStandards } from \"./normalizer\";\n\nconst initialState = {\n isFetching: true,\n isFetched: false,\n data: {},\n errorMessage: null,\n pagination: {\n currentPage: 1,\n },\n sortingType: null,\n};\n\nconst actionHandlers = {\n [actions.getPublishedStandards]: (state) => ({\n ...state,\n isFetching: true,\n isFetched: false,\n }),\n [actions.getPublishedStandardsSucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n data: {\n ...state.data,\n ...normalizeStandards(payload),\n },\n }),\n [actions.getPublishedStandardsFailed]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n isFetched: true,\n errorMessage: payload,\n }),\n [actions.setPublishedStandardSortingType]: (state, { payload }) => ({\n ...state,\n sortingType: payload.value,\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","export function normalizeStandards(result) {\n return result.data.reduce((previous, current) => {\n const standard = {\n committee: current.committee,\n date: current.date,\n title: current.title,\n link: current.link,\n };\n\n previous[result.committee]\n ? previous[result.committee].push(standard)\n : (previous[result.committee] = [standard]);\n\n return previous;\n }, {});\n}\n","import { normalizeDocument } from \"../document/normalizers\";\nimport { makeOtherCommitteeIdIfEmpty } from \"../../utils/transform\";\n\nfunction normalizeDetails(documents) {\n return documents.reduce((acc, cur) => {\n const committeeReference = makeOtherCommitteeIdIfEmpty(cur.committee);\n acc[committeeReference] = acc[committeeReference] || [];\n acc[committeeReference].push(cur);\n return acc;\n }, {});\n}\n\nexport function normalizeDocumentSummary(data) {\n const normalizedDocuments = data.map(normalizeDocument);\n return normalizeDetails(normalizedDocuments);\n}\n\nexport function updateDocument(details, data) {\n let documents = Object.keys(details)\n .map((k) => details[k])\n .reduce((acc, cur) => [...acc, ...cur], []);\n documents = documents.filter((d) => d.url !== data.url);\n documents = [...documents, data];\n return normalizeDetails(documents);\n}\n","import { createAction } from \"redux-actions\";\n\nconst GENERATE_DOCUMENTS_SUMMARY = \"DOCUMENTSUMMARY/generate_summary\";\nconst GENERATE_DOCUMENTS_SUMMARY_SUCCEEDED =\n \"DOCUMENTSUMMARY/generate_summary_succeeded\";\nconst GENERATE_DOCUMENTS_SUMMARY_FAILED =\n \"DOCUMENTSUMMARY/generate_summary_failed\";\nconst UPDATE_DOCUMENT_STATE = \"DOCUMENTSUMMARY/update_document_state\";\n\nconst DOWNLOAD_DOCUMENTS_SUMMARY_FILES = \"DOCUMENTSUMMARY/download_files\";\n\nexport const generateDocumentsSummary = createAction(\n GENERATE_DOCUMENTS_SUMMARY,\n);\nexport const generateDocumentsSummarySucceeded = createAction(\n GENERATE_DOCUMENTS_SUMMARY_SUCCEEDED,\n);\nexport const generateDocumentsSummaryFailed = createAction(\n GENERATE_DOCUMENTS_SUMMARY_FAILED,\n);\nexport const updateDocumentState = createAction(UPDATE_DOCUMENT_STATE);\n\nexport const downloadDocumentsSummaryFiles = createAction(\n DOWNLOAD_DOCUMENTS_SUMMARY_FILES,\n);\n","import { handleActions } from \"redux-actions\";\nimport { normalizeDocumentSummary, updateDocument } from \"./normalizers\";\nimport * as actions from \"./actions\";\n\nconst initialState = {\n isFetching: false,\n hasFailed: false,\n details: null,\n};\n\nconst actionHandlers = {\n [actions.generateDocumentsSummary]: (state) => ({\n ...state,\n isFetching: true,\n details: null,\n }),\n [actions.generateDocumentsSummarySucceeded]: (state, { payload }) => ({\n ...state,\n isFetching: false,\n hasFailed: false,\n details: normalizeDocumentSummary(payload),\n }),\n [actions.generateDocumentsSummaryFailed]: (state) => ({\n ...state,\n isFetching: false,\n hasFailed: true,\n details: null,\n }),\n [actions.updateDocumentState]: (state, { payload }) => ({\n ...state,\n details: updateDocument(state.details, payload),\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","export function normalizeBroadcastInformation(data) {\n function cvtDate(epoch) {\n if (!epoch) return null;\n\n var date = new Date(0);\n date.setUTCSeconds(epoch / 1000);\n return date;\n }\n\n return {\n isInstant: data.isInstant,\n instantBroadcastDate: cvtDate(data.instantBroadcastDate),\n dailyBroadcastDate: cvtDate(data.dailyBroadcastDate),\n weeklyBroadcastDate: cvtDate(data.weeklyBroadcastDate),\n };\n}\n","import { createAction } from \"redux-actions\";\n\nconst PULL_NOTIFICATION_BROADCAST_INFO =\n \"DIAGNOSTICS/pull_notification_broadcast_info\";\nconst PULL_NOTIFICATION_BROADCAST_INFO_SUCCEEDED =\n \"DIAGNOSTICS/pull_notification_broadcast_info_succeeded\";\nconst PULL_NOTIFICATION_BROADCAST_INFO_FAILED =\n \"DIAGNOSTICS/pull_notification_broadcast_info_failed\";\nexport const pullNotificationBroadcastInfo = createAction(\n PULL_NOTIFICATION_BROADCAST_INFO,\n);\nexport const pullNotificationBroadcastInfoSucceeded = createAction(\n PULL_NOTIFICATION_BROADCAST_INFO_SUCCEEDED,\n);\nexport const pullNotificationBroadcastInfoFailed = createAction(\n PULL_NOTIFICATION_BROADCAST_INFO_FAILED,\n);\n\nconst UPDATE_DOCUMENT_WITH_DIAGNOSTICs_DATA =\n \"DIAGNOSTICS/update_document_with_diagnostics_data\";\nexport const updateDocumentWithDiagnosticsData = createAction(\n UPDATE_DOCUMENT_WITH_DIAGNOSTICs_DATA,\n);\n","import { createStore, compose, applyMiddleware } from \"redux\";\nimport { combineReducers } from \"redux\";\nimport { getRootReducers } from \"../state\";\nimport { creteSagaMiddleware } from \"./saga\";\nimport { composeWithDevTools } from \"redux-devtools-extension\";\n\nlet store;\n\nconst makeRootReducer = (reducers) => combineReducers({ ...reducers });\n\nexport default (initialState = {}) => {\n const sagaMiddleware = creteSagaMiddleware();\n\n const enhancers = composeWithDevTools({});\n\n store = createStore(\n makeRootReducer(getRootReducers()),\n initialState,\n enhancers(compose(applyMiddleware(sagaMiddleware))),\n );\n\n return store;\n};\n\nexport const getStore = () => {\n if (!store) {\n throw new Error(\"Create a store first.\");\n }\n\n return store;\n};\n","import { handleActions } from \"redux-actions\";\nimport { normalizeBroadcastInformation } from \"./normalizers\";\nimport * as actions from \"./actions\";\n\nconst initialState = {\n broadcastInformation: {},\n documentDiagnositcs: {},\n};\n\nconst actionHandlers = {\n [actions.pullNotificationBroadcastInfoSucceeded]: (state, { payload }) => ({\n ...state,\n broadcastInformation: {\n ...state.broadcastInformation,\n [payload.id]: normalizeBroadcastInformation(payload),\n },\n }),\n [actions.updateDocumentWithDiagnosticsData]: (state, { payload }) => ({\n ...state,\n documentDiagnositcs: {\n ...state.documentDiagnositcs,\n [payload.metadata.notificationUri]: payload,\n },\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst EMPTY_MODAL_STACK = \"MODAL_DEPTH/empty_modal_stack\";\nconst PUSH_MODAL_STACK = \"MODAL_DEPTH/push_modal_stack\";\nconst POP_MODAL_STACK = \"MODAL_DEPTH/pop_modal_stack\";\n\nexport const emptyModalStack = createAction(EMPTY_MODAL_STACK);\nexport const pushModalStack = createAction(PUSH_MODAL_STACK);\nexport const popModalStack = createAction(POP_MODAL_STACK);\n","import { handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\n\nconst initialState = {\n modalStack: [],\n};\n\nconst actionHandlers = {\n [actions.emptyModalStack]: (state, action) => ({\n ...state,\n modalStack: [],\n }),\n [actions.pushModalStack]: (state, action) => ({\n ...state,\n modalStack: [...state.modalStack, action.payload],\n }),\n [actions.popModalStack]: (state, action) => ({\n ...state,\n modalStack: state.modalStack.slice(0, -1),\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst SET_TITLE = \"HEADER/SET_TITLE\";\n\nexport const setHeaderTitle = createAction(SET_TITLE);\n","import { handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\n\nconst initialState = {\n title: \"\",\n};\n\nconst actionHandlers = {\n [actions.setHeaderTitle]: (state, action) => ({\n ...state,\n title: action.payload,\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst SET_REFERENCE_TAB = \"REFERENCES/set_reference_tab\";\nconst EMPTY_REFERENCE_TAB = \"REFERENCES/empty_reference_tab\";\n\nexport const setReferenceTab = createAction(SET_REFERENCE_TAB);\nexport const emptyReferenceTab = createAction(EMPTY_REFERENCE_TAB);\n","import { handleActions } from \"redux-actions\";\nimport * as actions from \"./actions\";\n\nexport const REFERENCE_TAB = {\n NONE: \"none\",\n DOCUMENTS: \"documents\",\n MEETINGS: \"meetings\",\n DEADLINES: \"deadlines\",\n};\n\nconst initialState = {\n selectedReferenceTab: REFERENCE_TAB.NONE,\n};\n\nconst actionHandlers = {\n [actions.setReferenceTab]: (state, action) => {\n const newSelectedReferenceTab = action.payload;\n // if it's not included in MODAL_REFERENCE_TAB, return\n if (!Object.values(REFERENCE_TAB).includes(newSelectedReferenceTab)) {\n console.error(\"Invalid reference tab\");\n return state;\n }\n\n return {\n selectedReferenceTab: action.payload,\n };\n },\n [actions.emptyReferenceTab]: (state, action) => ({\n selectedReferenceTab: REFERENCE_TAB.NONE,\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import { createAction } from \"redux-actions\";\n\nconst SET_NOTIFY_TOASTER_CONTENT =\n \"NOTIFY_TOASTER_CONTENT/set_notify_toaster_content\";\nconst CLEAR_NOTIFY_TOASTER_CONTENT =\n \"NOTIFY_TOASTER_CONTENT/clear_notify_toaster_content\";\n\nexport const setNotifyToasterContent = createAction(SET_NOTIFY_TOASTER_CONTENT);\nexport const clearNotifyToasterContent = createAction(\n CLEAR_NOTIFY_TOASTER_CONTENT,\n);\n","import { handleActions } from \"redux-actions\";\nimport { clearNotifyToasterContent, setNotifyToasterContent } from \"./actions\";\n\nexport const NOTIFY_TOASTER_TYPE = {\n INFO: \"info\",\n ERROR: \"error\",\n WARNING: \"warning\",\n SUCCESS: \"success\",\n};\n\nconst initialState = {\n title: \"\",\n message: \"\",\n type: \"info\",\n};\n\nconst actionHandlers = {\n [setNotifyToasterContent]: (state, { payload }) => ({\n ...state,\n title: payload.title,\n message: payload.message,\n type: payload.type,\n }),\n [clearNotifyToasterContent]: (state) => ({\n ...state,\n title: \"\",\n message: \"\",\n type: \"info\",\n }),\n};\n\nexport default handleActions(actionHandlers, initialState);\n","import userReducer from \"./user/reducer\";\nimport nationalCommitteesReducer from \"./national-committees/reducer\";\nimport membersReducer from \"./members/reducer\";\nimport settingsReducer from \"./settings/reducer\";\nimport documentReducer from \"./document/reducer\";\nimport deadlinesReducer from \"./deadlines/reducer\";\nimport votesReducer from \"./votes/reducer\";\nimport notificationsReducer from \"./notifications/reducer\";\nimport meetingsReducer from \"./meetings/reducer\";\nimport appReducer from \"./app/reducer\";\nimport valuesReducer from \"./values/reducer\";\nimport searchReducer from \"./search/reducer\";\nimport commentsReducer from \"./comments/reducer\";\nimport committeesReducer from \"./committees/reducer\";\nimport standardsReducer from \"./standards/reducer\";\nimport documentSummaryReducer from \"./documentSummary/reducer\";\nimport diagnosticsReducer from \"./diagnostics/reducer\";\nimport modalStack from \"./modal-stack/reducer\";\nimport header from \"./header/reducer\";\nimport references from \"./references/reducer\";\nimport notifyToasterContent from \"./notify-toaster-content/reducer\";\n\nexport const getRootReducers = () => ({\n user: userReducer,\n nationalCommittees: nationalCommitteesReducer,\n members: membersReducer,\n settings: settingsReducer,\n documents: documentReducer,\n deadlines: deadlinesReducer,\n votes: votesReducer,\n notifications: notificationsReducer,\n meetings: meetingsReducer,\n values: valuesReducer,\n search: searchReducer,\n app: appReducer,\n comments: commentsReducer,\n committees: committeesReducer,\n standards: standardsReducer,\n documentsSummary: documentSummaryReducer,\n diagnostics: diagnosticsReducer,\n modalStack: modalStack,\n header: header,\n references: references,\n notifyToasterContent: notifyToasterContent,\n});\n","import { TIMEFRAME } from \"../api/utils\";\nimport { defaultExcerptLength, otherCommitteeId } from \"./constants\";\nimport { getStore } from \"./state\";\n\nconst firstIndexOfAny = (str, chars, offset) => {\n const indices = chars\n .map((c) => str.indexOf(c, offset))\n .filter((i) => i !== -1);\n if (indices) {\n return Math.min(...indices);\n }\n\n return -1;\n};\n\nexport const transformCommitteeName = (name) => {\n return name ? name.replace(/\\//g, \"_\") : name;\n};\n\nexport const reverseTransformCommitteeName = (name) => {\n return name ? name.replace(/_/g, \"/\") : name;\n};\n\nexport const getAcronym = (str) => {\n return str\n ? str\n .split(/\\s/)\n .reduce((response, word) => (response += word.slice(0, 1)), \"\")\n .replace(\"(\", \"\")\n .replace(\")\", \"\")\n : \"\";\n};\n\nexport const getDateString = (date) => {\n if (!date) {\n return \"-\";\n }\n\n var y = date.getFullYear();\n var m = date.getMonth() + 1;\n var d = date.getDate();\n\n return `${y}-${(m < 10 ? \"0\" : \"\") + m}-${(d < 10 ? \"0\" : \"\") + d}`;\n // return date ? date.toISOString().slice(0,10) : \"-\";\n};\n\nexport const getExcerpt = (text, length = defaultExcerptLength) => {\n if (text && text.length > length) {\n return text.substring(0, length - 1) + \"...\";\n }\n return text;\n};\n\nexport const getExcerptWithWholeWords = (\n text,\n length = defaultExcerptLength,\n) => {\n if (text && text.length > length) {\n let trimPoint = firstIndexOfAny(text, [\" \", \"\\t\", \"\\n\"], length);\n if (trimPoint === -1) {\n return text;\n }\n\n return text.substring(0, trimPoint).concat(\" ...\");\n }\n return text;\n};\n\nexport const normalizeDate = (dateString) => {\n let dateObject = dateString ? new Date(dateString) : null;\n return dateObject instanceof Date && !isNaN(dateObject) ? dateObject : null;\n};\n\nexport const formatEventDate = (from) => {\n const locale = getStore().getState().user.data.kundeportal.locale;\n const dateFrom = new Date(from);\n const dayFrom = dateFrom.getDate();\n\n const monthFrom = dateFrom.toLocaleDateString(locale, { month: \"long\" });\n const timeMinutes = (\"0\" + dateFrom.getMinutes()).slice(-2);\n const timeHours = (\"0\" + dateFrom.getHours()).slice(-2);\n const timeFrom = `${timeHours}:${timeMinutes}`;\n const yearFrom = dateFrom.getFullYear();\n\n return `${dayFrom} ${monthFrom} ${yearFrom} ${timeFrom}`;\n};\n\nexport const formatDateTime = (date) => {\n const locale = getStore().getState().user.data.kundeportal.locale;\n const day = date.getDate();\n const month = date.toLocaleDateString(locale, { month: \"long\" });\n const year = date.getFullYear();\n const time = `${date.getHours()}:${(\"0\" + date.getMinutes()).slice(-2)}`;\n return `${day} ${month} ${year}, ${time}`;\n};\n\nexport const formatDate = (date) => {\n const locale = getStore().getState().user.data.kundeportal.locale;\n const day = date.getDate();\n const month = date.toLocaleDateString(locale, { month: \"long\" });\n const year = date.getFullYear();\n return `${day} ${month} ${year}`;\n};\n\nexport const dateSort = (a, b, direction) => {\n if (direction === \"desc\") {\n if (a > b) return -1;\n if (a < b) return 1;\n return 0;\n }\n //asc\n if (a < b) return -1;\n if (a > b) return 1;\n return 0;\n};\n\nexport const sortByDate = (a, b, direction) => {\n if (direction === \"desc\") {\n const aDate = new Date(a.fromDate);\n const bDate = new Date(b.fromDate);\n\n if (aDate > bDate) return -1;\n if (aDate < bDate) return 1;\n return 0;\n }\n //asc\n const aDate = new Date(a.fromDate);\n const bDate = new Date(b.fromDate);\n if (aDate < bDate) return -1;\n if (aDate > bDate) return 1;\n return 0;\n};\n\nexport const monthFilter = (obj, timeframe, currentDate) => {\n const currentMonth = new Date(\n currentDate.getFullYear(),\n currentDate.getMonth(),\n 1,\n );\n const objMonth = new Date(obj.date.getFullYear(), obj.date.getMonth(), 1);\n return timeframe === TIMEFRAME.PAST\n ? currentMonth > objMonth\n : currentMonth <= objMonth;\n};\n\nexport const transformUri = (uri) => {\n return uri ? uri.replace(\".xml\", \"\") : uri;\n};\n\nexport const reverseTransformUri = (uri) => {\n return uri ? uri + \".xml\" : uri;\n};\n\nexport const reduceCommitteeName = (\n committeeReference,\n committeeReferenceTitle,\n) => {\n return committeeReferenceTitle.replace(committeeReference + \" -\", \"\").trim();\n};\n\nexport const makeOtherCommitteeIdIfEmpty = (committee) => {\n return committee || otherCommitteeId;\n};\n\nexport const handleOtherCommitteeId = (committee) => {\n return committee === otherCommitteeId ? \"\" : committee;\n};\n\nexport const trimFileExtension = (filename) => {\n return filename.split(\".\").slice(0, -1).join(\".\");\n};\n\nexport const removeWrongCharacters = (str) => {\n return str\n .replace(/(Â|–|—|‰¥ |‰¤|“|”|
)/gm, \"\")\n .replace(/<[^>^\\s]*>/gm, \"\");\n};\n\nexport const ensureIsOfTypeBoolean = (data) => {\n if (typeof data === \"string\") {\n return data.toLowerCase() === \"true\";\n }\n\n return Boolean(data);\n};\n","import { api } from \"../api\";\nimport { transformCommitteeName } from \"../../utils/transform\";\n\nexport function getUser() {\n return api.get(\"/api/kundeportal/users/current\");\n}\n\nexport function getUserById(userId) {\n return api.get(`/api/kundeportal/users?userId=${userId}`);\n}\n\nexport function getUserByName(name) {\n return api.get(`/api/kundeportal/users?name=${name}`);\n}\n\nexport function saveUserDetails(userDetails) {\n return api.post(\"/api/users/current\", userDetails);\n}\n\nexport function changeUserCredentials(userCredentials) {\n return api.post(\"/api/users/current/password\", userCredentials);\n}\n\nexport function getUserSettings(nationalCommittee) {\n return api.get(\n `/api/users/current/settings?nationalCommittee=${transformCommitteeName(\n nationalCommittee,\n )}`,\n );\n}\n\nexport function turnOffCommittees(nationalCommittee, turnOffCommittees) {\n return api.post(\n `/api/users/current/settings/turnedOffCommittees?nationalCommittee=${transformCommitteeName(\n nationalCommittee,\n )}`,\n turnOffCommittees,\n );\n}\n\nexport function turnOffCommittee(nationalCommittee, turnOffCommittee) {\n return api.post(\n `/api/users/current/settings/turnedOffCommittee?nationalCommittee=${transformCommitteeName(\n nationalCommittee,\n )}&turnedOffCommittee=${transformCommitteeName(turnOffCommittee)}`,\n );\n}\n\nexport function turnOnCommittee(nationalCommittee, turnOffCommittee) {\n return api.delete(\n `/api/users/current/settings/turnedOffCommittee?nationalCommittee=${transformCommitteeName(\n nationalCommittee,\n )}&turnedOffCommittee=${transformCommitteeName(turnOffCommittee)}`,\n );\n}\n\nexport function setUserEmailSetting(nationalCommittee, emailSetting) {\n return api.post(\n `/api/users/current/settings/emails?nationalCommittee=${transformCommitteeName(\n nationalCommittee,\n )}`,\n JSON.stringify(emailSetting),\n );\n}\n\nexport function saveUserProfilePhoto(photo) {\n return api.post(\"/api/users/current/profilePhoto\", photo);\n}\n\nexport function deleteUserProfilePhoto() {\n return api.delete(\"/api/users/current/profilePhoto\");\n}\n\nexport function getUserLastSearches() {\n return api.get(\"/api/users/current/searchHistory\");\n}\n\nexport function setUserLastSearch(entry) {\n return api.post(\"/api/users/current/searchHistory\", JSON.stringify(entry));\n}\n\nexport function setUserLocale(locale) {\n return api.post(\"/api/kundeportal/current/locale\", JSON.stringify(locale));\n}\n\nexport function setUserActiveState(userId, state) {\n return api.post(`api/users/active?id=${userId}`, JSON.stringify(state));\n}\n\nexport function acceptGdpr(version) {\n return api.post(\"/api/users/current/accept_gdpr\", JSON.stringify(version));\n}\n","const ERROR_CODES = {\n INVALID_PASSWORD: \"apiErrors.invalidPassword\",\n};\n\nexport function GetErrorMessage(errorCode) {\n if (ERROR_CODES.hasOwnProperty(errorCode)) {\n return ERROR_CODES[errorCode];\n }\n\n return errorCode;\n}\n","import { createSelector } from \"reselect\";\nimport { normalizeCommitteesList } from \"./normalizer\";\n\nexport const nationalCommittees = (state) => state.nationalCommittees;\nexport const rawUserNationalCommittees = (state) =>\n state.nationalCommittees.data;\nexport const userNationalCommittees = (state) =>\n Object.values(state.nationalCommittees.data);\nexport const selectedNationalCommittee = (state) =>\n state.nationalCommittees.selectedCommittee;\n\nexport const getSelectedNationalCommitteeTitle = createSelector(\n [nationalCommittees],\n (nationalCommittees) => {\n const selectedCommittee = nationalCommittees.selectedCommittee;\n if (nationalCommittees.data.hasOwnProperty(selectedCommittee)) {\n return nationalCommittees.data[selectedCommittee].title;\n }\n return null;\n },\n);\n\nexport const getInternationalCommittees = createSelector(\n [rawUserNationalCommittees, selectedNationalCommittee],\n (rawUserNationalCommittees, selectedNationalCommittee) => {\n const committee = rawUserNationalCommittees[selectedNationalCommittee];\n return committee && committee.internationalCommittees\n ? committee.internationalCommittees.map((item) => ({\n ...item,\n label: item.name + \" - \" + item.description,\n }))\n : [];\n },\n);\n\nexport const getInternationalCommitteesCount = createSelector(\n [rawUserNationalCommittees, selectedNationalCommittee],\n (rawUserNationalCommittees, selectedNationalCommittee) => {\n const committee = rawUserNationalCommittees[selectedNationalCommittee];\n return committee && committee.internationalCommittees\n ? committee.internationalCommittees.length\n : 0;\n },\n);\n\nexport const getCommitteesList = createSelector(\n [rawUserNationalCommittees, selectedNationalCommittee],\n (rawUserNationalCommittees, selectedNationalCommittee) => {\n const committee = rawUserNationalCommittees[selectedNationalCommittee];\n return committee && committee.internationalCommittees\n ? normalizeCommitteesList(committee.internationalCommittees)\n : [];\n },\n);\n\n// the provider can resolve national and internal committee title\nexport const getCommitteeTitleProvider = createSelector(\n [rawUserNationalCommittees, selectedNationalCommittee],\n (rawUserNationalCommittees, selectedNationalCommittee) => {\n return (committeeName) => {\n const nationalCommitee =\n rawUserNationalCommittees[selectedNationalCommittee];\n if (nationalCommitee) {\n if (committeeName == selectedNationalCommittee)\n return nationalCommitee.title;\n\n if (nationalCommitee.internationalCommittees) {\n const committee = nationalCommitee.internationalCommittees.find(\n (c) => c.name == committeeName,\n );\n if (committee) return committee.description;\n }\n }\n return null;\n };\n },\n);\n","import { createSelector } from \"reselect\";\nimport { selectedNationalCommittee } from \"../national-committees/selectors\";\nimport { roleType, defaultLocale, appLocaleMap } from \"../../utils/constants\";\n\nconst user = (state) => state.user;\nexport const userSettings = (state) => state.user.data.settings;\n\nexport const userDetails = createSelector(user, (user) => user.data);\nexport const userCommittees = createSelector(\n userDetails,\n (userDetails) => userDetails.role,\n);\nexport const userId = createSelector(user, (user) => user.data.id);\nexport const userFullName = createSelector(user, (user) => user.data.name);\nexport const apiResponse = createSelector(user, (user) => user.apiResponse);\nexport const lastOpenedCommittee = createSelector(\n user,\n (user) => user.data.kundeportal.lastOpenedCommittee,\n);\nexport const updateInProgress = createSelector(\n user,\n (user) => user.updateInProgress,\n);\nexport const updatePhotoInProgress = createSelector(\n user,\n (user) => user.updatePhotoInProgress,\n);\nexport const getUserSetting = createSelector([userSettings], (userSettings) => {\n return userSettings;\n});\n\nconst consultantRoles = [roleType.consultant, roleType.professional];\n\nexport const isConsultant = createSelector([userDetails], (userDetails) => {\n if (!userDetails.role) {\n return false;\n }\n\n const committees = Object.keys(userDetails.role);\n return committees.some((committee) =>\n consultantRoles.includes(userDetails.role[committee].name),\n );\n});\n\nexport const isConsultantInCurrentCommittee = createSelector(\n [userDetails, selectedNationalCommittee],\n (userDetails, selectedNationalCommittee) => {\n if (!userDetails.role || !userDetails.role[selectedNationalCommittee]) {\n return false;\n }\n\n const currentCommitteeRole =\n userDetails.role[selectedNationalCommittee].name;\n\n return consultantRoles.includes(currentCommitteeRole);\n },\n);\n\nexport const isConsultantInAnyCommittee = createSelector(\n [userDetails],\n (userDetails) => {\n if (!userDetails.role) {\n return false;\n }\n\n return (\n Object.values(userDetails.role).findIndex((role) =>\n consultantRoles.includes(role.name),\n ) !== -1\n );\n },\n);\n\nexport const isMemberInCurrentCommittee = createSelector(\n [userDetails, selectedNationalCommittee],\n (userDetails, selectedNationalCommittee) => {\n if (!userDetails.role || !userDetails.role[selectedNationalCommittee]) {\n return false;\n }\n\n return true;\n },\n);\n\nconst committeeToTurnOff = (state, committee) => committee;\n\nexport const getTurnedOffCommittees = createSelector(\n [userSettings, selectedNationalCommittee],\n (userSettings, selectedNationalCommittee) => {\n const settings = userSettings[selectedNationalCommittee];\n return settings ? settings.turnedOffCommittees : [];\n },\n);\n\nexport const getUserEmailSettingForAllCommittees = createSelector(\n [userSettings],\n (userSettings) => {\n const settings = {};\n const majorSetting = {\n key: \"\",\n cnt: 0,\n };\n\n for (let committee in userSettings) {\n settings[userSettings[committee].emailSetting] = settings[\n userSettings[committee].emailSetting\n ]\n ? settings[userSettings[committee].emailSetting] + 1\n : 1;\n\n if (majorSetting.cnt < settings[userSettings[committee].emailSetting]) {\n majorSetting.key = userSettings[committee].emailSetting;\n majorSetting.cnt = settings[userSettings[committee].emailSetting];\n }\n }\n\n // This will be always shown as updating email setting one by one\n // const keys = Object.keys(settings);\n // if (keys.length > 1) debugger;\n // console.error(\"User has different email settings for different committees\");\n\n // get the only value in the set\n return majorSetting.key;\n },\n);\n\nexport const getUserEmailSettingForCurrentCommittee = createSelector(\n [userSettings, selectedNationalCommittee],\n (userSettings, selectedNationalCommittee) => {\n const settings = userSettings[selectedNationalCommittee];\n return settings ? settings.emailSetting : \"\";\n },\n);\n\nexport const isCommitteeAlreadyTurnedOff = createSelector(\n [getTurnedOffCommittees, committeeToTurnOff],\n (turnOffCommittees, committeeToTurnOff) => {\n return turnOffCommittees.includes(committeeToTurnOff);\n },\n);\n\nexport const getTunedOffCommitteesCount = createSelector(\n [getTurnedOffCommittees],\n (turnOffCommittees) => (!!turnOffCommittees ? turnOffCommittees.length : 0),\n);\n\nexport const recentSearches = createSelector(\n user,\n (user) => user.data.recentSearches,\n);\n\nexport const getAppLocale = createSelector(user, (user) => {\n if (!user || !user.data || !user.data.kundeportal) {\n return defaultLocale;\n }\n\n if (appLocaleMap.hasOwnProperty(user.data.kundeportal.locale)) {\n return user.data.kundeportal.locale || defaultLocale;\n }\n return defaultLocale;\n});\n\nexport const getAppLanguage = createSelector(getAppLocale, (locale) => {\n if (appLocaleMap.hasOwnProperty(locale)) return appLocaleMap[locale].language;\n\n return appLocaleMap[defaultLocale].language;\n});\n","import { createBrowserHistory } from \"history\";\n\nconst history = createBrowserHistory();\n\nexport default history;\n","import { api } from \"../api\";\nimport { getProxyUrl } from \"../utils\";\nimport { transformCommitteeName } from \"../../utils/transform\";\n\nexport function getUserCommittees() {\n return api.get(\"/api/kundeportal/users/current\");\n}\n\nexport function getAssociatedCommittees(committee) {\n const proxyUrl = getProxyUrl(\n `/Committees/${transformCommitteeName(committee)}`,\n );\n return api.get(proxyUrl);\n}\n\nexport function saveLastCommittee(committee) {\n return api.post(\n \"/api/kundeportal/user/current/lastCommittee\",\n JSON.stringify(transformCommitteeName(committee)),\n );\n}\n","import { takeEvery, call, put, select, all } from \"redux-saga/effects\";\nimport {\n getUserCommittees,\n getAssociatedCommittees,\n saveLastCommittee,\n} from \"../api/resources/committees\";\nimport * as actions from \"../state/national-committees/actions\";\nimport {\n nationalCommittees,\n selectedNationalCommittee,\n userNationalCommittees,\n} from \"../state/national-committees/selectors\";\nimport { fetchUserSettings } from \"./user\";\n\n// import AnalyticsTtracking from \"../services/analytics-tracking/analytics-tracking\";\n\nexport function* fetchNationalCommittees() {\n try {\n const results = yield call(getUserCommittees);\n\n if (results.status === 200) {\n yield put(actions.getNationalCommitteesSucceeded(results.data));\n } else {\n yield put(\n actions.getNationalCommitteesFailed(\n \"Getting user national committees failed\",\n ),\n );\n }\n } catch (error) {\n console.error(`fetch national committees failed - ${error}`);\n }\n}\n\nexport function* fetchAssociatedCommitteesByCommitteeId(action) {\n try {\n const { committeeId } = action.payload;\n const response = yield call(getAssociatedCommittees, committeeId);\n\n if (response.status === 200) {\n yield put(actions.getAssociatedCommitteesSucceeded(response.data));\n } else {\n yield put(actions.getAssociatedCommitteesFailed(response.data.message));\n }\n } catch (error) {\n console.error(`fetch associated committee by committee failed - ${error}`);\n }\n}\n\nexport function* fetchAssociatedCommittees() {\n try {\n const parentCommitteeIds = (yield select(userNationalCommittees)).map(\n (committee) => committee.id,\n );\n\n if (parentCommitteeIds) {\n const responseList = yield all(\n parentCommitteeIds.map((parentCommitteeId) =>\n call(getAssociatedCommittees, parentCommitteeId),\n ),\n );\n\n for (const response of responseList) {\n if (response.status === 200) {\n yield put(actions.getAssociatedCommitteesSucceeded(response.data));\n } else {\n yield put(\n actions.getAssociatedCommitteesFailed(response.data.message),\n );\n }\n }\n }\n\n // const parentCommittee = yield select(selectedNationalCommittee);\n // if (parentCommittee) {\n // // here\n\n // const result = yield call(getAssociatedCommittees, parentCommittee);\n\n // if (result.status === 200) {\n // yield put(actions.getAssociatedCommitteesSucceeded(result.data));\n // } else {\n // yield put(actions.getAssociatedCommitteesFailed(result.data.message));\n // }\n // }\n } catch (error) {\n console.error(`fetch associated committee failed - ${error}`);\n }\n}\n\n// I think this is not used\nexport function* fetchCommitteesList() {\n try {\n const parentCommittee = yield select(selectedNationalCommittee);\n if (parentCommittee) {\n // or here\n const result = yield call(getAssociatedCommittees, parentCommittee);\n if (result.status === 200) {\n yield put(actions.getCommitteesListSucceeded(result.data));\n } else {\n yield put(actions.getCommitteesListFailed(result.data.message));\n }\n }\n } catch (error) {\n console.error(`fetch committee list failed - ${error}`);\n }\n}\n\nexport function* setSelectedNationalCommittee(action) {\n try {\n const response = yield call(saveLastCommittee, action.payload);\n\n if (response.status === 200) {\n //todo:: create separate action for saving lastOpenedCommittee\n //yield put(updateUserDetailsSucceeded({kundeportal: {lastOpenedCommittee: action.payload }}));\n } else {\n yield put(actions.saveLastCommitteeFailed(response.data.message));\n }\n } catch (error) {\n console.error(`set selected national committee failed - ${error}`);\n yield put(actions.saveLastCommitteeFailed(error.message));\n }\n}\n\nexport function* nationalCommitteesSaga() {\n yield takeEvery(actions.GET_ASSOCIATED_COMMITTEES, fetchAssociatedCommittees);\n yield takeEvery(actions.GET_COMMITTEES_LIST, fetchCommitteesList);\n yield takeEvery(\n actions.SET_SELECTED_NATIONAL_COMMITTEE,\n setSelectedNationalCommittee,\n );\n yield takeEvery(actions.SET_LAST_COMMITTEE_SUCCEEDED, fetchUserSettings);\n yield takeEvery(\n actions.GET_ASSOCIATED_COMMITTEES_BY_COMMITTEE_ID,\n fetchAssociatedCommitteesByCommitteeId,\n );\n}\n","import { api } from \"../api\";\n\nexport function getEmailsFrequency() {\n return api.get(\"/api/users/current/settings/emails/options\");\n}\n","import { takeEvery, call, put } from \"redux-saga/effects\";\nimport * as actions from \"../state/settings/actions\";\nimport { getEmailsFrequency } from \"../api/resources/settings\";\n\nexport function* fetchEmailsFrequency() {\n try {\n const response = yield call(getEmailsFrequency);\n\n if (response.status === 200) {\n yield put(actions.getEmailsFrequencySucceeded(response.data));\n } else {\n yield put(actions.getEmailsFrequencyFailed(response.data.message));\n }\n } catch (error) {\n console.error(`fetch email frequency failed - ${error}`);\n }\n}\n\nexport default function* settingsSaga() {\n yield takeEvery(actions.GET_EMAILS_FREQUENCY, fetchEmailsFrequency);\n}\n","import { takeEvery, call, put, select, all } from \"redux-saga/effects\";\nimport * as actions from \"../state/user/actions\";\nimport { setSelectedNationalCommittee } from \"../state/national-committees/actions\";\nimport {\n getUser,\n saveUserDetails,\n saveUserProfilePhoto,\n deleteUserProfilePhoto,\n changeUserCredentials,\n getUserSettings,\n turnOffCommittees,\n setUserEmailSetting,\n turnOffCommittee,\n turnOnCommittee,\n getUserLastSearches,\n setUserLastSearch,\n setUserLocale,\n acceptGdpr,\n} from \"../api/resources/user\";\nimport { GetErrorMessage } from \"../api/errorCodes\";\nimport { isRequestSuccessful } from \"../api/utils\";\nimport {\n selectedNationalCommittee,\n userNationalCommittees,\n} from \"../state/national-committees/selectors\";\nimport {\n getUserEmailSettingForAllCommittees,\n isCommitteeAlreadyTurnedOff,\n isConsultant,\n lastOpenedCommittee,\n recentSearches,\n} from \"../state/user/selectors\";\nimport UrlPattern from \"url-pattern\";\nimport {\n transformCommitteeName,\n reverseTransformCommitteeName,\n} from \"../utils/transform\";\nimport history from \"../utils/history\";\nimport {\n fetchAssociatedCommittees,\n fetchNationalCommittees,\n} from \"./nationalCommittees\";\nimport { fetchEmailsFrequency } from \"./settings\";\nimport {\n nonCommitteePages,\n defaultLocale,\n gdprVersion,\n} from \"../utils/constants\";\nimport userManager from \"../services/auth/openIdClient\";\n\nexport function* fetchUserDetails() {\n try {\n const response = yield call(getUser);\n\n if (response.status === 200) {\n yield put(actions.getUserDetailsSucceeded(response));\n }\n } catch (error) {\n console.warn(`Error during fetching user details: ${error}`);\n userManager.signoutRedirect();\n }\n}\n\nexport function* fetchUserSettings() {\n try {\n const parser = new UrlPattern(\"/:committeeId(/:segment*)\");\n const result = parser.match(window.location.pathname);\n\n const nationalCommittees = yield select(userNationalCommittees);\n const hasCommitteeInUrl =\n result && !nonCommitteePages.includes(result.committeeId);\n const isNonCommitteePage =\n result && nonCommitteePages.includes(result.committeeId);\n\n // get the whole possible committees\n // const selectedCommittees = []\n\n let selectedCommittee = hasCommitteeInUrl\n ? reverseTransformCommitteeName(result.committeeId)\n : yield select(lastOpenedCommittee);\n\n if (!selectedCommittee) {\n selectedCommittee = nationalCommittees[0].id;\n }\n\n yield put(setSelectedNationalCommittee(selectedCommittee));\n\n const searches = yield select(recentSearches);\n\n if (!searches) {\n yield call(fetchRecentSearches);\n }\n\n const emailSettings = yield select(getUserEmailSettingForAllCommittees);\n\n // This will only run on init\n if (!emailSettings) {\n const responseList = yield all(\n nationalCommittees.map((committee) =>\n call(getUserSettings, committee.id),\n ),\n );\n\n // // This is to sync all the notification settings together\n // const emailSettings = responseList.map(\n // (response) => response.data.emailSetting,\n // );\n // const countMap = {};\n // emailSettings.forEach((emailSetting) => {\n // countMap[emailSetting] = (countMap[emailSetting] || 0) + 1;\n // });\n // let mostFrequentString = null;\n // let maxCount = 0;\n // // Find the string with the highest count\n // for (const [str, count] of Object.entries(countMap)) {\n // if (count > maxCount) {\n // mostFrequentString = str;\n // maxCount = count;\n // }\n // }\n // yield put(\n // actions.updateUserEmailSettingAllCommittees(mostFrequentString),\n // );\n\n for (const response of responseList) {\n if (response.status === 200) {\n yield put(actions.fetchUserSettingsSucceeded(response.data));\n } else {\n yield put(actions.fetchUserSettingsFailed(response.data.message));\n }\n }\n }\n\n if (isNonCommitteePage) return;\n\n if (!hasCommitteeInUrl) {\n history.push(`/${transformCommitteeName(selectedCommittee)}`);\n }\n } catch (error) {\n console.warn(\"Error during fetching user settings\");\n }\n}\n\nfunction* updateUserPhoto(action) {\n const photo = action.payload;\n\n try {\n if (photo) {\n let profileImage = null;\n if (photo.data) {\n const response = yield call(saveUserProfilePhoto, photo.data);\n if (response.status !== 200) {\n throw response.message;\n }\n profileImage = response.data.profileImage;\n } else {\n const response = yield call(deleteUserProfilePhoto);\n if (response.status !== 200) {\n throw response.message;\n }\n profileImage = response.data.profileImage;\n }\n\n yield put(actions.updateUserPhotoSucceeded({ profileImage }));\n }\n } catch (error) {\n console.error(error);\n yield put(actions.updateUserPhotoFailed(error.message));\n }\n}\n\nfunction* updateUserProfile(action) {\n const userDetails = action.payload;\n\n try {\n if (userDetails) {\n const response = yield call(saveUserDetails, userDetails);\n if (response.status !== 200) throw response.message;\n\n yield put(actions.updateUserProfileSucceeded(userDetails));\n }\n } catch (error) {\n console.error(error);\n yield put(actions.updateUserProfileFailed(error.message));\n }\n}\n\nfunction* updateUserCredentials(action) {\n try {\n const response = yield call(changeUserCredentials, action.payload);\n if (response.status === 200) {\n yield put(\n actions.updateUserCredentialsSucceeded(\n \"userCredentials.validation.passwordChanged\",\n ),\n );\n } else {\n yield put(actions.updateUserCredentialsFailed(response.data.errorCode));\n }\n } catch (error) {\n if (error.response && error.response.data) {\n yield put(\n actions.updateUserCredentialsFailed(\n GetErrorMessage(error.response.data.errorCode),\n ),\n );\n } else {\n yield put(actions.updateUserCredentialsFailed(error.message));\n }\n }\n}\n\nfunction* updateTurnOffCommittees(action) {\n try {\n // const selectedCommittee = yield select(selectedNationalCommittee);\n // const turnedOffCommittees = action.payload;\n\n const { selectedCommittee, turnedOffCommittees } = action.payload;\n\n const response = yield call(\n turnOffCommittees,\n selectedCommittee,\n turnedOffCommittees,\n );\n\n if (response.status === 200) {\n yield put(\n actions.updateTurnOffCommittees({\n selectedCommittee,\n turnedOffCommittees,\n }),\n );\n }\n } catch (error) {\n console.error(`update turn off committees failed - ${error}`);\n }\n}\n\nfunction* updateUserEmailSetting(action) {\n try {\n const { selectedCommittee, emailSetting } = action.payload;\n const lowerCaseEmailSetting = emailSetting.toLowerCase();\n\n const response = yield call(\n setUserEmailSetting,\n selectedCommittee,\n lowerCaseEmailSetting,\n );\n\n if (response.status === 200) {\n yield put(\n actions.updateUserEmailSettingAllCommitteesSucceeded({\n selectedCommittee: {\n id: selectedCommittee,\n },\n emailSetting: emailSetting.toUpperCase(),\n }),\n );\n }\n } catch (error) {\n console.error(`update email setting failed - ${error}`);\n }\n}\n\nfunction* updateUserEmailSettingAllCommittees(action) {\n try {\n const nationalCommittees = yield select(userNationalCommittees);\n // const selectedCommittee = yield select(selectedNationalCommittee);\n const emailSetting = action.payload.toUpperCase();\n\n const responseList = yield all(\n nationalCommittees.map((committee) =>\n call(setUserEmailSetting, committee.id, emailSetting),\n ),\n );\n\n for (const idx in responseList) {\n const response = responseList[idx];\n if (response.status === 200) {\n yield put(\n actions.updateUserEmailSettingAllCommitteesSucceeded({\n selectedCommittee: nationalCommittees[idx],\n emailSetting,\n }),\n );\n }\n }\n } catch (error) {\n console.error(`update email setting failed - ${error}`);\n }\n}\n\nfunction* handleTurnOffCommittee(action) {\n try {\n const selectedCommittee = yield select(selectedNationalCommittee);\n const turnedOffCommittee = action.payload;\n const response = yield call(\n turnOffCommittee,\n selectedCommittee,\n turnedOffCommittee,\n );\n\n if (response.status === 200) {\n yield put(\n actions.turnOffCommitteeSucceeded({\n selectedCommittee,\n turnedOffCommittee,\n }),\n );\n }\n } catch (error) {\n console.warn(error);\n }\n}\n\nfunction* handleTurnOnCommittee(action) {\n try {\n const selectedCommittee = yield select(selectedNationalCommittee);\n const turnedOffCommittee = action.payload;\n const response = yield call(\n turnOnCommittee,\n selectedCommittee,\n turnedOffCommittee,\n );\n\n if (response.status === 200) {\n yield put(\n actions.turnOnCommitteeSucceeded({\n selectedCommittee,\n turnedOffCommittee,\n }),\n );\n }\n } catch (error) {\n console.warn(error);\n }\n}\n\nexport function* fetchUserData() {\n yield call(fetchNationalCommittees);\n yield call(fetchUserSettings);\n yield call(fetchAssociatedCommittees);\n yield call(fetchEmailsFrequency);\n}\n\nfunction* fetchRecentSearches() {\n const response = yield call(getUserLastSearches);\n\n if (response.status === 200) {\n yield put(actions.fetchRecentSearchesSucceeded(response.data));\n } else {\n yield put(actions.fetchRecentSearchesFailed(response.data));\n }\n}\n\nexport function* updateRecentSearches(action) {\n const entry = action.payload;\n try {\n if (entry) {\n const response = yield call(setUserLastSearch, entry);\n if (response.status === 200) yield call(fetchRecentSearches);\n else throw response.message;\n }\n } catch (error) {\n yield put(actions.updateRecentSearchesFailed(error.message));\n }\n}\n\nexport function* handleCheckUserPrivilleges(action) {\n const consultant = yield select(isConsultant);\n if (!consultant) {\n action.payload && action.payload.url && history.push(action.payload.url);\n throw new Error(\"You don't have permission to do this action.\");\n }\n}\n\nexport function* handleTurnOnOffCommittee(action) {\n const { committee, callbackAction } = action.payload;\n\n const areNotificationsCommitteeAlreadyTurnedOff = yield select(\n isCommitteeAlreadyTurnedOff,\n committee,\n );\n areNotificationsCommitteeAlreadyTurnedOff\n ? yield call(handleTurnOnCommittee, { payload: committee })\n : yield call(handleTurnOffCommittee, { payload: committee });\n\n if (callbackAction) {\n yield put(callbackAction());\n }\n}\n\nfunction* handleSetAppLocale(action) {\n const languageToSet = action.payload || defaultLocale;\n yield call(setUserLocale, languageToSet);\n window.location.reload(false);\n}\n\nfunction* handleFetchUserDetails({ payload }) {\n //validate gdpr\n if (!payload.data.gdprAccepted || payload.data.gdprVersion !== gdprVersion) {\n window.location = \"/gdpr\";\n }\n}\n\nfunction* handleAcceptGdpr() {\n const results = yield call(acceptGdpr, gdprVersion);\n if (isRequestSuccessful(results)) {\n window.location = \"/\";\n }\n}\n\nexport function* userDetailsSaga() {\n yield takeEvery(actions.FETCH_USER_DETAILS_REQUESTED, fetchUserDetails);\n yield takeEvery(actions.FETCH_USER_DATA_REQUESTED, fetchUserData);\n yield takeEvery(actions.UPDATE_USER_PROFILE, updateUserProfile);\n yield takeEvery(actions.UPDATE_USER_PHOTO, updateUserPhoto);\n yield takeEvery(actions.UPDATE_USER_CREDENTIALS, updateUserCredentials);\n yield takeEvery(\n [actions.TURN_OFF_COMMITTEES, actions.TURN_ON_COMMITTEES],\n updateTurnOffCommittees,\n );\n yield takeEvery(actions.TURN_OFF_COMMITTEE, handleTurnOffCommittee);\n yield takeEvery(actions.TURN_ON_COMMITTEE, handleTurnOnCommittee);\n yield takeEvery(\n actions.UPDATE_USER_EMAIL_SETTING_ALL_COMMITTEES,\n updateUserEmailSettingAllCommittees,\n );\n yield takeEvery(actions.updateUserEmailSetting, updateUserEmailSetting);\n yield takeEvery(actions.FETCH_RECENT_SEARCHES, fetchRecentSearches);\n yield takeEvery(actions.UPDATE_RECENT_SEARCHES, updateRecentSearches);\n yield takeEvery(actions.CHECK_USER_PRIVILLEGES, handleCheckUserPrivilleges);\n yield takeEvery(actions.TURN_ON_OFF_COMMITTEE, handleTurnOnOffCommittee);\n yield takeEvery(actions.SET_APP_LOCALE, handleSetAppLocale);\n yield takeEvery(actions.FETCH_USER_DETAILS_SUCCEEDED, handleFetchUserDetails);\n yield takeEvery(actions.ACCPET_GDPR, handleAcceptGdpr);\n}\n","import { takeEvery, call, select, put, delay } from \"redux-saga/effects\";\nimport { getCommitteeMembers } from \"../api/resources/members\";\nimport { setUserActiveState } from \"../api/resources/user\";\nimport { isRequestSuccessful } from \"../api/utils\";\nimport { selectedNationalCommittee } from \"../state/national-committees/selectors\";\nimport * as actions from \"../state/members/actions\";\n\nexport function* fetchCommitteeMembers() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const response = yield call(getCommitteeMembers, committeeId);\n if (isRequestSuccessful(response)) {\n yield put(actions.getCommitteeMembersSucceeded(response.data));\n } else {\n yield put(\n actions.getCommitteeMembersFailed(\"Failed to fetch committee members\"),\n );\n }\n } catch (error) {\n console.error(`fetch committee members failed - ${error}`);\n }\n}\n\nfunction* setMemberActiveState({ payload }) {\n try {\n yield delay(1000);\n const result = yield call(\n setUserActiveState,\n payload.userId,\n payload.state,\n );\n if (isRequestSuccessful(result)) {\n yield put(\n actions.setMemberActiveStateSucceeded({\n userId: payload.userId,\n state: payload.state,\n }),\n );\n } else {\n yield put(actions.setMemberActiveStateFailed({ userId: payload.userId }));\n }\n } catch (error) {\n console.error(`set member active state failed - ${error}`);\n }\n}\n\nexport default function* membersSaga() {\n yield takeEvery(actions.GET_COMMITTEE_MEMBERS, fetchCommitteeMembers);\n yield takeEvery(actions.SET_MEMBER_ACTIVE_STATE, setMemberActiveState);\n}\n","import { getProxyUrl } from \"../utils\";\nimport { api } from \"../api\";\nimport { transformCommitteeName } from \"../../utils/transform\";\n\nexport function getDocumentActions(committeeId) {\n let proxyUrl = getProxyUrl(\n `/Values/document/action/${transformCommitteeName(committeeId)}`,\n );\n return api.get(proxyUrl);\n}\n\nexport function getDocumentTypes(committeeId) {\n let proxyUrl = getProxyUrl(\n `/Values/document/type/${transformCommitteeName(committeeId)}`,\n );\n return api.get(proxyUrl);\n}\n\nexport function getDocumentCommittees(committeeId) {\n let proxyUrl = getProxyUrl(\n `/Values/document/committee/${transformCommitteeName(committeeId)}`,\n );\n return api.get(proxyUrl);\n}\n\nexport function getDeadlineMonths(committeeId) {\n let proxyUrl = getProxyUrl(\n `/Values/deadline/month/${transformCommitteeName(committeeId)}`,\n );\n return api.get(proxyUrl);\n}\n\nexport function getDeadlineTypes(committeeId) {\n let proxyUrl = getProxyUrl(\n `/Values/deadline/type/${transformCommitteeName(committeeId)}`,\n );\n return api.get(proxyUrl);\n}\n\nexport function getDeadlineCommittees(committeeId) {\n let proxyUrl = getProxyUrl(\n `/Values/deadline/committee/${transformCommitteeName(committeeId)}`,\n );\n return api.get(proxyUrl);\n}\n\nexport function getMeetingCommittees(committeeId) {\n let proxyUrl = getProxyUrl(\n `/Values/meeting/committee/${transformCommitteeName(committeeId)}`,\n );\n return api.get(proxyUrl);\n}\n\nexport function getMeetingMonths(committeeId) {\n let proxyUrl = getProxyUrl(\n `/Values/meeting/month/${transformCommitteeName(committeeId)}`,\n );\n return api.get(proxyUrl);\n}\n\nexport function getSearchActions() {\n let proxyUrl = getProxyUrl(\"/Values/search/action\");\n return api.get(proxyUrl);\n}\n\nexport function getSearchTypes() {\n let proxyUrl = getProxyUrl(\"/Values/search/type\");\n return api.get(proxyUrl);\n}\n\nexport function getSearchCommittees(committeeId) {\n let proxyUrl = getProxyUrl(`/Values/search/committee/${committeeId}`);\n return api.get(proxyUrl);\n}\n\nexport function getCommittees() {\n // let proxyUrl = getProxyUrl(\"/Values/udvalg\");\n return api.get(\"/api/kundeportal/committees\");\n}\n\nexport function getStages() {\n let proxyUrl = getProxyUrl(\"/Values/stagecode\");\n return api.get(proxyUrl);\n}\n\nexport function getCommentTypes() {\n let proxyUrl = getProxyUrl(\"/Values/comment/type\");\n return api.get(proxyUrl);\n}\n","import * as actions from \"../state/committees/actions\";\nimport { put, call } from \"redux-saga/effects\";\nimport { getCommittees } from \"../api/resources/values\";\n\nexport function* fetchCommittees() {\n try {\n const response = yield call(getCommittees);\n\n if (response.status === 200) {\n yield put(actions.getCommitteesSucceeded(response.data));\n }\n } catch (error) {\n console.error(`Fetching committees failed - ${error}`);\n }\n}\n\nexport default function* committeesSaga() {}\n","import { createSelector } from \"reselect\";\nimport { selectedNationalCommittee } from \"../national-committees/selectors\";\n\nconst documents = (state) => state.documents.data.results;\nexport const getPagination = (state) => state.documents.data.pagination;\nexport const getSelectedFilters = (state) => state.documents.filters;\nexport const getModalDetails = (state) => state.documents.modal;\nexport const getModalData = (state) => state.documents.modal.content;\n\nexport const getCurrentlyDownloaded = (state) =>\n state.documents.filesCurrentlyDownloaded;\n\nexport const getTotalNumber = (state) =>\n isNaN(parseInt(state.documents.data.pagination.total))\n ? 0\n : parseInt(state.documents.data.pagination.total);\n\nexport const isProcessingDocuments = (state) => state.documents.isFetching;\n\nexport const getDocuments = createSelector(\n [documents, selectedNationalCommittee],\n (documents, selectedNationalCommittee) => {\n if (documents && selectedNationalCommittee) {\n const nationalComitteeDocuments = documents[selectedNationalCommittee];\n return nationalComitteeDocuments ? nationalComitteeDocuments : [];\n }\n return [];\n },\n);\n\nexport const isDownloadingFile = (state, downloadId) =>\n getCurrentlyDownloaded(state).includes(downloadId);\nexport const getSortingType = (state) => state.documents.sortingType;\n\nexport const hasMoreDocumentsToLoad = createSelector(\n [getPagination],\n (pagination) =>\n pagination.pagesLoaded < pagination.pagesToLoad ||\n pagination.pagesLoaded === 0,\n);\n","import history from \"../../utils/history\";\n\nexport const sortingType = {\n date_descending: \"date_desc\",\n date_ascending: \"date_asc\",\n due_date_descending: \"due_date_desc\",\n due_date_ascending: \"due_date_asc\",\n document_id_descending: \"document_id_desc\",\n document_id_ascenting: \"document_id_asc\",\n};\n\nfunction mapSortTypeToUrlParam(type) {\n switch (type) {\n case sortingType.date_descending:\n return \"document_creation_date_dsc\";\n case sortingType.date_ascending:\n return \"document_creation_date_asc\";\n case sortingType.due_date_descending:\n return \"document_deadline_dsc\";\n case sortingType.due_date_ascending:\n return \"document_deadline_asc\";\n case sortingType.document_id_descending:\n return \"document_id_dsc\";\n case sortingType.document_id_ascenting:\n return \"document_id_asc\";\n default:\n return \"document_creation_date_dsc\";\n }\n}\n\nexport const buildQueryParams = () => {\n let queryParams = {};\n\n const query = new URLSearchParams(history.location.search);\n\n if (query.has(\"action\")) {\n queryParams.documentAction = query.get(\"action\");\n }\n\n if (query.has(\"type\")) {\n queryParams.documentType = query.get(\"type\");\n }\n\n if (query.has(\"committee\")) {\n queryParams.committeeReference = query.get(\"committee\");\n }\n\n if (query.has(\"title\")) {\n queryParams.documentTitle = query.get(\"title\");\n }\n\n queryParams.sort = mapSortTypeToUrlParam(query.get(\"sortingType\"));\n queryParams.pageLength = 10;\n return queryParams;\n};\n\nexport const buildSearchQueryParams = () => {\n let queryParams = {};\n\n const query = new URLSearchParams(history.location.search);\n\n if (query.has(\"action\")) {\n queryParams.action = query.get(\"action\");\n }\n\n if (query.has(\"type\")) {\n queryParams.type = query.get(\"type\");\n }\n\n if (query.has(\"committee\")) {\n queryParams.committeeReference = query.get(\"committee\");\n }\n\n if (query.has(\"title\")) {\n queryParams.query = query.get(\"title\");\n }\n\n queryParams.sort = mapSortTypeToUrlParam(query.get(\"sortingType\"));\n\n if (query.has(\"currentPage\")) {\n queryParams.start = (query.get(\"currentPage\") - 1) * 10 + 1;\n }\n\n return queryParams;\n};\n","export const DELETE_FILE = \"delete_file\";\nexport const EDIT_FILE = \"edit_file\";\nexport const CREATE_FILE = \"create_file\";\nexport const REMOVE_FILE_FROM_LIST = \"remove_file_from_list\";\nexport const EXPORT_TO_WORD = \"export_to_word\";\nexport const COPY_FILE_TO_COMMITTEE = \"copy_file_to_committee\";\nexport const REMOVE_FILE_FROM_DOCUMENT_LIST = \"remove_file_from_document_list\";\nexport const REMOVE_FILE_FROM_MEETING_LIST = \"remove_file_from_meeting_list\";\nexport const REMOVE_FILE_FROM_DEADLINE_LIST = \"remove_file_from_deadline_list\";\n\nexport default {\n DELETE_FILE,\n EDIT_FILE,\n CREATE_FILE,\n COPY_FILE_TO_COMMITTEE,\n REMOVE_FILE_FROM_LIST,\n EXPORT_TO_WORD,\n\n // references\n REMOVE_FILE_FROM_DOCUMENT_LIST,\n REMOVE_FILE_FROM_MEETING_LIST,\n REMOVE_FILE_FROM_DEADLINE_LIST,\n};\n","import { createSelector } from \"reselect\";\nimport { userCommittees } from \"../user/selectors\";\nimport { selectedNationalCommittee } from \"../national-committees/selectors\";\n\nconst id = (state, id) => id;\nconst rawNotifications = (state) => state.notifications.data;\nexport const notifications = (state) => state.notifications;\n\nexport const getPagination = (state) => state.notifications.pagination;\n\nexport const getNotifications = createSelector(\n [rawNotifications],\n (notifications) => {\n return Object.values(notifications).sort((a, b) => {\n if (a.pinned) return -1;\n if (b.pinned) return 1;\n return 0;\n });\n },\n);\n\nexport const getPoll = (state) => state.notifications.notification.poll;\n\nexport const getNewNotificationFormData = (state) => state.notifications.form;\n\nexport const getNotification = (state) => state.notifications.notification;\n\nexport const isNotificationPinned = createSelector(\n [rawNotifications, id],\n (notifications, id) => {\n return notifications[id] ? notifications[id].pinned : false;\n },\n);\n\nexport const isNotificationInstantSent = createSelector(\n [rawNotifications, id],\n (notifications, id) => {\n return notifications[id] ? notifications[id].isInstantSent : false;\n },\n);\n\nexport const getNotificationDocumentsUri = createSelector(\n [getNotification],\n (notification) =>\n notification.referencesRawResponsePerType?.document?.map((el) => el.uri),\n);\n\nexport const getNotificationUri = createSelector(\n [getNotification],\n (notification) => notification.uri,\n);\nexport const getNotificationsFilters = createSelector(\n [notifications],\n (notifications) => notifications.filters,\n);\n\nexport const getNumberOfUnseenNotifications = createSelector(\n [userCommittees, selectedNationalCommittee],\n (userCommittees, selectedNationalCommittee) =>\n userCommittees[selectedNationalCommittee]\n ? userCommittees[selectedNationalCommittee].unseenNotifications < 0\n ? 0\n : userCommittees[selectedNationalCommittee].unseenNotifications\n : null,\n);\n\nexport const hasMoreNotificationsToLoad = createSelector(\n [getPagination],\n (pagination) => pagination.hasMoreToLoad,\n //(pagination) => pagination.pagesLoaded < pagination.pagesToLoad || pagination.pagesLoaded === 0\n);\n\nexport const markAllNotificationsAsSeenRequestProcessing = (state) =>\n state.notifications.markAllNotificationsAsSeenRequestProcessing;\n\nexport const getNotificationRepository = (state) =>\n state.notifications.notificationRepository;\nexport const isProcessingRequest = (state) =>\n state.notifications.isProcessingRequest;\n","export function shouldRenderDocumentId(id) {\n return id && parseInt(id) !== 0;\n}\n\nexport const documentFilters = {\n filterEmptyDocuments: (responses) => {\n return responses?.filter((d) => d !== null && d.status === 200);\n },\n\n // filterPassedDSFDocuments: (documents) => {\n // const now = new Date();\n // function filter(d) {atob\n // try {\n // const data = d.data.metadata;\n // if(data.documentType === \"DSF\" && data.documentSubType === \"90\" && data.documentDeadline) {\n // return new Date(data.documentDeadline) > now;\n // }\n // } catch(e) {\n // console.error(e);\n // }\n // return true;\n // }\n\n // return documents.filter(filter)\n // }\n};\n","export const isObjectEmpty = (obj) => {\n return Object.keys(obj).length === 0;\n};\n","import {\n takeLatest,\n takeEvery,\n takeLeading,\n call,\n select,\n put,\n all,\n take,\n fork,\n delay,\n} from \"redux-saga/effects\";\nimport * as actions from \"../state/notifications/actions\";\nimport * as documentActions from \"../state/document/actions\";\nimport * as notifyToasterContentActions from \"../state/notify-toaster-content/actions\";\nimport { selectedNationalCommittee } from \"../state/national-committees/selectors\";\nimport {\n updateNotification,\n deleteNotification,\n createNotification,\n getNotification,\n pinNotification,\n unpinNotification,\n markNotificationsAsSeen,\n markAllNotificationAsSeen,\n waitForNotificationId,\n sendInstantEmailWithNotificationIdUrl,\n sendInstantEmailWithCommitteeIdUrl,\n updatePollUrl,\n voteNotificationPollUrl,\n deleteVoteNotificationPollUrl,\n} from \"../api/resources/notifications\";\nimport i18next from \"i18next\";\n\nimport { isRequestSuccessful } from \"../api/utils\";\n\nimport history from \"../utils/history\";\nimport { transformCommitteeName } from \"../utils/transform\";\nimport {\n DIALOG_TYPES,\n PAGE_TYPES,\n generateDialogLink,\n generateDialogLinkForPage,\n} from \"../utils/dynamicLink\";\n\nimport * as selectors from \"../state/notifications/selectors\";\nimport { getNewNotificationFormData } from \"../state/notifications/selectors\";\nimport { mapToApiModel } from \"../api/mappers/notification\";\nimport { addGeneralNotificationInformation } from \"../state/notifications/actions\";\nimport { getDocumentUrl, getDocumentSafeUrl } from \"../api/resources/document\";\nimport { initDocuments } from \"../state/document/actions\";\n\nimport * as userSelectors from \"../state/user/selectors\";\nimport { decreaseNumberOfUnseenNotifications } from \"../state/user/actions\";\nimport { documentFilters } from \"../utils/documentUtils\";\nimport { getMeetingUrl } from \"../api/resources/meetings\";\nimport { getDeadlineUrl } from \"../api/resources/deadlines\";\nimport { referenceListToReferenceDataPerType } from \"../utils/references\";\nimport { normalizeObjectOfReferences } from \"../state/references/normalizers\";\nimport { removeReferenceById } from \"../state/document/normalizers\";\nimport { NOTIFY_TOASTER_TYPE } from \"../state/notify-toaster-content/reducer\";\nimport { INSTANT_EMAIL_PARAM_TYPE } from \"../state/notifications/reducer\";\nimport { notificationType } from \"../utils/constants\";\nimport { isObjectEmpty } from \"../utils/validation/objectValidator\";\n\nfunction* handleUpdateNotification() {\n try {\n const notification = yield select(getNewNotificationFormData);\n const poll =\n !notification.poll || isObjectEmpty(notification.poll)\n ? null\n : {\n ...notification.poll,\n notificationUri: notification.uri,\n options: notification.poll?.options.map((option) => ({\n ...option,\n pollNotificationUri: notification.uri,\n })),\n deadline: notification.poll.deadline ?? null,\n };\n\n if (poll) yield call(handleUpdatePoll, { payload: poll });\n const response = yield call(updateNotification, notification);\n\n if (response.status === 200) {\n yield call(waitForNotificationId, notification.uri);\n yield put(actions.updateNotificationSucceeded(response.data));\n history.push(\n generateDialogLink(DIALOG_TYPES.NOTIFICATION_DETAILS, notification.uri),\n );\n yield put(actions.resetNotificationsFilters());\n yield put(actions.initNotifications());\n } else {\n yield put(\n actions.updateNotificationFailed(\"Failed to update notification\"),\n );\n }\n } catch (error) {\n console.error(`update notification failed - ${error}`);\n }\n}\n\nfunction* handleDeletingNotification(action) {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const notificationId = action.payload;\n\n const response = yield call(deleteNotification, notificationId);\n\n if (isRequestSuccessful(response)) {\n yield put(actions.deleteNotificationSucceeded(notificationId));\n history.push(`/${transformCommitteeName(committeeId)}/notifications`);\n } else {\n yield put(\n actions.deleteNotificationFailed(\"Failed to delete notification\"),\n );\n }\n } catch (error) {\n console.error(`delete notification failed - ${error}`);\n }\n}\n\nexport function* handleCreateNotificationBySystem(data) {\n yield call(handleCreateNotification, data, true);\n}\n\nexport function* handleCreateNotification(data, isBySystem = false) {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const notificationData = isBySystem\n ? data.payload\n : yield select(selectors.getNewNotificationFormData);\n const memberId = yield select(userSelectors.userId);\n\n const response = yield call(\n createNotification,\n committeeId,\n mapToApiModel(notificationData, memberId, isBySystem),\n );\n if (response.status === 200) {\n yield put(actions.createNotificationSucceeded(response.data));\n yield call(waitForNotificationId, response.data.uri);\n\n if (!isBySystem) {\n history.push(`/${transformCommitteeName(committeeId)}/notifications`);\n yield put(actions.resetNotificationsFilters());\n yield put(actions.initNotifications());\n }\n } else {\n yield put(\n actions.createNotificationFailed(\"Failed to create notification\"),\n );\n }\n } catch (error) {\n console.error(`create notification failed - ${error}`);\n }\n}\n\nfunction* handleInitNotificationForm(action) {\n try {\n yield put(initDocuments());\n\n const notificationId = action.payload;\n const notification = yield call(getNotification, notificationId);\n\n if (notification.status === 200) {\n yield put(\n addGeneralNotificationInformation({\n uri: notification.data.uri,\n title: notification.data.title,\n description: notification.data.description,\n notifyOnUpdate: notification.data.notifyOnUpdate,\n referencesRawResponsePerType: referenceListToReferenceDataPerType(\n notification.data.references,\n ),\n poll: notification.data.poll,\n }),\n );\n\n yield call(handleFetchNotificationReferences, REFERENCE_TARGET.FORM);\n\n // let documents = yield all(\n // notification.data.references.map((document) =>\n // call(getDocumentSafe, document.uri),\n // ),\n // );\n // documents = documents.filter((d) => d !== null && d.status === 200);\n\n // if (documents) {\n // yield put(initNotificationFormWithDocuments(documents));\n // }\n }\n } catch (error) {\n console.error(`init notification form failed - ${error}`);\n }\n}\n\nfunction* handleCreateNotificationFromDocument(action) {\n try {\n const selectedDocument = action.payload;\n yield put(actions.setSelectedNotificationDocuments([selectedDocument]));\n yield call(createNotificationFromReferences, selectedDocument);\n } catch (error) {\n console.error(\n `create notification from selected documents failed - ${error}`,\n );\n }\n}\n\nfunction* createNotificationFromReferences(reference) {\n yield put(\n actions.addGeneralNotificationInformation({\n title: reference.title,\n }),\n );\n const committeeId = yield select(selectedNationalCommittee);\n history.push(\n generateDialogLinkForPage(\n committeeId,\n PAGE_TYPES.NOTIFICATION,\n DIALOG_TYPES.CREATE_NOTIFICATION,\n ),\n );\n}\n\nfunction* handleCreateNotificationFromMeeting(action) {\n try {\n const selectedMeeting = action.payload;\n yield put(actions.setSelectedNotificationMeetings([selectedMeeting]));\n yield call(createNotificationFromReferences, selectedMeeting);\n } catch (error) {\n console.error(\n `create notification from selected meeting failed - ${error}`,\n );\n }\n}\n\nfunction* handleCreateNotificationFromDeadline(action) {\n try {\n const selectedDeadline = action.payload;\n yield put(actions.setSelectedNotificationDeadlines([selectedDeadline]));\n yield call(createNotificationFromReferences, selectedDeadline);\n } catch (error) {\n console.error(\n `create notification from selected deadline failed - ${error}`,\n );\n }\n}\n\nfunction* handleDownloadNotificationDocuments(action) {\n try {\n const notificationId = action.payload;\n const documentsUris = yield select(\n selectors.getNotificationDocumentsUri,\n notificationId,\n );\n const notificationUri = yield select(\n selectors.getNotificationUri,\n notificationId,\n );\n\n yield put(\n documentActions.downloadZipPackage({\n id: notificationId,\n packageName: `${notificationUri || \"documents\"}.zip`,\n uris: documentsUris,\n }),\n );\n } catch (error) {\n console.error(`download notification documents failed - ${error}`);\n }\n}\n\nfunction* handleFetchUpdatedNotificationDocument(action) {\n try {\n const url = action.payload;\n\n yield take(documentActions.editDocumentSucceeded);\n const document = yield call(getDocumentUrl, url);\n if (document.status === 200) {\n yield put(\n actions.fetchUpdatedNotificationDocumentSucceeded(document.data),\n );\n } else {\n yield put(\n actions.fetchUpdatedNotificationDocumentFailed(\n \"Failed to fetch updated notification\",\n ),\n );\n }\n } catch (error) {\n console.error(`fetch updated notification documents failed - ${error}`);\n }\n}\n\nfunction* handleRemoveReferenceFromNotification(action) {\n try {\n const notification = yield select(selectors.getNotification);\n // meeting.references = meeting.references.filter(doc => doc.url !== action.payload);\n\n // for(const key in notification.referencesPerType) {\n // notification.referencesPerType[key] =\n // notification.referencesPerType[key].filter((doc) => doc.uri !== action.payload);\n // }\n notification.referencesPerType = removeReferenceById(\n notification.referencesPerType,\n action.payload,\n );\n\n const response = yield call(updateNotification, notification);\n\n if (response.status === 200) {\n // TODO: Do we need this?\n yield call(waitForNotificationId, notification.uri);\n yield put(\n actions.removeReferenceFromNotificationSucceeded(response.data),\n );\n yield call(\n handleFetchNotificationReferences,\n REFERENCE_TARGET.NOTIFICATION,\n );\n } else {\n yield put(\n actions.updateNotificationFailed(\"Failed to update notification\"),\n );\n }\n // const response = yield call(updateMeetingUrl, notification, false);\n\n // if (response.status === 200) {\n // yield put(actions.fetchCurrentMeetingDocuments());\n // yield put(actions.updateMeetingSucceeded(response.data));\n // } else {\n // yield put(actions.updateMeetingFailed(\"Failed to update meeting\"));\n // }\n } catch (error) {\n yield put(\n actions.updateNotificationFailed(\n \"Failed to update Notification References\",\n ),\n );\n console.error(`handleRemoveReferenceFromNotification failed - ${error}`);\n }\n}\n\nfunction* handleFetchNotification(action) {\n try {\n const uri = action.payload;\n const notificationResponse = yield call(getNotification, uri);\n\n if (isRequestSuccessful(notificationResponse)) {\n yield put(actions.fetchNotificationSucceeded(notificationResponse.data));\n\n yield call(\n handleFetchNotificationReferences,\n REFERENCE_TARGET.NOTIFICATION,\n );\n }\n } catch (error) {\n console.error(`getting notification details failed - ${error}`);\n }\n}\n\nconst REFERENCE_TARGET = {\n FORM: \"form\",\n NOTIFICATION: \"notification\",\n};\n// target: REFERENCE_TARGET\nfunction* handleFetchNotificationReferences(target) {\n try {\n const isNotification = target === REFERENCE_TARGET.NOTIFICATION;\n\n // yield take(actions.fetchNotificationSucceeded);\n const notification = yield select(\n isNotification\n ? selectors.getNotification\n : selectors.getNewNotificationFormData,\n );\n\n const documentTargets =\n notification.referencesRawResponsePerType.document ?? [];\n const meetingTargets =\n notification.referencesRawResponsePerType.meeting ?? [];\n const deadlineTargets =\n notification.referencesRawResponsePerType.deadline ?? [];\n const documentsResponse = yield all(\n documentTargets.map((element) => call(getDocumentSafeUrl, element.uri)),\n );\n const document = documentFilters.filterEmptyDocuments(documentsResponse);\n\n const meetingsResponse = yield all(\n meetingTargets.map((element) => call(getMeetingUrl, element.uri)),\n );\n const meeting = documentFilters.filterEmptyDocuments(meetingsResponse);\n\n const deadlinesResponse = yield all(\n deadlineTargets.map((element) => call(getDeadlineUrl, element.uri)),\n );\n const deadline = documentFilters.filterEmptyDocuments(deadlinesResponse);\n\n const referencesPerType = normalizeObjectOfReferences({\n document,\n meeting,\n deadline,\n });\n\n const nextAction = isNotification\n ? actions.fetchNotificationReferencesSucceeded\n : actions.addGeneralNotificationInformation;\n\n yield put(nextAction({ referencesPerType }));\n } catch (error) {\n console.error(`fetch deadline references failed - ${error}`);\n }\n}\n\nfunction* handlePinNotification(action) {\n try {\n const notificationId = action.payload;\n\n const response = yield call(pinNotification, notificationId);\n\n if (isRequestSuccessful(response)) {\n yield put(actions.pinNotificationSucceeded(notificationId));\n }\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction* handleUnpinNotification(action) {\n try {\n const notificationId = action.payload;\n\n const response = yield call(unpinNotification, notificationId);\n\n if (isRequestSuccessful(response)) {\n yield put(actions.unpinNotificationSucceeded(notificationId));\n }\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction* handleMarkNotificationAsSeen(notification) {\n try {\n const response = yield call(markNotificationsAsSeen, [notification]);\n if (isRequestSuccessful(response)) {\n const committeeId = yield select(selectedNationalCommittee);\n yield put(actions.markNotificationsAsSeenSucceeded(notification));\n yield put(decreaseNumberOfUnseenNotifications(committeeId));\n }\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction* handleMarkNotificationsAsSeen(action) {\n const notifications = action.payload;\n\n for (let item of notifications) {\n yield fork(handleMarkNotificationAsSeen, item);\n }\n}\n\nfunction* handleMarkAllNotificationsAsSeen() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n\n var response = yield call(markAllNotificationAsSeen, committeeId);\n\n //The operation is to fast, and the loader animation just blinks.\n //adding a small delay will make it feel better\n yield delay(500);\n if (isRequestSuccessful(response)) {\n yield put(actions.markAllNotificationsAsSeenSucceeded(committeeId));\n } else {\n yield put(actions.markAllNotificationsAsSeenFailed());\n console.error(\"error while marking all notification as seen\");\n }\n } catch (error) {\n console.error(error);\n yield put(actions.markAllNotificationsAsSeenFailed());\n }\n}\n\nfunction* fetchDocuments(documents) {\n const documentsResponse = yield all(\n documents.map((document) => call(getDocumentUrl, document.uri)),\n );\n return documentFilters\n .filterEmptyDocuments(documentsResponse)\n .map((d) => d.data);\n}\n\nfunction* handlePullNextNotificationsPage() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const filters = yield select(selectors.getNotificationsFilters);\n const repository = yield select(selectors.getNotificationRepository);\n\n const pagination = yield select(selectors.getPagination);\n const pageToLoad = pagination.pagesLoaded + 1;\n\n const response = yield repository.pullUserNotificationsPage(\n committeeId,\n filters,\n filters.onlyUnseen ? 1 : pageToLoad,\n );\n\n const pagesToLoad = Math.ceil(\n response.data.total / response.data.page_size,\n );\n\n let hasMoreToLoad =\n response.data.results.length < response.data.total &&\n response.data.results &&\n response.data.results.length > 0 &&\n response.data.results.length + pageToLoad * response.data.page_size <\n response.data.total;\n\n if (!isRequestSuccessful(response)) {\n yield put(actions.pullNotificationsPageFailed());\n console.error(response);\n console.error(\n `Failed to pull notifications page ${response.data.message}`,\n );\n return;\n }\n\n if (filters.onlyUnseen && response.data.results.length > 0) {\n yield call(\n markNotificationsAsSeen,\n response.data.results.map((n) => n.uri),\n );\n }\n\n let exportedActions = [];\n const onActionExport = (action) => {\n exportedActions = [...exportedActions, action];\n };\n\n const details = yield all(\n response.data.results.map((r) =>\n repository.pullNotificationDetails(r, onActionExport),\n ),\n );\n\n let successfulDetails = details.filter((d) => !!d && !d.failed);\n const failedDetails = details.filter((d) => !!d && d.failed);\n\n yield all(exportedActions.map((a) => put(a)));\n\n yield put(\n actions.pullNotificationsPageSucceeded({\n ...response.data,\n pagesToLoad,\n hasMoreToLoad: hasMoreToLoad,\n }),\n );\n\n const notifications = yield select(selectors.notifications);\n\n /*\n When notification.type === notificationType.internalDocumentSummation, \n fetch document details to show it to the notifications.\n */\n const successfulDetailsWithFetchedDocuments = yield all(\n successfulDetails.map(function* (d) {\n if (\n notifications.data[d.id]?.type ===\n notificationType.internalDocumentSummation\n ) {\n d.documents = yield call(fetchDocuments, d.documents);\n }\n return d;\n }),\n );\n\n yield all(\n successfulDetailsWithFetchedDocuments.map((d) =>\n put(actions.getNotificationDetailsSucceeded(d)),\n ),\n );\n yield all(\n failedDetails.map((d) => put(actions.getNotificationDetailsFailed(d))),\n );\n } catch (error) {\n console.error(error);\n console.error(`Failed to pull notifications page ${error}`);\n }\n}\n\nfunction* initNotifications() {\n try {\n const query = new URLSearchParams(history.location.search);\n yield put(actions.pullNextNotificationsPage());\n } catch (error) {\n console.error(`init notifications filters failed - ${error}`);\n }\n}\n\nexport function* handleSendInstantEmail(action) {\n const { type, param, disableToast } = action.payload;\n\n const url =\n type === INSTANT_EMAIL_PARAM_TYPE.NOTIFICATION_ID\n ? sendInstantEmailWithNotificationIdUrl\n : sendInstantEmailWithCommitteeIdUrl;\n const response = yield call(url, param);\n\n let notifyToasterContent = {\n title: \"Email failed\",\n message: i18next.t(\"notifyToaster.error\", { ns: \"common\" }),\n type: NOTIFY_TOASTER_TYPE.ERROR,\n };\n\n if (response.status === 200) {\n yield put(actions.sendInstantEmailSucceeded(param));\n\n notifyToasterContent = {\n title: \"Email sent\",\n message: i18next.t(\"notifyToaster.success\", { ns: \"common\" }),\n type: NOTIFY_TOASTER_TYPE.SUCCESS,\n };\n }\n\n if (disableToast) return;\n\n yield put(\n notifyToasterContentActions.setNotifyToasterContent(notifyToasterContent),\n );\n}\n\nexport function* handleVoteNotificationPoll(action) {\n const { pollOptionId } = action.payload;\n const userId = yield select(userSelectors.userId);\n const notificationUri = yield select(selectors.getNotificationUri);\n\n const response = yield call(\n voteNotificationPollUrl,\n notificationUri,\n userId,\n pollOptionId,\n );\n\n if (response.status === 200) {\n yield call(handleFetchNotification, { payload: notificationUri });\n // yield put(actions.voteNotificationPollSucceeded(response.data));\n } else {\n // yield put(\n // actions.voteNotificationPollFailed(\"Failed to vote notification poll\"),\n // );\n }\n}\n\nexport function* handleDeleteVoteNotificationPoll(action) {\n const { pollVoteId } = action.payload;\n const notificationUri = yield select(selectors.getNotificationUri);\n\n const response = yield call(deleteVoteNotificationPollUrl, pollVoteId);\n\n if (response.status === 200) {\n yield call(handleFetchNotification, { payload: notificationUri });\n // yield put(actions.deleteVoteNotificationPollSucceeded(response.data));\n } else {\n // yield put(\n // actions.deleteVoteNotificationPollFailed(\"Failed to delete vote notification poll\"),\n // );\n }\n}\n\nexport function* handleUpdatePoll(action) {\n const response = yield call(updatePollUrl, action.payload);\n\n if (response.status === 200) {\n yield put(actions.updatePollSucceeded(response.data));\n } else {\n yield put(actions.updatePollFailed(\"Failed to update poll\"));\n }\n}\n\nexport default function* notificationsSaga() {\n yield takeLatest(actions.fetchNotification, handleFetchNotification);\n yield takeLatest(actions.initNotifications, initNotifications);\n yield takeLatest(\n actions.fetchNotificationReferences,\n handleFetchNotificationReferences,\n );\n\n yield takeLeading(\n actions.pullNextNotificationsPage,\n handlePullNextNotificationsPage,\n );\n\n yield takeLatest(actions.updateNotification, handleUpdateNotification);\n yield takeLatest(actions.deleteNotification, handleDeletingNotification);\n yield takeLatest(actions.createNotification, handleCreateNotification);\n yield takeLatest(\n actions.initNotificationFormWithGeneralInfo,\n handleInitNotificationForm,\n );\n yield takeLatest(\n actions.createNotificationFromDocument,\n handleCreateNotificationFromDocument,\n );\n yield takeLatest(\n actions.createNotificationFromMeeting,\n handleCreateNotificationFromMeeting,\n );\n yield takeLatest(\n actions.createNotificationFromDeadline,\n handleCreateNotificationFromDeadline,\n );\n yield takeLatest(\n actions.fetchUpdatedNotificationDocument,\n handleFetchUpdatedNotificationDocument,\n );\n yield takeEvery(\n actions.removeReferenceFromNotification,\n handleRemoveReferenceFromNotification,\n );\n yield takeEvery(\n actions.downloadNotificationDocuments,\n handleDownloadNotificationDocuments,\n );\n\n yield takeEvery(actions.pinNotification, handlePinNotification);\n yield takeEvery(actions.unpinNotification, handleUnpinNotification);\n yield takeEvery(\n actions.markNotificationsAsSeen,\n handleMarkNotificationsAsSeen,\n );\n yield takeEvery(\n actions.markAllNotificationsAsSeen,\n handleMarkAllNotificationsAsSeen,\n );\n yield takeEvery(actions.sendInstantEmail, handleSendInstantEmail);\n yield takeEvery(actions.voteNotificationPoll, handleVoteNotificationPoll);\n yield takeEvery(\n actions.deleteVoteNotificationPoll,\n handleDeleteVoteNotificationPoll,\n );\n yield takeEvery(actions.updatePoll, handleUpdatePoll);\n}\n","import {\n takeLatest,\n takeLeading,\n takeEvery,\n call,\n put,\n select,\n take,\n delay,\n all,\n} from \"redux-saga/effects\";\nimport * as actions from \"./../state/document/actions\";\n\nimport {\n getDocumentsUrl,\n deleteDocumentUrl,\n updateDocumentUrl,\n uploadDocumentUrl,\n setDocumentMetadataUrl,\n downloadZipUrl,\n getRelatedReferencesUrl,\n} from \"../api/resources/document\";\n\nimport { selectedNationalCommittee } from \"../state/national-committees/selectors\";\nimport history from \"../utils/history\";\nimport * as documentSelectors from \"../state/document/selectors\";\nimport {\n buildQueryParams,\n buildSearchQueryParams,\n sortingType,\n} from \"../services/documents/url\";\nimport types from \"../components/common/modal-wrapper/contentTypes\";\nimport { mapToApiMetadataModel } from \"../api/mappers/document\";\nimport {\n documentUploadType,\n sortBoxHidingDelay,\n otherCommitteeId,\n notificationType,\n notificationActionType,\n} from \"../utils/constants\";\nimport {\n makeOtherCommitteeIdIfEmpty,\n handleOtherCommitteeId,\n trimFileExtension,\n} from \"../utils/transform\";\n\nimport FileDownload from \"js-file-download\";\nimport { addPageQueryParam, isRequestSuccessful } from \"../api/utils\";\n\nimport { getPagination } from \"../state/document/selectors\";\nimport * as documentsSelectors from \"../state/document/selectors\";\nimport { userId } from \"../state/user/selectors\";\nimport {\n handleCreateNotificationBySystem,\n handleSendInstantEmail,\n} from \"./notifications\";\nimport { INSTANT_EMAIL_PARAM_TYPE } from \"../state/notifications/reducer\";\n\nfunction* handleEditDocument(action) {\n try {\n const response = yield call(updateDocumentUrl, action.payload);\n\n if (response.status === 200) {\n yield put(actions.resetModalState());\n yield put(actions.reloadDocuments());\n yield put(actions.editDocumentSucceeded());\n } else {\n yield put(actions.editDocumentFailed());\n }\n } catch (error) {\n console.error(`edit document failed - ${error}`);\n yield put(actions.editDocumentFailed());\n }\n}\n\nfunction* handlePullNextDocumentsPageRequest() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const pagination = yield select(getPagination);\n const pageToLoad = pagination.pagesLoaded;\n const queryParams = addPageQueryParam(buildQueryParams(), pageToLoad);\n\n const response = yield call(getDocumentsUrl, committeeId, queryParams);\n const pagesToLoad = Math.ceil(\n response.data.total / response.data.pageLength,\n );\n\n if (response.status === 200) {\n yield all(\n response.data.results.map((r) => put(actions.fetchRelatedResources(r))),\n );\n yield put(\n actions.pullDocumentsPageSucceeded({\n ...response.data,\n pagesToLoad,\n }),\n );\n } else {\n yield put(actions.filterDocumentsFailed(response.data.message));\n }\n } catch (error) {\n console.error(`pull next documents page failed - ${error}`);\n }\n}\n\nfunction* searchFilterDocuments() {\n try {\n yield call(initFilters);\n\n const committeeId = yield select(selectedNationalCommittee);\n\n const queryParams = buildSearchQueryParams();\n const response = yield call(getDocumentsUrl, committeeId, queryParams);\n\n if (response.status === 200) {\n yield put(actions.filterDocumentsSucceeded(response.data));\n } else {\n yield put(actions.filterDocumentsFailed(response.data.message));\n }\n } catch (error) {\n console.error(`search filter documents failed - ${error}`);\n }\n}\n\nfunction* addToUrl() {\n try {\n const selectedFilters = yield select(documentsSelectors.getSelectedFilters);\n const sortingType = yield select(documentSelectors.getSortingType);\n\n const url = new URLSearchParams(window.location.search.substr(1));\n\n if (selectedFilters.title) {\n url.set(\"title\", selectedFilters.title);\n } else {\n url.delete(\"title\");\n }\n\n if (selectedFilters.action) {\n url.set(\"action\", selectedFilters.action);\n } else {\n url.delete(\"action\");\n }\n\n if (selectedFilters.type) {\n url.set(\"type\", selectedFilters.type);\n } else {\n url.delete(\"type\");\n }\n\n if (selectedFilters.committee) {\n url.set(\"committee\", handleOtherCommitteeId(selectedFilters.committee));\n } else {\n url.delete(\"committee\");\n }\n\n if (sortingType) {\n url.set(\"sortingType\", sortingType);\n } else {\n url.delete(\"sortingType\");\n }\n\n history.push(`${history.location.pathname}?${url.toString()}`);\n } catch (error) {\n console.error(`add to url failed - ${error}`);\n }\n}\n\nfunction* handleSorting(action) {\n try {\n if (action.payload && action.payload.changeSorting) {\n yield call(addToUrl);\n yield call(handlePullNextDocumentsPageRequest);\n\n yield delay(sortBoxHidingDelay);\n yield call(addToUrl);\n }\n } catch (error) {\n console.error(`sorting failed - ${error}`);\n }\n}\n\nfunction* handleResetFilters() {\n yield call(addToUrl);\n yield call(initFilters);\n}\n\nfunction* handleDeleteDocument(action) {\n try {\n const documentUrl = action.payload;\n const committeeId = yield select(selectedNationalCommittee);\n\n const response = yield call(deleteDocumentUrl, documentUrl);\n\n if (response.status === 200) {\n yield put(actions.deleteDocumentSucceeded({ committeeId, documentUrl }));\n yield put(actions.resetModalState());\n yield put(actions.reloadDocuments());\n } else {\n yield put(actions.deleteDocumentFailed());\n }\n } catch (error) {\n yield put(actions.deleteDocumentFailed());\n console.error(`delete document failed - ${error}`);\n }\n}\n\nfunction* initFilters() {\n try {\n const query = new URLSearchParams(history.location.search);\n\n let initFilter = {\n type: null,\n action: null,\n committee: null,\n title: \"\",\n };\n\n if (query.has(\"type\")) {\n initFilter.type = query.get(\"type\");\n }\n\n if (query.has(\"action\")) {\n initFilter.action = query.get(\"action\");\n }\n\n if (query.has(\"committee\")) {\n initFilter.committee = makeOtherCommitteeIdIfEmpty(\n query.get(\"committee\"),\n );\n }\n\n if (query.has(\"title\")) {\n initFilter.title = query.get(\"title\");\n }\n\n const isFiltered =\n initFilter.type ||\n initFilter.action ||\n initFilter.committee ||\n initFilter.title;\n yield put(actions.setFilterValue(initFilter));\n yield put(actions.setDocumentsAreFiltered({ value: isFiltered }));\n\n if (query.has(\"sortingType\")) {\n yield put(actions.setSortingType({ value: query.get(\"sortingType\") }));\n } else {\n yield put(actions.setSortingType({ value: sortingType.date_descending }));\n }\n } catch (error) {\n console.error(`init filters failed - ${error}`);\n }\n}\n\nexport function* initDocuments() {\n yield call(initFilters);\n}\n\nfunction* handleReloadDocuments(action) {\n yield call(initFilters);\n // yield call(handlePullNextDocumentsPageRequest);\n yield put(actions.pullNextDocumentsPageRequest());\n}\n\nfunction* setMetadata(callback, uri = \"\") {\n try {\n let documentMetadata = yield select(documentSelectors.getModalData);\n const { notifyOnUpdate: notify, notifyImmediately } = documentMetadata;\n\n const params = {\n notify,\n notifyImmediately,\n };\n const metadataApiModel = mapToApiMetadataModel(documentMetadata, uri);\n const committeeId = yield select(selectedNationalCommittee);\n\n const response = yield call(\n setDocumentMetadataUrl,\n committeeId,\n params,\n metadataApiModel,\n );\n\n if (!isRequestSuccessful(response)) throw new Error(\"setMetadata failed\");\n\n if (callback) yield put(callback(response.data));\n\n if (notify) {\n const responseMetadata = response.data.metadata;\n\n yield call(handleCreateNotificationBySystem, {\n payload: {\n title: responseMetadata.documentTitle,\n description: responseMetadata.documentDescription,\n notify: notifyImmediately,\n type: notificationType.document,\n eventType: notificationActionType.add,\n references: [\n {\n type: notificationType.document,\n uri: responseMetadata.notificationUri,\n },\n ],\n },\n });\n\n if (notifyImmediately) {\n yield call(handleSendInstantEmail, {\n payload: {\n type: INSTANT_EMAIL_PARAM_TYPE.COMMITTEE_ID,\n param: committeeId,\n disableToast: true,\n },\n });\n }\n }\n } catch (error) {\n console.error(`set document metadata failed - ${error}`);\n }\n}\n\nexport function* uploadFile(file) {\n try {\n const data = new FormData();\n data.append(\"data\", file);\n const uploadDocumentResponse = yield call(uploadDocumentUrl, data);\n if (uploadDocumentResponse.status === 200) {\n return uploadDocumentResponse.data;\n }\n } catch (error) {\n console.error(`upload file failed - ${error}`);\n }\n\n return null;\n}\n\nfunction* uploadDocumentHandler(document, type, callback) {\n try {\n if (type === documentUploadType.file) {\n const uploadedDocumentUri = yield call(uploadFile, document);\n\n if (uploadedDocumentUri) {\n yield call(setMetadata, callback, uploadedDocumentUri);\n }\n } else if (type === documentUploadType.link) {\n yield call(setMetadata, callback);\n }\n\n yield put(actions.resetModalState());\n yield put(actions.reloadDocuments());\n } catch (error) {\n console.error(`upload document failed - ${error}`);\n }\n}\n\nfunction* handleDocumentsUpload(action) {\n try {\n const {\n documents,\n uploadType,\n callback,\n notifyOnUpdate,\n notifyImmediately,\n } = action.payload;\n\n const numberOfDocuments = documents.length;\n\n const defaultAction = \"INFO\";\n const defaultType = \"DSF\";\n const defaultCommittee = otherCommitteeId;\n // const defaultCommitteeTitle = yield select(getSelectedNationalCommitteeTitle)\n const currentUserId = yield select(userId);\n for (let i = 0; i < numberOfDocuments; i++) {\n const document = documents[i];\n const fileName =\n uploadType === documentUploadType.link\n ? document.split(\"/\").pop()\n : document.name;\n\n yield put(\n actions.setModalState({\n isOpen: true,\n contentType: types.CREATE_FILE,\n content: {\n filename: fileName,\n action: defaultAction,\n type: defaultType,\n description: \"\",\n committee: defaultCommittee,\n committeeTitle: \"\",\n title: trimFileExtension(fileName),\n count: numberOfDocuments,\n notifyOnUpdate: notifyOnUpdate,\n notifyImmediately: notifyImmediately ?? false,\n currentDocument: i + 1,\n link: uploadType === documentUploadType.link ? document : null,\n mimeType:\n uploadType === documentUploadType.file ? document.type : null,\n memberID: currentUserId,\n },\n }),\n );\n\n const action = yield take([\n actions.uploadFile,\n actions.skipFileToUpload,\n actions.cancelRemainingFilesToUpload,\n ]);\n\n if (action.type === actions.SKIP_FILE_TO_UPLOAD) {\n yield put(actions.resetModalState());\n continue;\n }\n\n if (action.type === actions.CANCEL_REMAINING_FILES_TO_UPLOAD) {\n yield put(actions.resetModalState());\n break;\n }\n\n yield call(uploadDocumentHandler, document, uploadType, callback);\n }\n } catch (error) {\n console.error(`upload documents failed - ${error}`);\n }\n}\n\nexport function* handleZipDownload(action) {\n try {\n const { id, packageName, uris } = action.payload;\n const response = yield call(downloadZipUrl, uris);\n\n if (response.status === 200) {\n FileDownload(response.data, packageName);\n } else {\n if (response.data) {\n console.error(`Error while downloading zip package: \n ${response.data.errorCode}:${response.data.message}:${response.status}`);\n } else {\n console.error(\n `Error while downloading zip package. Code: ${response.status}`,\n );\n }\n }\n\n yield put(actions.downloadZipPackageFinished(id));\n } catch (error) {\n console.error(`download zip failed - ${error}`);\n }\n}\n\nfunction* handleCopyDocumentToDifferentCommittee(action) {\n try {\n } catch (error) {\n console.error(`copy document to different committee error: ${error}`);\n }\n}\n\nfunction* handleFetchRelatedResources({ payload }) {\n try {\n const documentUri = payload.metadata.notificationUri;\n const response = yield call(getRelatedReferencesUrl, documentUri);\n const currentCommittee = yield select(selectedNationalCommittee);\n\n if (response.status !== 200) {\n throw new Error(\n `getRelatedReferencesUrl failed with status ${response.status}`,\n );\n }\n\n const references = response.data.references.filter((el) =>\n el.uri.includes(currentCommittee.replace(\"/\", \"_\")),\n );\n\n yield put(\n actions.fetchRelatedResourcesFinished({\n documentUri,\n results: references,\n }),\n );\n } catch (error) {\n console.error(`handleFetchRelatedResources failed with: ${error}`);\n }\n}\n\nexport default function* documentSaga() {\n yield takeLeading(\n actions.pullNextDocumentsPageRequest,\n handlePullNextDocumentsPageRequest,\n );\n yield takeLatest(actions.initDocuments, initDocuments);\n yield takeLatest(actions.reloadDocuments, handleReloadDocuments);\n\n yield takeLatest(actions.addFiltersToUrl, addToUrl);\n yield takeLatest(actions.searchFilterDocumentsRequest, searchFilterDocuments);\n yield takeLatest(actions.editDocumentRequest, handleEditDocument);\n yield takeLatest(actions.deleteDocumentRequest, handleDeleteDocument);\n yield takeLatest(actions.setSortingType, handleSorting);\n yield takeLatest(actions.resetFilters, handleResetFilters);\n yield takeLatest(actions.uploadSelectedDocuments, handleDocumentsUpload);\n yield takeEvery(actions.downloadZipPackage, handleZipDownload);\n yield takeEvery(\n actions.copyDocumentToDifferentCommittee,\n handleCopyDocumentToDifferentCommittee,\n );\n yield takeEvery(actions.fetchRelatedResources, handleFetchRelatedResources);\n}\n","import { createSelector } from \"reselect\";\n\nexport const app = (state) => state.app;\n\nexport const isApplicationInitialized = createSelector(\n app,\n (app) => app.isInitialized,\n);\nexport const applicationUserHintState = createSelector(\n app,\n (app) => app.userHint,\n);\nexport const appGlobalDialogsStack = new createSelector(\n app,\n (app) => app.globalDialogs,\n);\nexport const isApplicationInReadonlyMode = createSelector(\n app,\n (app) => app.readonlyMode,\n);\n","export function loadLocalObject(name) {\n const itemValue = window.localStorage.getItem(name);\n try {\n return JSON.parse(itemValue) || {};\n } catch (err) {\n console.error(err);\n window.localStorage.setItem(name, JSON.stringify({}));\n return {};\n }\n}\n\nexport function storeLocalObject(name, obj) {\n window.localStorage.setItem(name, JSON.stringify(obj));\n}\n","import TagManager from \"react-gtm-module\";\n\nexport const ResourcesTypes = {\n deadline: \"deadline\",\n document: \"document\",\n meeting: \"meeting\",\n};\n\nexport default {\n initialize() {\n const tagManagerArgs = {\n gtmId: process.env.REACT_APP_GTM_ID,\n };\n\n TagManager.initialize(tagManagerArgs);\n },\n\n setUser: (userId) => {\n window.dataLayer.push({\n event: \"user.login\",\n userId: userId,\n });\n },\n\n setUserLanguage: (lang) => {\n window.dataLayer.push({\n event: \"user.language\",\n language: lang,\n });\n },\n\n showDeleteDialog: (resourceType, resourceId) => {\n window.dataLayer.push({\n event: \"notification.delete\",\n notificationType: resourceType,\n notificationId: resourceId,\n action: \"prompt\",\n });\n },\n\n closeDeleteDialog: (resourceType, resourceId) => {\n window.dataLayer.push({\n event: \"notification.delete\",\n notificationType: resourceType,\n notificationId: resourceId,\n action: \"cancel\",\n });\n },\n\n deletionConfirmed: (resourceType, resourceId) => {\n window.dataLayer.push({\n event: \"notification.delete\",\n notificationType: resourceType,\n notificationId: resourceId,\n action: \"delete\",\n });\n },\n};\n","import i18next from \"i18next\";\nimport en from \"../translations/en/common.json\";\nimport da from \"../translations/da/common.json\";\n\nconst i18Init = (language) => {\n return i18next.init({\n react: {\n useSuspense: false,\n wait: false,\n },\n interpolation: { escapeValue: false },\n lng: language,\n resources: {\n en: {\n common: en,\n },\n da: {\n common: da,\n },\n },\n });\n};\n\nexport default i18Init;\n","import { createSelector } from \"reselect\";\n\nexport const documentsSummary = (state) => state.documentsSummary;\n\nexport const getFilesUrls = createSelector(\n [documentsSummary],\n (documentsSummary) => {\n return Object.values(documentsSummary.details).reduce(\n (acc, cur) => [...acc, ...cur.map((c) => c.url)],\n [],\n );\n },\n);\n","import React, { Component } from \"react\";\nimport \"./ActionBox.scss\";\nimport { withTranslation } from \"react-i18next\";\n\nclass ActionBox extends Component {\n render() {\n const { children, t } = this.props;\n\n return (\n
\n \n
\n \n
\n
\n );\n }\n}\n\nexport default withTranslation(\"common\")(ActionBox);\n","import React, { Component } from \"react\";\nimport classNames from \"classnames\";\nimport \"./Toggler.scss\";\n\nclass Toggler extends Component {\n state = {\n opened: false,\n };\n\n componentDidMount() {\n document.addEventListener(\"mousedown\", this.handleOutsideClick);\n if (this.props.calculatePosition) {\n document.addEventListener(\"scroll\", this.setContentPosition);\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"mousedown\", this.handleOutsideClick);\n if (this.props.calculatePosition) {\n document.removeEventListener(\"scroll\", this.setContentPosition);\n }\n }\n\n handleClick = (event) => {\n event.preventDefault();\n event.stopPropagation();\n const { opened } = this.state;\n\n this.setState(\n {\n opened: !opened,\n },\n this.setContentPosition,\n );\n };\n\n handleOutsideClick = (event) => {\n if (this.ref && !this.ref.contains(event.target)) {\n this.setState(\n {\n opened: false,\n },\n this.setContentPosition,\n );\n this.props.clickHandler && this.props.clickHandler();\n }\n };\n\n setContentPosition = () => {\n if (!this.props.calculatePosition) return;\n\n if (this.state.opened) {\n const content = this.ref.querySelector(\".toggler__content\");\n const button = this.ref.querySelector(\".toggler__button\");\n const rect = button.getBoundingClientRect();\n const contentHeight = content.offsetHeight;\n const clientWidth = document.body.clientWidth;\n\n if (this.props.isLast) {\n content.setAttribute(\n \"style\",\n \"position: fixed; right:\" +\n (clientWidth - rect.right - rect.width + 24) +\n \"px; top: \" +\n (rect.top - contentHeight) +\n \"px\",\n );\n } else {\n content.setAttribute(\n \"style\",\n \"position: fixed; right:\" +\n (clientWidth - rect.right - rect.width + 24) +\n \"px; top: \" +\n (rect.top + rect.height) +\n \"px\",\n );\n }\n }\n };\n\n setRef = (node) => {\n this.ref = node;\n };\n\n render() {\n const { children } = this.props;\n const { opened } = this.state;\n\n return (\n \n {children}\n \n );\n }\n}\n\nexport default Toggler;\n","import React, { Component } from \"react\";\n\nclass Checkbox extends Component {\n constructor(props) {\n super(props);\n this.state = {\n checked: props.element.selected || false,\n };\n }\n\n handleClick = (e) => {\n this.setState(\n {\n checked: e.target.checked,\n },\n () => {\n this.props.onClick &&\n this.props.onClick({ ...this.props.element }, this.state.checked);\n },\n );\n };\n\n render() {\n const { element } = this.props;\n\n return (\n \n );\n }\n}\n\nexport default Checkbox;\n","import { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { isConsultantInAnyCommittee } from \"./../../../state/user/selectors\";\n\nclass WithPrivileges extends Component {\n render() {\n const { children, isConsultantInAnyCommittee } = this.props;\n return isConsultantInAnyCommittee ? children : null;\n }\n}\n\nconst mapStateToProps = (state) => ({\n isConsultantInAnyCommittee: isConsultantInAnyCommittee(state),\n});\n\nexport default connect(mapStateToProps)(WithPrivileges);\n","import { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { isApplicationInReadonlyMode } from \"./../../../state/app/selectors\";\n\nclass ReadonlyGuard extends Component {\n render() {\n const { children, isApplicationInReadonlyMode } = this.props;\n return isApplicationInReadonlyMode ? null : children;\n }\n}\n\nconst mapStateToProps = (state) => ({\n isApplicationInReadonlyMode: isApplicationInReadonlyMode(state),\n});\n\nexport default connect(mapStateToProps)(ReadonlyGuard);\n","import { createSelector } from \"reselect\";\n\nexport const getDocumentValues = (state) => state.values.data.document;\nexport const getMeetingFilters = (state) => state.values.data.meeting;\nexport const getDeadlineFilters = (state) => state.values.data.deadline;\nexport const getStages = (state) => state.values.data.stages;\nexport const getCommentFilters = (state) => state.values.data.comment;\n\nexport const getDocumentCommitteeFilterSelectItems = createSelector(\n [getDocumentValues],\n (documentFilters) => documentFilters.committees,\n);\n\nexport const getMeetingCommitteeFilterSelectItems = createSelector(\n [getMeetingFilters],\n (meetingFilters) => {\n if (meetingFilters && meetingFilters.committees) {\n return meetingFilters.committees.map((committee, index) => ({\n id: index,\n value: committee.value,\n label: committee.label,\n }));\n }\n return [];\n },\n);\n\nexport const getMeetingMonthFilterSelectItems = createSelector(\n [getMeetingFilters],\n (meetingFilters) => {\n if (meetingFilters && meetingFilters.months) {\n return meetingFilters.months.map((month) => ({\n id: month.value.replace(\",\", \"\"),\n value: month.value,\n label: month.label,\n date: new Date(month.value),\n }));\n }\n return [];\n },\n);\n\nexport const getDeadlineCommitteeFilterSelectItems = createSelector(\n [getDeadlineFilters],\n (deadlineFilters) => {\n if (deadlineFilters && deadlineFilters.committees) {\n return deadlineFilters.committees.map((committee, index) => ({\n id: index,\n value: committee.value,\n label: committee.label,\n }));\n }\n return [];\n },\n);\n\nexport const getDeadlineMonthFilterSelectItems = createSelector(\n [getDeadlineFilters],\n (deadlineFilters) => {\n if (deadlineFilters && deadlineFilters.months) {\n return deadlineFilters.months.map((month) => ({\n id: month.value.replace(\",\", \"\"),\n value: month.value,\n label: month.label,\n date: month.date,\n }));\n }\n return [];\n },\n);\n\nexport const getDeadlineTypeFilterSelectItems = createSelector(\n [getDeadlineFilters],\n (deadlineFilters) => {\n if (deadlineFilters && deadlineFilters.types) {\n return deadlineFilters.types.map((type) => ({\n id: type.label,\n value: type.value,\n label: type.label,\n }));\n }\n return [];\n },\n);\n\nexport const getDeadlineStagesSelectItems = createSelector(\n [getStages],\n (stages) => {\n if (stages) {\n return stages.map((stage) => ({\n id: stage.label,\n value: stage.value,\n label: stage.label,\n }));\n }\n return [];\n },\n);\n\nconst getActions = () => [\"VOTE\", \"COMMENT\", \"REPLY\", \"ACT\"];\nexport const getDeadlineActionsSelectItems = createSelector(\n [getActions],\n (actions) => {\n if (actions) {\n return actions.map((action) => ({\n id: action,\n name: action,\n }));\n }\n return [];\n },\n);\n\nexport const getCommentTypeSelectItems = createSelector(\n [getCommentFilters],\n (commentFilters) => {\n if (commentFilters && commentFilters.types) {\n return commentFilters.types.map((type) => ({\n id: type.label,\n name: type.label,\n value: type.value,\n }));\n }\n return [];\n },\n);\n","// import { createSelector } from \"reselect\";\n\nexport const getModalDepth = (state) => state.modalStack.modalStack.length;\n\nexport const getPreviousModal = (state) => {\n return state.modalStack.modalStack[state.modalStack.modalStack.length - 1];\n};\n\nexport const getModalStackHistory = (state) => {\n return state.modalStack.modalStack.slice(1).join(\" > \");\n};\n","import React, { Component } from \"react\";\nimport ReactModal from \"react-modal\";\nimport classNames from \"classnames\";\n\nimport types from \"./contentTypes\";\nimport { dialogSizes } from \"../../../utils/constants\";\nimport history from \"../../../utils/history\";\nimport {\n getModalDepth,\n getModalStackHistory,\n getPreviousModal,\n} from \"../../../state/modal-stack/selectors\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { emptyModalStack } from \"../../../state/modal-stack/actions\";\nimport { v4 } from \"uuid\";\n\nconst SLIDE_DURATION = 300;\nconst SLIDE_STATUS = {\n TO_LEFT: \"before\",\n TO_RIGHT: \"after\",\n};\n\nclass ModalWrapper extends Component {\n state = {\n slided: SLIDE_STATUS.TO_RIGHT,\n // This closing is to prevent re-rendering of the children while closing\n // (due to setTimeout in handleClose, it will rerender the children before closing)\n closing: false,\n };\n\n componentDidMount() {\n // after it's rendered\n if (!this.props.disableSlide) {\n setTimeout(() => {\n this.setSlided(SLIDE_STATUS.TO_LEFT);\n });\n }\n }\n\n modalClassName = classNames(\"modal__content\", {\n \"modal__content--fixed-height\":\n types.EDIT_FILE === this.props.contentType ||\n this.props.sizeType === dialogSizes.fixedHeight,\n \"modal__content--wide\":\n types.EXPORT_TO_WORD === this.props.contentType ||\n this.props.sizeType === dialogSizes.wide,\n \"modal__content--big\": this.props.sizeType === dialogSizes.big,\n });\n\n setSlided = (slided) => {\n if (this._isUnmounted) return;\n\n this.setState({ slided });\n\n // When closing, by having closing state, we prevent re-rendering of the children\n if (slided === SLIDE_STATUS.TO_RIGHT) {\n this.setState({ closing: true });\n }\n };\n\n get isNestedModal() {\n const modalDepth = this.props.getModalDepth;\n return modalDepth > 1;\n }\n\n handleClose = (event, cb) => {\n if (this.isNestedModal || this.props.disableSlide) {\n cb(event);\n } else {\n this.setSlided(SLIDE_STATUS.TO_RIGHT);\n setTimeout(() => cb(event), SLIDE_DURATION);\n }\n };\n\n onClickClose = (event) => {\n const { requestCloseHandler } = this.props;\n\n this.props.emptyModalStack();\n this.handleClose(event, requestCloseHandler);\n };\n\n onGoBack = () => {\n // history.goBack();\n this.handleClose(null, history.goBack);\n };\n\n // Function to add props to children\n renderChildrenWithProps = () => {\n const { children, requestCloseHandler } = this.props;\n\n if (!children) return null;\n\n /**\n ** This is for multiple children **\n For example;\n \n \n \n \n\n To avoid this, have only one root element under ModalWrapper\n\n \n <>\n \n \n \n \n\n */\n // return children.map((child) =>\n // React.cloneElement(child, {\n // cancelHandler: requestCloseHandler,\n // }),\n // );\n\n return React.cloneElement(children, {\n cancelHandler: requestCloseHandler,\n });\n };\n\n componentWillUnmount() {\n this._isUnmounted = true;\n }\n\n render() {\n const {\n isOpen,\n // children,\n verticalCentered = true,\n disableSlide,\n // requestCloseHandler,\n showGoBackButton,\n showCloseButton,\n shouldCloseOnOverlayClick,\n // footer,\n } = this.props;\n\n if (!isOpen) return null;\n\n return (\n \n \n
\n
\n {showGoBackButton && this.isNestedModal && (\n
\n \n \n {this.props.getModalStackHistory ?? \"\"}\n \n
\n )}\n {showCloseButton && (\n \n ×\n
\n )}\n
\n
\n {isOpen && !this.state.closing\n ? this.renderChildrenWithProps()\n : null}\n
\n \n \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n getModalDepth: getModalDepth(state),\n getPreviousModal: getPreviousModal(state),\n getModalStackHistory: getModalStackHistory(state),\n});\n\nconst mapDispatchToProps = {\n emptyModalStack: emptyModalStack,\n};\n\nexport default compose(connect(mapStateToProps, mapDispatchToProps))(\n ModalWrapper,\n);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { formatDate } from \"../../../../../utils/transform\";\nimport Checkbox from \"../../../../common/form/checkbox/Checkbox\";\nimport Toggler from \"../../../../common/toggler/Toggler\";\nimport ActionBox from \"../../../../common/action-box/ActionBox\";\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport contentTypes from \"../../../../common/modal-wrapper/contentTypes\";\nimport { getModalDetails } from \"../../../../../state/document/selectors\";\nimport {\n DIALOG_TYPES,\n generateDialogLink,\n} from \"../../../../../utils/dynamicLink\";\nimport { Link } from \"react-router-dom\";\nimport { setModalState } from \"../../../../../state/document/actions\";\n\nclass DeadlineTable extends Component {\n basicModals = {};\n\n renderActionBox = (element) => {\n const { rowActions } = this.props;\n\n return (\n \n this.setState({ actionBoxOpened: false })}\n isLast={element.isLast}\n >\n \n {Object.keys(rowActions).map((name, index) => {\n return (\n
  • \n rowActions[name](element)}\n >\n {name}\n \n
  • \n );\n })}\n
    \n \n \n );\n };\n\n renderRow = (deadline, idx) => {\n const { selectedDeadlines, useCheckbox, useActionBox } = this.props;\n\n const deadlineDetailsUrl = generateDialogLink(\n DIALOG_TYPES.DEADLINE_DETAILS,\n deadline.uri,\n );\n\n const newDeadline = {\n ...deadline,\n url: deadline.uri,\n selected: !!selectedDeadlines?.some((el) => el.uri === deadline.uri),\n };\n\n return (\n \n {useCheckbox && (\n \n \n \n )}\n {deadline.committee}\n {deadline.committeeName}\n \n {deadline.title}\n \n {formatDate(deadline.date)}\n {useActionBox && this.renderActionBox(deadline)}\n \n );\n };\n\n renderModal = () => {\n const {\n additionalModals,\n modal: { contentType },\n } = this.props;\n\n if (additionalModals) {\n Object.keys(additionalModals).forEach(\n (key) => (this.basicModals[key] = additionalModals[key]),\n );\n }\n\n if (this.basicModals[contentType]) {\n return this.basicModals[contentType]();\n }\n };\n\n requestCloseHandler = () => {\n this.props.setModalState({ isOpen: false });\n };\n\n render() {\n const { deadlines, useCheckbox, useActionBox } = this.props;\n\n return (\n
    \n
    \n \n \n \n {useCheckbox && \n \n \n \n {useActionBox && \n \n \n {deadlines.map(this.renderRow)}\n \n
    }\n CommitteeCommittee NameTitleDate}\n
    \n
    \n {this.props.modal.contentType ===\n contentTypes.REMOVE_FILE_FROM_DEADLINE_LIST && (\n \n {this.renderModal()}\n \n )}\n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n // Deadlines: getDeadlines(state),\n // modal: state.modal,\n modal: getModalDetails(state),\n});\n\nconst mapDispatchToProps = {\n setModalState,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DeadlineTable);\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./RelatedContent.scss\";\nimport { getDeadlineUrl } from \"../../../api/resources/deadlines\";\nimport DeadlineTable from \"../deadlines/pages/deadline-list/DeadlineTable\";\nimport { normalizeDeadline } from \"../../../state/deadlines/normalizer\";\n\nclass RelatedDeadlineContent extends Component {\n state = {\n fetchedDeadlines: [],\n };\n\n async fetchRelatedDeadlines() {\n const { relatedDeadlines } = this.props;\n\n if (!relatedDeadlines?.length) return;\n\n try {\n const rawResponses = await Promise.all(\n relatedDeadlines.map((deadline) => {\n return getDeadlineUrl(deadline.uri);\n }),\n );\n\n const responses = rawResponses\n .filter((response) => response.status === 200)\n .map((response) => normalizeDeadline({ deadline: response.data }));\n\n this.setState({\n fetchedDeadlines: responses,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n async componentDidMount() {\n await this.fetchRelatedDeadlines();\n }\n\n render() {\n const { t, relatedDeadlines } = this.props;\n\n if (!relatedDeadlines?.length) return null;\n\n return (\n
    \n
    \n \n {t(\"references.document.relatedDeadlines\")}\n \n
    \n \n
    \n );\n }\n}\n\n// const mapProps = (state) => ({});\n\n// const mapDispatchToProps = {};\n\nexport default compose(\n withTranslation(\"common\"),\n // connect(mapProps, mapDispatchToProps),\n)(RelatedDeadlineContent);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { compose } from \"redux\";\nimport {\n DIALOG_TYPES,\n PAGE_TYPES,\n generateLink,\n} from \"../../../../../utils/dynamicLink\";\nimport { Link } from \"react-router-dom\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { connect } from \"react-redux\";\n\nclass NotificationTable extends Component {\n onClickLink = (e) => {\n const { closeRelatedContentModal } = this.props;\n\n closeRelatedContentModal && closeRelatedContentModal();\n };\n\n generateNotificationDetailLink = (uri) => {\n const { selectedNationalCommittee } = this.props;\n\n return `${generateLink(\n selectedNationalCommittee,\n PAGE_TYPES.NOTIFICATION,\n )}/${uri.replace(\".xml\", \"\")}/details`;\n };\n\n renderRow = (notification, idx) => {\n const url = this.generateNotificationDetailLink(notification.uri);\n\n return (\n \n {notification.committeeReference}\n \n {notification.committeeReferenceTitle}\n \n {notification.type}\n \n {/* need to add to close this when the link has been clicked */}\n \n {notification.title}\n \n \n {notification.description}\n \n );\n };\n\n render() {\n const { notifications } = this.props;\n\n return (\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n {notifications.map(this.renderRow)}\n \n
    CommitteeCommittee NameTypeTitleDescription
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\n// const mapDispatchToProps = {\n// };\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, null),\n)(NotificationTable);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport \"./RelatedContent.scss\";\nimport { getNotification } from \"../../../api/resources/notifications\";\nimport NotificationTable from \"../notifications/pages/notifications-list/NotificationTable\";\n\nclass RelatedNotificationContent extends Component {\n state = {\n fetchedNotifications: [],\n };\n\n async fetchRelatedNotifications() {\n const { relatedNotifications } = this.props;\n\n if (!relatedNotifications?.length) return;\n\n try {\n const rawResponses = await Promise.all(\n relatedNotifications.map((notification) => {\n return getNotification(notification.uri);\n }),\n );\n\n const responses = rawResponses\n .filter((response) => response.status === 200)\n .map((response) => response.data);\n\n this.setState({\n fetchedNotifications: responses,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n async componentDidMount() {\n await this.fetchRelatedNotifications();\n }\n\n render() {\n const { t, relatedNotifications, closeModal } = this.props;\n\n if (!relatedNotifications?.length) return null;\n\n return (\n
    \n
    \n \n {t(\"references.document.relatedNotifications\")}\n \n
    \n \n
    \n );\n }\n}\n\n// const mapStateToProps = (state) => ({\n// });\n\n// const mapDispatchToProps = {\n// };\n\nexport default compose(\n withTranslation(\"common\"),\n // connect(mapStateToProps, mapDispatchToProps),\n)(RelatedNotificationContent);\n","import { createSelector } from \"reselect\";\nimport { getStore } from \"../../utils/state\";\nimport { TIMEFRAME } from \"../../api/utils\";\n\nconst meetings = (state) => state.meetings;\n\nconst meetingsOrderShowPast = (a, b) => (a.fromDate > b.fromDate ? -1 : 1);\nconst meetingsOrderShowUpcoming = (a, b) => (a.fromDate > b.fromDate ? 1 : -1);\n\nconst meetingsOrder = (timeframe) => {\n if (timeframe === TIMEFRAME.PAST) return meetingsOrderShowPast;\n return meetingsOrderShowUpcoming;\n};\n\nexport const getRawMeetings = createSelector([meetings], (meetings) => {\n return Object.values(meetings.data);\n});\n\nexport const getMeetings = createSelector([meetings], (meetings) => {\n const locale = getStore().getState().user.data.kundeportal.locale;\n return Object.values(meetings.data)\n .sort(meetingsOrder(meetings.filters.timeframe))\n .reduce((previous, current) => {\n const date = new Date(current.fromDate)\n .toLocaleDateString(locale, { month: \"long\", year: \"numeric\" })\n .toUpperCase();\n previous[date]\n ? previous[date].push(current)\n : (previous[date] = [current]);\n\n return previous;\n }, {});\n});\n\nexport const getMeeting = createSelector(\n [meetings],\n (meetings) => meetings.meeting,\n);\n\nexport const isProcessingMeeting = (state) =>\n state.meetings.isProcessingRequest;\nexport const isProcessingMeetings = (state) =>\n state.meetings.isProcessingMeetings;\nexport const isProcessedMeetings = (state) =>\n state.meetings.isProcessedMeetings;\nexport const isProcessingDocuments = (state) =>\n state.meetings.isProcessingDocuments;\n\nexport const getNewMeetingFormData = (state) => state.meetings.form;\n\nexport const getMeetingDocumentsUri = createSelector([getMeeting], (meeting) =>\n meeting.referencesRawResponsePerType.document.map((doc) => doc.uri),\n);\n\nexport const getMeetingsFilters = createSelector(\n [meetings],\n (meetings) => meetings.filters,\n);\n\nexport const getMeetingDocuments = createSelector(\n [getMeeting],\n (meeting) => meeting.references,\n);\n\nexport const hasMoreMeetingsToLoad = createSelector(\n [meetings],\n (meetings) => meetings.pagination.hasMoreToLoad,\n);\n\nexport const getPagination = (state) => state.meetings.pagination;\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { getMeetings } from \"../../../../../state/meetings/selectors\";\nimport { formatDateTime } from \"../../../../../utils/transform\";\nimport Checkbox from \"../../../../common/form/checkbox/Checkbox\";\nimport Toggler from \"../../../../common/toggler/Toggler\";\nimport ActionBox from \"../../../../common/action-box/ActionBox\";\nimport { getModalDetails } from \"../../../../../state/document/selectors\";\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport contentTypes from \"../../../../common/modal-wrapper/contentTypes\";\nimport {\n DIALOG_TYPES,\n generateDialogLink,\n} from \"../../../../../utils/dynamicLink\";\nimport { Link } from \"react-router-dom\";\nimport { setModalState } from \"../../../../../state/document/actions\";\n\nclass MeetingTable extends Component {\n basicModals = {};\n\n renderActionBox = (element) => {\n const { rowActions } = this.props;\n\n return (\n \n this.setState({ actionBoxOpened: false })}\n isLast={element.isLast}\n >\n \n {Object.keys(rowActions).map((name, index) => {\n return (\n
  • \n rowActions[name](element)}\n >\n {name}\n \n
  • \n );\n })}\n
    \n \n \n );\n };\n\n renderRow = (meeting, idx) => {\n const { selectedMeetings, useCheckbox, useActionBox } = this.props;\n\n const meetingDetailsUrl = generateDialogLink(\n DIALOG_TYPES.MEETING_DETAILS,\n meeting.uri,\n );\n\n const newMeeting = {\n ...meeting,\n url: meeting.uri,\n selected: !!selectedMeetings?.some((el) => el.uri === meeting.uri),\n };\n\n return (\n \n {useCheckbox && (\n \n \n \n )}\n {meeting.committee}\n {meeting.committeeName}\n \n {meeting.title}\n \n {/* {el.locationLong} */}\n {/* {`${formatDateTime(meeting.fromDate)} ~ ${formatDateTime(meeting.toDate)}`} */}\n {formatDateTime(meeting.fromDate)}\n {formatDateTime(meeting.toDate)}\n {meeting.locationShort}\n {useActionBox && this.renderActionBox(meeting)}\n \n );\n };\n\n renderModal = () => {\n const {\n additionalModals,\n modal: { contentType },\n } = this.props;\n\n if (additionalModals) {\n Object.keys(additionalModals).forEach(\n (key) => (this.basicModals[key] = additionalModals[key]),\n );\n }\n\n if (this.basicModals[contentType]) {\n return this.basicModals[contentType]();\n }\n };\n\n requestCloseHandler = () => {\n this.props.setModalState({ isOpen: false });\n };\n\n render() {\n const { meetings, useCheckbox, useActionBox } = this.props;\n\n return (\n
    \n
    \n \n \n \n {useCheckbox && \n \n \n {/* */}\n \n \n \n {useActionBox && \n \n \n {meetings.map(this.renderRow)}\n \n
    }\n CommitteeCommittee NameTitleDescriptionFromToLocation}\n
    \n
    \n {this.props.modal.contentType ===\n contentTypes.REMOVE_FILE_FROM_MEETING_LIST && (\n \n {this.renderModal()}\n \n )}\n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n // meetings: getMeetings(state),\n modal: getModalDetails(state),\n});\n\nconst mapDispatchToProps = {\n setModalState,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(MeetingTable);\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./RelatedContent.scss\";\nimport MeetingTable from \"../meetings/pages/meeting-tab/MeetingTable\";\nimport { normalizeMeeting } from \"../../../state/meetings/normalizers\";\nimport { getMeetingUrl } from \"../../../api/resources/meetings\";\n\nclass RelatedMeetingContent extends Component {\n state = {\n fetchedMeetings: [],\n };\n\n async fetchRelatedMeetings() {\n const { relatedMeetings } = this.props;\n\n if (!relatedMeetings?.length) return;\n\n try {\n const rawResponses = await Promise.all(\n relatedMeetings.map((meeting) => {\n return getMeetingUrl(meeting.uri);\n }),\n );\n\n const responses = rawResponses\n .filter((response) => response.status === 200)\n .map((response) => normalizeMeeting(response.data));\n\n this.setState({\n fetchedMeetings: responses,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n async componentDidMount() {\n await this.fetchRelatedMeetings();\n }\n\n render() {\n const { t, relatedMeetings } = this.props;\n\n if (!relatedMeetings?.length) return null;\n\n return (\n
    \n
    \n \n {t(\"references.document.relatedMeetings\")}\n \n
    \n \n
    \n );\n }\n}\n\n// const mapProps = (state) => ({});\n\n// const mapDispatchToProps = {};\n\nexport default compose(\n withTranslation(\"common\"),\n // connect(mapProps, mapDispatchToProps),\n)(RelatedMeetingContent);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./RelatedContent.scss\";\nimport RelatedDeadlineContent from \"./RelatedDeadlineContent\";\nimport RelatedNotificationContent from \"./RelatedNotificationContent\";\nimport RelatedMeetingContent from \"./RelatedMeetingContent\";\n\nclass RelatedContent extends Component {\n render() {\n const { document, closeModal } = this.props;\n\n const relatedDeadlines = document.relatedContent?.filter(\n (item) => item.type === \"Deadline\",\n );\n const relatedNotifications = document.relatedContent?.filter(\n (item) => item.type === \"Notification\",\n );\n const relatedMeetings = document.relatedContent?.filter(\n (item) => item.type === \"Meeting\",\n );\n\n return (\n
    \n \n \n \n
    \n );\n }\n}\n\n// const mapStateToProps = (state) => ({\n// });\n\n// const mapDispatchToProps = {\n// };\n\nexport default compose(\n withTranslation(\"common\"),\n // connect(null, mapDispatchToProps),\n)(RelatedContent);\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport expandIcon from \"../../../assets/icons/expand_icon.svg\";\n\nconst isHtmlString = (str) => {\n let htmlTagRegex = /<[a-z][\\s\\S]*>/i;\n return str && str.match(htmlTagRegex);\n};\n\nconst MAX_HEIGHT = 70;\n\nconst FileDescription = ({ description, title, isDisabled, downloadUrl }) => {\n const [height, setHeight] = useState(0);\n const [isExpanded, setIsExpanded] = useState(false);\n const { t } = useTranslation(\"common\");\n const ref = useRef(null);\n\n const showExpandButton = height >= MAX_HEIGHT;\n\n const descriptionClassName = `filedescription${\n isExpanded ? \" filedescription--expanded\" : \"\"\n }${showExpandButton ? \" filedescription--isBig\" : \"\"} text-small`;\n\n useEffect(() => {\n setHeight(ref.current.clientHeight);\n }, []);\n\n return (\n <>\n
    \n {!isDisabled && (\n \n {title}\n \n )}\n {showExpandButton && (\n {\n e.preventDefault();\n setIsExpanded((prevState) => !prevState);\n }}\n >\n \n \n )}\n
    \n
    \n {isHtmlString(description) ? (\n
    \n ) : (\n
    \n {description}\n
    \n )}\n \n \n );\n};\n\nexport default FileDescription;\n","import React, { Fragment, Component } from \"react\";\nimport className from \"classnames\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport ActionBox from \"../action-box/ActionBox\";\nimport Toggler from \"../toggler/Toggler\";\nimport { getDateString } from \"../../../utils/transform\";\nimport { withTranslation } from \"react-i18next\";\nimport Checkbox from \"../form/checkbox/Checkbox\";\nimport WithPrivileges from \"../with-privileges/WithPrivileges\";\nimport ReadonlyGuard from \"../readonly-guard/ReadonlyGuard\";\nimport { shouldRenderDocumentId } from \"../../../utils/documentUtils\";\nimport { getDocumentValues } from \"../../../state/values/selectors\";\nimport { otherCommitteeId, dialogSizes } from \"../../../utils/constants\";\nimport RelatedContent from \"../../pages/related-content/RelatedContent\";\nimport * as appActions from \"../../../state/app/actions\";\nimport FileDescription from \"./FileDescription\";\nimport { DOCUMENT_TABLE_COLUMNS, isColumnDisabled } from \"./List\";\n\nclass Row extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n actionBoxOpened: false,\n };\n\n this.onShowRelatedContent = this.onShowRelatedContent.bind(this);\n }\n\n get typeLabel() {\n const type = this.props.element.type;\n\n if (!this.props.documentValues) {\n return type;\n }\n\n if (this.props.documentValues.typesIndex.hasOwnProperty(type)) {\n return this.props.documentValues.typesIndex[type];\n }\n\n return type;\n }\n\n get actionLabel() {\n const action = this.props.element.action;\n\n if (!this.props.documentValues) {\n return action;\n }\n\n if (this.props.documentValues.actionsIndex.hasOwnProperty(action)) {\n return this.props.documentValues.actionsIndex[action];\n }\n\n return action;\n }\n\n renderDocumentCommittee(element) {\n if (element.committee === otherCommitteeId) {\n return {this.props.t(\"general.defaults.otherCommittee\")};\n }\n return {element.committee};\n }\n\n onShowRelatedContent() {\n const { applicationPushGlobalDialog, applicationCloseGlobalDialog } =\n this.props;\n\n const modalId = uuidv4();\n const closeModal = () => {\n applicationCloseGlobalDialog(modalId);\n };\n\n applicationPushGlobalDialog({\n id: modalId,\n component: RelatedContent,\n modalSettings: {\n allowEscape: true,\n sizeType: dialogSizes.wide,\n closeButton: true,\n },\n props: { document: this.props.element, closeModal: closeModal },\n });\n }\n\n renderActionBox() {\n const { element } = this.props;\n const documentActions = this.props.documentActions();\n\n return (\n \n this.setState({ actionBoxOpened: false })}\n isLast={element.isLast}\n >\n \n {Object.keys(documentActions).map((name, index) => {\n return (\n
  • \n documentActions[name](element)}\n >\n {name}\n \n
  • \n );\n })}\n
    \n \n \n );\n }\n\n render() {\n const {\n element,\n selectHandler,\n showActionBox,\n enableSelection,\n disabledColumns,\n } = this.props;\n const { hideDueDate, showConnections, disabled } = this.props;\n\n /* TODO: check if element.url is a correct URL */\n return (\n \n {enableSelection && (\n \n \n \n \n \n )}\n {!isColumnDisabled(\n disabledColumns,\n DOCUMENT_TABLE_COLUMNS.COMMITTEE,\n ) && (\n \n {this.renderDocumentCommittee(element)}\n {shouldRenderDocumentId(element.id) && (\n {element.id}\n )}\n \n )}\n {!isColumnDisabled(disabledColumns, DOCUMENT_TABLE_COLUMNS.title) && (\n \n {disabled && (\n \n {element.title}\n \n )}\n \n \n )}\n {!isColumnDisabled(disabledColumns, DOCUMENT_TABLE_COLUMNS.TYPE) && (\n \n {this.actionLabel}\n {this.typeLabel}\n \n )}\n {showConnections && (\n \n {element.relatedContent && (\n \n \n\n {element.relatedContent.length}\n \n )}\n \n )}\n {!isColumnDisabled(disabledColumns, DOCUMENT_TABLE_COLUMNS.DUE_DATE) &&\n !hideDueDate && (\n {getDateString(element.dueDate)}\n )}\n {!isColumnDisabled(disabledColumns, DOCUMENT_TABLE_COLUMNS.DATE) && (\n {getDateString(element.date)}\n )}\n {showActionBox && (\n \n {this.renderActionBox()}\n \n )}\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n documentValues: getDocumentValues(state),\n});\n\nconst mapDispatchToProps = {\n applicationPushGlobalDialog: appActions.applicationPushGlobalDialog,\n applicationCloseGlobalDialog: appActions.applicationCloseGlobalDialog,\n};\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(Row);\n","import React, { Component } from \"react\";\n\nexport default class OutsideClick extends Component {\n componentDidMount() {\n document.addEventListener(\"click\", this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"click\", this.handleClickOutside);\n }\n\n setWrapperRef = (node) => {\n this.wrapperRef = node;\n };\n\n handleClickOutside = (event) => {\n if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\n this.props.changeState();\n }\n };\n render() {\n return
    {this.props.children}
    ;\n }\n}\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport OutsideClick from \"../outside-click/OutsideClick\";\nimport classNames from \"classnames\";\n\nconst SortBox = ({\n t,\n elements,\n onSelectionChange,\n selected,\n onClickOutside,\n isVisible,\n}) => {\n return isVisible ? (\n \n
    \n

    \n {t(\"documents.sort.label.order\")}\n

    \n {elements.map((element, index) => {\n return (\n \n \n
    \n );\n })}\n \n
    \n ) : null;\n};\n\nexport default withTranslation(\"common\")(SortBox);\n","import React, { useState } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport SortBox from \"../sort-box/SortBox\";\nimport classNames from \"classnames\";\nimport { sortingType } from \"../../../services/documents/url\";\nimport { sortBoxHidingDelay } from \"../../../utils/constants\";\nimport WithPrivileges from \"../with-privileges/WithPrivileges\";\nimport ReadonlyGuard from \"../readonly-guard/ReadonlyGuard\";\nimport { DOCUMENT_TABLE_COLUMNS, isColumnDisabled } from \"./List\";\n\nconst sortBoxElements = {\n date: [\n {\n name: \"documents.sort.date.ascending\",\n value: sortingType.date_ascending,\n },\n {\n name: \"documents.sort.date.descending\",\n value: sortingType.date_descending,\n },\n ],\n dueDate: [\n {\n name: \"documents.sort.dueDate.ascending\",\n value: sortingType.due_date_ascending,\n },\n {\n name: \"documents.sort.dueDate.descending\",\n value: sortingType.due_date_descending,\n },\n ],\n documentId: [\n {\n name: \"documents.sort.documentId.ascending\",\n value: sortingType.document_id_ascenting,\n },\n {\n name: \"documents.sort.documentId.descending\",\n value: sortingType.document_id_descending,\n },\n ],\n};\n\nconst Header = (props) => {\n const [openSortBox, setOpenSortBox] = useState(\"\");\n const {\n t,\n disabledColumns,\n disableSort,\n sortingType: currentSortingType,\n onSortChange,\n } = props;\n\n const toggleSortBox = (boxName) => (e) => {\n e.preventDefault();\n setOpenSortBox((prevState) => (prevState === boxName ? \"\" : boxName));\n };\n\n const closeSortBoxes = () => setOpenSortBox(\"\");\n\n const handleSortChange = (sortingType) => {\n setTimeout(closeSortBoxes, sortBoxHidingDelay);\n onSortChange(sortingType);\n };\n\n const getSortableButtonClassNames = (sortableElements) => {\n const descendingSortingTypes = [\n sortingType.due_date_descending,\n sortingType.date_descending,\n sortingType.document_id_descending,\n ];\n\n const ascendingSortingTypes = [\n sortingType.due_date_ascending,\n sortingType.date_ascending,\n sortingType.document_id_ascenting,\n ];\n\n return classNames(\"button button--link button--no-border sortable\", {\n \"sortable-dsc\":\n sortableElements.some(\n (element) => element.value === currentSortingType,\n ) && descendingSortingTypes.includes(currentSortingType),\n \"sortable-asc\":\n sortableElements.some(\n (element) => element.value === currentSortingType,\n ) && ascendingSortingTypes.includes(currentSortingType),\n });\n };\n\n const renderColumn = (\n columnName,\n sortBoxKey,\n translateColumnName,\n className,\n notSortable = false,\n ) => {\n if (isColumnDisabled(disabledColumns, DOCUMENT_TABLE_COLUMNS[columnName]))\n return null;\n\n const isSortDisabled = disableSort || notSortable;\n const sortBoxIsOpen = openSortBox === sortBoxKey;\n const elements = sortBoxElements[sortBoxKey];\n\n const text = t(`documents.list.header.${translateColumnName}`);\n\n return (\n \n {isSortDisabled ? (\n text\n ) : (\n <>\n \n {text}\n \n \n \n )}\n \n );\n };\n\n return (\n \n {props.enableSelection && (\n \n \n \n )}\n {renderColumn(\"COMMITTEE\", \"documentId\", \"committee_id\", \"committee\")}\n {renderColumn(\"TITLE\", \"\", \"title_fileName\", \"name\", true)}\n {renderColumn(\"ACTION_TYPE\", \"\", \"action_type\", \"action\", true)}\n {props.showConnections && (\n \n {t(\"documents.list.header.relatedContent\")}\n \n )}\n {renderColumn(\"DUE_DATE\", \"dueDate\", \"dueDate\", \"date\")}\n {renderColumn(\"DATE\", \"date\", \"date\", \"date\")}\n {props.showActionBox && (\n \n \n \n \n \n )}\n \n );\n};\n\nexport default withTranslation(\"common\")(Header);\n","import { sortingType } from \"./url\";\n\nexport const mapSortTypeToObj = (type) => {\n switch (type) {\n case sortingType.date_descending:\n return { name: \"date\", type: \"desc\", method: (elem) => elem };\n case sortingType.date_ascending:\n return { name: \"date\", type: \"asc\", method: (elem) => elem };\n case sortingType.due_date_descending:\n return { name: \"dueDate\", type: \"desc\", method: (elem) => elem };\n case sortingType.due_date_ascending:\n return { name: \"dueDate\", type: \"asc\", method: (elem) => elem };\n case sortingType.document_id_descending:\n return { name: \"id\", type: \"desc\", method: (elem) => parseInt(elem) };\n case sortingType.document_id_ascenting:\n return { name: \"id\", type: \"asc\", method: (elem) => parseInt(elem) };\n default:\n return { name: \"date\", type: \"desc\", method: (elem) => elem };\n }\n};\n\nexport const sortDocuments = (a, b, sortingType) => {\n const sortSettings = mapSortTypeToObj(sortingType);\n\n if (sortSettings.type === \"asc\") {\n if (\n sortSettings.method(a[sortSettings.name]) <\n sortSettings.method(b[sortSettings.name])\n )\n return -1;\n if (\n sortSettings.method(a[sortSettings.name]) >\n sortSettings.method(b[sortSettings.name])\n )\n return 1;\n return 0;\n } else {\n if (\n sortSettings.method(a[sortSettings.name]) >\n sortSettings.method(b[sortSettings.name])\n )\n return -1;\n if (\n sortSettings.method(a[sortSettings.name]) <\n sortSettings.method(b[sortSettings.name])\n )\n return 1;\n return 0;\n }\n};\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { compose } from \"redux\";\nimport \"./OptionalLabel.scss\";\n\nclass OptionalLabel extends Component {\n render() {\n const { t } = this.props;\n\n return {t(\"general.form.optional\")};\n }\n}\n\nexport default compose(withTranslation(\"common\"))(OptionalLabel);\n","import React, { Component, Fragment } from \"react\";\nimport classNames from \"classnames\";\nimport { withTranslation } from \"react-i18next\";\nimport OptionalLabel from \"../../optional-label/OptionalLabel\";\n\nclass Select extends Component {\n state = {\n placeholder:\n this.props.placeholder || this.props.t(\"general.select.placeholder\"),\n focused: false,\n };\n\n generateSelectOptions = (element) => {\n return (\n \n {element.label ? element.label : element.value}\n \n );\n };\n\n setSelectId = () => {\n const { placeholder, id } = this.props;\n\n if (placeholder) {\n return placeholder.toLowerCase().replace(/\\W/g, \"\");\n }\n\n if (id) {\n return id;\n }\n };\n\n render() {\n const {\n label,\n labelOnlyForScreenReaders,\n selected,\n list,\n changeHandler,\n customClasses,\n } = this.props;\n const { focused, placeholder } = this.state;\n\n const selectedListElement = list.find((e) => e.value === selected);\n\n let selectedDisplay = selected;\n if (selectedListElement && selectedListElement.label) {\n selectedDisplay = selectedListElement.label;\n }\n\n return (\n \n \n {label}\n {this.props.optional && }\n \n \n {\n changeHandler(e.target.value);\n }}\n onBlur={() => this.setState({ focused: false })}\n onFocus={() => this.setState({ focused: true })}\n value={selected ? selected : list[0].value}\n >\n {list.map(this.generateSelectOptions)}\n \n {selectedDisplay || placeholder}\n \n \n \n );\n }\n}\n\nexport default withTranslation(\"common\")(Select);\n","import React, { Component } from \"react\";\nimport Select from \"../form/select/Select\";\nimport { generateSelectItemsWithDefaultElement } from \"../../../utils/form/select\";\n\nclass SelectFilter extends Component {\n render() {\n const {\n selectedItem,\n placeholder,\n items,\n onChange,\n label,\n labelOnlyForScreenReaders,\n id,\n customClasses,\n optional,\n } = this.props;\n\n const selectItems = placeholder\n ? generateSelectItemsWithDefaultElement(placeholder, items)\n : items;\n\n return (\n \n );\n }\n}\n\nexport default SelectFilter;\n","export const generateSelectItemsWithDefaultElement = (\n defaultElement,\n items,\n) => {\n return [{ id: -1, value: \"\", label: defaultElement }, ...items];\n};\n","export const validate = (document) => {\n let isValid = true;\n let validation = {\n filename: { isValid: true },\n title: { isValid: true },\n id: { isValid: true },\n type: { isValid: true },\n action: { isValid: true },\n };\n const { filename, title, type, action, id } = document;\n\n if (filename.trim() === \"\") {\n validation.filename.isValid = false;\n isValid = false;\n }\n\n if (title.trim() === \"\") {\n validation.title.isValid = false;\n isValid = false;\n }\n\n if (type === \"\") {\n validation.type.isValid = false;\n isValid = false;\n }\n\n if (action === \"\") {\n validation.action.isValid = false;\n isValid = false;\n }\n\n if (!!id && !Number.isInteger(parseInt(id))) {\n validation.id.isValid = false;\n isValid = false;\n }\n\n return {\n isValid,\n validation,\n };\n};\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport SelectFilter from \"../../../../../components/common/select/SelectFilter\";\nimport { validate } from \"../../../../../services/documents/validation\";\nimport DatePicker from \"react-datepicker\";\nimport { addHours } from \"date-fns\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport \"../../../../../styles/date-picker.scss\";\nimport OptionalLabel from \"../../../../common/optional-label/OptionalLabel\";\n\nclass CreateDocument extends Component {\n state = {\n validation: {\n filename: { isValid: true },\n title: { isValid: true },\n committee: { isValid: true },\n id: { isValid: true },\n type: { isValid: true },\n action: { isValid: true },\n },\n formSubmitted: false,\n };\n\n handleSubmit = () => {\n const formValidation = validate(this.props.document);\n if (!formValidation.isValid) {\n return this.setState({ validation: formValidation.validation });\n }\n this.props.submitHandler(this.props.document);\n this.setState({ formSubmitted: true });\n };\n\n showValidationMessage = (field) => {\n const formField =\n this.props.document[field] && this.props.document[field].trim();\n if (field === \"id\") {\n return (\n !this.state.validation[field].isValid &&\n !Number.isInteger(parseInt(formField)) &&\n !!formField\n );\n } else {\n return !this.state.validation[field].isValid && !formField;\n }\n };\n\n render() {\n const { t } = this.props;\n //todo: list should be get from selector, not props\n const {\n filename,\n title,\n description,\n type,\n committee,\n action,\n dueDate,\n notifyOnUpdate,\n notifyImmediately,\n id,\n count,\n currentDocument,\n } = this.props.document;\n const {\n cancelRemainingHandler,\n skipHandler,\n filters,\n editDataHandler,\n hideNotificationOption,\n } = this.props;\n return (\n
    \n
    \n

    \n {t(\"documents.dialog.create.title\", { currentDocument, count })}\n

    \n
    \n
    \n \n {\n // editDataHandler({filename: event.target.value})\n // }}\n readOnly={true}\n />\n {this.showValidationMessage(\"filename\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n\n
    \n \n {\n editDataHandler({ title: event.target.value });\n }}\n />\n {this.showValidationMessage(\"title\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n\n {/* Document description */}\n
    \n \n {\n editDataHandler({ description: event.target.value });\n }}\n />\n
    \n
    \n {\n editDataHandler({ committee: committeeId });\n }}\n />\n
    \n\n
    \n \n {\n editDataHandler({ id: event.target.value });\n }}\n />\n\n {this.showValidationMessage(\"id\") && (\n \n {t(\"general.validation.isNumber\")}\n \n )}\n
    \n\n
    \n {\n editDataHandler({ type: typeId });\n }}\n customClasses={classNames({\n \"input--validation_error\": this.showValidationMessage(\"type\"),\n })}\n />\n {this.showValidationMessage(\"type\") && (\n \n {t(\"general.validation.isSelected\")}\n \n )}\n
    \n\n
    \n {\n editDataHandler({ action: actionId });\n }}\n customClasses={classNames({\n \"input--validation_error\": this.showValidationMessage(\"action\"),\n })}\n />\n {this.showValidationMessage(\"action\") && (\n \n {t(\"general.validation.isSelected\")}\n \n )}\n
    \n\n
    \n \n
    \n {\n editDataHandler({ dueDate: addHours(date, 2) });\n }}\n dateFormat=\"yyyy-MM-dd\"\n minDate={new Date()}\n />\n
    \n
    \n {!hideNotificationOption && (\n
    \n
    \n \n \n {\n editDataHandler({\n notifyImmediately: event.target.checked,\n });\n }}\n />\n \n \n \n {t(\"notifications.detail.notifyMembers\")}\n \n \n
    \n
    \n )}\n\n
    \n \n {count > 1 && currentDocument !== count && (\n \n )}\n \n {t(\"general.button.save\")}\n \n
    \n
    \n );\n }\n}\nexport default withTranslation(\"common\")(CreateDocument);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport SelectFilter from \"../../../../../components/common/select/SelectFilter\";\nimport DatePicker from \"react-datepicker\";\nimport { shouldRenderDocumentId } from \"../../../../../utils/documentUtils\";\n\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport \"../../../../../styles/date-picker.scss\";\nimport classNames from \"classnames\";\nimport { validate } from \"../../../../../services/documents/validation\";\nimport OptionalLabel from \"../../../../common/optional-label/OptionalLabel\";\n\nclass EditDocument extends Component {\n state = {\n validation: {\n filename: { isValid: true },\n title: { isValid: true },\n id: { isValid: true },\n type: { isValid: true },\n action: { isValid: true },\n },\n formSubmitted: false,\n };\n\n handleSubmit = () => {\n const formValidation = validate(this.props.document, this.state.validation);\n if (!formValidation.isValid) {\n return this.setState({ validation: formValidation.validation });\n }\n this.props.submitHandler(this.props.document);\n this.setState({ formSubmitted: true });\n };\n\n showValidationMessage = (field) => {\n const formField =\n this.props.document[field] && this.props.document[field].trim();\n if (field === \"id\") {\n return (\n !this.state.validation[field].isValid &&\n !Number.isInteger(parseInt(formField)) &&\n !!formField\n );\n } else {\n return !this.state.validation[field].isValid && !formField;\n }\n };\n\n render() {\n const { t } = this.props;\n //todo: list should be get from selector, not props\n const { title, description, committee, type, action, dueDate, id } =\n this.props.document;\n const { cancelHandler, filters, editDataHandler } = this.props;\n\n return (\n
    \n
    \n

    {t(\"documents.dialog.edit.title\")}

    \n
    \n
    \n \n {\n editDataHandler({ title: event.target.value });\n }}\n />\n {this.showValidationMessage(\"title\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n\n {/* Document description */}\n
    \n \n {\n editDataHandler({ description: event.target.value });\n }}\n />\n
    \n\n
    \n {\n editDataHandler({ committee: committeeId });\n }}\n />\n
    \n\n
    \n \n {\n editDataHandler({ id: event.target.value });\n }}\n />\n {this.showValidationMessage(\"id\") && (\n \n {t(\"general.validation.isNumber\")}\n \n )}\n
    \n\n
    \n {\n editDataHandler({ type: typeId });\n }}\n customClasses={classNames({\n \"input--validation_error\": this.showValidationMessage(\"type\"),\n })}\n />\n {this.showValidationMessage(\"type\") && (\n \n {t(\"general.validation.isSelected\")}\n \n )}\n
    \n\n
    \n {\n editDataHandler({ action: actionId });\n }}\n customClasses={classNames({\n \"input--validation_error\": this.showValidationMessage(\"action\"),\n })}\n />\n {this.showValidationMessage(\"action\") && (\n \n {t(\"general.validation.isSelected\")}\n \n )}\n
    \n\n
    \n \n
    \n {\n editDataHandler({ dueDate: date });\n }}\n dateFormat=\"yyyy-MM-dd\"\n minDate={new Date()}\n />\n
    \n
    \n\n
    \n \n \n {t(\"general.button.save\")}\n \n
    \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(EditDocument);\n","import React, { Fragment, Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\n\nclass DeleteModal extends Component {\n state = { awaiting: false };\n\n onSubmit = () => {\n if (!this.state.awaiting) {\n this.props.submitHandler(this.props.id);\n this.setState({ awaiting: true });\n }\n };\n\n render() {\n const { t, title, message, cancelHandler, deleteButtonText } = this.props;\n\n return (\n \n
    \n

    {title}

    \n
    \n
    \n

    {message}

    \n
    \n
    \n cancelHandler(this.props.id)}\n >\n {t(\"general.button.cancel\")}\n \n \n {deleteButtonText || t(\"general.button.delete\")}\n \n
    \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(DeleteModal);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\n\nimport SelectFilter from \"../../../../../components/common/select/SelectFilter\";\n\nclass CopyToCommittee extends Component {\n state = {\n selectedCommittee: null,\n isAwaiting: false,\n };\n\n get targetCommittees() {\n const { targetCommittees } = this.props;\n\n return Object.keys(targetCommittees).map((key, index) => ({\n id: index,\n value: key,\n label: key,\n }));\n }\n\n copyDocumentToCommittee = () => {\n this.setState({\n isAwaiting: true,\n });\n\n this.props.onCopy({\n document: this.props.document,\n targetCommittee: this.state.selectedCommittee,\n });\n };\n\n render() {\n const { t, onClose } = this.props;\n\n return (\n
    \n
    \n

    \n {t(\"documents.dialog.copyToCommittee.title\")}\n

    \n
    \n
    \n {\n this.setState({ selectedCommittee: committeeId });\n }}\n />\n
    \n
    \n \n \n {t(\"documents.dialog.copyToCommittee.label.copy\")}\n \n
    \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(CopyToCommittee);\n","export function isDiagnosticsEnabled() {\n return window.debug === true;\n}\n","import { Component } from \"react\";\nimport { isDiagnosticsEnabled } from \"../../../utils/diagnostics\";\n\nexport default class DiagnosticsGuard extends Component {\n render() {\n return isDiagnosticsEnabled() ? this.props.children : null;\n }\n}\n","export const broadcastInformation = (state) =>\n state.diagnostics.broadcastInformation;\nexport const documentDiagnositcs = (state) =>\n state.diagnostics.documentDiagnositcs;\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { format } from \"date-fns/fp\";\n\nimport { documentDiagnositcs } from \"../../../state/diagnostics/selectors\";\n\nimport \"./DocumentRowDiagnostics.scss\";\n\nclass DocumentRowDiagnostics extends Component {\n state = {\n showDiagnostics: false,\n };\n\n onShowMoreClicked = () => {\n this.setState({ showDiagnostics: true });\n };\n\n onShowLessClicked = () => {\n this.setState({ showDiagnostics: false });\n };\n\n renderMore() {\n var diagnosticsInfo = {\n appState: this.props.element,\n apiState: this.props.documentDiagnositcs[this.props.element.url],\n };\n\n return
    {JSON.stringify(diagnosticsInfo, null, 2)}
    ;\n }\n\n renderNotificationTime() {\n if (\n this.props.documentDiagnositcs[this.props.element.url] &&\n this.props.documentDiagnositcs[this.props.element.url].metadata\n ) {\n const timeStamp =\n this.props.documentDiagnositcs[this.props.element.url].metadata\n .notificationTimestamp;\n return (\n \n Notification timestamp: \n \n {timeStamp\n ? format(\"E MMM d yyyy HH:mm:ss zzz\", new Date(timeStamp))\n : \"never\"}\n \n  \n \n );\n }\n return null;\n }\n\n render() {\n return (\n \n \n
    \n {this.renderNotificationTime()}(\n |\n )\n {this.state.showDiagnostics && this.renderMore()}\n
    \n \n \n );\n }\n}\n\nconst mapDispatchToProps = {};\n\nconst mapStateToProps = (state) => ({\n documentDiagnositcs: documentDiagnositcs(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DocumentRowDiagnostics);\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport Row from \"./Row\";\nimport Header from \"./Header\";\nimport {\n cancelRemainingFilesToUpload,\n deleteDocumentRequest,\n editDocumentData,\n editDocumentRequest,\n resetModalState,\n setModalState,\n setSortingType,\n skipFileToUpload,\n uploadFile,\n copyDocumentToDifferentCommittee,\n} from \"../../../state/document/actions\";\n\nimport * as notificationActions from \"../../../state/notifications/actions\";\nimport * as deadlineActions from \"../../../state/deadlines/actions\";\nimport * as meetingsActions from \"../../../state/meetings/actions\";\n\nimport { sortDocuments } from \"../../../services/documents/sort\";\n\nimport {\n getModalDetails,\n getSortingType,\n} from \"../../../state/document/selectors\";\nimport * as valuesSelectors from \"../../../state/values/selectors\";\nimport * as ncSelectors from \"../../../state/national-committees/selectors\";\n\nimport types from \"../modal-wrapper/contentTypes\";\nimport ModalWrapper from \"../modal-wrapper/ModalWrapper\";\nimport CreateDocument from \"../../pages/documents/components/modal-content/CreateDocument\";\nimport EditDocument from \"../../pages/documents/components/modal-content/EditDocument\";\nimport DeleteModal from \"../../pages/documents/components/modal-content/DeleteModal\";\nimport CopyToCommittee from \"../../pages/documents/components/modal-content/CopyToCommittee\";\nimport DiagnosticsGuard from \"../diagnostics/DiagnosticsGuard\";\nimport DocumentRowDiagnostics from \"../diagnostics/DocumentRowDiagnostics\";\n\nimport AnalyticsTracking, {\n ResourcesTypes,\n} from \"../../../services/analytics-tracking/analytics-tracking\";\n\nexport const DOCUMENT_TABLE_COLUMNS = {\n COMMITTEE: \"COMMITTEE\",\n TITLE: \"TITLE\",\n TYPE: \"TYPE\",\n DUE_DATE: \"DUE_DATE\",\n DATE: \"DATE\",\n};\n\nexport const isColumnDisabled = (disabledColumns, columnName) => {\n if (!disabledColumns || !(columnName in DOCUMENT_TABLE_COLUMNS)) return false;\n\n return disabledColumns.includes(DOCUMENT_TABLE_COLUMNS[columnName]);\n};\n\nclass DocumentList extends Component {\n state = {\n manualSortingType: null,\n };\n\n onSortChange = (sortingType) => {\n if (this.props.manualSort) {\n this.setState({\n manualSortingType: sortingType,\n });\n } else {\n this.props.setSortingType({\n changeSorting: true,\n value: sortingType,\n });\n }\n };\n\n editHandler = (element) => {\n this.props.setModalState({\n isOpen: true,\n contentType: types.EDIT_FILE,\n content: element,\n });\n };\n\n requestCloseHandler = () => {\n this.props.setModalState({ isOpen: false });\n };\n\n deleteHandler = (element) => {\n AnalyticsTracking.showDeleteDialog(ResourcesTypes.document, element.url);\n\n this.props.setModalState({\n isOpen: true,\n contentType: types.DELETE_FILE,\n content: element,\n });\n };\n\n createNotificationHandler = (element) => {\n this.props.createNotificationFromDocument(element);\n };\n\n createDeadlineHandler = (element) => {\n this.props.createDeadlineFromReference(element);\n };\n\n createMeetingHandler = (element) => {\n this.props.createMeetingFromDocument(element);\n };\n\n copyToCommitteeHandler = (element) =>\n this.props.setModalState({\n isOpen: true,\n contentType: types.COPY_FILE_TO_COMMITTEE,\n content: element,\n });\n\n editedHandler = (element) => {\n this.props.editDocumentRequest(element);\n const { onDocumentEdited } = this.props;\n if (onDocumentEdited) {\n onDocumentEdited(element);\n }\n };\n\n deletedHandler = (id) => {\n AnalyticsTracking.deletionConfirmed(ResourcesTypes.document, id);\n this.props.deleteDocumentRequest(id);\n const { onDocumentDeleted } = this.props;\n if (onDocumentDeleted) {\n onDocumentDeleted(id);\n }\n };\n\n cancleDeleteHandler = (id) => {\n AnalyticsTracking.closeDeleteDialog(ResourcesTypes.document, id);\n this.props.resetModalState();\n };\n\n renderDeleteModal = () => (\n \n );\n\n renderEditModal = () => (\n \n );\n\n renderCreateModal = () => (\n \n );\n\n renderCopyToCommitteeModal = () => (\n \n );\n\n basicModals = {\n [types.DELETE_FILE]: this.renderDeleteModal,\n [types.EDIT_FILE]: this.renderEditModal,\n [types.CREATE_FILE]: this.renderCreateModal,\n [types.COPY_FILE_TO_COMMITTEE]: this.renderCopyToCommitteeModal,\n };\n\n renderModal = () => {\n const {\n additionalModals,\n modal: { contentType },\n } = this.props;\n\n if (additionalModals) {\n Object.keys(additionalModals).forEach(\n (key) => (this.basicModals[key] = additionalModals[key]),\n );\n }\n\n if (this.basicModals[contentType]) {\n return this.basicModals[contentType]();\n }\n };\n\n get documentActions() {\n return this.props.showExtendedActions\n ? {\n [this.props.t(\"documents.action.editDocument\")]: this.editHandler,\n [this.props.t(\"documents.action.deleteDocument\")]: this.deleteHandler,\n [this.props.t(\"documents.action.createNotification\")]:\n this.createNotificationHandler,\n [this.props.t(\"documents.action.createDeadline\")]:\n this.createDeadlineHandler,\n [this.props.t(\"documents.action.createMeeting\")]:\n this.createMeetingHandler,\n // [this.props.t(\"documents.action.copyToCommittee\")]: this.copyToCommitteeHandler\n }\n : {\n [this.props.t(\"documents.action.editDocument\")]: this.editHandler,\n };\n }\n\n getDocumentActions = () => {\n const { rowActions } = this.props;\n const documentActions = this.documentActions;\n if (rowActions) {\n Object.keys(rowActions).forEach(\n (key) => (documentActions[key] = rowActions[key]),\n );\n }\n return documentActions;\n };\n\n renderRow = (element, index) => {\n const {\n selectHandler,\n enableSelection,\n showActionBox,\n list,\n disabledColumns,\n } = this.props;\n const { hideDueDate, downloadDisabled, showConnections } = this.props;\n\n return (\n \n \n 1,\n }}\n />\n \n \n 1,\n }}\n selectHandler={selectHandler}\n enableSelection={enableSelection}\n documentActions={this.getDocumentActions}\n showActionBox={showActionBox}\n hideDueDate={hideDueDate}\n showConnections={showConnections}\n disabled={element.accessForbidden || downloadDisabled}\n />\n \n \n );\n };\n\n getSortingType = () => {\n const { manualSortingType } = this.state;\n const { sortingType, manualSort } = this.props;\n\n return manualSort ? manualSortingType : sortingType;\n };\n\n getDocumentList = () => {\n if (!this.props.manualSort || !this.state.manualSortingType)\n return this.props.list;\n\n let tmp = [...this.props.list];\n tmp.sort((a, b) => sortDocuments(a, b, this.state.manualSortingType));\n return tmp;\n };\n\n render() {\n const {\n enableSelection,\n showActionBox,\n hideDueDate,\n showConnections,\n disabledColumns,\n disableSort,\n } = this.props;\n const list = this.getDocumentList();\n\n return (\n
    \n
    \n \n \n \n \n \n {list.map(this.renderRow)}\n \n
    \n {list.length === 0 ? (\n \n No document registered\n
    \n ) : null}\n
    \n \n {this.renderModal()}\n \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n sortingType: getSortingType(state),\n modal: getModalDetails(state),\n filters: valuesSelectors.getDocumentValues(state),\n nationalCommittees: ncSelectors.rawUserNationalCommittees(state),\n});\n\nconst mapDispatchToProps = {\n setSortingType,\n setModalState,\n resetModalState,\n editDocumentData,\n editDocumentRequest,\n deleteDocumentRequest,\n skipFile: skipFileToUpload,\n uploadFile,\n copyDocumentToDifferentCommittee,\n cancelRemainingFilesToUpload,\n createNotificationFromDocument:\n notificationActions.createNotificationFromDocument,\n createDeadlineFromReference: deadlineActions.createDeadlineFromReference,\n createMeetingFromDocument: meetingsActions.createMeetingFromDocument,\n};\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(DocumentList);\n","import React from \"react\";\nimport \"./Loader.scss\";\nimport classNames from \"classnames\";\n\nexport default ({ type }) => {\n const loaderClassName = classNames(\"loader\", {\n \"loader--content\": type && type === \"content\",\n \"loader--inline\": type && type === \"inline\",\n });\n\n return
    ;\n};\n","import React, { Component, Fragment } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport * as documentSummaryActions from \"../../../state/documentSummary/actions\";\nimport * as documentActions from \"../../../state/document/actions\";\nimport * as documentSelectors from \"../../../state/document/selectors\";\nimport * as documentsSummarySelectors from \"../../../state/documentSummary/selectors\";\nimport * as committeesSelectors from \"../../../state/national-committees/selectors\";\nimport { otherCommitteeId } from \"../../../utils/constants\";\n\nimport DocumentList from \"../../common/document-list/List\";\nimport Loader from \"../../common/loader/Loader\";\n\nclass DocumentsSummary extends Component {\n getSummaryHeader = (committee) => {\n if (committee === otherCommitteeId) {\n return this.props.t(\"general.defaults.otherCommittee\");\n }\n return `${committee} - ${this.props.commiteeTitleProvider(committee)}`;\n };\n\n onDocumentUpdated = (document) => {\n this.props.updateSummaryDocumentState(document);\n };\n\n renderSummary = (committee) => {\n const documents = this.props.documentsSummary.details[committee];\n\n return (\n \n
    \n
    \n \n {this.getSummaryHeader(committee)}\n \n
    \n
    \n \n
    \n
    \n
    \n );\n };\n\n orderedSummaryCommittees() {\n const { documentsSummary, selectedNationalCommittee } = this.props;\n let committess = Object.keys(documentsSummary.details);\n\n committess.sort((a, b) => {\n if (a === otherCommitteeId && b !== otherCommitteeId) return 1;\n\n if (a !== otherCommitteeId && b === otherCommitteeId) return -1;\n\n if (a === selectedNationalCommittee && b !== selectedNationalCommittee)\n return -1;\n\n if (a !== selectedNationalCommittee && b === selectedNationalCommittee)\n return 1;\n\n return a.localeCompare(b);\n });\n\n return committess;\n }\n\n anythingToShow() {\n const { documentsSummary } = this.props;\n if (documentsSummary.hasFailed || !documentsSummary.details) return false;\n\n return Object.keys(documentsSummary.details).length > 0;\n }\n\n render() {\n const { t, documentsSummary } = this.props;\n\n if (!documentsSummary.isFetching && !this.anythingToShow()) {\n return (\n
    \n

    {t(\"documentSummary.noDocuments\")}

    \n
    \n );\n }\n\n if (documentsSummary.isFetching || !documentsSummary.details)\n return ;\n\n return <>{this.orderedSummaryCommittees().map(this.renderSummary)};\n }\n}\n\nconst mapDispatchToProps = {\n initDocuments: documentActions.initDocuments,\n pullNextDocumentsPageRequest: documentActions.pullNextDocumentsPageRequest,\n generateDocumentsSummary: documentSummaryActions.generateDocumentsSummary,\n updateSummaryDocumentState: documentSummaryActions.updateDocumentState,\n};\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee:\n committeesSelectors.selectedNationalCommittee(state),\n commiteeTitleProvider: committeesSelectors.getCommitteeTitleProvider(state),\n documents: documentSelectors.getDocuments(state),\n documentsSummary: documentsSummarySelectors.documentsSummary(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DocumentsSummary);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\n\nclass DownloadZipButton extends Component {\n render() {\n const { t, onClick, isAwaiting, isDisabled } = this.props;\n\n return (\n \n {t(\"notifications.detail.downloadAll\")}\n \n );\n }\n}\n\nexport default withTranslation(\"common\")(DownloadZipButton);\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport * as appActions from \"../../../state/app/actions\";\nimport * as documentSummaryActions from \"../../../state/documentSummary/actions\";\nimport * as documentActions from \"../../../state/document/actions\";\nimport * as documentsSummarySelectors from \"../../../state/documentSummary/selectors\";\nimport * as committeesSelectors from \"../../../state/national-committees/selectors\";\nimport * as documentSelectors from \"../../../state/document/selectors\";\n\nimport { SummaryFilesDownloadId } from \"../../../utils/constants\";\n\nimport DocumentsSummary from \"./DocumentsSummary\";\nimport DownloadZipButton from \"../../common/download-zip-button/DownloadZipButton\";\n\nclass DocumentsSummaryModal extends Component {\n componentDidMount() {\n this.props.initDocuments();\n this.props.pullNextDocumentsPageRequest();\n this.props.generateDocumentsSummary(this.props.ids);\n }\n\n getDocumentsCount = (isLoading) => {\n if (\n isLoading ||\n !this.props.documentsSummary ||\n !this.props.documentsSummary.details\n )\n return this.props.documentsCount;\n\n return Object.values(this.props.documentsSummary.details).reduce(\n (acc, cur) => acc + cur.length,\n 0,\n );\n };\n\n closeHandler = () => {\n const { id } = this.props;\n this.props.closeDialog(id);\n };\n\n downloadFiles = () => {\n this.props.downloadDocumentsSummaryFiles();\n };\n\n render() {\n const { t, documentsSummary } = this.props;\n const isLoading = documentsSummary.isFetching || !documentsSummary.details;\n\n return (\n <>\n
    \n

    \n {t(\"documentSummary.newDocuments\", {\n count: this.getDocumentsCount(isLoading),\n })}\n

    \n
    \n \n
    \n
    \n\n \n\n
    \n \n
    \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n initDocuments: documentActions.initDocuments,\n pullNextDocumentsPageRequest: documentActions.pullNextDocumentsPageRequest,\n generateDocumentsSummary: documentSummaryActions.generateDocumentsSummary,\n downloadDocumentsSummaryFiles:\n documentSummaryActions.downloadDocumentsSummaryFiles,\n closeDialog: appActions.applicationCloseGlobalDialog,\n};\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee:\n committeesSelectors.selectedNationalCommittee(state),\n commiteeTitleProvider: committeesSelectors.getCommitteeTitleProvider(state),\n documentsSummary: documentsSummarySelectors.documentsSummary(state),\n isDownloadingFile: documentSelectors.isDownloadingFile(\n state,\n SummaryFilesDownloadId,\n ),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DocumentsSummaryModal);\n","import { takeEvery, call, put, take, select } from \"redux-saga/effects\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport UrlPattern from \"url-pattern\";\n\nimport * as actions from \"../state/app/actions\";\nimport { fetchUserData, fetchUserDetails } from \"./user\";\nimport { fetchCommitteeMembers } from \"./members\";\nimport { fetchCommittees } from \"./committees\";\nimport { initDocuments } from \"./document\";\n\nimport * as valuesActions from \"../state/values/actions\";\nimport { getAppLanguage } from \"../state/user/selectors\";\nimport { applicationUserHintState } from \"../state/app/selectors\";\nimport { loadLocalObject, storeLocalObject } from \"../services/local-storage\";\nimport AnalyticsTracking from \"../services/analytics-tracking/analytics-tracking\";\nimport initializeTranslations from \"../utils/translations\";\nimport { dialogSizes, allNcsId } from \"../utils/constants\";\nimport history from \"../utils/history\";\nimport { transformCommitteeName } from \"../utils/transform\";\n\nimport * as ncActions from \"../state/national-committees/actions\";\nimport * as valueActions from \"../state/values/actions\";\nimport * as userActions from \"../state/user/actions\";\nimport * as memberActions from \"../state/members/actions\";\n\nimport * as ncSelectors from \"../state/national-committees/selectors\";\nimport DocumentSummaryModal from \"../components/pages/documents-summary/DocumentSummaryModal\";\n\nfunction* handleInitializingApplication() {\n yield call(fetchUserDetails);\n yield call(fetchCommittees);\n yield call(fetchUserData);\n\n const appLang = yield select(getAppLanguage);\n initializeTranslations(appLang);\n yield call(AnalyticsTracking.setUserLanguage, appLang);\n\n yield call(fetchCommitteeMembers);\n\n yield put(valuesActions.fetchAllValues());\n yield take(valuesActions.FETCH_VALUES_FINISHED);\n\n yield put(actions.applicationInvokeGlobalDialog());\n yield put(actions.applicationUpdateReadonlyMode());\n\n yield put(actions.applicationInitialized());\n}\n\nfunction* handleChangeNationalCommittee({ payload }) {\n const committee = payload;\n const currentNaionalCommittee = transformCommitteeName(\n yield select(ncSelectors.selectedNationalCommittee),\n );\n const location = new URL(window.location.href).pathname;\n const segments = location.split(\"/\");\n const transformedCommitteeName = transformCommitteeName(committee);\n\n function getNewUrl() {\n if (segments.length <= 1) return `/${transformedCommitteeName}`;\n\n //e.g. is on profile page\n if (segments[1] !== currentNaionalCommittee)\n return `/${transformedCommitteeName}`;\n\n return `/${transformedCommitteeName}/${segments[2]}`;\n }\n\n history.push(getNewUrl());\n\n yield put(ncActions.setSelectedNationalCommittee(committee));\n yield put(valueActions.clearMeetingsFilterValues());\n yield call(initDocuments);\n yield put(userActions.fetchUserDataRequest());\n yield put(valueActions.fetchAllValues());\n yield put(memberActions.getCommitteeMembers());\n yield put(actions.applicationUpdateReadonlyMode());\n}\n\nfunction* handleApplicationTriggerUserHint(action) {\n const { hintId } = action.payload;\n const hints = loadLocalObject(\"udvalg_hints\");\n if (!hints[hintId] || !hints[hintId].disabled) {\n yield put(\n actions.applicationSetUserHintState({\n messageToShow: hintId,\n }),\n );\n }\n}\n\nfunction* handleApplicationCloseUserHint(action) {\n const hintState = yield select(applicationUserHintState);\n if (hintState && hintState.messageToShow) {\n yield put(\n actions.applicationSetUserHintState({\n messageToShow: null,\n }),\n );\n\n if (action.payload && action.payload.disable) {\n const hints = loadLocalObject(\"udvalg_hints\");\n hints[hintState.messageToShow] = { disabled: true };\n storeLocalObject(\"udvalg_hints\", hints);\n }\n }\n}\n\nfunction* handleApplicationInvokeGlobalDialog() {\n if (!window.location.hash) return;\n\n try {\n const config = JSON.parse(atob(window.location.hash.substr(1)));\n\n if (config.action !== \"open_dialog\") return;\n\n const dialogConfig = {\n id: uuidv4(),\n component: DocumentSummaryModal,\n modalSettings: {\n allowEscape: true,\n sizeType: dialogSizes.wide,\n closeButton: true,\n },\n props: config.params,\n };\n\n yield put(actions.applicationPushGlobalDialog(dialogConfig));\n } catch (err) {\n console.error(err);\n }\n}\n\nfunction* handleApplicationUpdateReadonlyMode() {\n const parser = new UrlPattern(\"/:committeeId(/:segment*)\");\n const result = parser.match(window.location.pathname);\n yield put(\n actions.applicationSetReadonlyMode(\n result.committeeId.toLowerCase() === allNcsId,\n ),\n );\n}\n\nexport default function* appSaga() {\n yield takeEvery(actions.initializeApplication, handleInitializingApplication);\n yield takeEvery(\n actions.changeNationalCommittee,\n handleChangeNationalCommittee,\n );\n yield takeEvery(\n actions.applicationTriggerUserHint,\n handleApplicationTriggerUserHint,\n );\n yield takeEvery(\n actions.applicationCloseUserHint,\n handleApplicationCloseUserHint,\n );\n yield takeEvery(\n actions.applicationInvokeGlobalDialog,\n handleApplicationInvokeGlobalDialog,\n );\n yield takeEvery(\n actions.applicationUpdateReadonlyMode,\n handleApplicationUpdateReadonlyMode,\n );\n}\n","import { createSelector } from \"reselect\";\nimport { TIMEFRAME } from \"../../api/utils\";\n\nconst deadlines = (state) => state.deadlines;\n\nexport const isFetchingDeadlines = (state) =>\n state.deadlines.isProcessingRequest;\nexport const isProcessingReferences = (state) =>\n state.deadlines.isProcessingReferences;\nexport const isDeletingDeadline = (state) => state.deadlines.isDeletingDeadline;\n\nexport const getDeadline = createSelector([deadlines], (deadlines) => {\n return deadlines.deadline;\n});\n\nconst deadlineOrderShowPast = (a, b) => (a.date > b.date ? -1 : 1);\nconst deadlineOrderShowUpcoming = (a, b) => (a.date > b.date ? 1 : -1);\n\nconst deadlineOrder = (timeframe) => {\n if (timeframe === TIMEFRAME.PAST) return deadlineOrderShowPast;\n return deadlineOrderShowUpcoming;\n};\n\nexport const getRawDeadlines = createSelector([deadlines], (deadlines) => {\n return Object.values(deadlines.data);\n});\n\nexport const getDeadlines = createSelector([deadlines], (deadlines) => {\n return (\n Object.values(deadlines.data)\n // .sort(deadlineOrder(deadlines.filters.timeframe))\n .reduce((previous, current) => {\n const date = new Date(\n current.date.getYear() + 1900,\n current.date.getMonth(),\n );\n\n previous[date]\n ? previous[date].push(current)\n : (previous[date] = [current]);\n\n return previous;\n }, {})\n );\n});\n\nexport const getDeadlineUri = createSelector([getDeadline], (deadline) =>\n deadline ? deadline.uri : null,\n);\nexport const getDeadlineReferredDocumentsUri = createSelector(\n [getDeadline],\n (deadline) =>\n deadline.referencesRawResponsePerType.document.map((doc) => doc.uri),\n);\nexport const getDeadlineReferences = createSelector(\n [getDeadline],\n (deadline) => deadline.references,\n);\nexport const getDeadlinesFilters = createSelector(\n [deadlines],\n (deadlines) => deadlines.filters,\n);\nexport const hasDeadlinePassed = createSelector([getDeadline], (deadline) => {\n let currentDate = new Date();\n currentDate.setHours(0, 0, 0, 0); //set 00:00\n return deadline.date < currentDate;\n});\nexport const hasMoreDeadlinesToLoad = createSelector(\n [deadlines],\n (deadlines) => deadlines.pagination.hasMoreToLoad,\n);\n\nexport const getNewDeadlineFormData = (state) => state.deadlines.form;\n\nexport const getPagination = (state) => state.deadlines.pagination;\n","import { TIMEFRAME } from \"../../api/utils\";\nimport { comparisonOperator, deadlineSortType } from \"../../utils/constants\";\nimport { addHours } from \"date-fns\";\n\n//TODO refactor this file, it is same as src/services/meetings\n\nexport const sortingType = {\n deadline_descending: \"deadline_desc\",\n deadline_ascending: \"deadline_asc\",\n};\n\nconst getCurrentDayStartDate = () => {\n const currentDate = new Date();\n currentDate.setDate(currentDate.getDate() - 1);\n currentDate.setHours(0, 0, 0, 0);\n return currentDate;\n};\n\nexport const buildQueryParams = (memberId, filters) => {\n const queryParams = {\n sort: deadlineSortType.asc,\n };\n\n if (filters.timeframe === TIMEFRAME.PAST) {\n queryParams.sort = deadlineSortType.desc;\n queryParams.actionDueDate =\n comparisonOperator.lt +\n addHours(new getCurrentDayStartDate(), 2).toISOString();\n } else if (filters.timeframe === TIMEFRAME.FUTURE) {\n queryParams.sort = deadlineSortType.asc;\n queryParams.actionDueDate =\n comparisonOperator.ge +\n addHours(getCurrentDayStartDate(), 2).toISOString();\n }\n\n if (filters.month) {\n const monthStart = new Date(filters.month);\n const nextMonth = new Date(filters.month);\n nextMonth.setMonth(nextMonth.getMonth() + 1);\n\n queryParams.actionDueDate = [\n comparisonOperator.ge + monthStart.toISOString(),\n comparisonOperator.lt + nextMonth.toISOString(),\n ];\n }\n\n if (filters.committee) {\n queryParams.committeeReference = filters.committee;\n }\n\n if (filters.type) {\n queryParams.type = filters.ype;\n }\n\n if (filters.title) {\n queryParams.search = filters.title;\n }\n\n if (filters.stage) {\n queryParams.stage = filters.stage;\n }\n\n if (filters.relatedDocument) {\n queryParams.relatedDocument = filters.relatedDocument;\n }\n\n queryParams.memberId = memberId;\n queryParams.pageLength = 10;\n\n return queryParams;\n};\n","import { saveAs } from \"file-saver\";\nimport { takeLatest, call, select, put, fork, all } from \"redux-saga/effects\";\nimport * as actions from \"../state/comments/actions\";\nimport { selectedNationalCommittee } from \"../state/national-committees/selectors\";\nimport {\n getComments,\n getComment,\n updateComment,\n deleteComment,\n createComment,\n exportCommentsToWord,\n getDeadlineCommentsStatistics,\n} from \"../api/resources/comments\";\nimport { deleteDocumentUrl } from \"../api/resources/document\";\nimport {\n waitForNotificationDocumentId,\n waitForNotificationTypedDocumentId,\n} from \"../api/resources/notifications\";\nimport { handleCheckUserPrivilleges } from \"../state/user/actions\";\nimport { transformCommitteeName } from \"../utils/transform\";\nimport history from \"../utils/history\";\nimport { uploadFile } from \"./document\";\nimport { notificationActionType, notificationType } from \"../utils/constants\";\nimport { generateDialogLink, DIALOG_TYPES } from \"../utils/dynamicLink\";\nimport { handleCreateNotificationBySystem } from \"./notifications\";\n\nfunction* handleFetchingComments(action) {\n try {\n const response = yield call(getComments, action.payload);\n\n if (response.status === 200) {\n yield put(actions.fetchCommentsSucceeded(response.data));\n } else {\n yield put(actions.fetchCommentsFailed(\"Failed to fetch comments\"));\n }\n } catch (error) {\n console.error(`fetching comments failed - ${error}`);\n }\n}\n\nfunction* handleFetchingComment(action) {\n try {\n const response = yield call(getComment, action.payload);\n\n if (response && response.status === 200) {\n yield put(actions.fetchCommentSucceeded(response.data));\n } else {\n yield put(actions.fetchCommentFailed(response.data));\n }\n } catch (error) {\n console.error(`fetch comment failed - ${error}`);\n }\n}\n\nfunction* handleUpdateComment(action) {\n try {\n const comment = action.payload;\n const filesToUpload = comment.attachments.filter((file) => !file.uri);\n const uploadedFiles = comment.attachments.filter((file) => file.uri);\n\n yield fork(deleteCommentAttachments, comment.attachmentsToRemoveFromServer);\n\n action.payload.attachments = [\n ...(yield call(uploadCommentAttachments, filesToUpload)),\n ...uploadedFiles,\n ];\n const response = yield call(updateComment, comment);\n\n if (response.status === 200) {\n // yield call(waitForNotificationDocumentId, comment.uri);\n yield call(handleCreateNotificationBySystem, {\n payload: {\n ...response.data,\n type: notificationType.comment,\n eventType: notificationActionType.update,\n references: [\n {\n type: notificationType.deadline,\n uri: response.data.deadlineUri,\n },\n ],\n },\n });\n yield put(actions.updateCommentSucceeded(response.data));\n history.push(\n generateDialogLink(\n DIALOG_TYPES.DEADLINE_DETAILS,\n response.data.deadlineUri,\n null,\n \"deadline_comments\",\n ),\n );\n } else {\n yield put(actions.updateCommentFailed(\"Failed to update comment\"));\n }\n } catch (error) {\n console.error(`update comment failed - ${error}`);\n }\n}\n\nfunction* handleDeletingComment(action) {\n try {\n const { uri, attachments } = action.payload;\n\n const privillegesAction = {\n type: action.type,\n };\n\n yield call(handleCheckUserPrivilleges, privillegesAction);\n yield fork(deleteCommentAttachments, attachments);\n\n const response = yield call(deleteComment, uri);\n if (response.status === 200) {\n yield put(actions.deleteCommentSucceeded(response.data));\n } else {\n yield put(actions.deleteCommentFailed(\"Failed to delete comment\"));\n }\n } catch (error) {\n console.error(`delete comment failed - ${error}`);\n }\n}\n\nfunction* deleteAttachment(attachment) {\n try {\n yield fork(deleteDocumentUrl, attachment.uri);\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction* deleteCommentAttachments(attachments) {\n try {\n for (let i = 0; i < attachments.length; i++) {\n yield fork(deleteAttachment, attachments[i]);\n }\n } catch (error) {\n console.error(`failed to delete files - ${error}`);\n }\n}\n\nfunction* handleCreateComment(action) {\n try {\n action.payload.attachments = yield call(\n uploadCommentAttachments,\n action.payload.attachments,\n );\n const committeeId = yield select(selectedNationalCommittee);\n\n const response = yield call(\n createComment,\n transformCommitteeName(committeeId),\n action.payload,\n );\n\n if (response.status === 200) {\n yield call(handleCreateNotificationBySystem, {\n payload: {\n ...response.data,\n type: notificationType.comment,\n eventType: notificationActionType.add,\n references: [\n {\n type: notificationType.deadline,\n uri: response.data.deadlineUri,\n },\n ],\n },\n });\n yield put(actions.createCommentSucceeded(response.data));\n // TODO: THIS IS HOW IT TRACK BACK TO COMMENT MODAL\n history.push(\n generateDialogLink(\n DIALOG_TYPES.DEADLINE_DETAILS,\n response.data.deadlineUri,\n null,\n \"deadline_comments\",\n ),\n );\n } else {\n yield put(actions.createCommentFailed(\"Failed to create comment\"));\n }\n } catch (error) {\n console.error(`create comment failed - ${error}`);\n }\n}\n\nfunction* handleExportCommentsToWord({ payload }) {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n\n const response = yield call(exportCommentsToWord, committeeId, payload);\n if (response.status === 200) {\n saveAs(new Blob([response.data]), \"comments.docx\");\n }\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction* uploadCommentAttachments(files) {\n try {\n let attachments = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n const uploadedFileUri = yield call(uploadFile, file);\n\n if (uploadedFileUri) {\n attachments.push({\n uri: uploadedFileUri,\n name: file.name,\n });\n }\n }\n yield put(\n actions.attachFilesToCommentSucceeded(\"Upload attachments succeeded\"),\n );\n return attachments;\n } catch (error) {\n yield put(\n actions.attachFilesToCommentFailed(\"Upload attachments succeeded\"),\n );\n console.error(error);\n }\n}\n\nexport function* fetchDeadlineCommentsStatistics(deadlineUri) {\n try {\n const deadlineCommentsStatisticsResponse = yield call(\n getDeadlineCommentsStatistics,\n deadlineUri,\n );\n\n if (deadlineCommentsStatisticsResponse.status === 200) {\n return {\n deadlineUri,\n statistics: deadlineCommentsStatisticsResponse.data,\n };\n }\n\n return null;\n } catch (error) {\n console.error(`Fetching deadline comments statistics failed -- ${error}`);\n }\n}\n\nexport function* fetchDeadlinesCommentsStatistics(deadlines) {\n try {\n const deadlinesCommentsStatistics = yield all(\n deadlines.map((deadline) =>\n call(fetchDeadlineCommentsStatistics, deadline.uri),\n ),\n );\n\n return deadlinesCommentsStatistics.reduce((prev, current) => {\n if (current) {\n prev[current.deadlineUri] = current.statistics;\n }\n return prev;\n }, {});\n } catch (error) {\n console.error(`Fetching deadline comments statistics failed -- ${error}`);\n }\n}\n\nexport default function* commentsSaga() {\n yield takeLatest([actions.fetchComments], handleFetchingComments);\n yield takeLatest(actions.fetchComment, handleFetchingComment);\n yield takeLatest(actions.updateComment, handleUpdateComment);\n yield takeLatest(actions.deleteComment, handleDeletingComment);\n yield takeLatest(actions.createComment, handleCreateComment);\n yield takeLatest(actions.exportCommentsToWord, handleExportCommentsToWord);\n}\n","import { createSelector } from \"reselect\";\nimport { selectedNationalCommittee } from \"../national-committees/selectors\";\n\nexport const members = (state) => state.members.data;\n\nexport const getMembers = createSelector(\n [members, selectedNationalCommittee],\n (members, selectedNationalCommittee) => {\n const committeeMembers = members[selectedNationalCommittee];\n return committeeMembers\n ? committeeMembers.filter((member) => member.name)\n : null;\n },\n);\n\nexport const getCommitteeMemberById = createSelector(\n [members, selectedNationalCommittee],\n (members, selectedNationalCommittee) => {\n return (id) => {\n const committeeMembers = members[selectedNationalCommittee];\n return committeeMembers\n ? committeeMembers.find((member) => member.name && member.userID === id)\n : null;\n };\n },\n);\nexport const isFetchingMembers = (state) => state.members.isFetching;\n","import { takeEvery, call, put, all, select } from \"redux-saga/effects\";\nimport {\n getVotes,\n createVote,\n updateVote,\n removeVote,\n getVoteOverride,\n updateVoteOverride,\n} from \"../api/resources/votes\";\nimport { waitForNotificationDocumentId } from \"../api/resources/notifications\";\nimport { getMemberById } from \"../api/resources/members\";\n\nimport * as actions from \"../state/votes/actions\";\nimport { isRequestSuccessful } from \"../api/utils\";\n\nimport { getMembers } from \"../state/members/selectors\";\nimport { handleCreateNotificationBySystem } from \"./notifications\";\nimport { notificationActionType, notificationType } from \"../utils/constants\";\n\nfunction* initDeadlineVotes(action) {\n try {\n const [votes, override] = yield all([\n call(getVotes, action.payload),\n call(getVoteOverride, action.payload),\n ]);\n if (!isRequestSuccessful(votes) || !isRequestSuccessful(override)) {\n console.error(\"Init votes failed\");\n console.error(votes);\n console.error(override);\n }\n\n let data = {\n votes: votes.data,\n officialVoteOverride: override.data,\n };\n\n yield put(actions.initVotesSucceeded(data));\n } catch (error) {\n console.error(\"Init votes failed\");\n console.error(error);\n }\n}\n\nexport function* fetchVotes(action) {\n try {\n const results = yield call(getVotes, action.payload);\n\n if (results.status === 200) {\n yield put(actions.getAllVotesSucceeded(results.data));\n } else {\n }\n } catch (error) {\n console.error(error);\n }\n}\n\nexport function* fetchDeadlinesVotesStats(deadlines) {\n try {\n yield all(\n deadlines.map((deadline) => put(actions.getAllVotes(deadline.uri))),\n );\n } catch (error) {\n console.error(`Fetching deadline votes statistics failed -- ${error}`);\n }\n}\n\nexport function* castVote(action) {\n try {\n const response = yield call(createVote, action.payload);\n if (response.status === 200) {\n // yield call(waitForNotificationDocumentId, action.payload.deadlineUri);\n yield call(handleCreateNotificationBySystem, {\n payload: {\n ...response.data,\n type: notificationType.vote,\n eventType: notificationActionType.add,\n references: [\n {\n type: notificationType.deadline,\n uri: action.payload.deadlineUri,\n },\n ],\n },\n });\n\n yield put(actions.castNewVoteSucceeded(response.data));\n }\n } catch (error) {\n console.error(error);\n }\n}\n\nexport function* updateExistingVote(action) {\n try {\n const response = yield call(updateVote, action.payload);\n if (response.status === 200) {\n yield call(handleCreateNotificationBySystem, {\n payload: {\n ...response.data,\n type: notificationType.vote,\n eventType: notificationActionType.update,\n references: [\n {\n type: notificationType.deadline,\n uri: action.payload.deadlineUri,\n },\n ],\n },\n });\n\n yield put(actions.updateVoteSucceeded(action.payload));\n }\n } catch (error) {\n console.error(error);\n }\n}\n\nexport function* handleRemoveVote(action) {\n try {\n const response = yield call(removeVote, action.payload.uri);\n if (response.status === 200) {\n yield put(actions.removeVoteSucceeded(action.payload));\n }\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction* handleOverrideOfficialVote(action) {\n try {\n const response = yield call(\n updateVoteOverride,\n action.payload.uri,\n action.payload.vote,\n );\n if (isRequestSuccessful(response)) {\n yield put(actions.overrideOfficialVoteSucceeded(response.data));\n }\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction* handleInitVotesMemberNames(action) {\n const members = yield select(getMembers);\n const actionVotes = action.payload;\n\n const votesWithoutMembers = actionVotes.filter(\n (v) => !v.member || typeof v.member === \"undefined\",\n );\n let updatedVotes = votesWithoutMembers.map((vote) => {\n const votingMember = members.find((m) => m.userID === vote.userID);\n if (votingMember) {\n return {\n ...vote,\n member: {\n name: votingMember.name,\n work: votingMember.work,\n photo: votingMember.photo,\n },\n };\n } else {\n return {\n ...vote,\n member: {\n loading: true,\n },\n };\n }\n });\n\n const votesReadyToShow = updatedVotes.filter((v) => !v.member.loading);\n const votesToLoad = updatedVotes.filter((v) => v.member.loading);\n yield all(\n votesReadyToShow.map((vote) =>\n put(\n actions.initVotesMemberNamesSucceeded({\n ...vote,\n }),\n ),\n ),\n );\n\n const missingNamesTasks = votesToLoad.map((v) => {\n return getMemberById(v.userID);\n });\n\n const missingMembers = yield all(missingNamesTasks);\n\n const loadedVotes = votesToLoad.map((vote) => {\n const votingMember = missingMembers.find((m) => m.data.id === vote.userID);\n\n if (votingMember) {\n return {\n ...vote,\n member: {\n name: votingMember.data.name,\n work: votingMember.data.company,\n photo: votingMember.data.profileImage,\n },\n };\n }\n\n return vote;\n });\n\n yield all(\n loadedVotes.map((vote) =>\n put(actions.initVotesMemberNamesSucceeded({ ...vote })),\n ),\n );\n}\n\nexport default function* votesSaga() {\n yield takeEvery(actions.initDeadlineVotes, initDeadlineVotes);\n yield takeEvery(actions.GET_VOTES, fetchVotes);\n yield takeEvery(actions.CREATE_VOTE, castVote);\n yield takeEvery(actions.UPDATE_VOTE, updateExistingVote);\n yield takeEvery(actions.REMOVE_VOTE, handleRemoveVote);\n yield takeEvery(actions.overrideOfficialVote, handleOverrideOfficialVote);\n\n yield takeEvery(actions.initVotesMemberNames, handleInitVotesMemberNames);\n}\n","import {\n takeLatest,\n call,\n select,\n put,\n take,\n all,\n takeLeading,\n} from \"redux-saga/effects\";\nimport { selectedNationalCommittee } from \"../state/national-committees/selectors\";\nimport {\n getDeadlineUrl,\n getDeadlinesUrl,\n getAggDeadlinesUrl,\n createDeadlineUrl,\n updateDeadlineUrl,\n deleteDeadlineUrl,\n getRelatedDeadlinesUrl,\n updateIsRegisteredUrl,\n} from \"../api/resources/deadlines\";\nimport { getDocumentSafeUrl } from \"../api/resources/document\";\nimport {\n waitForNotificationDocumentId,\n waitForNotificationTypedDocumentId,\n} from \"../api/resources/notifications\";\nimport { addGeneralDeadlineInformation } from \"../state/deadlines/actions\";\nimport * as actions from \"../state/deadlines/actions\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n generateCloseDialogLink,\n generateDialogLinkForPage,\n PAGE_TYPES,\n} from \"../utils/dynamicLink\";\nimport {\n transformCommitteeName,\n handleOtherCommitteeId,\n} from \"../utils/transform\";\nimport history from \"../utils/history\";\nimport { addPageQueryParam } from \"../api/utils\";\nimport { initDocuments } from \"../state/document/actions\";\nimport * as documentActions from \"../state/document/actions\";\nimport {\n getNewDeadlineFormData,\n getDeadlinesFilters,\n} from \"../state/deadlines/selectors\";\nimport * as selectors from \"../state/deadlines/selectors\";\nimport * as userSelectors from \"../state/user/selectors\";\nimport { mapToApiModel } from \"../api/mappers/deadline\";\nimport { buildQueryParams } from \"../services/deadlines/url\";\nimport { normalizeDeadline } from \"../state/deadlines/normalizer\";\nimport { handleCheckUserPrivilleges } from \"./user\";\nimport {\n fetchDeadlineCommentsStatistics,\n fetchDeadlinesCommentsStatistics,\n} from \"./comments\";\nimport {\n normalizeDocument,\n removeReferenceById,\n} from \"../state/document/normalizers.js\";\n\nimport { fetchDeadlinesVotesStats } from \"./votes\";\nimport { notificationActionType, notificationType } from \"../utils/constants\";\nimport { documentFilters } from \"../utils/documentUtils\";\nimport { getMeetingUrl } from \"../api/resources/meetings\";\nimport { referenceListToReferenceDataPerType } from \"../utils/references\";\nimport { normalizeObjectOfReferences } from \"../state/references/normalizers\";\nimport { handleCreateNotificationBySystem } from \"./notifications\";\n\nfunction* handleInitDeadlines(action) {\n yield call(handlePullDeadlinesPageRequest);\n}\n\n// reload from edit page would come here\nfunction* handleInitDeadlineForm(action) {\n try {\n yield put(initDocuments());\n\n const deadlineUri = action.payload;\n let deadline = yield select(selectors.getDeadline);\n\n if (!deadline || deadline.uri !== deadlineUri) {\n const deadlineData = yield call(getDeadlineUrl, deadlineUri);\n deadline = normalizeDeadline({ deadline: deadlineData.data });\n\n const documentUri = [\n ...(deadline.referencesRawResponsePerType.document?.map(\n (doc) => doc.uri,\n ) ?? []),\n ];\n const meetingUri = [\n ...(deadline.referencesRawResponsePerType.meeting?.map(\n (doc) => doc.uri,\n ) ?? []),\n ];\n\n let documents = yield all(\n documentUri?.map((uri) => call(getDocumentSafeUrl, uri)),\n );\n documents = documentFilters.filterEmptyDocuments(documents);\n\n let meetings = yield all(\n meetingUri?.map((uri) => call(getMeetingUrl, uri)),\n );\n meetings = documentFilters.filterEmptyDocuments(meetings);\n\n deadline.referencesPerType = normalizeObjectOfReferences({\n document: documents,\n meeting: meetings,\n });\n }\n\n yield put(addGeneralDeadlineInformation(deadline));\n } catch (error) {\n console.error(`init deadline form failed - ${error}`);\n }\n}\n\nfunction* handleAddDeadlineReferences(action) {\n try {\n // Shouldn't come here\n throw new Error(\"handleAddDeadlineReferences\");\n\n // const deadline = yield select(selectors.getDeadline);\n // const documentToAdd = normalizeDocument(action.payload);\n // // THIS SHOULD BE FIXED\n\n // deadline.references = [...deadline.references, documentToAdd];\n\n // const response = yield call(updateDeadline, deadline, false);\n\n // if (response.status === 200) {\n // yield put(actions.fetchCurrentDeadlineReferences());\n // yield put(actions.updateDeadlineSucceeded(response.data));\n // } else {\n // yield put(actions.updateDeadlineFailed(\"Failed to update deadline\"));\n // }\n } catch (error) {\n yield put(actions.updateDeadlineFailed(\"Failed to update deadline\"));\n console.error(`handleAddDeadlineReferences failed - ${error}`);\n }\n}\n\nfunction* handleSetDeadlineReferences(action) {\n try {\n // Shouldn't come here\n throw new Error(\"handleAddDeadlineReferences\");\n\n // const deadline = yield select(selectors.getDeadline);\n\n // const response = yield call(updateDeadline, deadline, false);\n\n // if (response.status === 200) {\n // yield put(actions.fetchCurrentDeadlineReferences());\n // yield put(actions.updateDeadlineSucceeded(response.data));\n // } else {\n // yield put(actions.updateDeadlineFailed(\"Failed to update deadline\"));\n // }\n } catch (error) {\n yield put(actions.updateDeadlineFailed(\"Failed to update deadline\"));\n console.error(`handleSetDeadlineReferences failed - ${error}`);\n }\n}\n\nfunction* handleRemoveReferenceFromDeadline(action) {\n try {\n const deadline = yield select(selectors.getDeadline);\n\n // for(const key in deadline.referencesPerType) {\n // deadline.referencesPerType[key] = deadline.referencesPerType[key].filter((doc) => doc.uri !== action.payload);\n // }\n deadline.referencesPerType = removeReferenceById(\n deadline.referencesPerType,\n action.payload,\n );\n\n const response = yield call(updateDeadlineUrl, deadline, false);\n\n if (response.status === 200) {\n yield put(actions.fetchCurrentDeadlineReferences());\n yield put(actions.updateDeadlineSucceeded(response.data));\n } else {\n yield put(actions.updateDeadlineFailed(\"Failed to update deadline\"));\n }\n } catch (error) {\n yield put(actions.updateDeadlineFailed(\"Failed to update deadline\"));\n console.error(`handleRemoveReferenceFromDeadline failed - ${error}`);\n }\n}\n\nfunction* fetchDeadline(action) {\n try {\n const response = yield call(getDeadlineUrl, action.payload);\n const deadlineCommentsStatistics = yield call(\n fetchDeadlineCommentsStatistics,\n response.data.uri,\n );\n\n if (response && response.status === 200) {\n yield put(\n actions.fetchDeadlineSucceeded({\n deadline: {\n ...response.data,\n },\n commentsStats: deadlineCommentsStatistics.statistics,\n }),\n );\n } else {\n yield put(actions.fetchDeadlineFailed(response.data));\n }\n } catch (error) {\n console.error(`fetch deadline failed - ${error}`);\n yield put(actions.fetchDeadlineFailed(\"\"));\n }\n}\n\nfunction* fetchDeadlineReferences() {\n try {\n yield take(actions.fetchDeadlineSucceeded);\n const deadline = yield select(selectors.getDeadline);\n\n const documentTargets =\n deadline.referencesRawResponsePerType.document ?? [];\n const meetingTargets = deadline.referencesRawResponsePerType.meeting ?? [];\n\n const documentsResponse = yield all(\n documentTargets.map((element) => call(getDocumentSafeUrl, element.uri)),\n );\n const documents = documentFilters.filterEmptyDocuments(documentsResponse);\n\n const meetingsResponse = yield all(\n meetingTargets.map((element) => call(getMeetingUrl, element.uri)),\n );\n const meetings = documentFilters.filterEmptyDocuments(meetingsResponse);\n\n const referencesPerType = { document: documents, meeting: meetings };\n\n yield put(actions.fetchDeadlineReferencesSucceeded(referencesPerType));\n } catch (error) {\n console.error(`fetch deadline references failed - ${error}`);\n }\n}\n\nfunction* fetchCurrentDeadlineReferences() {\n try {\n const existingDeadline = yield select(selectors.getDeadline);\n const response = yield call(getDeadlineUrl, existingDeadline.uri);\n\n if (!response || response.status !== 200) {\n yield put(actions.fetchCurrentDeadlineReferencesFailed());\n return;\n }\n\n const { references } = response.data;\n const referenceCategorized =\n referenceListToReferenceDataPerType(references);\n\n const documentsResponse = yield all(\n referenceCategorized.document?.map((element) =>\n call(getDocumentSafeUrl, element.uri),\n ),\n );\n const documents = documentFilters.filterEmptyDocuments(documentsResponse);\n\n const meetingsResponse = yield all(\n referenceCategorized.meeting?.map((element) =>\n call(getMeetingUrl, element.uri),\n ),\n );\n const meetings = documentFilters.filterEmptyDocuments(meetingsResponse);\n\n const newReferences = { document: documents, meeting: meetings };\n\n // const deadline = response.data;\n // // backend -> FE so references is correct\n // let references = yield all(\n // deadline.references.map((doc) => call(getDocumentSafe, doc.uri)),\n // );\n\n // references = documentFilters.filterEmptyDocuments(references);\n\n yield put(actions.fetchCurrentDeadlineReferencesSucceeded(newReferences));\n } catch (error) {\n yield put(actions.fetchCurrentDeadlineReferencesFailed());\n console.error(`fetchCurrentDeadlineReferences failed - ${error}`);\n }\n}\n\n// This is related to actual Document entity - upload\nfunction* handleCreateDeadlineFromDocument(action) {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const selectedDocument = action.payload;\n selectedDocument.committee = handleOtherCommitteeId(\n selectedDocument.committee,\n );\n\n // TODO: RIGHT NOW WE HAVE SEVERAL ENTITY FOR THE REFERENCES, NEED TO FIX TO HAVE IT ONLY ONE ENTITY.\n yield put(actions.setFormSelectedDeadlineReferences([selectedDocument]));\n yield put(\n actions.setFormSelectedDeadlineReferencesDocuments([selectedDocument]),\n );\n yield put(\n actions.addGeneralDeadlineInformation({\n title: selectedDocument.title,\n committee: selectedDocument.committee,\n date: selectedDocument.dueDate,\n }),\n );\n\n history.push(\n generateDialogLinkForPage(\n committeeId,\n PAGE_TYPES.DEADLINES,\n DIALOG_TYPES.CREATE_DEADLINE,\n ),\n );\n } catch (error) {\n console.error(`create deadline from selected documents failed - ${error}`);\n }\n}\n\n// This is related to actual Document entity - download\nfunction* handleDownloadDeadlineDocuments(action) {\n try {\n const deadlineId = action.payload;\n const uris = yield select(\n selectors.getDeadlineReferredDocumentsUri,\n deadlineId,\n );\n yield put(\n documentActions.downloadZipPackage({\n id: deadlineId,\n packageName: `${deadlineId || \"documents\"}.zip`,\n uris: uris,\n }),\n );\n } catch (error) {\n console.error(`download deadline documents failed - ${error}`);\n }\n}\n\nfunction* handlePullDeadlinesPageRequest() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const memberId = yield select(userSelectors.userId);\n const pagination = yield select(selectors.getPagination);\n const pageToLoad = pagination.pagesLoaded;\n const filters = yield select(getDeadlinesFilters);\n\n const queryParams = addPageQueryParam(\n buildQueryParams(memberId, filters),\n pageToLoad,\n );\n const response = filters.relatedDocument\n ? yield call(getRelatedDeadlinesUrl, filters.relatedDocument, queryParams)\n : yield call(getDeadlinesUrl, committeeId, queryParams);\n\n const deadlinesCommentsStatistics = yield call(\n fetchDeadlinesCommentsStatistics,\n response.data.results,\n );\n\n yield call(fetchDeadlinesVotesStats, response.data.results);\n\n const pagesToLoad = Math.ceil(\n response.data.total / response.data.pageLength,\n );\n\n const page = response.data.start / response.data.pageLength + 1;\n const maxPage = Math.ceil(response.data.total / response.data.pageLength);\n\n if (response.status === 200) {\n yield put(\n actions.pullDeadlinesPageSucceeded({\n deadlinesData: response.data,\n commentsStats: deadlinesCommentsStatistics,\n pagination: {\n pageLoaded: pageToLoad,\n pagesToLoad: pagesToLoad,\n hasMoreToLoad: parseInt(page) < parseInt(maxPage),\n // response.data.results &&\n // response.data.results.length > 0 &&\n // parseInt(response.data.total) >\n // parseInt(response.data.pageLength),\n },\n }),\n );\n } else {\n yield put(actions.pullDeadlinesPageFailed(response.data.message));\n }\n } catch (error) {\n console.error(`filter Deadlines failed - ${error}`);\n }\n}\n\nfunction* handleCreateDeadline() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const deadlineData = yield select(getNewDeadlineFormData);\n\n const privillegesAction = {\n type: \"creating\",\n payload: {\n url: `/${transformCommitteeName(committeeId)}/deadlines`,\n },\n };\n\n yield call(handleCheckUserPrivilleges, privillegesAction);\n const response = yield call(\n createDeadlineUrl,\n committeeId,\n mapToApiModel(deadlineData),\n );\n if (response.status === 200) {\n const succeededResponse = yield put(\n actions.createDeadlineSucceeded({\n deadline: response.data,\n }),\n );\n history.push(\n generateDialogLink(\n DIALOG_TYPES.DEADLINE_DETAILS,\n succeededResponse.payload.deadline.uri,\n ),\n );\n\n if (deadlineData.notifyOnUpdate) {\n // post notification\n yield call(handleCreateNotificationBySystem, {\n payload: {\n ...deadlineData,\n notify: deadlineData.notifyImmediately,\n type: notificationType.deadline,\n eventType: notificationActionType.add,\n references: [\n {\n type: \"Deadline\",\n uri: succeededResponse.payload.deadline.uri,\n },\n ],\n },\n });\n }\n\n // yield call(\n // waitForNotificationTypedDocumentId,\n // response.data.uri,\n // notificationActionType.add,\n // );\n } else {\n yield put(actions.createDeadlineFailed(\"Failed to create deadline\"));\n }\n } catch (error) {\n console.error(`create deadline failed - ${error}`);\n }\n}\n\nfunction* handleUpdateDeadline(action) {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const updatedDeadline = action.payload;\n const privillegesAction = {\n type: action.type,\n payload: {\n url: `/${transformCommitteeName(committeeId)}/deadlines`,\n },\n };\n\n yield call(handleCheckUserPrivilleges, privillegesAction);\n\n const response = yield call(\n updateDeadlineUrl,\n updatedDeadline,\n updatedDeadline.notifyOnUpdate,\n );\n if (response.status === 200) {\n yield put(actions.updateDeadlineSucceeded(response.data));\n history.push(\n generateDialogLink(DIALOG_TYPES.DEADLINE_DETAILS, updatedDeadline.uri),\n );\n\n if (updatedDeadline.notifyOnUpdate) {\n // post notification\n yield call(handleCreateNotificationBySystem, {\n payload: {\n ...updatedDeadline,\n notify: updatedDeadline.notifyImmediately,\n type: notificationType.deadline,\n eventType: notificationActionType.update,\n references: [\n {\n type: notificationType.deadline,\n uri: updatedDeadline.uri,\n },\n ],\n },\n });\n\n // notification is done on FE\n // yield call(waitForNotificationDocumentId, updatedDeadline.uri);\n }\n } else {\n yield put(actions.updateDeadlineFailed(\"Failed to update deadline\"));\n }\n } catch (error) {\n console.error(`update deadline failed - ${error}`);\n }\n}\n\nfunction* handleDeleteDeadline(action) {\n try {\n const deadlineUri = action.payload;\n const privillegesAction = {\n type: action.type,\n };\n\n yield call(handleCheckUserPrivilleges, privillegesAction);\n\n const response = yield call(deleteDeadlineUrl, deadlineUri);\n if (response.status === 200) {\n yield put(actions.deleteDeadlineSucceeded(response.data));\n history.push(generateCloseDialogLink());\n } else {\n yield put(actions.deleteDeadlineFailed(\"Failed to delete deadline\"));\n }\n } catch (error) {\n console.error(`delete deadline failed - ${error}`);\n }\n}\n\nfunction* handleInitAggDeadlines() {\n yield call(handlePullAggDeadlinesPage);\n}\n\nfunction* handlePullAggDeadlinesPage() {\n try {\n const userCommittees = yield select(userSelectors.userCommittees);\n const userCommitteesIds = Object.keys(userCommittees);\n\n const memberId = yield select(userSelectors.userId);\n const pagination = yield select(selectors.getPagination);\n const pageToLoad = pagination.pagesLoaded;\n const filters = yield select(getDeadlinesFilters);\n const queryModel = addPageQueryParam(\n buildQueryParams(memberId, filters),\n pageToLoad,\n );\n\n const response = yield call(\n getAggDeadlinesUrl,\n userCommitteesIds,\n queryModel,\n );\n\n const deadlinesCommentsStatistics = yield call(\n fetchDeadlinesCommentsStatistics,\n response.data.results,\n );\n yield call(fetchDeadlinesVotesStats, response.data.results);\n\n const pagesToLoad = Math.ceil(\n response.data.total / response.data.pageLength,\n );\n\n if (response.status === 200) {\n yield put(\n actions.pullDeadlinesPageSucceeded({\n deadlinesData: response.data,\n commentsStats: deadlinesCommentsStatistics,\n pagination: {\n pageLoaded: pageToLoad,\n pagesToLoad: pagesToLoad,\n hasMoreToLoad:\n response.data.results &&\n response.data.results.length > 0 &&\n parseInt(response.data.total) >\n parseInt(response.data.pageLength),\n },\n }),\n );\n } else {\n yield put(actions.pullDeadlinesPageFailed(response.data.message));\n }\n } catch (error) {\n console.error(`filter Deadlines failed - ${error}`);\n }\n}\n\nfunction* handleUpdateIsRegistered(action) {\n const { deadlineUri, isRegistered } = action.payload;\n\n const response = yield call(updateIsRegisteredUrl, deadlineUri, isRegistered);\n if (response.status === 200) {\n yield put(actions.updateDeadlineSucceeded(response.data));\n } else {\n yield put(actions.updateDeadlineFailed(\"Failed to update deadline\"));\n }\n}\n\nexport default function* deadlinesSaga() {\n yield takeLatest(actions.initDeadlines, handleInitDeadlines);\n yield takeLatest(\n actions.initDeadlineFormWithGeneralInfo,\n handleInitDeadlineForm,\n );\n\n yield takeLatest(actions.addDeadlineReferences, handleAddDeadlineReferences);\n yield takeLatest(actions.setDeadlineReferences, handleSetDeadlineReferences);\n yield takeLatest(\n actions.removeReferenceFromDeadline,\n handleRemoveReferenceFromDeadline,\n );\n yield takeLatest(actions.fetchDeadline, fetchDeadline);\n yield takeLatest(actions.fetchDeadlineReferences, fetchDeadlineReferences);\n yield takeLatest(\n actions.fetchCurrentDeadlineReferences,\n fetchCurrentDeadlineReferences,\n );\n yield takeLatest(\n actions.createDeadlineFromReference,\n handleCreateDeadlineFromDocument,\n );\n yield takeLatest(\n actions.downloadDeadlineDocuments,\n handleDownloadDeadlineDocuments,\n );\n yield takeLeading(\n actions.pullDeadlinesPageRequest,\n handlePullDeadlinesPageRequest,\n );\n yield takeLatest(actions.createDeadline, handleCreateDeadline);\n yield takeLatest(actions.updateDeadline, handleUpdateDeadline);\n yield takeLatest(actions.deleteDeadline, handleDeleteDeadline);\n\n yield takeLatest(actions.initAggDeadlines, handleInitAggDeadlines);\n yield takeLatest(actions.pullAggDeadlinesPage, handlePullAggDeadlinesPage);\n yield takeLatest(actions.updateIsRegistered, handleUpdateIsRegistered);\n}\n","export function mapValueModel(values) {\n return values.map((value, index) => ({\n id: index,\n //value: value.value,\n //label: value.label,\n ...value,\n }));\n}\n","import { takeEvery, select, all, call, put } from \"redux-saga/effects\";\nimport i18next from \"i18next\";\n\nimport * as valueActions from \"../state/values/actions\";\nimport { selectedNationalCommittee } from \"../state/national-committees/selectors\";\nimport {\n getDeadlineCommittees,\n getDeadlineMonths,\n getDeadlineTypes,\n getDocumentActions,\n getDocumentCommittees,\n getDocumentTypes,\n getMeetingCommittees,\n getMeetingMonths,\n getStages,\n getCommentTypes,\n} from \"../api/resources/values\";\nimport { mapValueModel } from \"../api/mappers/values\";\nimport { getMeetingFilters } from \"../state/values/selectors\";\nimport { getStore } from \"../utils/state\";\n\nimport { otherCommitteeId } from \"../utils/constants\";\n\nfunction filterDocumentTypes(typesMap, supportedOrgs) {\n return typesMap\n .filter((t) => supportedOrgs.findIndex((st) => st === t.org) !== -1)\n .reduce((acc, cur) => {\n if (acc.findIndex((st) => st.value == cur.value) === -1) {\n return [...acc, cur];\n }\n return acc;\n }, []);\n}\n\nfunction* handleFetchingDocumentFilterValues() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n\n const [actions, types, committees] = yield all([\n call(getDocumentActions, committeeId),\n call(getDocumentTypes, committeeId),\n call(getDocumentCommittees, committeeId),\n ]);\n\n const actionsMap = mapValueModel(actions.data);\n const typesMap = mapValueModel(types.data);\n let committeesMap = mapValueModel(committees.data);\n const supportedOrgs = committeesMap\n .map((c) => c.value.split(\"/\"))\n .reduce((acc, cur) => [...acc, ...cur], []);\n\n const avaiableTypes = filterDocumentTypes(typesMap, supportedOrgs);\n\n committeesMap.splice(1, 0, {\n id: -2,\n value: otherCommitteeId,\n label: i18next.t(\"general.defaults.otherCommittee\", { ns: \"common\" }),\n });\n\n if (actions && types && committees) {\n yield put(\n valueActions.fetchingDocumentFilterValuesSucceeded({\n actions: actionsMap,\n types: typesMap,\n committees: committeesMap,\n avaiableTypes: avaiableTypes,\n }),\n );\n } else {\n yield put(\n valueActions.fetchingDocumentFilterValuesFailed(\n \"Failed to fetch document filter values\",\n ),\n );\n }\n } catch (error) {\n console.error(`fetching document filter values failed - ${error}`);\n }\n}\n\nfunction* handleFetchingDeadlineFilterValues() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n\n const [months, types, committees] = yield all([\n call(getDeadlineMonths, committeeId),\n call(getDeadlineTypes, committeeId),\n call(getDeadlineCommittees, committeeId),\n ]);\n\n if (months && types && committees) {\n const locale = getStore().getState().user.data.kundeportal.locale;\n\n const translatedMonths = months.data.map((month) => {\n const dateObj = new Date(month.value);\n\n let localeDateStr = dateObj.toLocaleDateString(locale, {\n month: \"long\",\n year: \"numeric\",\n });\n localeDateStr =\n localeDateStr.charAt(0).toUpperCase() + localeDateStr.slice(1);\n\n return {\n label: localeDateStr,\n value: month.value,\n date: dateObj,\n };\n });\n\n yield put(\n valueActions.fetchingDeadlineFilterValuesSucceeded({\n months: translatedMonths,\n types: types.data,\n committees: committees.data,\n }),\n );\n } else {\n yield put(\n valueActions.fetchingDeadlineFilterValuesFailed(\n \"Failed to fetch deadline filter values\",\n ),\n );\n }\n } catch (error) {\n console.error(`fetching deadline filter values failed - ${error}`);\n }\n}\n\nfunction* handleFetchingMeetingFilterValues() {\n try {\n const meetingFilters = yield select(getMeetingFilters);\n\n if (meetingFilters) {\n return;\n }\n const committeeId = yield select(selectedNationalCommittee);\n\n const [committees, months] = yield all([\n call(getMeetingCommittees, committeeId),\n call(getMeetingMonths, committeeId),\n ]);\n\n if (committees && months) {\n const locale = getStore().getState().user.data.kundeportal.locale;\n const translatedMonths = months.data.map((month) => {\n const dateObj = new Date(month.value);\n let newDateStr = dateObj.toLocaleDateString(locale, {\n month: \"long\",\n year: \"numeric\",\n });\n newDateStr = newDateStr.charAt(0).toUpperCase() + newDateStr.slice(1);\n return {\n label: newDateStr,\n value: newDateStr,\n date: dateObj,\n };\n });\n\n yield put(\n valueActions.fetchingMeetingFilterValuesSucceeded({\n committees: committees.data,\n months: translatedMonths,\n }),\n );\n } else {\n yield put(\n valueActions.fetchingMeetingFilterValuesFailed(\n \"Failed to fetch meeting filter values\",\n ),\n );\n }\n } catch (error) {\n console.error(`fetching meeting filter values failed - ${error}`);\n }\n}\n\nfunction* handleFetchingStageCodes() {\n try {\n const stages = yield call(getStages);\n\n if (stages.status === 200) {\n yield put(valueActions.getStageCodesSucceeded(stages.data));\n } else {\n yield put(valueActions.getStageCodesFailed());\n }\n } catch (error) {\n console.error(`fetching stage code values failed - ${error}`);\n }\n}\n\nfunction* handleFetchingCommentTypes() {\n try {\n const types = yield call(getCommentTypes);\n\n if (types.status === 200) {\n yield put(valueActions.getCommentTypesSucceeded(types.data));\n } else {\n yield put(valueActions.getCommentTypesFailed());\n }\n } catch (error) {\n console.error(`fetching comment types failed - ${error}`);\n }\n}\n\nfunction* handleFetchAllValues() {\n yield call(handleFetchingDocumentFilterValues);\n yield call(handleFetchingCommentTypes);\n yield call(handleFetchingStageCodes);\n yield call(handleFetchingMeetingFilterValues);\n yield call(handleFetchingDeadlineFilterValues);\n\n yield put(valueActions.fetchAllValuesFinished());\n}\n\nexport default function* valuesSaga() {\n yield takeEvery(valueActions.fetchAllValues, handleFetchAllValues);\n}\n","import { TIMEFRAME } from \"../../api/utils\";\nimport { comparisonOperator, eventSortType } from \"../../utils/constants\";\n\n//TODO refactor this file, it is same as src/services/deadlines\nconst getLocalDayStartDate = () => {\n return new Date(new Date().toDateString()).toISOString();\n};\n\nexport const buildQueryParams = (memberId, filters) => {\n let queryParams = {\n sort: eventSortType.asc,\n };\n\n if (filters.timeframe === TIMEFRAME.PAST) {\n queryParams.sort = eventSortType.desc;\n queryParams.fromDate = comparisonOperator.lt + getLocalDayStartDate();\n } else if (filters.timeframe === TIMEFRAME.FUTURE) {\n queryParams.sort = eventSortType.asc;\n queryParams.fromDate = comparisonOperator.ge + getLocalDayStartDate();\n }\n\n if (filters.month) {\n let monthStart = new Date(filters.month);\n let nextMonth = new Date(filters.month);\n nextMonth.setMonth(nextMonth.getMonth() + 1);\n\n queryParams.fromDate = [\n comparisonOperator.ge + monthStart.toISOString(),\n comparisonOperator.lt + nextMonth.toISOString(),\n ];\n }\n\n if (filters.committee) {\n queryParams.committeeReference = filters.committee;\n }\n\n queryParams.memberId = memberId;\n queryParams.pageLength = 10;\n\n return queryParams;\n};\n","import {\n takeLatest,\n takeEvery,\n call,\n select,\n put,\n take,\n all,\n} from \"redux-saga/effects\";\nimport * as actions from \"../state/meetings/actions\";\nimport { selectedNationalCommittee } from \"../state/national-committees/selectors\";\nimport {\n getMeetingsUrl,\n getMeetingUrl,\n updateMeetingUrl,\n deleteMeetingUrl,\n createMeetingUrl,\n addParticipantUrl,\n updateParticipantUrl,\n} from \"../api/resources/meetings\";\nimport { getDocumentSafeUrl } from \"../api/resources/document\";\nimport {\n waitForNotificationDocumentId,\n waitForNotificationTypedDocumentId,\n} from \"../api/resources/notifications\";\nimport { buildQueryParams } from \"../services/meetings/url\";\nimport { addPageQueryParam } from \"../api/utils\";\nimport history from \"../utils/history\";\nimport * as selectors from \"../state/meetings/selectors\";\nimport {\n addGeneralMeetingInformation,\n initMeetingFormWithDocuments,\n} from \"../state/meetings/actions\";\nimport { initDocuments } from \"../state/document/actions\";\nimport * as documentActions from \"../state/document/actions\";\nimport { getNewMeetingFormData } from \"../state/meetings/selectors\";\nimport { mapToApiModel } from \"../api/mappers/meeting\";\nimport { transformCommitteeName } from \"../utils/transform\";\nimport {\n generateCloseDialogLink,\n generateDialogLink,\n DIALOG_TYPES,\n generateDialogLinkForPage,\n PAGE_TYPES,\n} from \"../utils/dynamicLink\";\nimport { normalizeMeeting } from \"../state/meetings/normalizers\";\nimport { handleCheckUserPrivilleges } from \"./user\";\nimport * as userSelectors from \"../state/user/selectors\";\nimport {\n normalizeDocument,\n removeReferenceById,\n} from \"../state/document/normalizers.js\";\nimport { notificationActionType, notificationType } from \"../utils/constants\";\nimport { documentFilters } from \"../utils/documentUtils\";\nimport { normalizeObjectOfReferences } from \"../state/references/normalizers\";\nimport { getDeadlineUrl } from \"../api/resources/deadlines\";\nimport { referenceListToReferenceDataPerType } from \"../utils/references\";\nimport { handleCreateNotificationBySystem } from \"./notifications\";\n\nfunction* handleInitMeetings() {\n yield call(handlePullMeetingsPageRequest);\n}\n\n// function* handleResetMeetingsFilters() {\n// // yield call(addToUrlMeetings);\n// }\n\nfunction* handleAddMeetingDocuments(action) {\n try {\n throw new Error(\"handleAddMeetingDocuments is not used\");\n\n // const meeting = yield select(selectors.getMeeting);\n // const documentToAdd = normalizeDocument(action.payload)\n // meeting.references = [...meeting.references, documentToAdd];\n\n // const response = yield call(updateMeeting, meeting, false);\n\n // if (response.status === 200) {\n // yield put(actions.fetchCurrentMeetingDocuments());\n // yield put(actions.updateMeetingSucceeded(response.data));\n // } else {\n // yield put(actions.updateMeetingFailed(\"Failed to update meeting\"));\n // }\n } catch (error) {\n yield put(actions.updateMeetingFailed(\"Failed to update meeting\"));\n console.error(`handleAddMeetingDocuments failed - ${error}`);\n }\n}\n\nfunction* handleSetMeetingDocuments(action) {\n try {\n throw new Error(\"handleSetMeetingDocuments is not used\");\n // const meeting = yield select(selectors.getMeeting);\n // meeting.references = action.payload;\n\n // const response = yield call(updateMeeting, meeting, false);\n\n // if (response.status === 200) {\n // yield put(actions.fetchCurrentMeetingDocuments());\n // yield put(actions.updateMeetingSucceeded(response.data));\n // } else {\n // yield put(actions.updateMeetingFailed(\"Failed to update meeting\"));\n // }\n } catch (error) {\n yield put(actions.updateMeetingFailed(\"Failed to update meeting\"));\n console.error(`handleSetMeetingDocuments failed - ${error}`);\n }\n}\n\nfunction* handleRemoveReferenceFromMeeting(action) {\n try {\n const meeting = yield select(selectors.getMeeting);\n // meeting.references = meeting.references.filter(doc => doc.url !== action.payload);\n\n // for(const key in meeting.referencesPerType) {\n // meeting.referencesPerType[key] = meeting.referencesPerType[key].filter((doc) => doc.uri !== action.payload);\n // }\n meeting.referencesPerType = removeReferenceById(\n meeting.referencesPerType,\n action.payload,\n );\n\n const response = yield call(updateMeetingUrl, meeting, false);\n\n if (response.status === 200) {\n yield put(actions.fetchCurrentMeetingDocuments());\n yield put(actions.updateMeetingSucceeded(response.data));\n } else {\n yield put(actions.updateMeetingFailed(\"Failed to update meeting\"));\n }\n } catch (error) {\n yield put(actions.updateMeetingFailed(\"Failed to update meeting\"));\n console.error(`handleRemoveReferenceFromMeeting failed - ${error}`);\n }\n}\n\nfunction* handlePullMeetingsPageRequest() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const memberId = yield select(userSelectors.userId);\n const pagination = yield select(selectors.getPagination);\n const filters = yield select(selectors.getMeetingsFilters);\n const pageToLoad = pagination.pagesLoaded;\n\n const queryParams = addPageQueryParam(\n buildQueryParams(memberId, filters),\n pageToLoad,\n );\n const response = yield call(getMeetingsUrl, committeeId, queryParams);\n const pagesToLoad = Math.ceil(\n response.data.total / response.data.pageLength,\n );\n\n const page = response.data.start / response.data.pageLength + 1;\n const maxPage = Math.ceil(response.data.total / response.data.pageLength);\n\n if (response.status === 200) {\n yield put(\n actions.pullMeetingsPageSucceeded({\n ...response.data,\n pagination: {\n pageLoaded: pageToLoad,\n pagesToLoad: pagesToLoad,\n hasMoreToLoad: parseInt(page) < parseInt(maxPage),\n\n // response.data.results\n // && response.data.results.length > 0\n // && parseInt(response.data.total) > parseInt(response.data.pageLength)\n },\n }),\n );\n } else {\n yield put(actions.pullMeetingsPageFailed(response.data.message));\n }\n } catch (error) {\n console.error(`filter meetings failed - ${error}`);\n }\n}\n\nfunction* fetchMeeting(action) {\n try {\n const response = yield call(getMeetingUrl, action.payload);\n\n if (response && response.status === 200) {\n yield put(actions.fetchMeetingSucceeded(response.data));\n } else {\n yield put(actions.fetchMeetingFailed(response.data));\n }\n } catch (error) {\n console.error(`fetch meeting failed - ${error}`);\n }\n}\n\nfunction* fetchCurrentMeetingDocuments() {\n try {\n const existingMeeting = yield select(selectors.getMeeting);\n const response = yield call(getMeetingUrl, existingMeeting.uri);\n\n if (!response || response.status !== 200) {\n yield put(actions.fetchCurrentMeetingDocumentsFailed());\n return;\n }\n\n const { references } = response.data;\n const referenceCategorized =\n referenceListToReferenceDataPerType(references);\n\n const documentRequestLists = referenceCategorized.document?.map((element) =>\n call(getDocumentSafeUrl, element.uri),\n );\n const documentsResponse = documentRequestLists\n ? yield all(documentRequestLists)\n : [];\n const document = documentFilters.filterEmptyDocuments(documentsResponse);\n\n const deadlineRequestLists = referenceCategorized.deadline?.map((element) =>\n call(getDeadlineUrl, element.uri),\n );\n const deadlinesResponse = deadlineRequestLists\n ? yield all(deadlineRequestLists)\n : [];\n const deadline = documentFilters.filterEmptyDocuments(deadlinesResponse);\n\n const newReferences = { document, deadline };\n\n // let references = yield all(meeting.references.map(doc => call(getDocumentSafe,doc.uri)));\n // references = references.filter(d => d !== null && d.status === 200);\n\n yield put(actions.fetchCurrentMeetingDocumentsSucceeded(newReferences));\n } catch (error) {\n yield put(actions.fetchCurrentMeetingDocumentsFailed());\n console.error(`fetchCurrentMeetingDocuments - ${error}`);\n }\n}\n\nfunction* fetchMeetingReferences() {\n try {\n yield take(actions.fetchMeetingSucceeded);\n const meeting = yield select(selectors.getMeeting);\n\n const documentTargets = meeting.referencesRawResponsePerType.document ?? [];\n const deadlineTargets = meeting.referencesRawResponsePerType.deadline ?? [];\n\n const documentsResponse = yield all(\n documentTargets.map((element) => call(getDocumentSafeUrl, element.uri)),\n );\n const document = documentFilters.filterEmptyDocuments(documentsResponse);\n\n const deadlinesResponse = yield all(\n deadlineTargets.map((element) => call(getDeadlineUrl, element.uri)),\n );\n const deadline = documentFilters.filterEmptyDocuments(deadlinesResponse);\n\n const referencesPerType = { document, deadline };\n\n yield put(actions.fetchMeetingReferencesSucceeded(referencesPerType));\n } catch (error) {\n yield put(actions.fetchMeetingReferencesFailed([]));\n console.error(`fetch meeting documents failed - ${error}`);\n }\n}\n\nfunction* handleUpdateMeeting(action) {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const updatedMeeting = action.payload;\n\n const privillegesAction = {\n type: action.type,\n payload: {\n url: `/${transformCommitteeName(committeeId)}/meetings`,\n },\n };\n\n yield call(handleCheckUserPrivilleges, privillegesAction);\n\n const response = yield call(\n updateMeetingUrl,\n updatedMeeting,\n updatedMeeting.notifyOnUpdate,\n );\n if (response.status === 200) {\n yield put(actions.updateMeetingSucceeded(response.data));\n history.push(\n generateDialogLink(DIALOG_TYPES.MEETING_DETAILS, updatedMeeting.uri),\n );\n\n if (updatedMeeting.notifyOnUpdate) {\n // Post notification\n yield call(handleCreateNotificationBySystem, {\n payload: {\n ...updatedMeeting,\n description: updatedMeeting.longLocation,\n notify: updatedMeeting.notifyImmediately,\n type: notificationType.meeting,\n eventType: notificationActionType.update,\n references: [\n {\n type: notificationType.meeting,\n uri: updatedMeeting.uri,\n },\n ],\n },\n });\n\n // notification is done on FE\n // yield call(waitForNotificationDocumentId, updatedMeeting.uri);\n }\n } else {\n yield put(actions.updateMeetingFailed(\"Failed to update meeting\"));\n }\n } catch (error) {\n console.error(`update meeting failed - ${error}`);\n }\n}\n\nfunction* handleDeletingMeeting(action) {\n try {\n const meetingUri = action.payload;\n const privillegesAction = {\n type: action.type,\n };\n\n yield call(handleCheckUserPrivilleges, privillegesAction);\n\n const response = yield call(deleteMeetingUrl, meetingUri);\n if (response.status === 200) {\n yield put(actions.deleteMeetingSucceeded(response.data));\n history.push(generateCloseDialogLink());\n } else {\n yield put(actions.deleteMeetingFailed(\"Failed to delete meeting\"));\n }\n } catch (error) {\n console.error(`delete meeting failed - ${error}`);\n }\n}\n\nfunction* handleCreateMeeting() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const meetingData = yield select(getNewMeetingFormData);\n\n const privillegesAction = {\n type: \"creating\",\n payload: {\n url: `/${transformCommitteeName(committeeId)}/meetings`,\n },\n };\n\n yield call(handleCheckUserPrivilleges, privillegesAction);\n\n const response = yield call(\n createMeetingUrl,\n committeeId,\n mapToApiModel(meetingData),\n );\n if (response.status === 200) {\n const succeededResponse = yield put(\n actions.createMeetingSucceeded(response.data),\n );\n history.push(\n generateDialogLink(\n DIALOG_TYPES.MEETING_DETAILS,\n succeededResponse.payload.uri,\n ),\n );\n\n if (meetingData.notifyOnUpdate) {\n // post notification\n yield call(handleCreateNotificationBySystem, {\n payload: {\n ...meetingData,\n description: meetingData.longLocation,\n notify: meetingData.notifyImmediately,\n type: notificationType.meeting,\n eventType: notificationActionType.add,\n references: [\n {\n type: notificationType.meeting,\n uri: succeededResponse.payload.uri,\n },\n ],\n },\n });\n\n // What does this do???\n // yield call(\n // waitForNotificationTypedDocumentId,\n // response.data.uri,\n // notificationActionType.add,\n // );\n }\n } else {\n yield put(actions.createMeetingFailed(\"Failed to create meeting\"));\n }\n } catch (error) {\n console.error(`create meeting failed - ${error}`);\n }\n}\n\nfunction* handleInitMeetingForm(action) {\n try {\n yield put(initDocuments());\n\n const meetingUri = action.payload;\n let meeting = yield select(selectors.getMeeting);\n\n if (!meeting) {\n let meetingData = yield call(getMeetingUrl, meetingUri);\n meeting = normalizeMeeting(meetingData.data);\n\n // -------------\n\n const documentUri = [\n ...(meeting.referencesRawResponsePerType.document?.map(\n (doc) => doc.uri,\n ) ?? []),\n ];\n const deadlineUri = [\n ...(meeting.referencesRawResponsePerType.deadline?.map(\n (doc) => doc.uri,\n ) ?? []),\n ];\n\n const documentsResponse = yield all(\n documentUri.map((uri) => call(getDocumentSafeUrl, uri)),\n );\n const document = documentFilters.filterEmptyDocuments(documentsResponse);\n\n const deadlinesResponse = yield all(\n deadlineUri.map((uri) => call(getDeadlineUrl, uri)),\n );\n const deadline = documentFilters.filterEmptyDocuments(deadlinesResponse);\n\n meeting.referencesPerType = normalizeObjectOfReferences({\n document,\n deadline,\n });\n\n // -------------\n\n yield put(addGeneralMeetingInformation(meeting));\n\n // let references = yield all(meeting.referencesUri.map(uri => call(getDocumentSafe, uri)));\n // references = references.filter(d => d !== null && d.status === 200);\n\n // yield put(initMeetingFormWithDocuments(references));\n }\n } catch (error) {\n console.error(`init meeting form failed - ${error}`);\n }\n}\n\nfunction* handleCreateMeetingFromDocument(action) {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n const selectedDocument = action.payload;\n yield put(actions.setFormSelectedMeetingDocuments([selectedDocument]));\n\n yield put(\n actions.addGeneralMeetingInformation({\n title: selectedDocument.title,\n committee: selectedDocument.committee,\n }),\n );\n\n history.push(\n generateDialogLinkForPage(\n committeeId,\n PAGE_TYPES.MEETING,\n DIALOG_TYPES.CREATE_MEETING,\n ),\n );\n } catch (error) {\n console.error(`create meeting from selected documents failed - ${error}`);\n }\n}\n\nfunction* handleDownloadMeetingDocuments(action) {\n try {\n const meetingId = action.payload;\n let uris = yield select(selectors.getMeetingDocumentsUri, meetingId);\n yield put(\n documentActions.downloadZipPackage({\n id: meetingId,\n packageName: `${meetingId || \"documents\"}.zip`,\n uris: uris,\n }),\n );\n } catch (error) {\n console.error(`download meeting documents failed - ${error}`);\n }\n}\n\nfunction* handleAddParticipant(action) {\n try {\n const { meetingUri, userId, attending } = action.payload;\n const result = yield call(addParticipantUrl, meetingUri, userId, attending);\n\n if (result.status === 200) {\n yield put(actions.addParticipantSucceeded(result.data));\n } else {\n yield put(actions.addParticipantFailed(result.data));\n }\n } catch (error) {\n console.error(`add participant failed - ${error}`);\n }\n}\n\nfunction* handleUpdateParticipant(action) {\n try {\n const { participantId, attending } = action.payload;\n const result = yield call(updateParticipantUrl, participantId, attending);\n\n if (result.status === 200) {\n yield put(actions.updateParticipantSucceeded(result.data));\n } else {\n yield put(actions.updateParticipantFailed(result.data));\n }\n } catch (error) {\n console.error(`update participant failed - ${error}`);\n }\n}\n\nexport default function* meetingsSaga() {\n yield takeLatest(actions.initMeetings, handleInitMeetings);\n yield takeLatest(\n actions.initMeetingFormWithGeneralInfo,\n handleInitMeetingForm,\n );\n\n yield takeLatest(actions.addMeetingDocuments, handleAddMeetingDocuments);\n yield takeLatest(actions.setMeetingDocuments, handleSetMeetingDocuments);\n yield takeLatest(\n actions.removeReferenceFromMeeting,\n handleRemoveReferenceFromMeeting,\n );\n yield takeLatest(actions.fetchMeeting, fetchMeeting);\n yield takeLatest(\n actions.fetchCurrentMeetingDocuments,\n fetchCurrentMeetingDocuments,\n );\n\n yield takeEvery(\n actions.pullMeetingsPageRequest,\n handlePullMeetingsPageRequest,\n );\n\n yield takeLatest(actions.updateMeeting, handleUpdateMeeting);\n yield takeLatest(actions.deleteMeeting, handleDeletingMeeting);\n yield takeLatest(actions.createMeeting, handleCreateMeeting);\n\n yield takeLatest(\n actions.createMeetingFromDocument,\n handleCreateMeetingFromDocument,\n );\n yield takeLatest(\n actions.downloadMeetingDocuments,\n handleDownloadMeetingDocuments,\n );\n yield takeLatest(actions.fetchMeetingReferences, fetchMeetingReferences);\n yield takeLatest(actions.addParticipant, handleAddParticipant);\n yield takeLatest(actions.updateParticipant, handleUpdateParticipant);\n}\n","import { createSelector } from \"reselect\";\n\nconst search = (state) => state.search;\nconst documents = (state) => state.search.data.results;\nconst pagination = (state) => state.search.data.pagination;\nexport const getSearchFilters = (state) => state.search.filters;\nexport const getModalDetails = (state) => state.search.modal;\nexport const getModalData = (state) => state.search.modal.content;\n\nexport const getCurrentPage = (state) =>\n parseInt(state.search.data.pagination.currentPage);\n\nexport const numberOfPages = createSelector([pagination], (pagination) => {\n return Math.floor(\n (parseInt(pagination.total) + parseInt(pagination.pageSize) - 1) /\n parseInt(pagination.pageSize),\n );\n});\n\nexport const getTotalNumber = (state) =>\n isNaN(parseInt(state.search.data.pagination.total))\n ? 0\n : parseInt(state.search.data.pagination.total);\n\nexport const isProcessingDocuments = (state) => state.search.isFetching;\n\n//todo: change selectedNationalCommittee\nexport const getDocuments = createSelector([documents], (documents) => {\n if (documents) {\n return typeof documents.Search !== \"undefined\"\n ? documents.Search\n : documents.length\n ? documents\n : [];\n }\n return [];\n});\n\nexport const getSortingType = (state) => state.search.sortingType;\nexport const searchSuggestions = createSelector(\n search,\n (search) => search.suggestions,\n);\n","import { api } from \"./../api\";\nimport { addQueryParams, getProxyUrl } from \"../utils\";\n\nexport function getSearch(params) {\n let proxyUrl = getProxyUrl(\"/Documents/documents/search\");\n proxyUrl = addQueryParams(proxyUrl, params);\n return api.get(proxyUrl);\n}\n\nexport function getSuggestions(params) {\n let proxyUrl = getProxyUrl(\"/Documents/documents/suggest\");\n proxyUrl = addQueryParams(proxyUrl, params);\n return api.get(proxyUrl);\n}\n","import { takeLatest, call, put, select, all, delay } from \"redux-saga/effects\";\nimport * as actions from \"./../state/search/actions\";\n\nimport history from \"../utils/history\";\nimport * as documentSelectors from \"../state/search/selectors\";\nimport { buildSearchQueryParams, sortingType } from \"../services/documents/url\";\nimport { sortBoxHidingDelay } from \"../utils/constants\";\n\nimport {\n getSearchCommittees,\n getSearchTypes,\n getSearchActions,\n} from \"../api/resources/values\";\nimport { getSearch, getSuggestions } from \"../api/resources/search\";\nimport { getSearchFilters } from \"../state/search/selectors\";\nimport { selectedNationalCommittee } from \"../state/national-committees/selectors\";\nimport { transformCommitteeName } from \"../utils/transform\";\n\nfunction* filterSearch(action) {\n try {\n if (\n (action && action.payload === \"POP\") ||\n (history && history.location.state && history.location.state.searching)\n ) {\n yield call(initSearchFilters);\n }\n\n const queryParams = buildSearchQueryParams();\n const response = yield call(getSearch, queryParams);\n\n if (response.status === 200) {\n yield put(actions.filterSearchSucceeded(response.data));\n } else {\n yield put(actions.filterSearchFailed(response.data.message));\n }\n } catch (error) {\n console.error(`filter search failed - ${error}`);\n }\n}\n\nexport function* fetchSearchFilters() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n\n const response = yield all([\n call(getSearchActions),\n call(getSearchTypes),\n call(getSearchCommittees, transformCommitteeName(committeeId)),\n ]);\n\n const filters = {\n actions: {\n results: response[0].data.map((action, index) => ({\n id: index,\n value: action.value,\n label: action.label,\n })),\n },\n types: {\n results: response[1].data.map((action, index) => ({\n id: index,\n value: action.value,\n label: action.label,\n })),\n },\n committees: {\n results: response[2].data.map((action, index) => ({\n id: index,\n value: action.value,\n label: action.label,\n })),\n },\n };\n const currentFilters = yield select(getSearchFilters);\n\n if (currentFilters.actions && currentFilters.actions.selected) {\n filters.actions.selected = currentFilters.actions.selected;\n }\n if (currentFilters.types && currentFilters.types.selected) {\n filters.types.selected = currentFilters.types.selected;\n }\n if (currentFilters.committees && currentFilters.committees.selected) {\n filters.committees.selected = currentFilters.committees.selected;\n }\n\n yield put(actions.fetchSearchFiltersSucceeded(filters));\n } catch (error) {\n console.error(`fetch search filters failed - ${error}`);\n }\n}\n\nfunction* addToSearchUrl() {\n try {\n const filters = yield select(documentSelectors.getSearchFilters);\n const currentPage = yield select(documentSelectors.getCurrentPage);\n const sortingType = yield select(documentSelectors.getSortingType);\n\n const url = new URLSearchParams();\n\n if (filters.title) {\n url.set(\"title\", filters.title);\n }\n\n if (filters.actions && filters.actions.selected) {\n const committee = filters.actions.results.find(\n (committee) => committee.name === filters.actions.selected,\n );\n if (committee) {\n url.set(\"action\", filters.actions.selected);\n }\n }\n\n if (filters.types && filters.types.selected) {\n const committee = filters.types.results.find(\n (committee) => committee.name === filters.types.selected,\n );\n if (committee) {\n url.set(\"type\", filters.types.selected);\n }\n }\n\n if (filters.committees && filters.committees.selected) {\n const committee = filters.committees.results.find(\n (committee) => committee.name === filters.committees.selected,\n );\n if (committee) {\n url.set(\"committee\", filters.committees.selected);\n }\n }\n\n if (sortingType) {\n url.set(\"sortingType\", sortingType);\n }\n\n url.set(\"currentPage\", currentPage);\n\n history.push(`${history.location.pathname}?${url.toString()}`);\n } catch (error) {\n console.error(`add to search url failed - ${error}`);\n }\n}\n\nfunction* handleSearchFilterChange(action) {\n try {\n if (action.payload && action.payload.changeFilter) {\n yield put(actions.setCurrentPage({ value: 1, changeFilter: true }));\n }\n } catch (error) {\n console.error(`search filter change failed - ${error}`);\n }\n}\n\nfunction* handleSearchPagination(action) {\n try {\n if (action.payload && action.payload.changePagination) {\n yield call(addToSearchUrl);\n }\n } catch (error) {\n console.error(`search pagination failed - ${error}`);\n }\n}\n\nfunction* handleSearchSorting(action) {\n try {\n if (action.payload && action.payload.changeSorting) {\n yield put(actions.setCurrentPage({ value: 1, changeFilter: true }));\n yield delay(sortBoxHidingDelay);\n yield call(addToSearchUrl);\n }\n } catch (error) {\n console.error(`search sorting failed - ${error}`);\n }\n}\n\nfunction* handleResetSearchFilters() {\n yield call(addToSearchUrl);\n yield call(initSearchFilters);\n}\n\nfunction* initSearchFilters() {\n try {\n yield put(actions.fetchSearchFiltersRequest());\n\n const query = new URLSearchParams(history.location.search);\n let isFiltered = false;\n\n if (query.has(\"type\")) {\n yield put(actions.selectSearchType({ value: query.get(\"type\") }));\n isFiltered = true;\n } else {\n yield put(actions.selectSearchType({ value: null }));\n }\n\n if (query.has(\"action\")) {\n yield put(actions.selectSearchAction({ value: query.get(\"action\") }));\n isFiltered = true;\n } else {\n yield put(actions.selectSearchAction({ value: null }));\n }\n\n if (query.has(\"committee\")) {\n yield put(\n actions.selectSearchCommittee({ value: query.get(\"committee\") }),\n );\n isFiltered = true;\n } else {\n yield put(actions.selectSearchCommittee({ value: null }));\n }\n\n if (query.has(\"title\")) {\n yield put(actions.setSearchTitle({ value: query.get(\"title\") }));\n isFiltered = true;\n } else {\n yield put(actions.setSearchTitle({ value: \"\" }));\n }\n\n if (isFiltered) {\n yield put(actions.setSearchIsFiltered({ value: true }));\n } else {\n yield put(actions.setSearchIsFiltered({ value: false }));\n }\n\n if (query.has(\"currentPage\")) {\n yield put(actions.setCurrentPage({ value: query.get(\"currentPage\") }));\n }\n\n if (query.has(\"sortingType\")) {\n yield put(actions.setSortingType({ value: query.get(\"sortingType\") }));\n } else {\n yield put(actions.setSortingType({ value: sortingType.date_descending }));\n }\n } catch (error) {\n console.error(`init search filters failed - ${error}`);\n }\n}\n\nfunction* initSearch() {\n yield call(initSearchFilters);\n yield call(filterSearch);\n}\n\nexport function* getSearchSuggestions(action) {\n const entry = action.payload;\n const queryParams = { query: entry };\n try {\n const response = yield call(getSuggestions, queryParams);\n\n if (response.status === 200) {\n yield put(actions.getSearchSuggestionsSucceeded(response.data));\n } else {\n yield put(actions.getSearchSuggestionsFailed(response.data));\n }\n } catch (error) {\n console.error(`get search suggestions failed - ${error}`);\n }\n}\n\nexport default function* searchSaga() {\n yield takeLatest(\n [\n actions.setSearchTitle,\n actions.selectSearchCommittee,\n actions.selectSearchAction,\n actions.selectSearchType,\n ],\n handleSearchFilterChange,\n );\n\n yield takeLatest(actions.addSearchFiltersToUrl, addToSearchUrl);\n yield takeLatest(actions.fetchSearchFiltersRequest, fetchSearchFilters);\n yield takeLatest(actions.initSearch, initSearch);\n yield takeLatest(actions.filterSearchRequest, filterSearch);\n yield takeLatest(actions.setCurrentPage, handleSearchPagination);\n yield takeLatest(actions.setSortingType, handleSearchSorting);\n yield takeLatest(actions.resetSearchFilters, handleResetSearchFilters);\n yield takeLatest(actions.getSearchSuggestions, getSearchSuggestions);\n}\n","import { api } from \"../api\";\nimport { transformCommitteeName } from \"../../utils/transform\";\nimport { addQueryParams, getProxyUrl } from \"../utils\";\n\nexport function getPublishedStandards(committeeId, params) {\n let proxyUrl = getProxyUrl(\n `/api/Standards/${transformCommitteeName(committeeId)}`,\n );\n proxyUrl = addQueryParams(proxyUrl, params);\n return api.get(proxyUrl);\n}\n","import history from \"../../utils/history\";\n\nexport const sortingType = {\n date_descending: \"date_desc\",\n date_ascending: \"date_asc\",\n};\n\nfunction mapStandardsSortTypeToUrlParam(type) {\n switch (type) {\n case sortingType.date_descending:\n return \"date_dsc\";\n case sortingType.date_ascending:\n return \"date_asc\";\n default:\n return \"date_dsc\";\n }\n}\n\nexport const buildStandardsQueryParams = () => {\n let queryParams = {};\n\n const query = new URLSearchParams(history.location.search);\n\n queryParams.sort = mapStandardsSortTypeToUrlParam(query.get(\"sortingType\"));\n\n queryParams.pageLength = 30;\n\n return queryParams;\n};\n","import { takeEvery, call, select, put } from \"redux-saga/effects\";\nimport { selectedNationalCommittee } from \"../state/national-committees/selectors\";\nimport * as actions from \"../state/standards/actions\";\nimport { getPublishedStandards } from \"../api/resources/standards\";\nimport { buildStandardsQueryParams } from \"../services/standards/url\";\n\nfunction* fetchPublishedStandards() {\n try {\n const committeeId = yield select(selectedNationalCommittee);\n\n const queryParams = buildStandardsQueryParams();\n const response = yield call(\n getPublishedStandards,\n committeeId,\n queryParams,\n );\n if (response && response.status === 200) {\n yield put(\n actions.getPublishedStandardsSucceeded({\n committee: committeeId,\n data: response.data,\n }),\n );\n } else {\n yield put(\n actions.getPublishedStandardsFailed(\n \"Failed to fetch published standards\",\n ),\n );\n }\n } catch (error) {\n console.error(`fetch published standards failed - ${error}`);\n }\n}\n\nexport default function* standardsSaga() {\n yield takeEvery(actions.GET_PUBLISHED_STANDARDS, fetchPublishedStandards);\n}\n","import {\n takeEvery,\n all,\n call,\n put,\n takeLatest,\n select,\n} from \"redux-saga/effects\";\nimport { NotificationsRepository } from \"../services/notifications/notificationsRepository\";\nimport * as actions from \"../state/documentSummary/actions\";\nimport * as selectors from \"../state/documentSummary/selectors\";\nimport * as documentActions from \"../state/document/actions\";\nimport * as documentsApi from \"../api/resources/document\";\n\nimport { SummaryFilesDownloadId } from \"../utils/constants\";\nimport { documentFilters } from \"../utils/documentUtils\";\n\nfunction* pullDocuments(uris) {\n var documentResponses = yield all(\n uris.map((d) => call(documentsApi.getDocumentSafeUrl, d.uri)),\n );\n return documentResponses.filter((d) => d != null).map((d) => d.data);\n}\n\nfunction* handleGenerateDocumentsSummary({ payload }) {\n const repository = new NotificationsRepository();\n const ids = payload;\n\n if (!ids) {\n yield put(actions.generateDocumentsSummaryFailed());\n return;\n }\n\n try {\n const details = yield all(\n ids.map((i) => repository.pullInternalDocumentSummation(i)),\n );\n const uris = details\n .map((d) => d.documents.map((d) => d.uri))\n .reduce((acc, cur) => [...acc, ...cur], []);\n const uniqueUris = [...new Set(uris)];\n const documentResponses = yield all(\n uniqueUris.map((uri) => call(documentsApi.getDocumentSafeUrl, uri)),\n );\n\n // var documents = documentResponses.filter(d => d != null).map(d => d.data);\n let documents = documentFilters.filterEmptyDocuments(documentResponses);\n documents = documents.map((d) => d.data);\n\n yield put(actions.generateDocumentsSummarySucceeded(documents));\n } catch (err) {\n console.error(err);\n yield put(actions.generateDocumentsSummaryFailed());\n }\n}\n\nfunction* handleDownloadDocumentsSummaryFiles() {\n const documentsUris = yield select(selectors.getFilesUrls);\n yield put(\n documentActions.downloadZipPackage({\n id: SummaryFilesDownloadId,\n packageName: \"documents.zip\",\n uris: documentsUris,\n }),\n );\n}\n\nexport default function* documentSummationSaga() {\n yield takeEvery(\n actions.generateDocumentsSummary,\n handleGenerateDocumentsSummary,\n );\n yield takeLatest(\n actions.downloadDocumentsSummaryFiles,\n handleDownloadDocumentsSummaryFiles,\n );\n}\n","import { takeEvery, call, put, all } from \"redux-saga/effects\";\nimport * as actions from \"../state/diagnostics/actions\";\nimport * as notificationActions from \"../state/notifications/actions\";\nimport * as documentActions from \"../state/document/actions\";\nimport { getBroadcastInformation } from \"../api/resources/notifications\";\n\nimport { isDiagnosticsEnabled } from \"../utils/diagnostics\";\n\nfunction* onFilterNotificationsSucceeded(action) {\n if (isDiagnosticsEnabled()) {\n yield all(\n action.payload.results.map((n) =>\n put(actions.pullNotificationBroadcastInfo(n.uri)),\n ),\n );\n }\n}\n\nfunction* pullNotificationBroadcastInfo(action) {\n const notificationId = action.payload;\n const response = yield call(getBroadcastInformation, notificationId);\n\n if (response.status === 200) {\n yield put(actions.pullNotificationBroadcastInfoSucceeded(response.data));\n } else {\n yield put(actions.pullNotificationBroadcastInfoFailed(notificationId));\n }\n}\n\nfunction* onPullDocumentsPageSucceeded(action) {\n if (isDiagnosticsEnabled()) {\n const documents = action.payload.results;\n yield all(\n documents.map((doc) =>\n put(actions.updateDocumentWithDiagnosticsData(doc)),\n ),\n );\n }\n}\n\nexport default function* diagnosticsSaga() {\n yield takeEvery(\n documentActions.pullDocumentsPageSucceeded,\n onPullDocumentsPageSucceeded,\n );\n\n yield takeEvery(\n notificationActions.pullNotificationsPageSucceeded,\n onFilterNotificationsSucceeded,\n );\n yield takeEvery(\n actions.pullNotificationBroadcastInfo,\n pullNotificationBroadcastInfo,\n );\n}\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { Helmet } from \"react-helmet\";\nimport { Provider } from \"react-redux\";\nimport { runSagas } from \"./sagas\";\nimport createStore from \"./utils/state\";\nimport { getAppLanguage } from \"./state/user/selectors\";\nimport { I18nextProvider } from \"react-i18next\";\nimport i18next from \"i18next\";\n\nclass PageLanguage extends React.Component {\n render() {\n return ;\n }\n}\n\nconst mapStateToProps = (state) => ({\n appLanguage: getAppLanguage(state),\n});\n\nconst PageLanguageWithState = connect(mapStateToProps, null)(PageLanguage);\n\nexport default ({ children }) => {\n const store = createStore();\n runSagas();\n\n return (\n \n \n {children}\n \n );\n};\n","import { runSaga } from \"../utils/saga\";\nimport { userDetailsSaga } from \"./user\";\nimport appSaga from \"./app\";\nimport { nationalCommitteesSaga } from \"./nationalCommittees\";\nimport membersSaga from \"./members\";\nimport settingsSaga from \"./settings\";\nimport documentSaga from \"./document\";\nimport deadlinesSaga from \"./deadlines\";\nimport votesSaga from \"./votes\";\nimport notificationsSaga from \"./notifications\";\nimport valuesSaga from \"./values\";\nimport meetingsSaga from \"./meetings\";\nimport searchSaga from \"./search\";\nimport commentsSaga from \"./comments\";\nimport committeesSaga from \"./committees\";\nimport standardsSaga from \"./standards\";\nimport documentsSummarySaga from \"./documentsSummary\";\nimport diagnosticsSaga from \"./diagnostics\";\n\nexport const runSagas = () => {\n runSaga(userDetailsSaga);\n runSaga(appSaga);\n runSaga(nationalCommitteesSaga);\n runSaga(membersSaga);\n runSaga(settingsSaga);\n runSaga(documentSaga);\n runSaga(deadlinesSaga);\n runSaga(votesSaga);\n runSaga(notificationsSaga);\n runSaga(meetingsSaga);\n runSaga(valuesSaga);\n runSaga(searchSaga);\n runSaga(commentsSaga);\n runSaga(committeesSaga);\n runSaga(standardsSaga);\n runSaga(documentsSummarySaga);\n runSaga(diagnosticsSaga);\n};\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./SearchBar.scss\";\n\nclass SearchBar extends Component {\n state = {\n value: \"\",\n };\n\n handleChange = (e) => {\n this.setState({\n value: e.target.value,\n });\n };\n\n handleButtonClick = (e) => {\n e.preventDefault();\n\n this.setState({\n value: \"\",\n });\n\n this.props.onClear();\n };\n\n onSubmit = (e) => {\n e.preventDefault();\n this.props.onSearch(this.state.value);\n };\n\n render() {\n const { value } = this.state;\n const { t } = this.props;\n\n return (\n \n
    \n \n \n \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(SearchBar);\n","import React, { Component } from \"react\";\nimport className from \"classnames\";\nimport { withTranslation } from \"react-i18next\";\nimport { Link, NavLink } from \"react-router-dom\";\nimport { isMobile } from \"react-device-detect\";\n\nclass Navigation extends Component {\n constructor(props) {\n super(props);\n\n this.navRef = React.createRef();\n }\n\n createLink = (link) => {\n const { t, match } = this.props;\n let urlPart = match.path !== \"/\" ? match.path + \"/\" : \"/\";\n urlPart = urlPart.replace(\"/user\", \"\");\n\n return (\n \n {t(link.name)}\n {/* TODO: Notification counters\n {element.counter ? (\n {this.setCounter(element.counter)}\n ) : null} */}\n \n );\n };\n\n createNavElement = (link, index) => {\n return (\n \n {this.createLink(link, index + 1)}\n \n );\n };\n\n scrollToNavLink = () => {\n if (!isMobile || !this.navRef.current) return;\n setTimeout(() => {\n const activeElement = this.navRef.current.querySelector(\".active\");\n this.navRef.current.scrollLeft = activeElement.offsetLeft;\n }, 150);\n };\n\n // side menu search need to be developed if needed\n sideMenuSearch = () => {\n return (\n
  • \n
    \n \n \n \n \n
    \n
  • \n );\n };\n\n render() {\n const { links } = this.props;\n\n isMobile && this.scrollToNavLink();\n\n return (\n
      \n {links.map(this.createNavElement)}\n {/* {this.sideMenuSearch()} */}\n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(Navigation);\n","export default (value) => {\n if (!value.length) return true;\n return /^[+]?[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s./0-9]*$/.test(value);\n};\n","export default (value) => {\n if (!value.length) return true;\n return (\n /^https:\\/\\/www\\.linkedin\\.com\\//.test(value) ||\n /^https:\\/\\/linkedin\\.com\\//.test(value)\n );\n};\n","import React from \"react\";\n\nexport default ({ children }) => {\n return
    {children}
    ;\n};\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { compose } from \"redux\";\nimport classNames from \"classnames\";\n\nclass FileInput extends Component {\n state = {\n focused: false,\n };\n\n resetInput(e) {\n e.target.value = null;\n }\n\n render() {\n const {\n onChangeHandler,\n isInline,\n isPrimaryButton,\n isSecondaryButton,\n isSmallButton,\n inputOptions,\n buttonText,\n isDisabled,\n id,\n } = this.props;\n const { focused } = this.state;\n\n return (\n \n \n {buttonText}\n this.setState({ focused: false })}\n onFocus={() => this.setState({ focused: true })}\n />\n \n \n );\n }\n}\n\nexport default compose(withTranslation(\"common\"))(FileInput);\n","import React from \"react\";\nimport { getAcronym } from \"../../../utils/transform\";\nimport classNames from \"classnames\";\n\nexport default ({ profileImage, name, isSmall }) => {\n return (\n
    \n {profileImage ? (\n {name}\n ) : (\n
    \n {getAcronym(name)}\n
    \n )}\n
    \n );\n};\n","import React, { Component, Fragment } from \"react\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport Cropper from \"react-cropper\";\nimport \"canvas-toBlob\";\n\nimport \"../Profile.scss\";\nimport \"../../../../../../styles/avatar.scss\";\nimport FileInput from \"../../../../../common/form/file-input/FileInput\";\nimport Avatar from \"../../../../../common/avatar/Avatar\";\n\nconst IMAGE_SIZE_LIMIT = 1024 * 1024 * 10;\n\nclass ProfileImage extends Component {\n state = {\n editMode: false,\n imageData: null,\n croppedImage: null,\n croppedBlob: null,\n };\n\n isVisible() {\n return this.props.photo || this.props.userName;\n }\n\n hasUploadedPhoto() {\n return this.props.photo || this.state.editMode;\n }\n\n cropImage() {\n try {\n let dataUrl = this.refs.cropper\n .getCroppedCanvas({\n width: 150,\n height: 150,\n imageSmoothingQuality: \"medium\",\n })\n .toDataURL();\n this.refs.cropper\n .getCroppedCanvas({\n width: 150,\n height: 150,\n imageSmoothingQuality: \"medium\",\n })\n .toBlob((blob) => {\n this.setState({\n croppedImage: dataUrl,\n croppedBlob: blob,\n });\n });\n } catch (err) {\n console.error(err);\n }\n }\n\n applyCropping = () => {\n const { croppedImage, croppedBlob } = this.state;\n this.props.onImageUpdated(croppedImage, croppedBlob);\n this.setState({\n editMode: false,\n imageData: null,\n croppedImage: null,\n croppedBlob: null,\n });\n };\n\n abortImageCrop = () => {\n this.setState({\n editMode: false,\n imageData: null,\n croppedImage: null,\n croppedBlob: null,\n });\n };\n\n validateFile(file) {\n this.props.updateMessageListState([\n {\n message: \"userProfile.validation.imageFileToLarge\",\n validate: (f) => f.size <= IMAGE_SIZE_LIMIT,\n value: file,\n },\n {\n message: \"userProfile.validation.notImageFile\",\n validate: (f) => f.type.startsWith(\"image\"),\n value: file,\n },\n ]);\n\n return file.size <= IMAGE_SIZE_LIMIT && file.type.startsWith(\"image\");\n }\n\n onChangePhoto = (event) => {\n const file = event.target.files[0];\n if (!this.validateFile(file)) return;\n\n const reader = new FileReader();\n reader.onload = () => {\n let dataURL = reader.result.replace(\n \";base64\",\n `;name=${file.name};base64`,\n );\n this.setState({\n imageData: dataURL,\n editMode: true,\n });\n };\n reader.readAsDataURL(file);\n };\n\n onRemovePhoto = () => {\n this.props.onRemoveImage();\n };\n\n renderPhoto() {\n const { photo, userName } = this.props;\n return ;\n }\n\n renderPhotoEditor() {\n return (\n \n );\n }\n\n renderButtons = () => {\n const { t } = this.props;\n return (\n
    \n {!this.state.editMode && (\n \n )}\n {this.state.editMode && (\n \n this.applyCropping()}\n >\n {t(\"userProfile.profilePhoto.setPhoto\")}\n \n {\n this.abortImageCrop();\n }}\n >\n {t(\"general.button.cancel\")}\n \n \n )}\n {!this.state.editMode && this.hasUploadedPhoto() && (\n {\n this.onRemovePhoto();\n }}\n >\n {t(\"userProfile.profilePhoto.deletePhoto\")}\n \n )}\n
    \n );\n };\n\n render() {\n return this.isVisible() ? (\n
    \n {this.state.editMode ? this.renderPhotoEditor() : this.renderPhoto()}\n {this.renderButtons()}\n
    \n ) : null;\n }\n}\n\nexport default compose(withTranslation(\"common\"))(ProfileImage);\n","const defaultPageTitle = \"Dansk Standard - Udvalgsportal\";\nconst separator = \" | \";\n\nexport const setPageTitle = (titleParts, committee) => {\n let committeePrefix = \"\";\n\n if (committee) {\n const trimmedCommittee = committee.startsWith(\"DS/\")\n ? committee.slice(3)\n : committee;\n committeePrefix = trimmedCommittee + \" - \";\n }\n\n document.title =\n committeePrefix + defaultPageTitle + separator + titleParts.join(separator);\n};\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport classNames from \"classnames\";\nimport \"./Profile.scss\";\nimport {\n updateUserProfile,\n updateUserPhoto,\n resetUserApiResponse,\n} from \"../../../../../state/user/actions\";\nimport {\n apiResponse,\n userDetails,\n updateInProgress,\n updatePhotoInProgress,\n} from \"../../../../../state/user/selectors\";\nimport validatePhone from \"../../../../../utils/validation/phoneNumberValidator\";\nimport validateLinkedIn from \"../../../../../utils/validation/linkedInProfileValidator\";\nimport FormMessageBox, {\n messageType,\n} from \"../../../../common/form/message-box/MessageBox\";\nimport PanelContainer from \"../../../../common/layout/PanelContainer\";\nimport ProfileImage from \"./components/ProfileImage\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\n\nclass UserProfile extends Component {\n state = {\n phone: this.props.user.phone || \"\",\n messages: [],\n linkedIn: this.props.user.linkedIn || \"\",\n photo: this.props.user.profileImage || \"\",\n imageFormData: \"\",\n };\n\n componentWillUnmount() {\n this.props.resetUserApiResponse();\n }\n\n componentDidUpdate(prevProps) {\n const { user } = this.props;\n if (prevProps.user !== this.props.user) {\n this.setState({\n phone: user.phone || \"\",\n linkedIn: user.linkedIn || \"\",\n photo: user.profileImage || user.photo || \"\",\n });\n }\n }\n\n updateMessageList = (messages, message, validate, value) => {\n let results = [...messages];\n\n // remove message from list if validation passed\n if (messages.some((msg) => msg === message) && validate(value)) {\n results = results.filter((msg) => msg !== message);\n }\n\n // add message to list if validation failed and there is no meesage like this\n if (!messages.some((msg) => msg === message) && !validate(value)) {\n results.push(message);\n }\n\n return results;\n };\n\n updateMessageListState = (validationTable) => {\n let validationMessages = this.state.messages;\n\n validationTable.forEach((validationSet) => {\n validationMessages = this.updateMessageList(\n validationMessages,\n validationSet.message,\n validationSet.validate,\n validationSet.value,\n );\n });\n\n this.setState({\n messages: validationMessages,\n });\n };\n\n onLinkedInChange = (event) => {\n this.props.resetUserApiResponse();\n\n this.setState({\n linkedIn: event.target.value,\n });\n };\n\n onPhoneChange = (event) => {\n this.props.resetUserApiResponse();\n\n this.setState({\n phone: event.target.value,\n });\n };\n\n saveUserDetails = (e) => {\n this.props.resetUserApiResponse();\n e.preventDefault();\n\n const { phone, linkedIn } = this.state;\n const userDetails =\n phone !== this.props.user.phone || linkedIn !== this.props.user.linkedIn\n ? { phone, linkedIn }\n : undefined;\n let messages = this.updateMessageList(\n this.state.messages,\n \"userProfile.validation.phoneNumber\",\n validatePhone,\n phone,\n );\n messages = this.updateMessageList(\n messages,\n \"userProfile.validation.linkedin\",\n validateLinkedIn,\n linkedIn,\n );\n\n this.setState({\n messages,\n });\n\n if (messages.length === 0 && userDetails) {\n this.props.updateUserProfile(userDetails);\n }\n };\n\n onImageUpdated = (img, imageBlob) => {\n const formData = new FormData();\n formData.append(\"file\", imageBlob);\n\n if (img !== this.props.user.profileImage) {\n this.props.updateUserPhoto({ data: formData });\n }\n\n this.setState({\n photo: img,\n imageFormData: formData,\n });\n };\n\n onRemoveImage = () => {\n this.props.updateUserPhoto({ data: null });\n\n this.setState({\n photo: null,\n imageFormData: null,\n });\n };\n\n render() {\n const { t } = this.props;\n const { name, email, company } = this.props.user;\n const { apiResponse, updateInProgress } = this.props;\n const { phone, linkedIn, messages, photo } = this.state;\n\n return (\n \n \n {setPageTitle([\"User Profile\"])}\n \n \n
    \n

    {t(\"userProfile.header.name\")}

    \n
    \n
    \n
    \n
    \n
    \n {t(\"userProfile.label.name\")}\n
    \n
    {name}
    \n\n
    \n {t(\"userProfile.label.email\")}\n
    \n
    {email}
    \n\n
    \n {t(\"userProfile.label.work\")}\n
    \n
    {company}
    \n
    \n\n
    \n {t(\"userProfile.changeContactInfo\")}\n
    \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n {t(\"general.button.save\")}\n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n updateUserProfile,\n updateUserPhoto,\n resetUserApiResponse,\n};\n\nconst mapStateToProps = (state) => ({\n user: userDetails(state),\n apiResponse: apiResponse(state),\n updateInProgress: updateInProgress(state),\n updatePhotoInProgress: updatePhotoInProgress(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(UserProfile);\n","export default (value) => {\n return value.length >= 8;\n};\n","export default ([value1, value2]) => {\n return value1 === value2;\n};\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport FormMessageBox, {\n messageType,\n} from \"../../../../common/form/message-box/MessageBox\";\nimport PanelContainer from \"../../../../common/layout/PanelContainer\";\nimport { apiResponse, userDetails } from \"../../../../../state/user/selectors\";\nimport {\n updateUserCredentials,\n resetUserApiResponse,\n} from \"../../../../../state/user/actions\";\nimport validateLength from \"../../../../../utils/validation/passwordLengthValidator\";\nimport validateEqual from \"../../../../../utils/validation/equalValidator\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\n\nclass UserCredentials extends Component {\n componentWillUnmount() {\n this.props.resetUserApiResponse();\n }\n\n state = {\n currentPassword: \"\",\n newPassword: \"\",\n newPassword2: \"\",\n messages: [],\n };\n\n clearForm = () => {\n this.form && this.form.reset();\n };\n\n validateFields = () => {\n const { currentPassword, newPassword, newPassword2 } = this.state;\n const currentPasswordValid = validateLength(currentPassword, 8);\n const newPasswordValid =\n validateLength(newPassword, 8) &&\n validateEqual([newPassword, newPassword2]);\n\n return currentPasswordValid && newPasswordValid;\n };\n\n updateMessageList = (messages, message, validate, value) => {\n let results = [...messages];\n\n // remove message from list if validation passed\n if (messages.some((msg) => msg === message) && validate(value)) {\n results = results.filter((msg) => msg !== message);\n }\n\n // add message to list if validation failed and there is no meesage like this\n if (!messages.some((msg) => msg === message) && !validate(value)) {\n results.push(message);\n }\n\n return results;\n };\n\n changeUserPassword = (e) => {\n e.preventDefault();\n if (this.validateFields()) {\n const { currentPassword, newPassword } = this.state;\n\n this.props.updateUserCredentials({ currentPassword, newPassword });\n\n this.setState({\n currentPassword: \"\",\n newPassword: \"\",\n newPassword2: \"\",\n messages: [],\n });\n\n this.clearForm();\n } else {\n const { currentPassword, newPassword, newPassword2, messages } =\n this.state;\n let newMessages = this.updateMessageList(\n messages,\n \"userProfile.validation.passwordLength\",\n validateLength,\n currentPassword,\n );\n newMessages = this.updateMessageList(\n newMessages,\n \"userProfile.validation.newPasswordLength\",\n validateLength,\n newPassword,\n );\n newMessages = this.updateMessageList(\n newMessages,\n \"userProfile.validation.passwordEqual\",\n validateEqual,\n [newPassword, newPassword2],\n );\n\n this.setState({\n messages: newMessages,\n });\n }\n };\n\n render() {\n const { messages } = this.state;\n const { t, apiResponse } = this.props;\n return (\n \n \n {setPageTitle([\"User Profile\", \"Credentials\"])}\n \n \n
    \n

    {t(\"userCredentials.header.name\")}

    \n
    \n
    \n
    (this.form = el)}>\n \n {!messages.length && (\n \n )}\n
    \n
    \n \n
    \n \n this.setState({ currentPassword: e.target.value })\n }\n />\n
    \n
    \n
    \n \n
    \n \n this.setState({ newPassword: e.target.value })\n }\n />\n

    \n {t(\"general.form.min8Chars\")}\n

    \n
    \n
    \n
    \n \n
    \n \n this.setState({ newPassword2: e.target.value })\n }\n />\n

    \n {t(\"general.form.min8Chars\")}\n

    \n
    \n
    \n \n {t(\"general.button.save\")}\n \n
    \n \n
    \n
    \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n updateUserCredentials,\n resetUserApiResponse,\n};\n\nconst mapStateToProps = (state) => ({\n user: userDetails(state),\n apiResponse: apiResponse(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(UserCredentials);\n","import React from \"react\";\n\nexport const Content = ({ children, className }) => {\n return (\n
    \n {children}\n
    \n );\n};\n","export const getEmailFrequencies = (state) =>\n state.settings.data.emailsFrequencies || [];\n","import classNames from \"classnames\";\nimport React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { getUserSetting } from \"../../../state/user/selectors\";\nimport { updateUserEmailSetting } from \"../../../state/user/actions\";\nimport { getEmailFrequencies } from \"../../../state/settings/selectors\";\n\nclass EmailNotificationSettings extends Component {\n state = {\n frequency: null,\n };\n\n componentDidMount() {\n const { userSetting, committeeId } = this.props;\n if (userSetting[committeeId]) {\n this.setState({\n frequency: userSetting[committeeId].emailSetting.toLowerCase(),\n });\n }\n }\n\n componentDidUpdate(prevProps) {\n const { userSetting, committeeId } = this.props;\n\n if (\n userSetting &&\n prevProps.userSetting[committeeId].emailSetting !==\n userSetting[committeeId].emailSetting\n ) {\n this.setState({\n frequency: userSetting[committeeId].emailSetting.toLowerCase(),\n });\n }\n }\n\n onEmailsFrequencyClick = (element) => {\n const { updateUserEmailSetting, committeeId } = this.props;\n\n this.setState({ frequency: element }, () => {\n updateUserEmailSetting({\n selectedCommittee: committeeId,\n emailSetting: element,\n });\n });\n };\n\n generateField = (element, index) => {\n const { frequency } = this.state;\n const { t, committeeId } = this.props;\n\n return (\n
    \n \n this.onEmailsFrequencyClick(element)}\n />\n \n \n \n {t(`settings.emailFrequency.${element}.label`)}\n \n \n {t(`settings.emailFrequency.${element}.description`)}\n \n \n
    \n );\n };\n\n render() {\n const { t, emailsFrequencies } = this.props;\n\n return (\n
    \n
    \n {emailsFrequencies.map((element, index) =>\n this.generateField(element.toLowerCase(), index),\n )}\n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n userSetting: getUserSetting(state),\n emailsFrequencies: getEmailFrequencies(state),\n});\n\nconst mapDispatchToProps = {\n updateUserEmailSetting: updateUserEmailSetting,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(EmailNotificationSettings);\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport \"./ToggleSwitch.scss\";\n\nclass ToggleSwitch extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isChecked: props.checked || false,\n };\n }\n\n handleToggle = () => {\n const { onChange } = this.props;\n const { isChecked } = this.state;\n\n this.setState({ isChecked: !isChecked }, () => {\n if (onChange) {\n onChange(this.state.isChecked);\n }\n });\n };\n\n render() {\n const { isChecked } = this.state;\n\n return (\n \n
    \n
    \n );\n }\n}\n\nToggleSwitch.propTypes = {\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nexport default ToggleSwitch;\n","import React, { Component } from \"react\";\nimport {\n turnOnCommittees,\n turnOffCommittees,\n} from \"../../../state/user/actions\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport \"./CommitteeSettingBlock.scss\";\nimport ToggleSwitch from \"../../common/toggle-switch/ToggleSwitch\";\nimport EmailNotificationSettings from \"./EmailNotificationSettings\";\n\nclass CommitteeSettingBlock extends Component {\n isChecked = (insideCommitteeId) => {\n const { turnedOffCommittees } = this.props;\n\n return !turnedOffCommittees.includes(insideCommitteeId);\n };\n\n onChangeToggle = (insideCommitteeId) => {\n const {\n committeeId,\n turnOffCommittee,\n turnOnCommittee,\n turnedOffCommittees,\n } = this.props;\n\n if (!this.isChecked(insideCommitteeId)) {\n turnOnCommittee({\n selectedCommittee: committeeId,\n turnedOffCommittees: turnedOffCommittees.filter(\n (element) => element !== insideCommitteeId,\n ),\n });\n } else {\n turnOffCommittee({\n selectedCommittee: committeeId,\n turnedOffCommittees: turnedOffCommittees.concat(insideCommitteeId),\n });\n }\n };\n\n render() {\n const { committeeId, insideCommittees } = this.props;\n\n return (\n
    \n {committeeId}\n
    \n \n
      \n {insideCommittees.map((insideCommittee, index) => {\n return (\n
    • \n \n {insideCommittee.name}\n

      \n {insideCommittee.description}\n

      \n
      \n this.onChangeToggle(insideCommittee.name)}\n />\n
    • \n );\n })}\n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = {};\n\nconst mapDispatchToProps = {\n turnOffCommittee: turnOffCommittees,\n turnOnCommittee: turnOnCommittees,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(null, mapDispatchToProps),\n)(CommitteeSettingBlock);\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { rawUserNationalCommittees } from \"../../../state/national-committees/selectors\";\nimport { userSettings } from \"../../../state/user/selectors\";\nimport { withTranslation } from \"react-i18next\";\nimport CommitteeSettingBlock from \"./CommitteeSettingBlock\";\n\nclass CommitteeSettings extends Component {\n generateCommitteeSettingBlock = (committeeId) => {\n const { rawUserNationalCommittees, userSettings } = this.props;\n\n const disabledInsideCommittees = userSettings[committeeId]\n ? userSettings[committeeId].turnedOffCommittees\n : [];\n const insideCommittees =\n rawUserNationalCommittees[committeeId][\"internationalCommittees\"] ?? [];\n\n return (\n \n );\n };\n\n render() {\n const { rawUserNationalCommittees } = this.props;\n\n const userNationalCommitteeKeys = Object.keys(\n rawUserNationalCommittees,\n ).sort();\n\n return (\n
    \n {userNationalCommitteeKeys.map(this.generateCommitteeSettingBlock)}\n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n rawUserNationalCommittees: rawUserNationalCommittees(state),\n userSettings: userSettings(state),\n});\n\nconst mapDispatchToProps = {};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(CommitteeSettings);\n","import React, { Component, Fragment } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\nimport { withTranslation } from \"react-i18next\";\nimport { setPageTitle } from \"../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\nimport EmailNotificationSettings from \"./EmailNotificationSettings\";\nimport CommitteeSettings from \"./CommitteeSettings\";\nimport { Route, Switch } from \"react-router-dom\";\n\nclass Settings extends Component {\n render() {\n const { t, selectedNationalCommittee } = this.props;\n\n return (\n \n \n {setPageTitle([\"Settings\"], selectedNationalCommittee)}\n \n
    \n

    {t(\"navigation.page.settings\")}

    \n
    \n\n
    \n
    \n \n {t(\"settings.emailFrequency.label.emailSettings\")}\n \n \n {t(\"settings.emailFrequency.label.info\")}\n \n
    \n \n {/* TODO: PLAN 2 */}\n {/* \n \n \n */}\n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\n// const mapDispatchToProps = {\n// };\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, null),\n)(Settings);\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Route } from \"react-router-dom\";\n\nimport UserProfile from \"./tabs/profile/Profile\";\nimport UserCredentials from \"./tabs/credentials/Credentials\";\nimport { getUserDetails } from \"../../../state/user/actions\";\nimport { userFullName } from \"../../../state/user/selectors\";\n\nimport { Content } from \"../../common/layout/Content\";\nimport Settings from \"../settings/Settings\";\nimport { setHeaderTitle } from \"../../../state/header/actions\";\n\nexport const UserPageLinks = [\n {\n name: \"userProfile.navigation.tab.profile\",\n url: \"profile\",\n component: UserProfile,\n },\n {\n name: \"userProfile.navigation.tab.credentials\",\n url: \"credentials\",\n component: UserCredentials,\n },\n {\n name: \"userProfile.navigation.tab.settings\",\n url: \"settings\",\n component: Settings,\n },\n];\n\nclass User extends Component {\n constructor(props) {\n super(props);\n props.getUserDetails();\n }\n\n componentDidUpdate(prevProps) {\n const { setHeaderTitle } = this.props;\n setHeaderTitle(\"User Accounts\");\n }\n\n generateRoutes = (element, index) => {\n const { match } = this.props;\n return (\n \n );\n };\n\n render() {\n return (\n \n \n {UserPageLinks.map(this.generateRoutes)}\n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n getUserDetails,\n setHeaderTitle,\n};\n\nconst mapStateToProps = (state) => ({\n name: userFullName(state),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(User);\n","export const findUserVote = (votes, deadlineUri, userId) => {\n if (votes == null && typeof votes == \"undefined\") {\n return;\n }\n\n const deadlineVotes = votes[deadlineUri];\n if (deadlineVotes == null && typeof deadlineVotes == \"undefined\") return;\n\n const userVote = deadlineVotes.find((d) => d.userID == userId);\n if (userVote == null && typeof userVote == \"undefined\") return;\n\n return userVote.vote.value;\n};\n","import React, { PureComponent, Component, createRef } from \"react\";\nimport { Waypoint } from \"react-waypoint\";\nimport PropTypes from \"prop-types\";\nimport InfiniteScroller from \"react-infinite-scroller\";\n\nexport class InfiniteWaypointScroller extends Component {\n _handleEnter = () => {\n if (!this.props.isLoading) {\n this.props.loadMore();\n }\n };\n\n render() {\n const loaderClass = this.props.loaderClass || \"InfiniteScroll__loader\";\n\n return (\n <>\n {this.props.children}\n {this.props.hasMore && (\n \n
    {this.props.loader}
    \n
    \n )}\n \n );\n }\n}\n\nexport class InfiniteScrollWrapper extends PureComponent {\n infiniteScrollRef = createRef();\n\n scrollToTop = () => {\n const scroll = this.infiniteScrollRef.current.getParentElement(\n this.infiniteScrollRef.current.scrollComponent,\n );\n scroll.scrollTop = 0;\n };\n\n reset() {\n if (this.infiniteScrollRef && this.infiniteScrollRef.current) {\n this.infiniteScrollRef.current.pageLoaded =\n this.infiniteScrollRef.current.props.pageStart;\n this.scrollToTop();\n this.props.loadMore(this.props.pageStart);\n }\n }\n\n render() {\n return (\n \n );\n }\n}\n\nInfiniteScrollWrapper.defaultProps = {\n pageStart: 1,\n};\n\nInfiniteScrollWrapper.propTypes = {\n pageStart: PropTypes.number,\n};\n","import React, {\n Component,\n Children,\n isValidElement,\n cloneElement,\n} from \"react\";\nimport { NavLink } from \"react-router-dom\";\nimport classNames from \"classnames\";\n\nexport class SlimTabsSwitcher extends Component {\n state = {\n internalTabState: \"\",\n };\n\n onTabSelected = (name) => {\n if (this.props.enabled) {\n if (this.props.onTab) {\n this.props.onTab(name);\n }\n\n if (this.props.useInternalState) {\n this.setState({ internalTabState: name });\n }\n }\n };\n\n render() {\n const { children, enabled } = this.props;\n const selectedTab =\n (this.props.useInternalState\n ? this.state.internalTabState\n : this.props.selectedTab) || this.props.defaultTab;\n\n const childrenWithProps = Children.map(children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child, {\n isActive: selectedTab === child.props.name,\n onTabSelected: this.onTabSelected,\n });\n }\n });\n\n return (\n \n {childrenWithProps}\n \n );\n }\n}\n\nexport class SlimTab extends Component {\n onTabSelected = (e) => {\n e.preventDefault();\n this.props.onTabSelected(this.props.name);\n };\n\n render() {\n const { label, isActive } = this.props;\n return (\n
  • \n \n {label}\n \n
  • \n );\n }\n}\n\nexport class SlimTabsNavigator extends Component {\n render() {\n const { children, enabled } = this.props;\n\n return (\n \n {children}\n \n );\n }\n}\n\nexport class SlimTabLink extends Component {\n render() {\n const { label, exact, to } = this.props;\n return (\n
  • \n \n {label}\n \n
  • \n );\n }\n}\n","import { voteType } from \"../../utils/constants\";\n\nexport function calculateReviewVotes(voteStats) {\n if (!voteStats || voteStats.totalReview === 0) {\n return voteType.abstain;\n }\n\n const hasAbstaiVotes = voteStats.abstain > 0;\n const hasConfirmVotes = voteStats.confirm > 0;\n const hasReviseVotes = voteStats.revise > 0;\n const hasWithdrawVotes = voteStats.withdraw > 0;\n\n const hasOnlyAbstaiVotes =\n hasAbstaiVotes && !hasConfirmVotes && !hasReviseVotes && !hasWithdrawVotes;\n const hasOnlyConfirmVotes =\n hasConfirmVotes && !hasReviseVotes && !hasWithdrawVotes;\n const hasOnlyReviseVotes =\n !hasConfirmVotes && hasReviseVotes && !hasWithdrawVotes;\n const hasOnlyWithdrawVotes =\n !hasConfirmVotes && !hasReviseVotes && hasWithdrawVotes;\n\n if (hasOnlyAbstaiVotes) {\n return voteType.abstain;\n }\n\n if (hasOnlyConfirmVotes) {\n return voteType.confirm;\n }\n\n if (hasOnlyReviseVotes) {\n return voteType.revise;\n }\n\n if (hasOnlyWithdrawVotes) {\n return voteType.withdraw;\n }\n\n return voteType.abstain;\n}\n\nexport function calculateRegularVotes(voteStats) {\n if (!voteStats || voteStats.total === 0) {\n return voteType.abstain;\n }\n\n const isYesInMajority =\n voteStats.yes > voteStats.no && voteStats.yes >= voteStats.abstain;\n const isNoInMajority =\n voteStats.no > voteStats.yes && voteStats.no >= voteStats.abstain;\n const isAbstainInMajority =\n voteStats.abstain > voteStats.no && voteStats.abstain > voteStats.yes;\n\n if (isAbstainInMajority) {\n if (voteStats.no === 0 && voteStats.yes > 0) {\n return voteType.yes;\n }\n\n if (voteStats.yes === 0 && voteStats.no > 0) {\n return voteType.no;\n }\n\n return voteType.abstain;\n }\n\n if (isYesInMajority) {\n if (voteStats.no === 0) {\n return voteType.yes;\n }\n\n return voteType.abstain;\n }\n\n if (isNoInMajority) {\n if (voteStats.yes === 0) {\n return voteType.no;\n }\n\n return voteType.abstain;\n }\n\n return voteType.abstain;\n}\n\nexport function officialVoteCalculator(voteStats, inReview) {\n if (inReview) {\n return calculateReviewVotes(voteStats);\n }\n\n return calculateRegularVotes(voteStats);\n}\n","import { createSelector } from \"reselect\";\nimport { getDeadlineUri, getDeadline } from \"../deadlines/selectors\";\nimport { officialVoteCalculator } from \"../../services/votes/officialVoteCalculator\";\nimport { voteType, reviewStageValue } from \"../../utils/constants\";\n\nexport const votes = (state) => state.votes.data;\nconst votesOverrides = (state) => state.votes.overrides;\n\nexport const voteStatistics = (state) => state.votes.statistics;\nexport const isUpdatingVote = (state) => state.votes.updateVoteInProgress;\n\nexport const voteDetails = createSelector(\n [votes, getDeadlineUri],\n (votes, uri) => (votes[uri] ? votes[uri] : []),\n);\n\nexport const voteStats = createSelector(\n [voteStatistics, getDeadlineUri],\n (voteStatistics, uri) => voteStatistics[uri],\n);\n\nexport const officialVote = createSelector(\n [voteStatistics, votesOverrides, getDeadline],\n (voteStatistics, votesOverrides, deadline) => {\n if (votesOverrides[deadline.uri] && votesOverrides[deadline.uri].vote) {\n return voteType[votesOverrides[deadline.uri].vote.toLowerCase()];\n }\n\n return officialVoteCalculator(\n voteStatistics[deadline.uri],\n deadline.stage === reviewStageValue,\n );\n },\n);\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nexport default ({\n isPinned,\n children,\n className,\n withOffset,\n innerRef,\n resourceType,\n resourceId,\n}) => {\n return (\n \n {isPinned && (\n
    \n \n
    \n )}\n\n {children}\n \n );\n};\n","import React from \"react\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./DateThumbnail.scss\";\nimport { connect } from \"react-redux\";\nimport { getAppLocale } from \"../../../state/user/selectors\";\n\nclass DateThumbnail extends React.Component {\n state = {\n day: \"\",\n month: \"\",\n year: \"\",\n showYear: false,\n };\n\n componentDidMount() {\n this.props.date && this.setDate();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.date !== this.props.date) {\n this.setDate();\n }\n }\n\n setDate() {\n const { t, date } = this.props;\n const day = date.getDate();\n const month = t(`date.months.${date.getMonth()}`)\n .substring(0, 3)\n .toUpperCase();\n const year = date.getFullYear();\n const showYear = new Date().getFullYear() !== year;\n this.setState({ day, month, year, showYear });\n }\n\n getClassNames = () => {\n const { showYear } = this.state;\n const { type } = this.props;\n if (type === \"big\") {\n return classNames(\"date-thumbnail\", \"date-thumbnail--big\", {\n \"date-thumbnail--big--extended\": showYear,\n });\n }\n\n return classNames(\"date-thumbnail\", {\n \"date-thumbnail--extended\": showYear,\n });\n };\n\n render() {\n const { day, month, year, showYear } = this.state;\n\n return (\n
    \n {day}\n {month}\n {showYear && {year}}\n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n locale: getAppLocale(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps),\n)(DateThumbnail);\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport ActionBox from \"../action-box/ActionBox\";\nimport Toggler from \"../toggler/Toggler\";\nimport { withTranslation } from \"react-i18next\";\nimport { isCommitteeAlreadyTurnedOff } from \"../../../state/user/selectors\";\nimport { turnOnOffCommittee } from \"../../../state/user/actions\";\nimport ReadonlyGuard from \"../../common/readonly-guard/ReadonlyGuard\";\n\nclass CardMenu extends Component {\n turnOffCommitteeClick = () => {\n const { committee, turnOnOffCommittee, callbackAction } = this.props;\n turnOnOffCommittee({ committee, callbackAction });\n };\n\n renderAction(action, index) {\n return (\n
  • \n \n {action.label}\n \n
  • \n );\n }\n\n render() {\n const { committee, t, isCommitteeAlreadyTurnedOff, customActions } =\n this.props;\n\n return (\n
    \n this.setState({ actionBoxOpened: false })}\n >\n \n \n
  • \n \n {isCommitteeAlreadyTurnedOff\n ? t(\"card.turnOn\", { committee })\n : t(\"card.turnOff\", { committee })}\n \n
  • \n {customActions && customActions.map(this.renderAction)}\n
    \n
    \n \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n turnOnOffCommittee,\n};\n\nconst mapStateToProps = (state, props) => ({\n isCommitteeAlreadyTurnedOff: isCommitteeAlreadyTurnedOff(\n state,\n props.committee,\n ),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(CardMenu);\n","import React from \"react\";\nimport \"./GrayboxLabel.scss\";\n\nexport default ({ children }) => {\n return
    {children}
    ;\n};\n","import React, { Component } from \"react\";\nimport DateThumbnail from \"../date-thumbnail/DateThumbnail\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport { Trans, withTranslation } from \"react-i18next\";\nimport CardMenu from \"./CardMenu\";\nimport GrayboxLabel from \"../label/GrayboxLabel\";\n\nclass CardHeader extends Component {\n renderLabel = () => {\n const { headerLabelText, isDeadlineRegistered, t } = this.props;\n\n return (\n
    \n {headerLabelText && (\n \n \n {headerLabelText}\n \n \n )}\n {isDeadlineRegistered && (\n \n \n {t(\"card.registered\")}\n \n )}\n
    \n );\n };\n\n render() {\n const {\n committee,\n committeeName,\n date,\n uri,\n title,\n notificationId,\n callbackAction,\n customActions,\n } = this.props;\n\n return (\n
    \n \n
    \n {this.renderLabel()}\n \n {committee}\n {committeeName && ` - ${committeeName}`}\n \n \n {title}\n \n
    \n \n
    \n );\n }\n}\n\nexport default withRouter(withTranslation(\"common\")(CardHeader));\n","import React from \"react\";\n\nexport const targetBlankDecorator = (href, text, key) => (\n \n {text}\n \n);\n","import React from \"react\";\nimport Linkify from \"react-linkify\";\nimport { targetBlankDecorator } from \"../../../utils/LinkifyDecorator\";\n\nexport default ({ description }) => {\n return (\n \n \n \n );\n};\n","import React, { Component } from \"react\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport { HashLink } from \"react-router-hash-link\";\nimport { withTranslation } from \"react-i18next\";\n\nclass CardAttachments extends Component {\n render() {\n const { references, comments, messages, children, uri, t } = this.props;\n\n return references || comments || messages || children ? (\n
    \n {references && references > 0 ? (\n \n \n {references === 1\n ? t(\"card.referenceCounter\")\n : t(\"card.referencesCounter\", { count: references })}\n \n ) : null}\n {comments && comments > 0 ? (\n \n \n {comments === 1\n ? t(\"card.commentCounter\")\n : t(\"card.commentsCounter\", { count: comments })}\n \n ) : null}\n {/* { messages && messages > 0 ?\n \n \n {messages === 1 ? t(\"card.messageCounter\") : t(\"card.messagesCounter\", {count: messages})}\n\n : null\n } */}\n {this.props.children}\n
    \n ) : null;\n }\n}\n\nexport default withRouter(withTranslation(\"common\")(CardAttachments));\n","import React, { Component } from \"react\";\nimport { withRouter } from \"react-router-dom\";\nimport { withTranslation } from \"react-i18next\";\nimport className from \"classnames\";\nimport { reviewStageValue, voteType } from \"../../../../utils/constants\";\n\nclass VoteAttachment extends Component {\n render() {\n const { stage, votes, userVote, message } = this.props;\n\n if (!votes) return null;\n\n const markVote = (type) => ({ \"card__votes--mark\": userVote === type });\n\n if (stage === reviewStageValue) {\n return (\n
    \n {message && {message}}\n \n

    {votes.confirm}

    \n
    \n \n

    {votes.revise}

    \n \n \n

    {votes.withdraw}

    \n \n \n

    {votes.abstain}

    \n \n \n );\n }\n\n return (\n
    \n {message && {message}}\n \n

    {votes.yes}

    \n
    \n \n

    {votes.no}

    \n \n \n

    {votes.abstain}

    \n \n \n );\n }\n}\n\nexport default withRouter(withTranslation(\"common\")(VoteAttachment));\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport { withTranslation } from \"react-i18next\";\n\nimport Card from \"../../../../common/card/Card\";\nimport CardHeader from \"../../../../common/card/CardHeader\";\nimport CardContent from \"../../../../common/card/CardContent\";\nimport CardAttachments from \"../../../../common/card/CardAttachments\";\nimport VotesAttachment from \"../../../../common/card/Attachments/VotesAttachment\";\nimport { emptyVotes } from \"../../../../../utils/constants\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\n\nexport const calculateVotableDate = (t, date) => {\n const today = new Date();\n\n // Is the deadline date in the past?\n if (date < today) return {};\n\n const d14 = new Date(date);\n d14.setDate(d14.getDate() - 14);\n\n const month = t(`date.months.${d14.getMonth()}`).replace(/\\b\\w/g, (char) =>\n char.toUpperCase(),\n );\n const day = d14.getDate();\n const year = d14.getFullYear();\n const showYear = today.getFullYear() !== year;\n\n return {\n showLabel: true,\n showYear,\n labelYear: year,\n labelMonth: month,\n labelDate: day,\n };\n};\n\nclass DeadlineCard extends React.Component {\n state = {\n showLabel: false,\n showYear: false,\n labelYear: \"\",\n labelMonth: \"\",\n labelDate: \"\",\n };\n\n componentDidMount() {\n const {\n t,\n deadline: { date },\n } = this.props;\n\n this.setState({ ...calculateVotableDate(t, date) });\n }\n\n render() {\n const {\n t,\n deadline: {\n id,\n uri,\n comments,\n committee,\n committeeName,\n date,\n title,\n description,\n references,\n enableVoting,\n closedForComments,\n isRegistered,\n },\n stage,\n callbackAction,\n userVote,\n customActions,\n } = this.props;\n\n const { showLabel, showYear, labelYear, labelMonth, labelDate } =\n this.state;\n\n const votes = this.props.votes || (enableVoting && emptyVotes);\n const dialogUrl = generateDialogLink(DIALOG_TYPES.DEADLINE_DETAILS, uri);\n const hasUserVoted = typeof userVote != \"undefined\";\n\n const headerLabelText = showLabel\n ? t(\"deadlines.details.cards.label\", {\n date: labelDate,\n month: labelMonth,\n }) + (showYear ? `, ${labelYear}` : \"\")\n : \"\";\n\n return (\n \n \n {stage && (\n \n )}\n\n \n \n new Date()\n ? t(\"deadlines.details.votes.haveNotVotedMessage\")\n : \"\"\n }\n />\n \n \n );\n }\n}\n\nexport default withTranslation(\"common\")(DeadlineCard);\n","import React, { Component, Fragment } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { setPageTitle } from \"../../../utils/pageTitle\";\nimport { findUserVote } from \"../../../services/votes/userVote\";\n\nimport { InfiniteScrollWrapper } from \"../../common/infinite-scroll-wrapper/InfiniteScrollWrapper\";\nimport Loader from \"../../common/loader/Loader\";\nimport PanelContainer from \"../../common/layout/PanelContainer\";\nimport { SlimTabsSwitcher, SlimTab } from \"../../common/slim-tabs/SlimTabs\";\nimport { voteStatistics, votes } from \"../../../state/votes/selectors\";\nimport { getDeadlineStagesSelectItems } from \"../../../state/values/selectors\";\nimport { userId } from \"../../../state/user/selectors\";\n\nimport {\n getDeadlines,\n isFetchingDeadlines,\n hasMoreDeadlinesToLoad,\n getDeadlinesFilters,\n} from \"../../../state/deadlines/selectors\";\n\nimport {\n initAggDeadlines,\n pullAggDeadlinesPage,\n resetDeadlinesFilters,\n setDeadlinesFilterValue,\n} from \"../../../state/deadlines/actions\";\n\nimport DeadlineCard from \"./../deadlines/components/deadline-card/DeadlineCard\";\nimport { TIMEFRAME } from \"../../../api/utils\";\n\nconst SHOW_UPCOMING_DEADLINES = \"_show_upcoming\";\nconst SHOW_PAST_DEADLINES = \"_show_past\";\n\nclass AggDeadlines extends Component {\n componentDidMount() {\n this.props.resetDeadlinesFilters();\n this.props.initAggDeadlines();\n }\n\n handleDeadlinesUpcomingFilter = (selected) => {\n this.props.setDeadlinesFilterValue({\n timeframe:\n selected === SHOW_PAST_DEADLINES ? TIMEFRAME.PAST : TIMEFRAME.FUTURE,\n month: null,\n });\n this.props.initAggDeadlines();\n };\n\n loadMoreItems = () => {\n this.props.pullAggDeadlinesPage();\n };\n\n getStageLabel(stages, value) {\n var stage = value ? stages.find((s) => s.value === `${value}`) : null;\n return stage ? stage.label : null;\n }\n\n renderItems() {\n const { t, i18n, deadlines, voteStatistics } = this.props;\n const { hasMoreDeadlinesToLoad, isFetchingDeadlines, userId, votes } =\n this.props;\n const stages = this.props.deadlineStages;\n\n if (\n !hasMoreDeadlinesToLoad &&\n !isFetchingDeadlines &&\n (!Object.keys(deadlines) || !Object.keys(deadlines).length)\n ) {\n return (\n \n {t(\"general.content.nothingToShow\")}\n

    \n );\n }\n\n return Object.keys(deadlines).map((group, index) => {\n const groupHeading = new Date(group)\n .toLocaleDateString(i18n.language, { month: \"long\", year: \"numeric\" })\n .toUpperCase();\n return (\n \n {groupHeading}\n {deadlines[group].map((deadline, i) => (\n \n ))}\n \n );\n });\n }\n\n render() {\n const { t, filters, isFetchingDeadlines } = this.props;\n const items = this.renderItems();\n return (\n <>\n \n {setPageTitle([\"All Deadlines\"])}\n \n \n
    \n

    {t(\"deadlines.header.name\")}

    \n
    \n
    \n
    \n {t(\"deadlines.pageInfo\")}\n
    \n \n \n \n \n
    \n
    \n
    \n }\n >\n {items}\n \n
    \n
    \n
    \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isFetchingDeadlines: isFetchingDeadlines(state),\n hasMoreDeadlinesToLoad: hasMoreDeadlinesToLoad(state),\n filters: getDeadlinesFilters(state),\n deadlines: getDeadlines(state),\n votes: votes(state),\n voteStatistics: voteStatistics(state),\n deadlineStages: getDeadlineStagesSelectItems(state),\n userId: userId(state),\n});\n\nconst mapDispatchToProps = {\n initAggDeadlines,\n pullAggDeadlinesPage,\n resetDeadlinesFilters,\n setDeadlinesFilterValue,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(AggDeadlines);\n","import React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport FileInput from \"../../../../common/form/file-input/FileInput\";\n\nconst AddModal = (props) => {\n const { cancelHandler, submitHandler, id, isSpecial } = props;\n const { t } = useTranslation(\"common\");\n\n const [isAwaiting, setIsAwaiting] = useState(false);\n const [inputTitleValue, setInputTitleValue] = useState(\"\");\n const [inputDescriptionValue, setInputDescriptionValue] = useState(\"\");\n const [file, setFile] = useState({});\n\n const isDisabled =\n inputTitleValue.length < 1 ||\n inputDescriptionValue.length < 1 ||\n !file.name;\n\n const handleSubmit = () => {\n if (!isAwaiting) {\n submitHandler({\n id,\n title: inputTitleValue,\n description: inputDescriptionValue,\n file,\n isSpecial,\n cancelHandler,\n });\n setIsAwaiting(true);\n }\n };\n\n return (\n \n
    \n

    {t(\"general.button.addDocument\")}

    \n
    \n \n
    \n \n setInputTitleValue(e.target.value)}\n />\n
    \n setInputDescriptionValue(e.target.value)}\n />\n setFile(e.target.files[0])}\n isInline={true}\n isPrimaryButton={true}\n isSmallButton={true}\n isDisabled={false}\n buttonText={t(\"general.button.upload\")}\n id=\"upload-document\"\n />\n \n
    \n \n \n {t(\"about.modals.addNewDocument\")}\n \n
    \n
    \n );\n};\n\nexport default AddModal;\n","import React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ModalWrapper from \"../../../../../common/modal-wrapper/ModalWrapper\";\nimport DeleteModal from \"../../../../documents/components/modal-content/DeleteModal\";\nimport classNames from \"classnames\";\n\nconst dataURItoBlob = (dataURI) => {\n const byteString = window.atob(dataURI);\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const int8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n int8Array[i] = byteString.charCodeAt(i);\n }\n const blob = new Blob([int8Array]);\n return blob;\n};\n\nconst TableRow = ({\n id,\n file,\n fileName,\n title,\n description,\n isEditing,\n isSpecial,\n onDocumentDelete,\n onDocumentUpdate,\n}) => {\n const [isDeleting, setIsDeleting] = useState(false);\n const [isEditingRow, setIsEditingRow] = useState(false);\n const [inputTitleValue, setInputTitleValue] = useState(title);\n const [inputDescriptionValue, setInputDescriptionValue] =\n useState(description);\n\n const { t } = useTranslation(\"common\");\n\n const isDisabled =\n inputTitleValue.length < 1 || inputDescriptionValue.length < 1;\n\n const handleDocumentDelete = () => {\n setIsDeleting(false);\n onDocumentDelete(id, isSpecial);\n };\n\n const handleDocumentUpdate = () => {\n setIsEditingRow(false);\n onDocumentUpdate({\n title: inputTitleValue,\n description: inputDescriptionValue,\n id,\n isSpecial,\n });\n };\n\n const handleDownload = () => {\n const blob = dataURItoBlob(file);\n const link = document.createElement(\"a\");\n\n link.href = URL.createObjectURL(blob);\n link.download = fileName;\n link.click();\n };\n\n return (\n \n \n {isEditingRow ? (\n
    \n \n setInputTitleValue(e.target.value)}\n />\n
    \n ) : (\n \n )}\n \n \n {isEditingRow ? (\n
    \n \n setInputDescriptionValue(e.target.value)}\n />\n
    \n ) : (\n

    {inputDescriptionValue}

    \n )}\n {isEditing && !isEditingRow && (\n
    \n setIsEditingRow(true)}\n >\n {t(\"general.button.edit\")}\n \n setIsDeleting(true)}\n >\n {t(\"general.button.delete\")}\n \n
    \n )}\n {isEditingRow && (\n
    \n \n {t(\"general.button.save\")}\n \n
    \n )}\n {isDeleting && (\n setIsDeleting(false)}\n disableSlide\n >\n setIsDeleting(false)}\n submitHandler={() => handleDocumentDelete()}\n />\n \n )}\n \n \n );\n};\n\nexport default TableRow;\n","import React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport AddModal from \"../add-modal/AddModal\";\nimport Row from \"./table-row/TableRow\";\n\nconst AboutTable = ({\n list,\n isEditing,\n isSpecial,\n onDocumentAdd,\n onDocumentDelete,\n onDocumentUpdate,\n}) => {\n const [isAdding, setIsAdding] = useState(false);\n const { t } = useTranslation(\"common\");\n\n return (\n <>\n
    \n
    \n
    \n \n \n {list.map((item) => (\n \n ))}\n \n
    \n
    \n
    \n
    \n {isEditing && (\n
    \n setIsAdding(true)}\n >\n {t(\"general.button.addDocument\")}\n \n
    \n )}\n {isAdding && (\n setIsAdding(false)}\n disableSlide\n >\n setIsAdding(false)}\n submitHandler={onDocumentAdd}\n isSpecial={isSpecial}\n />\n \n )}\n \n );\n};\n\nexport default AboutTable;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AboutConfirmationModal = (props) => {\n const { cancelHandler, submitHandler, id } = props;\n const { t } = useTranslation(\"common\");\n\n const handleSubmit = () => {\n submitHandler();\n };\n\n return (\n <>\n
    \n

    {t(\"about.modals.warning\")}

    \n
    \n \n

    {t(\"about.modals.editWarning\")}

    \n \n
    \n \n \n
    \n \n );\n};\n\nexport default AboutConfirmationModal;\n","import { api } from \"../api\";\nimport { transformCommitteeName } from \"../../utils/transform\";\n\nexport function getInfoAboutCommittee(committeeName) {\n return api.get(\n `/api/InformationAboutCommittees/GetInfoAboutCommittee?committeeName=${transformCommitteeName(\n committeeName,\n )}`,\n );\n}\n\nexport function addInfoAboutCommittee(committeeName) {\n return api.post(\n `/api/InformationAboutCommittees/AddInfoAboutCommittee?committeeName=${transformCommitteeName(\n committeeName,\n )}`,\n );\n}\n\nexport function updateCommitteeDescription(committeeName, description) {\n return api.post(\n `/api/InformationAboutCommittees/UpdateCommitteeDescription?committeeName=${transformCommitteeName(\n committeeName,\n )}&description=${description}`,\n );\n}\n\nexport function AddDocumentToInfoAboutCommittee(committeeName, formData) {\n return api.post(\n `/api/InformationAboutCommittees/AddDocumentToInfoAboutCommittee?committeeName=${transformCommitteeName(\n committeeName,\n )}`,\n formData,\n );\n}\n\nexport function AddSpecialDocumentToInfoAboutCommittee(\n committeeName,\n formData,\n) {\n return api.post(\n `/api/InformationAboutCommittees/AddSpecialDocumentToInfoAboutCommittee?committeeName=${transformCommitteeName(\n committeeName,\n )}`,\n formData,\n );\n}\n\nexport function UpdateDocumentInInfoAboutCommittee(committeeName, formData) {\n return api.post(\n `/api/InformationAboutCommittees/UpdateDocumentInInfoAboutCommittee?committeeName=${transformCommitteeName(\n committeeName,\n )}`,\n formData,\n );\n}\n\nexport function UpdateSpecialDocumentToInfoAboutCommittee(\n committeeName,\n formData,\n) {\n return api.post(\n `/api/InformationAboutCommittees/UpdateSpecialDocumentInInfoAboutCommittee?committeeName=${transformCommitteeName(\n committeeName,\n )}`,\n formData,\n );\n}\n\nexport function AddFileToDocument(id, formData) {\n return api.post(\n `/api/InformationAboutCommittees/AddFileToDocument?id=${id}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n },\n );\n}\n\nexport function AddFileToSpecialDocument(id, formData) {\n return api.post(\n `/api/InformationAboutCommittees/AddFileToSpecialDocumentDocument?id=${id}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n },\n );\n}\n\nexport function DeleteDocumentFromInfoAboutCommittee(committeeName, formData) {\n return api.post(\n `/api/InformationAboutCommittees/DeleteDocumentFromInfoAboutCommittee?committeeName=${transformCommitteeName(\n committeeName,\n )}`,\n formData,\n );\n}\n\nexport function DeleteSpecialDocumentFromInfoAboutCommittee(\n committeeName,\n formData,\n) {\n return api.post(\n `/api/InformationAboutCommittees/DeleteSpecialDocumentFromInfoAboutCommittee?committeeName=${transformCommitteeName(\n committeeName,\n )}`,\n formData,\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\n\nimport Table from \"./components/table/Table.js\";\nimport AboutConfirmationModal from \"./components/about-confirmation-modal/AboutConfirmationModal.js\";\n\nimport {\n getCommitteeTitleProvider,\n getSelectedNationalCommitteeTitle,\n selectedNationalCommittee,\n} from \"../../../state/national-committees/selectors\";\nimport { isConsultant } from \"./../../../state/user/selectors\";\n\nimport \"./About.scss\";\nimport {\n getInfoAboutCommittee,\n addInfoAboutCommittee,\n updateCommitteeDescription,\n AddDocumentToInfoAboutCommittee,\n AddSpecialDocumentToInfoAboutCommittee,\n AddFileToDocument,\n AddFileToSpecialDocument,\n DeleteDocumentFromInfoAboutCommittee,\n DeleteSpecialDocumentFromInfoAboutCommittee,\n UpdateDocumentInInfoAboutCommittee,\n UpdateSpecialDocumentToInfoAboutCommittee,\n} from \"../../../api/resources/about.js\";\nimport ModalWrapper from \"../../common/modal-wrapper/ModalWrapper.js\";\n\nconst About = ({ committeeId, committeeTitle, isConsultant }) => {\n const { t } = useTranslation(\"common\");\n const [isEditing, setIsEditing] = useState(false);\n const [isEditingGeneral, setIsEditingGeneral] = useState(false);\n const [committeeInfo, setCommitteeInfo] = useState({});\n const [description, setDescription] = useState(\"\");\n const [showConfirmationModal, setShowConfirmationModal] = useState(false);\n\n const handleEditorChange = (e) => {\n setDescription(e.target.value);\n };\n\n const onSave = async () => {\n await updateCommitteeDescription(committeeId, description);\n setIsEditing(false);\n setIsEditingGeneral(false);\n };\n\n const handleConfirmation = () => {\n setShowConfirmationModal(false);\n setIsEditingGeneral(true);\n };\n\n const getCommitteeInfo = async (id) => {\n try {\n const res = await getInfoAboutCommittee(id);\n setCommitteeInfo(res.data);\n setDescription(res.data.description);\n return res.data;\n } catch (err) {\n addCommitteeInfo(id);\n }\n };\n\n const addCommitteeInfo = async (id) => {\n try {\n const res = await addInfoAboutCommittee(id);\n setCommitteeInfo(res.data);\n } catch (err) {\n console.error(err);\n }\n };\n\n const uploadFile = async ({ id, file, isSpecial }) => {\n try {\n const data = new FormData();\n data.append(\"file\", file);\n const res = isSpecial\n ? await AddFileToSpecialDocument(id, data)\n : await AddFileToDocument(id, data);\n return res;\n } catch (error) {\n console.error(`upload file failed - ${error}`);\n }\n\n return null;\n };\n\n const handleAddDocument = async ({\n title,\n description,\n file,\n isSpecial,\n cancelHandler,\n }) => {\n const res = isSpecial\n ? await AddSpecialDocumentToInfoAboutCommittee(committeeId, {\n title,\n description,\n })\n : await AddDocumentToInfoAboutCommittee(committeeId, {\n title,\n description,\n });\n if (res.status === 200) {\n const id = res.data;\n\n await uploadFile({ id, file, isSpecial });\n cancelHandler();\n getCommitteeInfo(committeeId);\n }\n };\n\n const handleDeleteDocument = async (id, isSpecial) => {\n if (isSpecial) {\n await DeleteSpecialDocumentFromInfoAboutCommittee(committeeId, { id });\n } else {\n await DeleteDocumentFromInfoAboutCommittee(committeeId, { id });\n }\n getCommitteeInfo(committeeId);\n };\n\n const handleUpdateDocument = async ({\n title,\n description,\n id,\n isSpecial,\n }) => {\n if (isSpecial) {\n await UpdateSpecialDocumentToInfoAboutCommittee(committeeId, {\n title,\n description,\n id,\n });\n } else {\n await UpdateDocumentInInfoAboutCommittee(committeeId, {\n title,\n description,\n id,\n });\n }\n getCommitteeInfo(committeeId);\n };\n\n useEffect(() => {\n if (committeeId) getCommitteeInfo(committeeId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [committeeId]);\n\n useEffect(() => {\n if (!description && committeeInfo.description) {\n setDescription(committeeInfo.description);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [committeeInfo]);\n\n return (\n
    \n
    \n

    \n {t(\"about.header.name\", {\n name: committeeTitle,\n number: committeeId,\n })}\n

    \n\n {isConsultant && (\n <>\n {!isEditing ? (\n setIsEditing(true)}\n className=\"button button--secondary button--small\"\n >\n {t(\"general.button.edit\")}\n \n ) : (\n \n {t(\"general.button.save\")}\n \n )}\n \n )}\n
    \n\n
    \n
    \n {isEditing ? (\n <>\n \n \n ) : (\n <>\n

    {description}

    \n \n )}\n
    \n
    \n
    \n

    {t(\"about.documents.standardization\")}

    \n {isEditing && !isEditingGeneral && (\n setShowConfirmationModal(true)}\n className=\"button button--secondary button--small\"\n >\n {t(\"general.button.edit\")}\n \n )}\n
    \n \n
    \n

    \n {t(\"about.documents.specificFor\", { number: committeeId })}\n

    \n
    \n \n {showConfirmationModal && (\n setShowConfirmationModal(false)}\n disableSlide\n >\n setShowConfirmationModal(false)}\n submitHandler={handleConfirmation}\n confirmText=\"Continue\"\n />\n \n )}\n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n committeeId: selectedNationalCommittee(state),\n committeeTitle: getSelectedNationalCommitteeTitle(state),\n committeeTitleProvider: getCommitteeTitleProvider(state),\n isConsultant: isConsultant(state),\n});\n\nexport default connect(mapStateToProps, null)(About);\n","import React, { Component } from \"react\";\nimport { Route, Switch, Redirect } from \"react-router-dom\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport PanelContainer from \"./common/layout/PanelContainer\";\nimport { Content } from \"./common/layout/Content\";\nimport AggDeadlines from \"./pages/aggregated/AggDeadlines\";\nimport About from \"./pages/about/About\";\nimport { setHeaderTitle } from \"../state/header/actions\";\n\n// TODO: Is it necessary to have disabled links?\nexport const AggPageNavigationLinks = [\n {\n name: \"navigation.page.notifications\",\n url: \"notifications\",\n component: null,\n disabled: true,\n },\n {\n name: \"navigation.page.deadlines\",\n url: \"deadlines\",\n component: AggDeadlines,\n disabled: false,\n },\n {\n name: \"navigation.page.meetings\",\n url: \"meetings\",\n component: null,\n disabled: true,\n },\n {\n name: \"navigation.page.documents\",\n url: \"documents\",\n component: null,\n disabled: true,\n },\n {\n name: \"navigation.page.publishedStandards\",\n url: \"standards\",\n component: null,\n disabled: true,\n },\n {\n name: \"navigation.page.internationalCommittees\",\n url: \"committees\",\n component: null,\n disabled: true,\n },\n {\n name: \"navigation.page.members\",\n url: \"members\",\n component: null,\n disabled: true,\n },\n {\n name: \"navigation.page.about\",\n subRoute: \"about\",\n component: About,\n disabled: true,\n },\n // {\n // name: \"navigation.page.settings\",\n // url: \"settings\",\n // component: null,\n // disabled: true,\n // },\n];\n\nclass AggHome extends Component {\n componentDidMount() {\n const { setHeaderTitle, t } = this.props;\n\n setHeaderTitle(t(\"filter.placeholder.allCommittees\"));\n }\n\n render() {\n return (\n \n \n \n {AggPageNavigationLinks.filter((link) => !link.disabled).map(\n (link, index) => (\n \n ),\n )}\n \n \n \n \n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n setHeaderTitle,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(null, mapDispatchToProps),\n)(AggHome);\n","import React from \"react\";\n\nexport default function () {\n return
    ;\n}\n","import React, { Component } from \"react\";\nimport ToggleSwitch from \"../toggle-switch/ToggleSwitch\";\n\nclass FilterOption extends Component {\n render() {\n const { name, label, state, onChange } = this.props;\n return (\n
    \n \n \n
    \n );\n }\n}\n\nexport default FilterOption;\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./SidebarFilter.scss\";\n\nclass SidebarFilter extends Component {\n render() {\n // instead set variables to whatever is returned from the api in the future\n const { t, children, submitHandler, resetFilters, isFiltered } = this.props;\n\n return (\n \n {children}\n \n {t(\"filter.button.apply\")}\n \n {isFiltered && (\n \n {t(\"filter.button.reset\")}\n \n )}\n \n );\n }\n}\n\nexport default withTranslation(\"common\")(SidebarFilter);\n","import { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { isMemberInCurrentCommittee } from \"./../../../state/user/selectors\";\nimport { isConsultant } from \"../../../state/user/selectors\";\n\nclass OnlyMember extends Component {\n render() {\n const {\n children,\n isMemberInCurrentCommittee,\n allowConsultant,\n isConsultant,\n } = this.props;\n return isMemberInCurrentCommittee || (allowConsultant && isConsultant)\n ? children\n : null;\n }\n}\n\nconst mapStateToProps = (state) => ({\n isMemberInCurrentCommittee: isMemberInCurrentCommittee(state),\n isConsultant: isConsultant(state),\n});\n\nexport default connect(mapStateToProps)(OnlyMember);\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport Sticky from \"react-stickynode\";\nimport SelectFilter from \"../../../../common/select/SelectFilter\";\nimport FilterOption from \"../../../../common/sidebar-filter/FilterOption\";\nimport SidebarFilter from \"../../../../common/sidebar-filter/SidebarFilter\";\n\nimport {\n initNotifications,\n setFilterValue,\n resetNotificationsFilters,\n} from \"../../../../../state/notifications/actions\";\nimport { getNotificationsFilters } from \"../../../../../state/notifications/selectors\";\nimport { getDocumentCommitteeFilterSelectItems } from \"../../../../../state/values/selectors\";\nimport OnlyMember from \"../../../../common/only-member/OnlyMember\";\nimport { notificationFilterTypes } from \"../../../../../utils/constants\";\n\nimport \"./Sidebar.scss\";\nimport { Link } from \"react-router-dom\";\n\nclass Sidebar extends Component {\n state = {\n committee: null,\n };\n\n componentDidMount() {\n this.setState({\n committee: this.props.filters.committee,\n type: this.props.filters.type,\n });\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.filters.committee !== this.props.filters.committee ||\n prevProps.filters.type !== this.props.filters.type\n ) {\n this.setState({\n ...this.state,\n committee: this.props.filters.committee,\n type: this.props.filters.type,\n });\n }\n }\n\n submitHandler = (e) => {\n e.preventDefault();\n\n this.props.setFilterValue({\n committee: this.state.committee,\n type: this.state.type,\n });\n\n this.props.initNotifications();\n };\n\n resetFilters = (e) => {\n e.preventDefault();\n this.props.resetNotificationsFilters();\n this.props.initNotifications();\n };\n\n selectCommittee = (committee) => {\n this.setState({\n ...this.state,\n committee,\n });\n };\n\n selectNotificationType = (type) => {\n this.setState({\n ...this.state,\n type,\n });\n };\n\n getNotificationFilterTypes() {\n const { t } = this.props;\n return notificationFilterTypes.map((f) => ({\n ...f,\n label: t(f.label),\n }));\n }\n\n onMarkNotificationsAsSeen = () => {\n this.props.markAllNotificationsAsSeen();\n };\n\n onUnseenFilterChange = () => {\n this.props.setFilterValue({ onlyUnseen: !this.props.filters.onlyUnseen });\n this.props.initNotifications();\n };\n\n render() {\n const {\n t,\n committees,\n markAllNotificationsInProgress,\n filters: { committee, type, onlyUnseen },\n } = this.props;\n\n return (\n \n
    \n \n \n \n\n
    \n

    {t(\"filter.button.filter\")}

    \n \n {committees && (\n
    \n \n
    \n )}\n
    \n \n
    \n \n
    \n
    \n \n
    \n \n {/* */}\n \n {t(\"Notification settings\")}\n \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n filters: getNotificationsFilters(state),\n committees: getDocumentCommitteeFilterSelectItems(state),\n});\n\nconst mapDispatchToProps = {\n initNotifications,\n setFilterValue,\n resetNotificationsFilters,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(Sidebar);\n","import i18n from \"i18next\";\nimport buildFormatter from \"react-timeago/lib/formatters/buildFormatter\";\nimport enStrings from \"react-timeago/lib/language-strings/en\";\nimport daStrings from \"react-timeago/lib/language-strings/da\";\n\nconst formatters = {\n da: buildFormatter(daStrings),\n en: buildFormatter(enStrings),\n};\n\nexport const getTimeAgoFormatter = () => {\n const currentLanguage = i18n.language;\n if (currentLanguage in formatters) {\n return formatters[currentLanguage];\n }\n return formatters[\"en\"];\n};\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport DeleteModal from \"../../../documents/components/modal-content/DeleteModal\";\n\nclass NotificationDeleteModal extends Component {\n render() {\n const { t, showModal, onCancel, onSubmit, itemUri, itemTitle } = this.props;\n const title = itemTitle\n ? t(\"general.dialog.delete.title\", { itemName: itemTitle })\n : t(\"notifications.dialog.deleteGeneric.title\");\n\n const message = itemTitle\n ? t(\"general.dialog.delete.message\", { itemName: itemTitle })\n : t(\"notifications.dialog.deleteGeneric.message\");\n\n return (\n \n \n \n );\n }\n}\n\nexport default withTranslation(\"common\")(NotificationDeleteModal);\n","import React, { Fragment, Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\n\nclass ConfirmationModal extends Component {\n state = { awaiting: false };\n\n onSubmit = () => {\n if (!this.state.awaiting) {\n this.props.submitHandler(this.props.id);\n this.setState({ awaiting: true });\n this.onClose();\n }\n };\n\n onClose = () => {\n this.props.cancelAction && this.props.cancelAction(this.props.id);\n this.props.cancelHandler && this.props.cancelHandler(this.props.id);\n };\n\n render() {\n const { t, title, message, cancelLabel, disableSubmitButton, submitLabel } =\n this.props;\n\n return (\n \n
    \n

    {title}

    \n
    \n
    \n

    {message}

    \n
    \n
    \n \n {!disableSubmitButton && (\n \n {submitLabel || t(\"general.button.confirm\")}\n \n )}\n
    \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(ConfirmationModal);\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport ActionBox from \"../../../../common/action-box/ActionBox\";\nimport Toggler from \"../../../../common/toggler/Toggler\";\nimport { withTranslation } from \"react-i18next\";\nimport WithPrivileges from \"../../../../common/with-privileges/WithPrivileges\";\nimport {\n isCommitteeAlreadyTurnedOff,\n isConsultant,\n} from \"../../../../../state/user/selectors\";\nimport {\n pinNotification,\n unpinNotification,\n deleteNotification,\n} from \"../../../../../state/notifications/actions\";\nimport {\n isNotificationInstantSent,\n isNotificationPinned,\n} from \"../../../../../state/notifications/selectors\";\nimport { turnOnOffCommittee } from \"../../../../../state/user/actions\";\n\nimport NotificationDeleteModal from \"../delete-modal/NotificationDeleteModal\";\nimport { sendInstantEmail } from \"../../../../../state/notifications/actions\";\nimport { INSTANT_EMAIL_PARAM_TYPE } from \"../../../../../state/notifications/reducer\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport ConfirmationModal from \"../../../../common/confirmation-modal/ConfirmationModal\";\n\nclass NotificationCardMenu extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showDeleteModal: false,\n showModal: false,\n modalContent: {\n title: \"\",\n message: \"\",\n submitLabel: \"\",\n submitHandler: () => {},\n cancelHandler: () => {},\n },\n };\n }\n\n get enableTurnOffCommittee() {\n const { committee, selectedNationalCommittee } = this.props;\n return committee !== selectedNationalCommittee;\n }\n\n turnOffNotificationOnCommitteeAction = () => {\n const { committee, turnOnOffCommittee, callbackAction } = this.props;\n turnOnOffCommittee({ committee, callbackAction });\n };\n\n modalCancelHandler = () => {\n this.setState({ showModal: false });\n };\n\n turnOffNotificationOnCommitteeClick = () => {\n const { committee, t } = this.props;\n\n this.setState({\n showModal: true,\n modalContent: {\n title: t(\"notifications.dialog.turnOffCommittee.title\", {\n committee: committee,\n }),\n message: t(\"notifications.dialog.turnOffCommittee.message\"),\n submitLabel: t(\"notifications.dialog.turnOffCommittee.submit\"),\n submitHandler: this.turnOffNotificationOnCommitteeAction,\n cancelHandler: this.modalCancelHandler,\n },\n });\n };\n\n pinNotification = () => {\n const { pinNotification, notificationId } = this.props;\n pinNotification(notificationId);\n };\n\n unpinNotification = () => {\n const { unpinNotification, notificationId } = this.props;\n unpinNotification(notificationId);\n };\n\n deleteNotification = () => {\n this.setState({ showDeleteModal: true });\n };\n\n renderActiveCustomMenu = (action, index) => {\n return (\n
  • \n \n {action.label}\n \n
  • \n );\n };\n\n renderDisabledCustomMenu = (action, index) => {\n return (\n
  • \n \n {action.label}\n \n
  • \n );\n };\n\n get sendInstantEmailAction() {\n const { isInstantSent, t } = this.props;\n\n return {\n label: t(\"consultant.action.immediatelyNotify\"),\n disabled: isInstantSent,\n callback: this.sendInstantEmailActionModal,\n };\n }\n\n sendInstantEmailActionHandler = () => {\n const { sendInstantEmail, notificationId, t } = this.props;\n sendInstantEmail({\n type: INSTANT_EMAIL_PARAM_TYPE.NOTIFICATION_ID,\n param: notificationId,\n });\n };\n\n sendInstantEmailActionModal = () => {\n const { t } = this.props;\n\n this.setState({\n showModal: true,\n modalContent: {\n title: t(\"notifications.dialog.sendInstantEmail.title\"),\n message: t(\"notifications.dialog.sendInstantEmail.message\"),\n submitLabel: t(\"notifications.dialog.sendInstantEmail.submit\"),\n submitHandler: this.sendInstantEmailActionHandler,\n cancelHandler: this.modalCancelHandler,\n },\n });\n };\n\n get newCustomActions() {\n const { customActions, isConsultant } = this.props;\n const actionArray = customActions ? [...customActions] : [];\n\n if (isConsultant) {\n actionArray.push(this.sendInstantEmailAction);\n }\n\n return actionArray;\n }\n\n render() {\n const {\n committee,\n t,\n isPinned,\n isCommitteeAlreadyTurnedOff,\n hideDeleteAction,\n } = this.props;\n\n return (\n
    \n this.setState({ actionBoxOpened: false })}\n >\n \n \n {isPinned ? (\n
  • \n \n {t(\"card.unpin\")}\n \n
  • \n ) : (\n
  • \n \n {t(\"card.pin\")}\n \n
  • \n )}\n
    \n {this.newCustomActions &&\n this.newCustomActions.map((action, index) =>\n action.disabled\n ? this.renderDisabledCustomMenu(action, index)\n : this.renderActiveCustomMenu(action, index),\n )}\n {!hideDeleteAction && (\n \n
  • \n \n {t(\"card.delete\")}\n \n
  • \n
    \n )}\n {/* This is blocking with committeeID of the notification which we decided to remove */}\n {this.enableTurnOffCommittee && (\n
  • \n \n {isCommitteeAlreadyTurnedOff\n ? t(\"card.turnOn\", { committee })\n : t(\"card.turnOff\", { committee })}\n \n
  • \n )}\n
    \n \n {this.state.showDeleteModal && (\n this.setState({ showDeleteModal: false })}\n onSubmit={this.props.deleteNotification}\n itemUri={this.props.notificationId}\n />\n )}\n {this.state.showModal && (\n \n \n \n )}\n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n pinNotification,\n unpinNotification,\n deleteNotification,\n turnOnOffCommittee,\n sendInstantEmail,\n};\n\nconst mapStateToProps = (state, props) => ({\n isCommitteeAlreadyTurnedOff: isCommitteeAlreadyTurnedOff(\n state,\n props.committee,\n ),\n isPinned: isNotificationPinned(state, props.notificationId),\n isInstantSent: isNotificationInstantSent(state, props.notificationId),\n isConsultant: isConsultant(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(NotificationCardMenu);\n","import React, { Component } from \"react\";\nimport TimeAgo from \"react-timeago\";\nimport { getTimeAgoFormatter } from \"../../../../../utils/timeago\";\nimport NotificationCardMenu from \"../notification-card-menu/NotificationCardMenu\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { initNotifications } from \"../../../../../state/notifications/actions\";\n\nclass NotificationBar extends Component {\n render() {\n const { title, date, children, notificationMenu } = this.props;\n return (\n
    \n {title && {title}}\n {children}\n {date && (\n \n \n \n )}\n {notificationMenu && (\n \n )}\n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n initNotifications,\n};\n\nexport default compose(connect(null, mapDispatchToProps))(NotificationBar);\n","import React, { Component } from \"react\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport { withTranslation } from \"react-i18next\";\nimport DateThumbnail from \"../../../../common/date-thumbnail/DateThumbnail\";\nimport NotificationCardMenu from \"../notification-card-menu/NotificationCardMenu\";\n\nclass NotificationCardHeader extends Component {\n render() {\n const {\n committee,\n committeeName,\n date,\n uri,\n title,\n notificationId,\n callbackAction,\n } = this.props;\n\n return (\n
    \n \n
    \n \n {committee}\n {committeeName && ` - ${committeeName}`}\n \n \n {title}\n \n
    \n {/* */}\n
    \n );\n }\n}\n\nexport default withRouter(withTranslation(\"common\")(NotificationCardHeader));\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport NotificationBar from \"../notification-bar/NotificationBar\";\nimport NotificationCardHeader from \"../notification-card-header/NotificationCardHeader\";\nimport CardContent from \"../../../../common/card/CardContent\";\nimport CardAttachments from \"../../../../common/card/CardAttachments\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { initNotifications } from \"../../../../../state/notifications/actions\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\n\nimport { notificationActionType } from \"../../../../../utils/constants\";\n\nclass DeadlineNotification extends Component {\n get notificationTitle() {\n const { t } = this.props;\n const { action } = this.props.data;\n\n switch (action) {\n case notificationActionType.add:\n return t(\"common:notifications.types.deadline.add\");\n case notificationActionType.reminder:\n return t(\"common:notifications.types.deadline.reminder\");\n case notificationActionType.update:\n return t(\"common:notifications.types.deadline.update\");\n case notificationActionType.weekReminder:\n return t(\"common:notifications.types.deadline.weekReminder\");\n default:\n return t(\"common:notifications.types.deadline.update\");\n }\n }\n\n render() {\n const {\n initNotifications,\n data: {\n eventDate,\n description,\n messages,\n comments,\n contentId,\n details,\n notificationId,\n },\n } = this.props;\n\n const deadlineDetailsUrl = generateDialogLink(\n DIALOG_TYPES.DEADLINE_DETAILS,\n contentId,\n );\n\n return details ? (\n \n \n\n \n\n \n\n \n \n ) : (\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nconst mapDispatchToProps = {\n initNotifications,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DeadlineNotification);\n","export const urlValidator = (value) => {\n const pattern = new RegExp(\n /[-a-zA-Z0-9@:%._~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_.~#?&=]*)/,\n );\n\n return pattern.test(value);\n};\n","export class UrlParser {\n static addHTTP = (url) => {\n if (url.startsWith(\"http\")) {\n return url;\n }\n return `http://${url}`;\n };\n\n static shortenUrl = (url) => {\n if (url.length <= 16) {\n return url;\n }\n return `${url.slice(0, 42)}...`;\n };\n}\n","import React from \"react\";\nimport { urlValidator } from \"../../../../../utils/validation/urlValidator\";\nimport { UrlParser } from \"../../../../../utils/urlParser\";\n\nexport default ({ date, location }) => {\n const isLocationUrl = urlValidator(location);\n\n return (\n
    \n
    \n

    {date}

    \n

    \n {isLocationUrl ? (\n \n {UrlParser.shortenUrl(location)}\n \n ) : (\n location\n )}\n

    \n
    \n
    \n );\n};\n","import React, { Component, Fragment } from \"react\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport NotificationBar from \"../notification-bar/NotificationBar\";\nimport NotificationCardHeader from \"../notification-card-header/NotificationCardHeader\";\nimport CardContent from \"../../../meetings/components/card-content/CardContent\";\nimport CardAttachments from \"../../../../common/card/CardAttachments\";\nimport { initNotifications } from \"../../../../../state/notifications/actions\";\nimport { connect } from \"react-redux\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\nimport { formatEventDate } from \"../../../../../utils/transform\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\n\nimport { notificationActionType } from \"../../../../../utils/constants\";\n\nclass MeetingNotification extends Component {\n get notificationTitle() {\n const { t } = this.props;\n const { action } = this.props.data;\n\n switch (action) {\n case notificationActionType.add:\n return t(\"common:notifications.types.meeting.add\");\n case notificationActionType.reminder:\n return t(\"common:notifications.types.meeting.reminder\");\n case notificationActionType.update:\n return t(\"common:notifications.types.meeting.update\");\n case notificationActionType.weekReminder:\n return t(\"common:notifications.types.meeting.weekReminder\");\n default:\n return t(\"common:notifications.types.meeting.update\");\n }\n }\n\n render() {\n const {\n data: {\n messages,\n comments,\n details,\n contentId,\n notificationId,\n eventDate,\n },\n initNotifications,\n } = this.props;\n\n const meetingDetailsUrl = generateDialogLink(\n DIALOG_TYPES.MEETING_DETAILS,\n contentId,\n );\n\n return details ? (\n \n \n\n \n\n \n\n \n \n ) : (\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nconst mapDispatchToProps = {\n initNotifications,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(MeetingNotification);\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport NotificationBar from \"../notification-bar/NotificationBar\";\nimport Avatar from \"../../../../common/avatar/Avatar\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { notificationActionType } from \"../../../../../utils/constants\";\n\nclass MemberNotification extends Component {\n get notificationTitle() {\n const { t } = this.props;\n const { action, details } = this.props.data;\n\n switch (action) {\n case notificationActionType.add:\n return t(\"common:notifications.types.member.add\", {\n committee: details.udvalg ? details.udvalg : \"\",\n });\n case notificationActionType.update:\n return t(\"common:notifications.types.member.update\");\n default:\n return t(\"common:notifications.types.member.update\");\n }\n }\n\n render() {\n const { details, eventDate, notificationId } = this.props.data;\n\n return details ? (\n \n \n
    \n
    \n \n
    \n {details.name}\n {details.company}\n {details.email}\n
    \n
    \n
    \n
    \n ) : (\n \n );\n }\n}\n\nexport default withTranslation(\"common\")(MemberNotification);\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\n\nimport { withRouter } from \"react-router\";\nimport { NavLink } from \"react-router-dom\";\nimport CardContent from \"../../../../common/card/CardContent\";\nimport CardAttachments from \"../../../../common/card/CardAttachments\";\nimport { transformUri } from \"../../../../../utils/transform\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport {\n DIALOG_TYPES,\n PAGE_TYPES,\n generateDialogLink,\n generateDialogLinkForPage,\n} from \"../../../../../utils/dynamicLink\";\nimport { isConsultant } from \"../../../../../state/user/selectors\";\nimport history from \"../../../../../utils/history\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport NotificationBar from \"../notification-bar/NotificationBar\";\nimport Avatar from \"../../../../common/avatar/Avatar\";\n\nclass UserNotification extends Component {\n getCardActions() {\n const {\n t,\n selectedNationalCommittee,\n data: { notificationId },\n isConsultant,\n } = this.props;\n\n if (!isConsultant) return [];\n\n const editActionCallback = () => {\n const link = generateDialogLinkForPage(\n selectedNationalCommittee,\n PAGE_TYPES.NOTIFICATION,\n DIALOG_TYPES.EDIT_NOTIFICATION,\n notificationId,\n );\n history.push(link);\n };\n\n return [{ label: t(\"card.edit\"), callback: editActionCallback }];\n }\n\n render() {\n const { comments, messages, details, notificationId, eventDate } =\n this.props.data;\n const { t } = this.props;\n\n const notificationDetailsUrl = generateDialogLink(\n DIALOG_TYPES.NOTIFICATION_DETAILS,\n notificationId,\n );\n\n return details ? (\n \n \n\n
    \n \n
    \n \n {details.member.name}\n \n
    \n
    \n
    \n \n {details.title}\n \n
    \n
    \n\n \n\n \n
    \n
    \n
    \n
    \n ) : (\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isConsultant: isConsultant(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps),\n withRouter,\n)(UserNotification);\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { Trans } from \"react-i18next\";\nimport NotificationBar from \"../notification-bar/NotificationBar\";\nimport NotificationCardHeader from \"../notification-card-header/NotificationCardHeader\";\nimport CardContent from \"../../../../common/card/CardContent\";\nimport CardAttachments from \"../../../../common/card/CardAttachments\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { initNotifications } from \"../../../../../state/notifications/actions\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { getCommitteeMemberById } from \"../../../../../state/members/selectors\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\n\nimport { notificationActionType } from \"../../../../../utils/constants\";\n\nclass CommentNotification extends Component {\n get notificationTitle() {\n const { action, details } = this.props.data;\n const committeeMember = this.props.getCommitteeMemberById(\n details.author,\n ) || { name: \"\" };\n\n switch (action) {\n case notificationActionType.add:\n return (\n \n );\n case notificationActionType.update:\n return (\n \n );\n default:\n return null;\n }\n }\n\n render() {\n const {\n data: { description, details, notificationId, eventDate },\n initNotifications,\n } = this.props;\n const commentDetailsUrl = details\n ? generateDialogLink(DIALOG_TYPES.DEADLINE_DETAILS, details.contentId)\n : \"\";\n\n return details ? (\n details.status && details.status === 404 ? (\n
    \n
    {details.message}
    \n
    \n ) : (\n \n \n\n \n\n \n\n \n \n )\n ) : (\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n getCommitteeMemberById: getCommitteeMemberById(state),\n});\n\nconst mapDispatchToProps = {\n initNotifications,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(CommentNotification);\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { Trans } from \"react-i18next\";\nimport NotificationBar from \"../notification-bar/NotificationBar\";\nimport NotificationCardHeader from \"../notification-card-header/NotificationCardHeader\";\nimport CardContent from \"../../../../common/card/CardContent\";\nimport CardAttachments from \"../../../../common/card/CardAttachments\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { initNotifications } from \"../../../../../state/notifications/actions\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\n\nclass VoteNotification extends Component {\n get notificationTitle() {\n const { details } = this.props.data;\n\n return (\n \n );\n }\n\n render() {\n const {\n data: { description, details, notificationId, eventDate },\n initNotifications,\n } = this.props;\n\n const commentDetailsUrl = details\n ? generateDialogLink(DIALOG_TYPES.DEADLINE_DETAILS, details.contentId)\n : \"\";\n\n return details ? (\n \n \n\n \n\n \n\n \n \n ) : (\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nconst mapDispatchToProps = {\n initNotifications,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(VoteNotification);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport DocumentSummaryModal from \"../../../../pages/documents-summary/DocumentSummaryModal\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { dialogSizes } from \"../../../../../utils/constants\";\n\nimport * as appActions from \"../../../../../state/app/actions\";\nimport DocumentList, {\n DOCUMENT_TABLE_COLUMNS,\n} from \"../../../../common/document-list/List\";\n\nclass DocumentSummaryCardAttachments extends Component {\n // getModalParams = (notificationId, documentsCount) => {\n // return {\n // ids: [notificationId],\n // documentsCount: documentsCount,\n // };\n // };\n\n // onDocumentSummationDetails = () => {\n // const { notificationId, documents } = this.props;\n // this.props.applicationPushGlobalDialog({\n // id: uuidv4(),\n // component: DocumentSummaryModal,\n // modalSettings: {\n // allowEscape: true,\n // sizeType: dialogSizes.wide,\n // closeButton: true,\n // },\n // props: this.getModalParams(notificationId, documents.length),\n // });\n // };\n\n renderTable() {\n const { documents } = this.props;\n\n return (\n \n );\n }\n\n render() {\n const { documents, t } = this.props;\n const documentsCount = documents.length;\n\n if (!documentsCount) return null;\n\n return this.renderTable();\n\n // return documentsCount ? (\n //
    \n // {documentsCount && (\n // \n // \n // {documentsCount === 1\n // ? t(\"card.documentCounter\")\n // : t(\"card.documentsCounter\", { count: documentsCount })}\n // \n // )}\n //
    \n // ) : null;\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nconst mapDispatchToProsp = {\n applicationPushGlobalDialog: appActions.applicationPushGlobalDialog,\n};\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProsp),\n withTranslation(\"common\"),\n)(DocumentSummaryCardAttachments);\n","import React, { PureComponent, Fragment } from \"react\";\nimport classNames from \"classnames\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { formatWithOptions } from \"date-fns/fp\";\nimport { enUS, da } from \"date-fns/esm/locale\";\n\nimport NotificationBar from \"../notification-bar/NotificationBar\";\nimport NotificationCardMenu from \"../notification-card-menu/NotificationCardMenu\";\nimport DocumentSummaryCardAttachments from \"./DocumentSummaryCardAttachments\";\n\nimport * as CommitteesSelectors from \"../../../../../state/national-committees/selectors\";\nimport { initNotifications } from \"../../../../../state/notifications/actions\";\n\nimport * as userSelectors from \"../../../../../state/user/selectors\";\n\n//Internal notification\nclass DocumentSummationNotification extends PureComponent {\n dateLocale = {\n \"en-US\": enUS,\n \"da-DK\": da,\n };\n\n formatAggDate(date) {\n try {\n const formater = formatWithOptions(\n { locale: this.dateLocale[this.props.appLocale] || enUS },\n \"EEEE d MMMM yyyy\",\n );\n\n return formater(new Date(date));\n } catch (err) {\n console.error(err, date);\n }\n }\n\n render() {\n const {\n t,\n data: { notificationId, details, fetched },\n } = this.props;\n if (!fetched) return null;\n\n return (\n \n \n\n \n
    \n
    \n \n \n {details.committee || t(\"general.defaults.otherCommittee\")}\n \n {details.committee && (\n <>\n  -{\" \"}\n {this.props.committeeTitleProvider(details.committee)}\n \n )}\n \n
    \n {/* */}\n
    \n \n \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n committeeTitleProvider: CommitteesSelectors.getCommitteeTitleProvider(state),\n appLocale: userSelectors.getAppLocale(state),\n});\n\nconst mapDispatchToProsp = {\n initNotifications,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProsp),\n)(DocumentSummationNotification);\n","import React, { Fragment, PureComponent } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { formatWithOptions } from \"date-fns/fp\";\nimport { enUS, da } from \"date-fns/esm/locale\";\nimport { Link } from \"react-router-dom\";\nimport classNames from \"classnames\";\nimport { withTranslation } from \"react-i18next\";\nimport NotificationBar from \"../notification-bar/NotificationBar\";\nimport NotificationCardMenu from \"../notification-card-menu/NotificationCardMenu\";\n\nimport * as userSelectors from \"../../../../../state/user/selectors\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\n\nimport { transformCommitteeName } from \"../../../../../utils/transform\";\n\nclass LegacyDocumentNotificationCard extends PureComponent {\n dateLocale = {\n \"en-US\": enUS,\n \"da-DK\": da,\n };\n\n get notificationTitle() {\n const { t, eventDate } = this.props;\n\n var sinceDate = new Date(eventDate);\n sinceDate.setDate(sinceDate.getDate() - 1);\n\n const formater = formatWithOptions(\n { locale: this.dateLocale[this.props.appLocale] || enUS },\n \"EEEE d MMMM yyyy\",\n );\n\n return t(\"common:notifications.types.documentSummation.add\", {\n date: formater(new Date(sinceDate)),\n });\n }\n\n generateDocumentsLink = (nationalCommittee, committee) => {\n let url = new URL(\n `/${transformCommitteeName(nationalCommittee)}/documents`,\n process.env.REACT_APP_OPENID_REDIRECT_URL,\n );\n url.searchParams.set(\"committee\", committee);\n url.searchParams.set(\"sortingType\", \"date_desc\");\n return url.pathname + url.search;\n };\n\n renderCardAttachments(committee, documents) {\n const { t, selectedNationalCommittee } = this.props;\n\n return documents ? (\n
    \n {documents && (\n \n \n {documents === 1\n ? t(\"card.documentCounter\")\n : t(\"card.documentsCounter\", { count: documents })}\n \n )}\n
    \n ) : null;\n }\n\n render() {\n const { t, details, notificationId, initNotifications } = this.props;\n\n return (\n \n \n\n \n
    \n
    \n \n \n {details.committee || t(\"general.defaults.otherCommittee\")}\n \n {details.committeeName && <> - {details.committeeName}}\n \n
    \n {/* */}\n
    \n\n {this.renderCardAttachments(\n details.committee,\n details.documents && details.documents.length,\n )}\n \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n appLocale: userSelectors.getAppLocale(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, null),\n)(LegacyDocumentNotificationCard);\n","import React, { PureComponent } from \"react\";\nimport { connect } from \"react-redux\";\nimport { initNotifications } from \"../../../../../state/notifications/actions\";\nimport LegacyDocumentNotificationCard from \"./LegacyDocumentNotificationCard\";\nimport Loader from \"../../../../common/loader/Loader\";\n\nclass LegacyDocumentNotification extends PureComponent {\n render() {\n const { details } = this.props.data;\n return details ? (\n \n ) : (\n \n );\n }\n}\n\nconst mapDispatchToProsp = {\n initNotifications,\n};\n\nexport default connect(null, mapDispatchToProsp)(LegacyDocumentNotification);\n","import React, { PureComponent, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { Trans } from \"react-i18next\";\n\nimport NotificationBar from \"../notification-bar/NotificationBar\";\nimport NotificationCardHeader from \"../notification-card-header/NotificationCardHeader\";\nimport CardContent from \"../../../../common/card/CardContent\";\nimport CardAttachments from \"../../../../common/card/CardAttachments\";\nimport VotesAttachment from \"../../../../common/card/Attachments/VotesAttachment\";\n\nimport { initNotifications } from \"../../../../../state/notifications/actions\";\n\nimport * as votesSelectors from \"../../../../../state/votes/selectors\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport * as membersSelectors from \"../../../../../state/members/selectors\";\nimport * as userSelectors from \"../../../../../state/user/selectors\";\n\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\nimport { emptyVotes } from \"../../../../../utils/constants\";\nimport { findUserVote } from \"../../../../../services/votes/userVote\";\n\nclass DeadlineSummaryNotification extends PureComponent {\n renderTitle = () => {\n const {\n t,\n data: { details },\n committeeMemberById,\n currentUserId,\n } = this.props;\n\n if (!details || !details.members)\n return t(this.props.headers.unknownMembers);\n\n const currentUserHasVoted = !!details.members.find(\n (m) => m === currentUserId,\n );\n\n const members = [...details.members]\n .reverse()\n .slice(0, 2)\n .filter((member) => member !== currentUserId)\n .map((id) => committeeMemberById(id))\n .filter((member) => member)\n .map((member) => member.name);\n\n if (currentUserHasVoted) {\n if (members.length === 0)\n return (\n \n );\n\n if (members.length === 1)\n return (\n \n );\n\n if (members.length > 1) {\n if (details.members.length <= 3)\n //you + 2 members\n return (\n \n );\n\n return (\n \n );\n }\n } else {\n if (members.length === 0) return t(this.props.headers.unknownMembers);\n\n if (members.length === 1)\n return (\n \n );\n\n if (members.length > 1) {\n if (details.members.length <= 2)\n return (\n \n );\n\n return (\n \n );\n }\n }\n };\n\n render() {\n const {\n data: { notificationId, eventDate, details, fetched, description },\n t,\n initNotifications,\n votes,\n currentUserId,\n } = this.props;\n\n if (!fetched) return null;\n\n const commentDetailsUrl = details\n ? generateDialogLink(DIALOG_TYPES.DEADLINE_DETAILS, details.contentId)\n : \"\";\n const votesStats =\n this.props.voteStatistics[details.contentId] ||\n (details.enableVoting && emptyVotes);\n const userVote = findUserVote(votes, details.contentId, currentUserId);\n const hasUserVoted = typeof userVote != \"undefined\";\n\n return (\n \n \n\n \n\n \n \n new Date()\n ? t(\"deadlines.details.votes.haveNotVotedMessage\")\n : \"\"\n }\n />\n \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n committeeMemberById: membersSelectors.getCommitteeMemberById(state),\n votes: votesSelectors.votes(state),\n voteStatistics: votesSelectors.voteStatistics(state),\n currentUserId: userSelectors.userId(state),\n});\n\nconst mapDispatchToProps = {\n initNotifications,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DeadlineSummaryNotification);\n","import React, { Component } from \"react\";\nimport DeadlineSummaryNotification from \"../common/DeadlineSummaryNotification\";\n\nexport default class VoteSummationNotification extends Component {\n render() {\n return (\n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport DeadlineSummaryNotification from \"../common/DeadlineSummaryNotification\";\n\nexport default class CommentSummaryNotification extends Component {\n render() {\n return (\n \n );\n }\n}\n","import { createSelector } from \"reselect\";\nimport { getNotifications } from \"../../../../../state/notifications/selectors\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { userDetails } from \"../../../../../state/user/selectors\";\n\nexport const notificationsExist = createSelector(\n [getNotifications],\n (notifications) => notifications.length > 0,\n);\n\nexport const isViewingOwnCommittee = createSelector(\n [userDetails, selectedNationalCommittee],\n (userDetails, selectedNationalCommittee) =>\n Object.keys(userDetails.role).includes(selectedNationalCommittee),\n);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { format } from \"date-fns/fp\";\n\nimport { broadcastInformation } from \"../../../state/diagnostics/selectors\";\n\nimport \"./NotificationDiagnostics.scss\";\n\nclass NotificationDiagnostics extends Component {\n state = {\n showMore: false,\n };\n\n onMoreClicked = () => {\n this.setState({ showMore: true });\n };\n\n onLessClicked = () => {\n this.setState({ showMore: false });\n };\n\n renderMore() {\n const { notification } = this.props;\n return
     {JSON.stringify(notification, null, 2)} 
    ;\n }\n\n renderDate(date) {\n if (!date) return \"never\";\n return format(\"E MMM d yyyy HH:mm:ss zzz\", date);\n }\n\n render() {\n const { broadcastInformation, notification } = this.props;\n\n const information = broadcastInformation[notification.notificationId];\n return (\n <>\n
    \n \n DIAGNOSTICS INFO: (\n |\n )\n \n \n URI: {notification.notificationId}\n \n\n {information && (\n <>\n \n Is Instant:\n {information.isInstant.toString()}\n
    \n
    \n \n Send dates:\n \n \n Instant:\n {this.renderDate(information.instantBroadcastDate)}\n \n \n Daily:\n {this.renderDate(information.dailyBroadcastDate)}\n \n \n Weekly:\n {this.renderDate(information.weeklyBroadcastDate)}\n \n \n )}\n {this.state.showMore && this.renderMore()}\n
    \n \n );\n }\n}\n\nconst mapDispatchToProps = {};\n\nconst mapStateToProps = (state) => ({\n broadcastInformation: broadcastInformation(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(NotificationDiagnostics);\n","import React, { Fragment, createRef } from \"react\";\nimport { Waypoint } from \"react-waypoint\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\n\nimport Card from \"../../../../common/card/Card\";\nimport CardMark from \"../../../../common/card/CardMark\";\nimport Sidebar from \"../../components/sidebar/Sidebar\";\nimport DeadlineNotification from \"../../components/deadline-notification/DeadlineNotification\";\nimport MeetingNotification from \"../../components/meeting-notification/MeetingNotification\";\nimport MemberNotification from \"../../components/member-notification/MemberNotification\";\nimport UserNotification from \"../../components/user-notification/UserNotification\";\nimport CommentNotification from \"../../components/comment-notification/CommentNotification\";\nimport VoteNotification from \"../../components/vote-notification/VoteNotification\";\nimport DocumentSummationNotification from \"../../components/document-notification/DocumentSummationNotification\";\n\nimport LegacyDocumentNotification from \"../../components/document-notification/LegacyDocumentNotification\";\nimport VoteSummationNotification from \"../../components/vote-notification/VoteSummationNotification\";\nimport CommentSummaryNotification from \"../../components/comment-notification/CommentSummaryNotification\";\n\nimport {\n clearNotificationList,\n initNotifications,\n markAllNotificationsAsSeen,\n markNotificationsAsSeen,\n pullNextNotificationsPage,\n resetNotificationsFilters,\n} from \"../../../../../state/notifications/actions\";\nimport {\n getNotifications,\n hasMoreNotificationsToLoad,\n isProcessingRequest,\n markAllNotificationsAsSeenRequestProcessing,\n} from \"../../../../../state/notifications/selectors\";\n\nimport \"./NotificationsList.scss\";\n\nimport UrlPattern from \"url-pattern\";\nimport {\n selectedNationalCommittee,\n getInternationalCommitteesCount,\n} from \"../../../../../state/national-committees/selectors\";\nimport {\n getTunedOffCommitteesCount,\n userCommittees,\n} from \"../../../../../state/user/selectors\";\n\nimport Loader from \"../../../../common/loader/Loader\";\n\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { notificationType } from \"../../../../../utils/constants\";\nimport { generateLink } from \"../../../../../utils/dynamicLink\";\nimport history from \"../../../../../utils/history\";\n\nimport { Helmet } from \"react-helmet\";\nimport { isViewingOwnCommittee, notificationsExist } from \"./selectors\";\n\nimport NotificationDiagnostics from \"../../../../common/diagnostics/NotificationDiagnostics\";\nimport DiagnosticsGuard from \"../../../../common/diagnostics/DiagnosticsGuard\";\nimport OnlyMember from \"../../../../common/only-member/OnlyMember\";\nimport { InfiniteWaypointScroller } from \"../../../../common/infinite-scroll-wrapper/InfiniteScrollWrapper\";\nimport { NavLink } from \"react-router-dom\";\nimport classNames from \"classnames\";\n\nclass NotificationsList extends React.Component {\n parser = new UrlPattern(\"/:committeeId/:segment(/:subsegment)*\");\n\n infinityLoaderRef = createRef();\n state = {\n markedAsSeenNotifications: new Set(),\n previouseCommittee: \"\",\n };\n\n componentDidMount() {\n const result = this.parser.match(window.location.pathname);\n this.setState({ previouseCommittee: result.committeeId });\n\n this.unlisten = history.listen((location) => {\n const matchResult = this.parser.match(location.pathname);\n if (\n matchResult &&\n this.state.previouseCommittee !== matchResult.committeeId\n ) {\n this.setState({ previouseCommittee: matchResult.committeeId }, () => {\n this.props.resetNotificationsFilters();\n this.props.initNotifications();\n });\n }\n });\n\n this.props.resetNotificationsFilters();\n this.props.initNotifications();\n }\n\n componentWillUnmount() {\n this.unlisten();\n this.props.clearNotificationList();\n }\n\n loadMoreItems = () => {\n this.props.pullNextNotificationsPage();\n };\n\n renderSingleNotification = (data) => {\n switch (data.type) {\n case notificationType.deadline:\n return ;\n case notificationType.meeting:\n return ;\n case notificationType.member:\n return ;\n case notificationType.user:\n return ;\n case notificationType.comment:\n return ;\n case notificationType.vote:\n return ;\n case notificationType.documentSummation:\n return ;\n case notificationType.internalDocumentSummation:\n return ;\n case notificationType.internalVoteSummation:\n return ;\n case notificationType.internalCommentsSummation:\n return ;\n\n default:\n return;\n }\n };\n\n onWaypointEnter = (eventData, notification) => {\n const { currentPosition, event } = eventData;\n let markedAsSeenNotifications = new Set([\n ...this.state.markedAsSeenNotifications,\n ]);\n\n if (!notification.markedAsSeen && !event) {\n markedAsSeenNotifications.add(notification.notificationId);\n this.setState({ markedAsSeenNotifications });\n return;\n }\n\n if (currentPosition === Waypoint.inside) {\n if (notification.markedAsSeen) {\n if (markedAsSeenNotifications.size === 0) {\n return;\n }\n } else {\n markedAsSeenNotifications.add(notification.notificationId);\n }\n\n if (markedAsSeenNotifications.size > 0) {\n this.props.markNotificationsAsSeen(markedAsSeenNotifications);\n markedAsSeenNotifications.clear();\n this.setState({ markedAsSeenNotifications });\n }\n }\n };\n\n renderCard = (data, index) => {\n return (\n \n \n \n \n\n {!data.seen && }\n\n {this.renderSingleNotification(data)}\n \n );\n };\n\n renderWaypoint = (data, index) => {\n const { isViewingOwnCommittee } = this.props;\n\n if (data.failedFetch) return null;\n\n return (\n \n {isViewingOwnCommittee ? (\n this.onWaypointEnter(eventData, data)}\n scrollableAncestor={window}\n >\n {this.renderCard(data, index)}\n \n ) : (\n this.renderCard(data, index)\n )}\n \n );\n };\n\n renderInternalCommitteeInfo = () => {\n const { t, tunedOffCommitteesCount, internationalCommitteesCount } =\n this.props;\n const enabledInternalCommitteesCount = Math.max(\n 0,\n internationalCommitteesCount - tunedOffCommitteesCount,\n );\n\n if (tunedOffCommitteesCount === 0 || !this.props.notificationsExist) {\n return null;\n }\n\n return (\n
    \n \n {`${t(\"notifications.feed.turnedOnCommittees\", {\n count: enabledInternalCommitteesCount,\n })} \n ${t(\"notifications.feed.turnedOffCommittees\", {\n count: tunedOffCommitteesCount,\n })} `}\n (\n \n {t(\"notifications.feed.editCommitteeSettings\")}\n \n )\n \n
    \n );\n };\n\n get getMonday() {\n const d = new Date();\n const day = d.getDay(),\n diff = d.getDate() - day + (day == 0 ? -6 : 1);\n return new Date(d.setDate(diff));\n }\n\n renderNotifications() {\n const { notifications, t } = this.props;\n const thisWeekNotifications = [];\n const previousNotifications = [];\n\n notifications.forEach((notification) => {\n if (\n this.getMonday <=\n (notification.details?.notificationDate ?? notification.eventDate)\n ) {\n thisWeekNotifications.push(notification);\n } else {\n previousNotifications.push(notification);\n }\n });\n\n return (\n <>\n {thisWeekNotifications.length > 0 && (\n <>\n

    {t(\"notifications.feed.thisWeek\")}

    \n {thisWeekNotifications.map(this.renderWaypoint)}\n \n )}\n {previousNotifications.length > 0 && (\n <>\n

    {t(\"notifications.feed.previously\")}

    \n {previousNotifications.map(this.renderWaypoint)}\n \n )}\n \n );\n }\n\n renderMarkAsAllReadButton = () => {\n const {\n markAllNotificationsAsSeen,\n markAllNotificationsInProgress,\n t,\n selectedNationalCommittee,\n userCommittees,\n } = this.props;\n\n if (userCommittees[selectedNationalCommittee]?.unseenNotifications === 0)\n return null;\n\n return (\n \n
    \n \n {t(\"filter.label.markAllAsSeen\")}\n \n
    \n
    \n );\n };\n\n render() {\n const {\n t,\n notificationsExist,\n selectedNationalCommittee,\n hasMoreNotificationsToLoad,\n isProcessingRequest,\n } = this.props;\n\n return (\n \n \n \n {setPageTitle([\"Notifications\"], selectedNationalCommittee)}\n \n \n
    \n

    {t(\"notifications.header.name\")}

    \n
    \n\n <>{this.renderMarkAsAllReadButton()}\n\n
    \n
    \n }\n >\n {this.renderInternalCommitteeInfo()}\n\n {!notificationsExist && !hasMoreNotificationsToLoad && (\n

    \n {t(\"general.content.nothingToShow\")}\n

    \n )}\n\n {this.renderNotifications()}\n {/* {notifications.map(this.renderWaypoint)} */}\n \n
    \n
    \n \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isViewingOwnCommittee: isViewingOwnCommittee(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n isProcessingRequest: isProcessingRequest(state),\n internationalCommitteesCount: getInternationalCommitteesCount(state),\n notifications: getNotifications(state),\n notificationsExist: notificationsExist(state),\n hasMoreNotificationsToLoad: hasMoreNotificationsToLoad(state),\n tunedOffCommitteesCount: getTunedOffCommitteesCount(state),\n markAllNotificationsInProgress:\n markAllNotificationsAsSeenRequestProcessing(state),\n userCommittees: userCommittees(state),\n});\n\nconst mapDispatchToProps = {\n initNotifications,\n clearNotificationList,\n markNotificationsAsSeen,\n pullNextNotificationsPage,\n resetNotificationsFilters,\n markAllNotificationsAsSeen,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(NotificationsList);\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { setPageTitle } from \"../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\n\nclass PageNotFound extends Component {\n render() {\n const { t } = this.props;\n\n return (\n \n \n {setPageTitle([\"Page not found\"])}\n \n
    \n

    {t(\"general.errorPage.header.name\")}

    \n
    \n
    \n

    {t(\"general.errorPage.content.notFound\")}

    \n
    \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(PageNotFound);\n","import React, { Component, Fragment } from \"react\";\nimport { Redirect, Route, Switch } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\n\nimport NotificationsList from \"./pages/notifications-list/NotificationsList\";\nimport { resetFiltersForm } from \"../../../state/document/actions\";\nimport PageNotFound from \"../404/PageNotFound\";\n\nimport \"./Notifications.scss\";\nimport { DIALOG_TYPES, generateDialogLink } from \"../../../utils/dynamicLink\";\n\nclass Notifications extends Component {\n componentWillUnmount() {\n this.props.resetFiltersForm();\n }\n\n render() {\n return (\n \n \n \n \n \n \n \n );\n }\n}\nconst mapDispatchToProps = {\n resetFiltersForm,\n};\nexport default compose(connect(null, mapDispatchToProps))(Notifications);\n","import React from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\n\nimport Sticky from \"react-stickynode\";\nimport SidebarFilter from \"../../../../common/sidebar-filter/SidebarFilter\";\nimport { dateSort, monthFilter } from \"../../../../../utils/transform\";\nimport SelectFilter from \"../../../../common/select/SelectFilter\";\nimport {\n getDeadlineCommitteeFilterSelectItems,\n getDeadlineMonthFilterSelectItems,\n getDeadlineTypeFilterSelectItems,\n getDeadlineStagesSelectItems,\n} from \"../../../../../state/values/selectors\";\nimport { getDeadlinesFilters } from \"../../../../../state/deadlines/selectors\";\nimport {\n initDeadlines,\n setDeadlinesFilterValue,\n resetDeadlinesFilters,\n} from \"../../../../../state/deadlines/actions\";\nimport { TIMEFRAME } from \"../../../../../api/utils\";\n\nclass Sidebar extends React.Component {\n state = {\n committee: null,\n month: null,\n type: null,\n stage: null,\n title: \"\",\n };\n\n constructor(props) {\n super(props);\n this.currentDate = new Date();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.filters !== this.props.filters) {\n this.setState({\n committee: this.props.filters.committee,\n month: this.props.filters.month,\n type: this.props.filters.type,\n stage: this.props.filters.stage,\n });\n }\n }\n\n submitHandler = (e) => {\n e.preventDefault();\n const { committee, month, type, stage } = this.state;\n const {\n filters: { timeframe, title },\n showAll,\n } = this.props;\n\n this.props.setDeadlinesFilterValue({\n committee,\n month,\n type,\n stage,\n title,\n timeframe: showAll ? TIMEFRAME.ALL : timeframe,\n });\n\n this.props.initDeadlines();\n };\n\n resetFilters = (e) => {\n e.preventDefault();\n this.props.resetDeadlinesFilters();\n\n if (this.props.showAll) {\n this.props.setDeadlinesFilterValue({\n timeframe: TIMEFRAME.ALL,\n });\n }\n\n this.props.initDeadlines();\n };\n\n selectCommittee = (committee) => {\n if (\n this.props.committees.some((selectItem) => selectItem.value === committee)\n ) {\n this.setState({\n committee,\n });\n } else {\n this.setState({\n committee: null,\n });\n }\n };\n\n selectMonth = (month) => {\n if (this.props.months.some((selectItem) => selectItem.value === month)) {\n this.setState({\n month,\n });\n } else {\n this.setState({\n month: null,\n });\n }\n };\n\n selectType = (type) => {\n if (this.props.types.some((selectItem) => selectItem.value === type)) {\n this.setState({\n type,\n });\n } else {\n this.setState({\n type: null,\n });\n }\n };\n\n selectStage = (stage) => {\n if (this.props.stages.some((selectItem) => selectItem.value === stage)) {\n this.setState({\n stage,\n });\n } else {\n this.setState({\n stage: null,\n });\n }\n };\n\n setTitle = (event) => {\n const { filters } = this.props;\n this.props.setDeadlinesFilterValue({\n ...filters,\n title: event.target.value,\n });\n };\n\n renderContent() {\n const { committee, month, stage } = this.state;\n const { t, committees, months, stages, filters } = this.props;\n const { currentDate } = this;\n\n return (\n
    \n \n
    \n \n \n
    \n {committees && (\n
    \n \n
    \n )}\n {months && (\n
    \n \n monthFilter(obj, filters.timeframe, currentDate),\n )\n .sort((a, b) =>\n dateSort(\n a.date,\n b.date,\n filters.timeframe === TIMEFRAME.PAST ? \"desc\" : \"asc\",\n ),\n )}\n placeholder={t(\"filter.placeholder.allMonths\")}\n label={t(\"filter.label.chooseMonth\")}\n labelOnlyForScreenReaders={true}\n selectedItem={month}\n onChange={this.selectMonth}\n />\n
    \n )}\n {/* {types &&
    \n \n
    } */}\n {stages && (\n
    \n \n
    \n )}\n \n \n );\n }\n\n render() {\n const { disableSticky } = this.props;\n\n return (\n <>\n {disableSticky ? (\n <>{this.renderContent()}\n ) : (\n {this.renderContent()}\n )}\n \n );\n }\n}\nconst mapStateToProps = (state) => ({\n filters: getDeadlinesFilters(state),\n committees: getDeadlineCommitteeFilterSelectItems(state),\n months: getDeadlineMonthFilterSelectItems(state),\n types: getDeadlineTypeFilterSelectItems(state),\n stages: getDeadlineStagesSelectItems(state),\n});\nconst mapDispatchToProps = {\n initDeadlines,\n resetDeadlinesFilters,\n setDeadlinesFilterValue,\n};\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(Sidebar);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport DeleteModal from \"../../../documents/components/modal-content/DeleteModal\";\n\nclass DeadlineDeleteModal extends Component {\n render() {\n const { t, showModal, onCancel, onSubmit, itemUri, itemTitle } = this.props;\n return (\n \n \n \n );\n }\n}\n\nexport default withTranslation(\"common\")(DeadlineDeleteModal);\n","import React, { Fragment, createRef } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport DeadlineCard from \"../../components/deadline-card/DeadlineCard\";\nimport {\n isFetchingDeadlines,\n hasMoreDeadlinesToLoad,\n} from \"../../../../../state/deadlines/selectors\";\n\nimport \"./DeadlineTab.scss\";\nimport history from \"../../../../../utils/history\";\nimport {\n deleteDeadline,\n initDeadlines,\n pullDeadlinesPageRequest,\n updateIsRegistered,\n} from \"../../../../../state/deadlines/actions\";\n\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\nimport { isConsultant, userId } from \"../../../../../state/user/selectors\";\nimport { voteStatistics, votes } from \"../../../../../state/votes/selectors\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { InfiniteWaypointScroller } from \"../../../../common/infinite-scroll-wrapper/InfiniteScrollWrapper\";\nimport { findUserVote } from \"../../../../../services/votes/userVote\";\n\nimport AnalyticsTracking, {\n ResourcesTypes,\n} from \"../../../../../services/analytics-tracking/analytics-tracking\";\nimport DeadlineTable from \"./DeadlineTable\";\nimport { getDeadlineStagesSelectItems } from \"../../../../../state/values/selectors\";\nimport { createNotificationFromDeadline } from \"../../../../../state/notifications/actions\";\nimport DeadlineDeleteModal from \"../../components/delete-modal/DeadlineDeleteModal\";\n\nclass DeadlineList extends React.Component {\n infinityLoaderRef = createRef();\n state = {\n isDeleteModalOpen: false,\n deadlineToDelete: {},\n markedAsRemoved: \"\",\n };\n\n getStageLabel(value) {\n const stages = this.props.deadlineStages;\n\n var stage = value ? stages.find((s) => s.value === `${value}`) : null;\n return stage ? stage.label : null;\n }\n\n onCancelDelete = (uri) => {\n AnalyticsTracking.closeDeleteDialog(ResourcesTypes.deadline, uri);\n this.setState({ isDeleteModalOpen: false });\n };\n\n onSubmitDelete = (uri) => {\n AnalyticsTracking.deletionConfirmed(ResourcesTypes.deadline, uri);\n this.props.deleteDeadline(uri);\n this.setState({ isDeleteModalOpen: false, markedAsRemoved: uri });\n };\n\n getDeadlineActions(data) {\n const { t, isConsultant } = this.props;\n if (!isConsultant) {\n return [];\n }\n\n const { uri: deadlineUri, isRegistered } = data;\n\n const deleteDeadlineActionCallback = () => {\n AnalyticsTracking.showDeleteDialog(ResourcesTypes.deadline, deadlineUri);\n this.setState({ isDeleteModalOpen: true, deadlineToDelete: data });\n };\n\n const createNotificationFromDeadline = () => {\n this.props.createNotificationFromDeadline(data);\n };\n\n const editDeadlineActionCallback = () => {\n history.push(generateDialogLink(DIALOG_TYPES.EDIT_DEADLINE, deadlineUri));\n };\n\n const updateIsRegistered = () => {\n this.props.updateIsRegistered({\n deadlineUri: deadlineUri,\n isRegistered: !isRegistered,\n });\n };\n\n return [\n {\n label: t(\"deadlines.details.cards.editDeadline\"),\n callback: editDeadlineActionCallback,\n },\n {\n label: t(\"deadlines.details.cards.createNotification\"),\n callback: createNotificationFromDeadline,\n },\n {\n label: t(\"deadlines.details.cards.deleteDeadline\"),\n callback: deleteDeadlineActionCallback,\n },\n {\n label: isRegistered\n ? t(\"card.unmarkAsRegistered\")\n : t(\"card.markAsRegistered\"),\n callback: updateIsRegistered,\n },\n ];\n }\n\n renderTable = (deadlines) => {\n const { useCheckbox, onClickCheckbox, selectedDeadlines } = this.props;\n return (\n \n );\n };\n\n renderCard = (deadline, i) => {\n const { voteStatistics, userId, votes } = this.props;\n\n return (\n \n );\n };\n\n renderItems() {\n const {\n t,\n i18n,\n deadlines,\n hasMoreDeadlinesToLoad,\n isFetchingDeadlines,\n useTable,\n } = this.props;\n\n if (\n !hasMoreDeadlinesToLoad &&\n !isFetchingDeadlines &&\n (!Object.keys(deadlines) || !Object.keys(deadlines).length)\n ) {\n return (\n \n {t(\"general.content.nothingToShow\")}\n

    \n );\n }\n\n const deadlinesFlatten = Object.keys(deadlines).reduce(\n (acc, month) => [...acc, ...deadlines[month]],\n [],\n );\n\n // ## without month year heading\n return useTable\n ? this.renderTable(deadlinesFlatten)\n : deadlinesFlatten.map(this.renderCard);\n\n // ## with month year heading. DO NOT DELETE this - most probably will need to bring it back.\n // return Object.keys(deadlines).map((month, index) => {\n\n // const monthYearHeading = new Date(month)\n // .toLocaleDateString(i18n.language, { month: \"long\", year: \"numeric\" })\n // .toUpperCase();\n\n // return (\n // \n // {monthYearHeading}\n // {useTable\n // ? this.renderTable(deadlines[month])\n // : deadlines[month].map(this.renderCard)}\n // \n // );\n // });\n }\n\n loadMoreItems = (page) => {\n this.props.pullDeadlinesPageRequest({ page });\n };\n\n render() {\n return (\n
    \n {/* }\n // isModal={this.props.isModal}\n >\n {this.renderItems()}\n \n \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isFetchingDeadlines: isFetchingDeadlines(state),\n votes: votes(state),\n voteStatistics: voteStatistics(state),\n hasMoreDeadlinesToLoad: hasMoreDeadlinesToLoad(state),\n userId: userId(state),\n isConsultant: isConsultant(state),\n deadlineStages: getDeadlineStagesSelectItems(state),\n});\n\nconst mapDispatchToProps = {\n initDeadlines,\n pullDeadlinesPageRequest,\n createNotificationFromDeadline,\n deleteDeadline,\n updateIsRegistered,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DeadlineList);\n","import React, { Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport DeadlineCard from \"../../components/deadline-card/DeadlineCard\";\nimport PanelContainer from \"../../../../common/layout/PanelContainer\";\nimport {\n SlimTabsSwitcher,\n SlimTab,\n} from \"../../../../common/slim-tabs/SlimTabs\";\nimport Sidebar from \"../../components/sidebar/Sidebar\";\nimport {\n getDeadlines,\n isFetchingDeadlines,\n isDeletingDeadline,\n hasMoreDeadlinesToLoad,\n getDeadlinesFilters,\n} from \"../../../../../state/deadlines/selectors\";\n\nimport \"./DeadlineTab.scss\";\nimport history from \"../../../../../utils/history\";\nimport UrlPattern from \"url-pattern\";\nimport {\n initDeadlines,\n setDeadlinesFilterValue,\n resetDeadlinesFilters,\n pullDeadlinesPageRequest,\n deleteDeadline,\n} from \"../../../../../state/deadlines/actions\";\n\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { getDeadlineStagesSelectItems } from \"../../../../../state/values/selectors\";\nimport { isConsultant, userId } from \"../../../../../state/user/selectors\";\nimport { voteStatistics, votes } from \"../../../../../state/votes/selectors\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\nimport DeadlineDeleteModal from \"../../components/delete-modal/DeadlineDeleteModal\";\n\nimport { applicationTriggerUserHint } from \"../../../../../state/app/actions\";\nimport { applicationUserHints } from \"../../../../../utils/constants\";\n\nimport AnalyticsTracking, {\n ResourcesTypes,\n} from \"../../../../../services/analytics-tracking/analytics-tracking\";\nimport DeadlineList from \"./DeadlineList\";\nimport { TIMEFRAME } from \"../../../../../api/utils\";\n\nexport const SHOW_UPCOMING_DEADLINES = \"_show_upcoming\";\nexport const SHOW_PAST_DEADLINES = \"_show_past\";\n\nclass DeadlineTab extends React.Component {\n parser = new UrlPattern(\"/:committeeId/*\");\n\n state = {\n isDeleteModalOpen: false,\n deadlineToDelete: {},\n previousCommittee: \"\",\n markedAsRemoved: \"\",\n };\n\n componentDidMount() {\n const result = this.parser.match(window.location.pathname);\n this.setState({ previousCommittee: result.committeeId });\n\n this.unlisten = history.listen((location) => {\n const matchResult = this.parser.match(location.pathname);\n if (\n matchResult &&\n this.state.previousCommittee !== matchResult.committeeId\n ) {\n this.setState({ previousCommittee: matchResult.committeeId }, () => {\n this.props.resetDeadlinesFilters();\n this.props.initDeadlines();\n });\n }\n });\n\n this.props.resetDeadlinesFilters();\n this.props.initDeadlines();\n\n // This has been replaced with a hint on header of the page\n // this.props.applicationTriggerUserHint({\n // hintId: applicationUserHints.listDeadlines,\n // });\n }\n\n componentWillUnmount() {\n this.unlisten();\n }\n\n onCancelDelete = (uri) => {\n AnalyticsTracking.closeDeleteDialog(ResourcesTypes.deadline, uri);\n this.setState({ isDeleteModalOpen: false });\n };\n\n onSubmitDelete = (uri) => {\n AnalyticsTracking.deletionConfirmed(ResourcesTypes.deadline, uri);\n this.props.deleteDeadline(uri);\n this.setState({ isDeleteModalOpen: false, markedAsRemoved: uri });\n };\n\n handleDeadlinesUpcomingFilter = (selected) => {\n this.props.setDeadlinesFilterValue({\n timeframe:\n selected === SHOW_PAST_DEADLINES ? TIMEFRAME.PAST : TIMEFRAME.FUTURE,\n month: null,\n });\n this.props.initDeadlines();\n };\n\n render() {\n const { t, selectedNationalCommittee, filters, isFetchingDeadlines } =\n this.props;\n\n return (\n \n \n \n {setPageTitle([\"Deadlines\"], selectedNationalCommittee)}\n \n \n \n
    \n

    {t(\"deadlines.header.name\")}

    \n
    \n
    \n
    \n {t(\"deadlines.pageInfo\")}\n
    \n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isFetchingDeadlines: isFetchingDeadlines(state),\n isDeletingDeadline: isDeletingDeadline(state),\n deadlines: getDeadlines(state),\n filters: getDeadlinesFilters(state),\n votes: votes(state),\n voteStatistics: voteStatistics(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n hasMoreDeadlinesToLoad: hasMoreDeadlinesToLoad(state),\n deadlineStages: getDeadlineStagesSelectItems(state),\n userId: userId(state),\n isConsultant: isConsultant(state),\n});\n\nconst mapDispatchToProps = {\n initDeadlines,\n setDeadlinesFilterValue,\n resetDeadlinesFilters,\n pullDeadlinesPageRequest,\n deleteDeadline,\n applicationTriggerUserHint,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DeadlineTab);\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Switch, Redirect } from \"react-router-dom\";\n\nimport DeadlineTab from \"./pages/deadline-list/DeadlineTab\";\nimport { resetFiltersForm } from \"../../../state/document/actions\";\nimport { generateDialogLink, DIALOG_TYPES } from \"../../../utils/dynamicLink\";\n\nclass Deadlines extends Component {\n componentWillUnmount() {\n this.props.resetFiltersForm();\n }\n\n render() {\n return (\n \n \n \n \n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n resetFiltersForm,\n};\n\nexport default connect(null, mapDispatchToProps)(Deadlines);\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport Sticky from \"react-stickynode\";\nimport SidebarFilter from \"../../../../common/sidebar-filter/SidebarFilter\";\nimport SelectFilter from \"../../../../common/select/SelectFilter\";\nimport { dateSort, monthFilter } from \"../../../../../utils/transform\";\nimport { getMeetingsFilters } from \"../../../../../state/meetings/selectors\";\nimport {\n initMeetings,\n setMeetingsFilterValue,\n resetMeetingsFilters,\n} from \"../../../../../state/meetings/actions\";\nimport {\n getMeetingCommitteeFilterSelectItems,\n getMeetingMonthFilterSelectItems,\n} from \"../../../../../state/values/selectors\";\nimport { TIMEFRAME } from \"../../../../../api/utils\";\n\nclass Sidebar extends Component {\n state = {\n committee: null,\n month: null,\n };\n\n constructor(props) {\n super(props);\n this.currentDate = new Date();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.filters !== this.props.filters) {\n this.setState({\n committee: this.props.filters.committee,\n month: this.props.filters.month,\n });\n }\n }\n\n submitHandler = (e) => {\n e.preventDefault();\n const { committee, month } = this.state;\n const {\n filters: { timeframe },\n showAll,\n } = this.props;\n this.props.setMeetingsFilterValue({\n committee,\n month,\n timeframe: showAll ? TIMEFRAME.ALL : timeframe,\n });\n\n this.props.initMeetings();\n };\n\n resetFilters = (e) => {\n e.preventDefault();\n this.props.resetMeetingsFilters();\n\n if (this.props.showAll) {\n this.props.setMeetingsFilterValue({\n timeframe: TIMEFRAME.ALL,\n });\n }\n\n this.props.initMeetings();\n };\n\n selectCommittee = (committee) => {\n if (\n this.props.committees.some((selectItem) => selectItem.value === committee)\n ) {\n this.setState({\n committee,\n });\n } else {\n this.setState({\n committee: null,\n });\n }\n };\n\n selectMonth = (month) => {\n if (this.props.months.some((selectItem) => selectItem.value === month)) {\n this.setState({\n month,\n });\n } else {\n this.setState({\n month: null,\n });\n }\n };\n\n renderContent() {\n const { committee, month } = this.state;\n const { t, committees, months, filters } = this.props;\n const { currentDate } = this;\n\n return (\n
    \n \n {committees && (\n
    \n \n
    \n )}\n {months && (\n
    \n \n monthFilter(obj, filters.timeframe, currentDate),\n )\n .sort((a, b) =>\n dateSort(\n a.date,\n b.date,\n filters.timeframe === TIMEFRAME.PAST ? \"desc\" : \"asc\",\n ),\n )}\n placeholder={t(\"filter.placeholder.allMonths\")}\n label={t(\"filter.label.chooseMonth\")}\n labelOnlyForScreenReaders={true}\n selectedItem={month}\n onChange={this.selectMonth}\n />\n
    \n )}\n \n \n );\n }\n\n render() {\n const { disableSticky } = this.props;\n\n return (\n <>\n {disableSticky ? (\n <>{this.renderContent()}\n ) : (\n {this.renderContent()}\n )}\n \n );\n }\n}\nconst mapStateToProps = (state) => ({\n filters: getMeetingsFilters(state),\n committees: getMeetingCommitteeFilterSelectItems(state),\n months: getMeetingMonthFilterSelectItems(state),\n});\nconst mapDispatchToProps = {\n initMeetings,\n setMeetingsFilterValue,\n resetMeetingsFilters,\n};\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(Sidebar);\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport { withTranslation } from \"react-i18next\";\n\nimport Card from \"../../../../common/card/Card\";\nimport CardHeader from \"../../../../common/card/CardHeader\";\nimport CardContent from \"../../components/card-content/CardContent\";\nimport CardAttachments from \"../../../../common/card/CardAttachments\";\n\nimport { formatEventDate, transformUri } from \"../../../../../utils/transform\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\n\nclass MeetingCard extends React.Component {\n get referencesSize() {\n const { meeting } = this.props;\n const documentSize =\n meeting.referencesRawResponsePerType.document?.length ?? 0;\n const deadlineSize =\n meeting.referencesRawResponsePerType.deadline?.length ?? 0;\n return documentSize + deadlineSize;\n }\n\n render() {\n const { meeting, markedAsRemoved, customActions, callbackAction } =\n this.props;\n const date = new Date(meeting.fromDate);\n const meetingDetailsUrl = generateDialogLink(\n DIALOG_TYPES.MEETING_DETAILS,\n meeting.uri,\n );\n\n return (\n \n \n \n \n \n );\n }\n}\n\nexport default withTranslation(\"common\")(MeetingCard);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport DeleteModal from \"../../../documents/components/modal-content/DeleteModal\";\n\nclass MeetingDeleteModal extends Component {\n render() {\n const { t, showModal, onCancel, onSubmit, itemUri, itemTitle } = this.props;\n return (\n \n \n \n );\n }\n}\n\nexport default withTranslation(\"common\")(MeetingDeleteModal);\n","import React, { Component, Fragment } from \"react\";\nimport { InfiniteWaypointScroller } from \"../../../../common/infinite-scroll-wrapper/InfiniteScrollWrapper\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport {\n hasMoreMeetingsToLoad,\n isProcessingMeetings,\n} from \"../../../../../state/meetings/selectors\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport MeetingCard from \"../../components/meeting-card/MeetingCard\";\nimport {\n initMeetings,\n pullMeetingsPageRequest,\n deleteMeeting,\n} from \"../../../../../state/meetings/actions\";\nimport {\n DIALOG_TYPES,\n generateDialogLink,\n} from \"../../../../../utils/dynamicLink\";\nimport history from \"../../../../../utils/history\";\nimport { isConsultant } from \"../../../../../state/user/selectors\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport MeetingDeleteModal from \"../../components/delete-modal/MeetingDeleteModal\";\nimport MeetingTable from \"./MeetingTable\";\nimport { createNotificationFromMeeting } from \"../../../../../state/notifications/actions\";\n\nclass MeetingList extends Component {\n state = {\n isDeleteModalOpen: false,\n meetingToDelete: {},\n markedAsRemoved: \"\",\n };\n\n loadMoreMeetings = (page) => {\n this.props.pullMeetingsPageRequest({ page });\n };\n\n getCardActions = (data) => {\n const { t, isConsultant } = this.props;\n if (!isConsultant) {\n return [];\n }\n\n const editMeetingActionCallback = () => {\n const link = generateDialogLink(DIALOG_TYPES.EDIT_MEETING, data.uri);\n history.push(link);\n };\n\n const createNotificationFromMeeting = () => {\n this.props.createNotificationFromMeeting(data);\n };\n\n const deleteMeetingActionCallback = () => {\n this.setState({ isDeleteModalOpen: true, meetingToDelete: data });\n };\n\n return [\n {\n label: t(\"meetings.cards.editMeeting\"),\n callback: editMeetingActionCallback,\n },\n {\n label: t(\"meetings.cards.createNotification\"),\n callback: createNotificationFromMeeting,\n },\n {\n label: t(\"meetings.cards.deleteMeeting\"),\n callback: deleteMeetingActionCallback,\n },\n ];\n };\n\n renderCard = (data, index) => {\n return (\n \n );\n };\n\n renderTable = (meetings) => {\n return (\n \n );\n };\n\n renderItems() {\n const {\n t,\n meetings,\n isProcessingMeetings,\n hasMoreMeetingsToLoad,\n useTable,\n } = this.props;\n\n if (\n !hasMoreMeetingsToLoad &&\n !isProcessingMeetings &&\n (!Object.keys(meetings) || !Object.keys(meetings).length)\n ) {\n return (\n

    \n {t(\"general.content.nothingToShow\")}\n

    \n );\n }\n\n return Object.keys(meetings).map((month, index) => {\n return (\n \n {month}\n {useTable\n ? this.renderTable(meetings[month])\n : meetings[month].map(this.renderCard)}\n \n );\n });\n }\n\n onCancelDelete = () => {\n this.setState({ isDeleteModalOpen: false, meetingToDelete: {} });\n };\n\n onSubmitDelete = (uri) => {\n this.props.deleteMeeting(uri);\n this.setState({\n isDeleteModalOpen: false,\n meetingToDelete: {},\n markedAsRemoved: uri,\n });\n };\n\n render() {\n return (\n <>\n
    \n {/* }\n // isModal={this.props.isModal}\n >\n {this.renderItems()}\n \n
    \n \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isProcessingMeetings: isProcessingMeetings(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n hasMoreMeetingsToLoad: hasMoreMeetingsToLoad(state),\n isConsultant: isConsultant(state),\n});\n\nconst mapDispatchToProps = {\n initMeetings,\n deleteMeeting,\n pullMeetingsPageRequest,\n createNotificationFromMeeting,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(MeetingList);\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { Helmet } from \"react-helmet\";\nimport UrlPattern from \"url-pattern\";\n\nimport PanelContainer from \"../../../../common/layout/PanelContainer\";\nimport {\n SlimTabsSwitcher,\n SlimTab,\n} from \"../../../../common/slim-tabs/SlimTabs\";\nimport Sidebar from \"../../components/sidebar/Sidebar\";\nimport {\n getMeetings,\n isProcessingMeetings,\n getMeetingsFilters,\n} from \"../../../../../state/meetings/selectors\";\n\nimport \"./MeetingTab.scss\";\nimport history from \"../../../../../utils/history\";\nimport {\n initMeetings,\n setMeetingsFilterValue,\n resetMeetingsFilters,\n} from \"../../../../../state/meetings/actions\";\n\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\n\nimport MeetingList from \"./MeetingList\";\nimport { TIMEFRAME } from \"../../../../../api/utils\";\n\nexport const SHOW_UPCOMING_MEETINGS = \"_show_upcoming\";\nexport const SHOW_PAST_MEETINGS = \"_show_past\";\n\nclass MeetingTab extends Component {\n parser = new UrlPattern(\"/:committeeId/meetings(/:meetingId)*\");\n state = {\n isDeleteModalOpen: false,\n meetingToDelete: {},\n previouseCommittee: \"\",\n lastOppendMeetingId: \"\",\n markedAsRemoved: \"\",\n };\n\n getCommitteeFromLocation(location) {\n const result = this.parser.match(location.pathname);\n return result.committeeId;\n }\n\n // getMeetingId(location) {\n // const result = this.parser.match(location.pathname);\n // return result.meetingId;\n // }\n\n componentDidMount() {\n this.setState({\n previouseCommittee: this.getCommitteeFromLocation(window.location),\n });\n\n this.unlisten = history.listen((location) => {\n const matchResult = this.parser.match(location.pathname);\n if (!matchResult) return;\n\n if (this.state.previouseCommittee !== matchResult.committeeId) {\n this.setState({ previouseCommittee: matchResult.committeeId }, () => {\n this.props.resetMeetingsFilters();\n this.props.initMeetings();\n });\n } else {\n if (matchResult.lastOppendMeetingId) {\n this.setState({\n lastOppendMeetingId: matchResult.lastOppendMeetingId,\n });\n }\n }\n });\n\n this.props.resetMeetingsFilters();\n this.props.initMeetings();\n }\n\n componentWillUnmount() {\n this.unlisten();\n }\n\n handleUpcomingFilter = (tab) => {\n this.props.setMeetingsFilterValue({\n timeframe: tab === SHOW_PAST_MEETINGS ? TIMEFRAME.PAST : TIMEFRAME.FUTURE,\n month: null,\n });\n this.props.initMeetings();\n };\n\n render() {\n const { t, selectedNationalCommittee, filters, isProcessingMeetings } =\n this.props;\n\n return (\n \n \n {setPageTitle([\"Meetings\"], selectedNationalCommittee)}\n \n \n
    \n

    {t(\"meetings.header.name\")}

    \n
    \n
    \n \n \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n meetings: getMeetings(state),\n filters: getMeetingsFilters(state),\n isProcessingMeetings: isProcessingMeetings(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n };\n};\n\nconst mapDispatchToProps = {\n initMeetings,\n setMeetingsFilterValue,\n resetMeetingsFilters,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(MeetingTab);\n","import React, { Component, Fragment } from \"react\";\nimport { Switch, Redirect } from \"react-router-dom\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\n\nimport MeetingsTab from \"./pages/meeting-tab/MeetingTab\";\nimport { resetFiltersForm } from \"../../../state/document/actions\";\nimport { generateDialogLink, DIALOG_TYPES } from \"../../../utils/dynamicLink\";\n\nclass Meetings extends Component {\n componentWillUnmount() {\n this.props.resetFiltersForm();\n }\n\n render() {\n return (\n \n \n \n \n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n resetFiltersForm,\n};\n\nexport default compose(connect(null, mapDispatchToProps))(Meetings);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport SelectFilter from \"../../../components/common/select/SelectFilter\";\nimport { isConsultant } from \"./../../../state/user/selectors\";\nimport classNames from \"classnames\";\n\nimport \"./Filters.scss\";\n\nclass Filters extends Component {\n state = {\n isFiltered: this.props.isFiltered,\n };\n\n componentDidMount() {\n if (this.props.init) {\n this.props.init();\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n prevProps.filters.documentsAreFiltered !==\n this.props.filters.documentsAreFiltered\n ) {\n this.setState({ isFiltered: this.props.filters.documentsAreFiltered });\n }\n }\n\n submitHandler = (e) => {\n e.preventDefault();\n this.setState({ isFiltered: true });\n this.props.addFiltersToUrl();\n };\n\n resetFilters = (e) => {\n e.preventDefault();\n this.setState({ isFiltered: false });\n this.props.resetFilters({ changeFilter: true });\n };\n\n setDocumentTitle = (event) => {\n this.props.selectFilterValue({\n title: event.target.value,\n changeFilter: true,\n });\n };\n\n committeeSelected = (committee) => {\n this.props.selectFilterValue({\n committee,\n changeFilter: true,\n });\n };\n\n selectDocumentAction = (actionId) => {\n this.props.selectFilterValue({\n action: actionId,\n changeFilter: true,\n });\n };\n\n selectDocumentType = (typeId) => {\n this.props.selectFilterValue({\n type: typeId,\n changeFilter: true,\n });\n };\n\n handleDocumentSearchKeyDown = (e) => {\n if (e.key === \"Enter\") {\n this.submitHandler(e);\n }\n };\n\n render() {\n const { t, isConsultant, disabled, filters, selectedFilters, isRefernece } =\n this.props;\n const { isFiltered } = this.state;\n\n return (\n \n
    \n
    \n \n \n {filters.actions && filters.types && filters.committees && (\n
    \n \n \n \n
    \n )}\n
    \n \n {t(\"filter.button.filter\")}\n \n
    \n\n {isFiltered && (\n \n {t(\"filter.button.reset\")}\n \n )}\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isConsultant: isConsultant(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, null),\n)(Filters);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport Filters from \"../../../../common/filters/Filters\";\nimport {\n addFiltersToUrl,\n resetFilters,\n setDocumentsAreFiltered,\n setFilterValue,\n} from \"../../../../../state/document/actions\";\n\nimport * as documentSelectors from \"../../../../../state/document/selectors\";\nimport * as valuesSelectors from \"../../../../../state/values/selectors\";\nimport { isConsultant } from \"./../../../../../state/user/selectors\";\n\nclass DocumentFilters extends Component {\n render() {\n return (\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n filters: valuesSelectors.getDocumentValues(state),\n selectedFilters: documentSelectors.getSelectedFilters(state),\n isProcessingDocuments: documentSelectors.isProcessingDocuments(state),\n isConsultant: isConsultant(state),\n});\n\nconst mapDispatchToProps = {\n setFilterValue,\n addFiltersToUrl,\n resetFilters,\n setDocumentsAreFiltered,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DocumentFilters);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { compose } from \"redux\";\nimport FileInput from \"../../../../common/form/file-input/FileInput\";\n\nclass UploadButtons extends Component {\n render() {\n const { t, createHandler } = this.props;\n\n return (\n
    \n \n {/* */}\n
    \n );\n }\n}\n\nexport default compose(withTranslation(\"common\"))(UploadButtons);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { compose } from \"redux\";\n\nclass ActionButtons extends Component {\n render() {\n const {\n t,\n onCreateNewNotification,\n onCreateNewMeeting,\n onCreateNewDeadline,\n } = this.props;\n\n return (\n
    \n \n {t(\"documents.event.newNotification\")}\n \n \n {t(\"documents.event.newDeadline\")}\n \n \n {t(\"documents.event.newMeeting\")}\n \n
    \n );\n }\n}\n\nexport default compose(withTranslation(\"common\"))(ActionButtons);\n","import React, { Component } from \"react\";\nimport \"./DocumentsDrop.scss\";\n\nexport default class DocumentsDrop extends Component {\n state = {\n dropActive: false,\n };\n\n onDragEnter = (e) => {\n e.preventDefault();\n this.setState({ dropActive: true });\n };\n\n onDragOver = (e) => {\n e.preventDefault();\n this.setState({ dropActive: true });\n };\n onDragLeave = (e) => {\n e.preventDefault();\n this.setState({ dropActive: false });\n };\n\n onDrop = (e) => {\n e.preventDefault();\n\n if (e.dataTransfer.files) {\n this.props.onDropFiles(e.dataTransfer.files);\n }\n this.setState({ dropActive: false });\n };\n\n render() {\n return (\n
    \n {this.state.dropActive && (\n
    \n )}\n {this.props.children}\n \n );\n }\n}\n","import React, { Component, Fragment, createRef } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport {\n getDocuments,\n hasMoreDocumentsToLoad,\n} from \"../../../../../state/document/selectors\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport Filters from \"../filters/DocumentFilters\";\nimport {\n uploadSelectedDocuments,\n resetFiltersForm,\n pullNextDocumentsPageRequest,\n initDocuments,\n reloadDocuments,\n} from \"../../../../../state/document/actions\";\n\nimport history from \"../../../../../utils/history\";\nimport UploadButtons from \"../upload-buttons/UploadButtons\";\nimport ActionButtons from \"../action-buttons/ActionButtons\";\nimport DocumentsDrop from \"../documents-drop/DocumentsDrop\";\nimport { documentUploadType } from \"../../../../../utils/constants\";\nimport WithPrivileges from \"../../../../common/with-privileges/WithPrivileges\";\nimport DocumentList from \"../../../../common/document-list/List\";\nimport UrlPattern from \"url-pattern\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\n\nimport { InfiniteScrollWrapper } from \"../../../../common/infinite-scroll-wrapper/InfiniteScrollWrapper\";\n\nclass CommitteeDocuments extends Component {\n infinityLoaderRef = createRef();\n\n state = {\n selectedFiles: [],\n };\n\n componentDidMount() {\n this.parser = new UrlPattern(\"/:committeeId/:segment*\");\n this.unlisten = history.listen((location, action) => {\n const result = this.parser.match(location.pathname);\n if (result && result.segment === \"documents\") {\n this.props.reloadDocuments(action);\n }\n });\n\n this.props.initDocuments();\n this.infinityLoaderRef.current.reset();\n }\n\n componentWillUnmount() {\n this.unlisten();\n this.props.resetFiltersForm();\n }\n\n createHandler = (event) => {\n this.props.uploadSelectedDocuments({\n documents: event.target.files,\n uploadType: documentUploadType.file,\n notifyOnUpdate: true,\n notifyImmediately: false,\n });\n };\n\n onDropFiles = (files) => {\n this.props.uploadSelectedDocuments({\n documents: files,\n uploadType: documentUploadType.file,\n notifyOnUpdate: true,\n notifyImmediately: false,\n });\n };\n\n componentDidUpdate(prevProps) {\n if (prevProps.documents !== this.props.documents) {\n this.setState({ selectedFiles: [] });\n }\n }\n\n selectHandler = (element) => {\n this.state.selectedFiles.filter((el) => el.url === element.url).length\n ? this.setState({\n selectedFiles: this.state.selectedFiles.filter(\n (el) => el.url !== element.url,\n ),\n })\n : this.setState({\n selectedFiles: [...this.state.selectedFiles, element],\n });\n };\n\n onCreateNewNotification = () => {};\n\n onCreateNewMeeting = () => {\n // this.props.createMeetingFromSelectedDocuments(this.state.selectedFiles);\n };\n\n onCreateNewDeadline = () => {\n // this.props.createDeadlineFromSelectedDocuments(this.state.selectedFiles);\n };\n\n loadMoreItems = (page) => {\n this.props.pullNextDocumentsPageRequest();\n };\n\n render() {\n const { selectedNationalCommittee } = this.props;\n return (\n \n \n \n {setPageTitle([\"Documents\"], selectedNationalCommittee)}\n \n \n \n {!this.state.selectedFiles.length ? (\n \n ) : (\n \n )}\n \n \n \n }\n ref={this.infinityLoaderRef}\n >\n \n \n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n uploadSelectedDocuments,\n resetFiltersForm,\n pullNextDocumentsPageRequest,\n initDocuments,\n reloadDocuments,\n};\n\nconst mapStateToProps = (state) => ({\n documents: getDocuments(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n hasMoreDocumentsToLoad: hasMoreDocumentsToLoad(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(CommitteeDocuments);\n","export const isDocumentLinkValid = (link) => {\n return /^https?:\\/\\//i.test(link) || /^ftp:\\/\\//i.test(link);\n};\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\n\nimport { uploadSelectedDocuments } from \"../../../state/document/actions\";\nimport { documentUploadType } from \"../../../utils/constants\";\n\nimport { isDocumentLinkValid } from \"../../../utils/validation/documentLinkValidator\";\nimport FormMessageBox, { messageType } from \"../form/message-box/MessageBox\";\nimport classNames from \"classnames\";\n\nclass DocumentsLinks extends Component {\n state = {\n rows: [\"\"],\n errorMessages: [],\n duringValidation: false,\n };\n\n isInvalid = (index) => {\n return (\n (this.state.rows[index].length || this.state.duringValidation) &&\n !isDocumentLinkValid(this.state.rows[index])\n );\n };\n\n onAddRow = (e) => {\n e.preventDefault();\n this.setState((state) => {\n return {\n rows: [...state.rows, \"\"],\n };\n });\n };\n\n onRemoveRow = (e, rowIndex) => {\n e.preventDefault();\n this.setState((state) => {\n return {\n rows: state.rows.filter((_, i) => i !== rowIndex),\n };\n });\n };\n\n onUpdateRow = (index, value) => {\n const v = value;\n this.setState((state) => {\n let newRows = [...state.rows];\n newRows[index] = v;\n return {\n rows: newRows,\n };\n });\n };\n\n onAddLinkedDocuments = (e) => {\n e.preventDefault();\n this.validateRows();\n };\n\n validateRows = () => {\n const rowsBeforeValidation = this.getRowsToValidate();\n const validatedRows = rowsBeforeValidation.filter((row) =>\n isDocumentLinkValid(row),\n );\n const isValidated = validatedRows.length === rowsBeforeValidation.length;\n this.setState({ rows: rowsBeforeValidation }, () => {\n this.afterRowValidation(isValidated);\n });\n };\n\n afterRowValidation = (isValidated) => {\n if (isValidated) {\n this.addLinks();\n this.props.hideLinkDocuments();\n } else {\n this.showErrorMessage();\n }\n this.setState({ duringValidation: !isValidated });\n };\n\n getRowsToValidate = () => {\n const nonEmptyRows = this.state.rows.filter((r) => r.length !== 0);\n if (nonEmptyRows.length === 0) {\n nonEmptyRows.push(\"\");\n }\n return nonEmptyRows;\n };\n\n addLinks = () => {\n this.props.uploadSelectedDocuments({\n documents: this.state.rows,\n uploadType: documentUploadType.link,\n callback: this.props.callback,\n });\n };\n\n showErrorMessage = () => {\n this.setState({\n errorMessages: [\"documents.linked.validation.linkFormatError\"],\n });\n };\n\n renderRemoveButton = (index) => {\n const { t } = this.props;\n\n return (\n this.onRemoveRow(e, index)}\n >\n {t(\"documents.linked.button.removeRow\")}\n \n );\n };\n\n renderRow = (index, row, withRemoveButton) => {\n return (\n
    \n this.onUpdateRow(index, event.target.value)}\n />\n {withRemoveButton ? this.renderRemoveButton(index) : null}\n
    \n );\n };\n\n render() {\n const { t, hideLinkDocuments } = this.props;\n const { rows, errorMessages } = this.state;\n\n const withRemoveButton = rows.length > 1;\n\n return (\n \n
    \n \n \n {t(\"documents.linked.button.addLinkedDocuments\")}\n \n
    \n \n
    \n {rows.map((row, index) =>\n this.renderRow(index, row, withRemoveButton),\n )}\n
    \n \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n uploadSelectedDocuments,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(null, mapDispatchToProps),\n)(DocumentsLinks);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport \"./Documents.scss\";\n\nimport PanelContainer from \"../../common/layout/PanelContainer\";\nimport CommitteeDocuments from \"./components/committee-documents/CommitteeDocuments\";\nimport DocumentsLinks from \"../../../components/common/document-links/DocumentsLinks\";\n\nimport { compose } from \"redux\";\n\nclass Documents extends Component {\n state = { isLinkingDocuments: false };\n\n onLinkDocuments = () => {\n this.setState({ isLinkingDocuments: true });\n };\n\n hideLinkDocuments = () => {\n this.setState({ isLinkingDocuments: false });\n };\n\n render() {\n const { t } = this.props;\n return (\n \n
    \n

    {t(\"documents.header.name\")}

    \n
    \n
    \n {this.state.isLinkingDocuments ? (\n \n ) : (\n \n )}\n
    \n
    \n );\n }\n}\n\nexport default compose(withTranslation(\"common\"))(Documents);\n","import React, { Component } from \"react\";\n\nclass List extends Component {\n renderRow = (element, index) => {\n const { handleElementClick } = this.props;\n return element.children && element.children.length ? (\n handleElementClick(element)}\n >\n
    {element.name}
    \n
    {element.description}
    \n
    \n {element.children && (\n {element.children.length}\n )}\n \n
    \n \n ) : (\n
    \n
    {element.name}
    \n
    {element.description}
    \n
    \n
    \n );\n };\n\n render() {\n const { list } = this.props;\n\n return
    {list.map(this.renderRow)}
    ;\n }\n}\n\nexport default List;\n","import React, { Component } from \"react\";\n\nclass ListBreadcrumb extends Component {\n render() {\n const { element, handleElementClick } = this.props;\n\n return (\n handleElementClick(element)}\n >\n
    \n \n {element.name}\n
    \n
    {element.description}
    \n
    \n \n );\n }\n}\n\nexport default ListBreadcrumb;\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { compose } from \"redux\";\nimport \"./Committees.scss\";\nimport List from \"../../common/list/List\";\nimport ListBreadcrumb from \"../../common/list/BreadcrumbList\";\nimport {\n getInternationalCommittees,\n selectedNationalCommittee,\n} from \"../../../state/national-committees/selectors\";\nimport { Helmet } from \"react-helmet\";\nimport { setPageTitle } from \"../../../utils/pageTitle\";\n\nimport Loader from \"../../common/loader/Loader\";\nimport { getAssociatedCommitteesByCommitteeId } from \"../../../state/national-committees/actions\";\n\nclass Committees extends Component {\n state = {\n selectedParent: null,\n };\n\n componentDidMount() {\n const {\n internationalCommittees,\n getAssociatedCommitteesByCommitteeId,\n committee,\n } = this.props;\n\n if (internationalCommittees.length === 0) {\n getAssociatedCommitteesByCommitteeId({\n committeeId: committee,\n });\n }\n }\n\n //todo: move to selectors!\n getChildrenList = (list, parent) => {\n return list.filter((element) => element.parent === parent);\n };\n\n getList = (list, parent) => {\n return list\n .filter((element) => element.parent === (parent && parent.name))\n .map((element) => {\n element.children = this.getChildrenList(list, element.name);\n return element;\n });\n };\n\n getPrevList = (list, element) => {\n return (\n (element &&\n element.name &&\n list.find((x) => x.name === element.parent)) ||\n null\n );\n };\n\n render() {\n const { t } = this.props;\n\n return (\n \n \n \n {setPageTitle(\n [t(\"internationalCommittees.title\")],\n this.props.committee,\n )}\n \n \n
    \n

    \n {t(\"internationalCommittees.header\", {\n committee: this.props.committee,\n })}\n

    \n
    \n\n
    \n
    \n {this.state.selectedParent && (\n \n this.setState({\n selectedParent: this.getPrevList(\n this.props.internationalCommittees,\n this.state.selectedParent,\n ),\n })\n }\n />\n )}\n \n this.setState({ selectedParent: element })\n }\n />\n
    \n
    \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n getAssociatedCommitteesByCommitteeId: getAssociatedCommitteesByCommitteeId,\n};\n\nconst mapStateToProps = (state) => ({\n internationalCommittees: getInternationalCommittees(state),\n committee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(Committees);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport \"./Member.scss\";\n\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport ConfirmationModal from \"../../../../common/confirmation-modal/ConfirmationModal\";\n\nclass DeactivationConfirmationModal extends Component {\n render() {\n const { t, showModal, onCancel, onSubmit, itemUri, type, name } =\n this.props;\n if (type === \"activation\") {\n return (\n \n \n \n );\n } else {\n return (\n \n \n \n );\n }\n }\n}\n\nexport default withTranslation(\"common\")(DeactivationConfirmationModal);\n","import React, { useState } from \"react\";\nimport className from \"classnames\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Avatar from \"../../../../common/avatar/Avatar\";\nimport WithPrivileges from \"../../../../common/with-privileges/WithPrivileges\";\nimport { formatDateTime } from \"../../../../../utils/transform\";\nimport \"./Member.scss\";\n\nimport DeactivationConfirmationModal from \"./DeactivationConfirmationModal\";\n\nexport default ({\n name,\n photo,\n email,\n work,\n linkedIn,\n phone,\n dslist,\n isConsultant,\n isChairman,\n isProfessional,\n memberSince,\n lastActivityDate,\n isActive,\n changeActiveState,\n}) => {\n const { t } = useTranslation(\"common\");\n const [showConfirmation, setShowConfirmation] = useState(false);\n const [waitingForState, setWaitingForState] = useState(isActive);\n\n return (\n
    \n
    \n \n
    \n

    \n {name}\n {isChairman ? ` (${t(\"member.chairman\")})` : null}\n

    \n {work}\n {email}\n {phone}\n
    \n {linkedIn ? (\n \n \n \n ) : null}\n
    \n \n
    \n
    \n
    \n {isConsultant ? (\n
    {t(\"member.consultant\")}
    \n ) : isProfessional ? (\n
    {t(\"member.professional\")}
    \n ) : (\n
    \n {dslist && dslist.length ? dslist.join(\", \") : \"\"}\n
    \n )}\n \n {lastActivityDate && (\n
    \n {t(\"member.activity.label\", {\n date: formatDateTime(new Date(lastActivityDate)),\n })}\n
    \n )}\n
    \n
    \n
    \n {!isConsultant && (\n \n {\n setShowConfirmation(true);\n }}\n >\n \n {isActive\n ? t(\"member.activity.isActive\")\n : t(\"member.activity.isInactive\")}\n \n
    \n {\n setWaitingForState(!isActive);\n changeActiveState();\n setShowConfirmation(false);\n }}\n onCancel={() => {\n setShowConfirmation(false);\n }}\n />\n \n )}\n
    \n \n );\n};\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport Member from \"./components/member/Member\";\nimport {\n getMembers,\n isFetchingMembers,\n} from \"../../../state/members/selectors\";\nimport { userDetails, isConsultant } from \"../../../state/user/selectors\";\nimport Loader from \"../../common/loader/Loader\";\nimport { setPageTitle } from \"../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\n\nimport * as membersActions from \"../../../state/members/actions\";\n\nclass Members extends Component {\n sortMembers = (a, b) => {\n //split the names as strings into arrays\n const aName = a.name.split(\" \");\n const bName = b.name.split(\" \");\n\n // get the last names by selecting\n // the last element in the name arrays\n // using array.length - 1 since full names\n // may also have a middle name or initial\n const aLastName = aName[aName.length - 1];\n const bLastName = bName[bName.length - 1];\n\n // compare the names and return either\n // a negative number, positive number\n // or zero.\n if (aLastName < bLastName) return -1;\n if (aLastName > bLastName) return 1;\n return 0;\n };\n\n sortIsConsultant = (a, b) => {\n if (a.isConsultant) return -1;\n if (b.isConsultant) return 1;\n return 0;\n };\n\n sortIsChairman = (a, b) => {\n if (a.isChairman) return -1;\n if (b.isChairman) return 1;\n return 0;\n };\n\n sortIsProfessional = (a, b) => {\n if (a.isProfessional) return -1;\n if (b.isProfessional) return 1;\n return 0;\n };\n\n get orderedMembers() {\n const { members } = this.props;\n if (!members) {\n return null;\n }\n\n return members\n .sort(this.sortMembers)\n .sort(this.sortIsChairman)\n .sort(this.sortIsProfessional)\n .sort(this.sortIsConsultant);\n }\n\n filterActiveMembers(members) {\n if (!members) {\n return null;\n }\n\n return members.filter((m) => m.isActive);\n }\n\n onChangeMemberActivState(memberId, newState) {\n this.props.setMemberActiveState({\n userId: memberId,\n state: newState,\n });\n }\n\n renderMembers(members) {\n const { t, user } = this.props;\n\n if (!members) {\n return (\n

    \n {t(\"general.content.nothingToShow\")}\n

    \n );\n }\n\n return members.map((member, index) => {\n if (user && user.email === member.email) {\n return (\n \n this.onChangeMemberActivState(member.userID, !member.isActive)\n }\n />\n );\n }\n return (\n \n this.onChangeMemberActivState(member.userID, !member.isActive)\n }\n {...member}\n />\n );\n });\n }\n\n renderMailtoLink(members) {\n const { t } = this.props;\n if (!members) return null;\n const addresses = members.map((member) => member.email).join(\";\");\n return (\n
    \n \n {t(\"member.sendEmailLabel\")}\n \n
    \n );\n }\n\n render() {\n const { t, isFetchingMembers, selectedNationalCommittee, isConsultant } =\n this.props;\n const members = this.orderedMembers;\n const filteredMembers = this.filterActiveMembers(members);\n if (isFetchingMembers) {\n return ;\n }\n\n return (\n \n \n {setPageTitle([\"Members\"], selectedNationalCommittee)}\n \n
    \n

    {t(\"member.header.name\")}

    \n
    \n\n
    \n {this.renderMailtoLink(filteredMembers)}\n\n
    \n {this.renderMembers(isConsultant ? members : filteredMembers)}\n
    \n
    \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n setMemberActiveState: membersActions.setMemberActiveState,\n};\n\nconst mapStateToProps = (state) => ({\n members: getMembers(state),\n user: userDetails(state),\n isConsultant: isConsultant(state),\n isFetchingMembers: isFetchingMembers(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(Members);\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { compose } from \"redux\";\nimport { setPageTitle } from \"../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\nimport { connect } from \"react-redux\";\n\nimport \"./PublishedStandards.scss\";\n\nclass ExternalPublishedStandards extends Component {\n get standardDistributeLink() {\n const { selectedNationalCommittee } = this.props;\n return (\n process.env.REACT_APP_STANDARD_DISTRIBUTE_URL + selectedNationalCommittee\n );\n }\n\n render() {\n const { selectedNationalCommittee, t } = this.props;\n\n return (\n \n \n \n {setPageTitle([\"Published Standards\"], selectedNationalCommittee)}\n \n \n
    \n

    {t(\"publishedStandards.header.name\")}

    \n
    \n
    \n

    \n {t(\"publishedStandards.externalLink.message\")}\n \n {t(\"publishedStandards.externalLink.link\")}\n \n

    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, null),\n)(ExternalPublishedStandards);\n","import React, { Component } from \"react\";\nimport { Route, Switch, Redirect } from \"react-router-dom\";\nimport PanelContainer from \"./common/layout/PanelContainer\";\nimport { Content } from \"./common/layout/Content\";\nimport Notifications from \"./pages/notifications/Notifications\";\nimport Deadlines from \"./pages/deadlines/Deadlines\";\nimport Meetings from \"./pages/meetings/Meetings\";\nimport Documents from \"./pages/documents/Documents\";\nimport Committees from \"./pages/committees/Committees\";\nimport Members from \"./pages/members/Members\";\nimport About from \"./pages/about/About\";\nimport { connect } from \"react-redux\";\nimport {\n selectedNationalCommittee,\n getSelectedNationalCommitteeTitle,\n} from \"../state/national-committees/selectors\";\nimport { transformCommitteeName } from \"../utils/transform\";\nimport { generateLink } from \"../utils/dynamicLink\";\nimport PageNotFound from \"./pages/404/PageNotFound\";\nimport PublishedStandards from \"./pages/published-standards/ExternalPublishedStandards\";\nimport { setHeaderTitle } from \"../state/header/actions\";\n\nexport const DefaultPageNavigationLinks = [\n {\n name: \"navigation.page.notifications\",\n subRoute: \"notifications\",\n component: Notifications,\n },\n {\n name: \"navigation.page.deadlines\",\n subRoute: \"deadlines\",\n component: Deadlines,\n },\n {\n name: \"navigation.page.meetings\",\n subRoute: \"meetings\",\n component: Meetings,\n },\n {\n name: \"navigation.page.documents\",\n subRoute: \"documents\",\n component: Documents,\n },\n {\n name: \"navigation.page.publishedStandards\",\n subRoute: \"standards\",\n component: PublishedStandards,\n },\n {\n name: \"navigation.page.internationalCommittees\",\n subRoute: \"committees\",\n component: Committees,\n },\n {\n name: \"navigation.page.members\",\n subRoute: \"members\",\n component: Members,\n },\n { name: \"navigation.page.about\", subRoute: \"about\", component: About },\n];\nclass Home extends Component {\n refreshHeaderTitle = () => {\n const { selectedNationalCommittee, setHeaderTitle } = this.props;\n const title = this.getNationalCommitteeTitle();\n\n setHeaderTitle(title ? title : selectedNationalCommittee);\n };\n\n componentDidMount() {\n this.refreshHeaderTitle();\n }\n\n componentDidUpdate(prevProps) {\n this.refreshHeaderTitle();\n }\n\n getLinks = () => {\n const { selectedNationalCommittee } = this.props;\n\n return [...DefaultPageNavigationLinks].map((link) => {\n return {\n ...link,\n url: generateLink(selectedNationalCommittee, link.subRoute),\n };\n });\n };\n\n getNationalCommitteeTitle() {\n const { selectedNationalCommittee, selectedNationalCommitteeTitle } =\n this.props;\n\n return selectedNationalCommitteeTitle\n ? selectedNationalCommittee + \" - \" + selectedNationalCommitteeTitle\n : \"\";\n }\n\n render() {\n const { selectedNationalCommittee } = this.props;\n const links = this.getLinks();\n const defaultLink = links[0];\n\n return (\n \n \n \n {links.map((link, index) => (\n \n ))}\n \n \n \n \n \n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n setHeaderTitle,\n};\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n selectedNationalCommitteeTitle: getSelectedNationalCommitteeTitle(state),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Home);\n","import React, { Component } from \"react\";\nimport \"./SideMenu.scss\";\nimport SearchBar from \"../search-bar/SearchBar\";\nimport { isConsultant } from \"../../../state/user/selectors\";\nimport { connect } from \"react-redux\";\nimport { Link, Route, Switch } from \"react-router-dom\";\nimport Navigation from \"../layout/Navigation\";\nimport {\n DIALOG_TYPES,\n generateDialogLink,\n generateLink,\n} from \"../../../utils/dynamicLink\";\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\nimport { UserPageLinks } from \"../../pages/user-account/UserAccount\";\nimport { AggPageNavigationLinks } from \"../../AggHome\";\nimport { DefaultPageNavigationLinks } from \"../../Home\";\n\nclass SideMenu extends Component {\n getLinks = () => {\n const { selectedNationalCommittee } = this.props;\n\n return DefaultPageNavigationLinks.map((link) => {\n return {\n ...link,\n url: generateLink(selectedNationalCommittee, link.subRoute),\n };\n });\n };\n\n state = {\n searchPhrase: null,\n };\n\n // onSearch = (searchPhrase) => {\n // this.setState({\n // searchPhrase: searchPhrase,\n // });\n // };\n\n // onClear = () => {\n // this.setState({\n // searchPhrase: null,\n // });\n // };\n\n sideMenuTitle = (title) => {\n return (\n <>\n {title}\n \n \n );\n };\n\n render() {\n const { onClickAction, selectedNationalCommittee } = this.props;\n const searchCommitteeUrl = generateDialogLink(\n DIALOG_TYPES.SEARCH_COMMITTEE,\n );\n const links = this.getLinks();\n const ALL_COMMITTEES = \"All Committees\";\n\n return (\n
    \n
    \n {/* {isConsultant && } */}\n \n \n {this.sideMenuTitle(ALL_COMMITTEES)}\n \n {selectedNationalCommittee\n ? this.sideMenuTitle(selectedNationalCommittee)\n : this.sideMenuTitle(ALL_COMMITTEES)}\n \n \n {this.sideMenuTitle(selectedNationalCommittee)}\n \n {/* }\n /> */}\n \n \n \n (\n \n )}\n />\n \n selectedNationalCommittee ? (\n \n ) : (\n \n )\n }\n />\n }\n />\n \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isConsultant: isConsultant(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default connect(mapStateToProps, null)(SideMenu);\n","import React, { Component } from \"react\";\nimport userManager from \"../../../services/auth/openIdClient\";\n\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { NotificationTopButton } from \"../layout/NotificationTopButton\";\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\n\nclass TopBar extends Component {\n state = {\n userBoxOpened: false,\n };\n\n componentDidMount() {\n window.addEventListener(\"click\", this.documentClick);\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"click\", this.documentClick);\n }\n\n documentClick = (e) => {\n if (\n !(\n e.target.classList.contains(\"user-box__button\") ||\n (e.target.parentElement &&\n e.target.parentElement.classList.contains(\"user-box__button\"))\n )\n ) {\n this.setState({\n userBoxOpened: false,\n });\n }\n };\n\n onClick = () => {\n this.toggleUserProfile();\n userManager.signoutRedirect();\n userManager.removeUser();\n };\n\n toggleUserProfile = () => {\n this.setState({\n userBoxOpened: !this.state.userBoxOpened,\n });\n };\n render() {\n const { selectedNationalCommittee } = this.props;\n const { userBoxOpened } = this.state;\n\n return (\n
    \n \n \n {this.props.headingTitleFunction()}\n \n \n \n {/* \n {window.__ENABLE_TOPBAR_SEARCH && }\n\n \n \n \n\n \n\n
    \n \n {userBoxOpened ? (\n
    \n
      \n
    • \n \n {t(\"navigation.userMenu.yourAccount\")}\n \n
    • \n
    • \n \n {t(\"navigation.userMenu.logout\")}\n \n
    • \n
    \n
    \n ) : null}\n
    */}\n {/* */}\n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(connect(mapStateToProps, null))(TopBar);\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\n\nexport default ({ selectedNationalCommittee }) => {\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","import React, { Component } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\n\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\nimport {\n DIALOG_TYPES,\n generateDialogLinkForPage,\n PAGE_TYPES,\n} from \"../../../utils/dynamicLink\";\nimport Toggler from \"../toggler/Toggler\";\n\nimport \"./ConsultantMenu.scss\";\n\nclass ConsultantMenu extends Component {\n render() {\n const { t, selectedNationalCommittee } = this.props;\n return (\n
    \n {}}\n isLast={true}\n >\n
    \n \n
    \n
      \n
    • \n \n {t(\"consultant.action.createNewNotification\")}\n \n
    • \n
    • \n \n {t(\"consultant.action.createNewDeadline\")}\n \n
    • \n
    • \n \n {t(\"consultant.action.createNewMeeting\")}\n \n
    • \n
    \n
    \n
    \n \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {};\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(ConsultantMenu);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { Link } from \"react-router-dom\";\nimport { withTranslation, Trans } from \"react-i18next\";\n\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\nimport { generateLink } from \"../../../utils/dynamicLink\";\n\nclass DeadlineFromDocumentHint extends Component {\n render() {\n const { selectedNationalCommittee } = this.props;\n return (\n <>\n
    \n

    \n {this.props.t(\"userHints.deadlineFromDocument.title\")}\n

    \n
    \n
    \n

    \n \n To create a deadline based on a document, go to\n \n Documents\n \n and upload the document. Once you have uploaded the document, you\n can select the document and press “Create deadline”. Then metadata\n is automatically transferred from the document to the deadline you\n want to create.\n \n

    \n
    \n \n );\n }\n}\n\nconst mapDispatchToProps = {};\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(DeadlineFromDocumentHint);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation, Trans } from \"react-i18next\";\n\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\n\nclass DeadlineFromDocumentHint extends Component {\n render() {\n return (\n <>\n
    \n

    \n {this.props.t(\"userHints.deadlinesList.title\")}\n

    \n
    \n
    \n

    \n \n Comments and votes should be provided at least 14 days prior to\n the deadline. This ensures time for the committee to assess,\n process and finalize the official comments from Dansk Standard.\n Comments received later than 14 days prior to the deadline are not\n guaranteed to be included in the comments from Dansk Standard.\n \n

    \n
    \n \n );\n }\n}\n\nconst mapDispatchToProps = {};\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(DeadlineFromDocumentHint);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport ModalWrapper from \"../modal-wrapper/ModalWrapper\";\nimport * as applicationActions from \"../../../state/app/actions\";\nimport * as applicationSelectors from \"../../../state/app/selectors\";\n\nimport DeadlineFromDocumentHint from \"./DeadlineFromDocumentHint\";\nimport DeadlinesListHint from \"./DeadlinesListHint\";\nimport { applicationUserHints } from \"../../../utils/constants\";\n\nclass UserHintDialog extends Component {\n state = {\n disableCurrentHint: false,\n };\n\n componentDidMount() {\n this.setState({ disableCurrentHint: false });\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.applicationUserHintState.messageToShow !==\n prevProps.applicationUserHintState.messageToShow\n ) {\n this.setState({ disableCurrentHint: false });\n }\n }\n\n onModalClose = () => {\n this.props.applicationCloseUserHint({\n disable: this.state.disableCurrentHint,\n });\n };\n\n renderModalContent() {\n switch (this.props.applicationUserHintState.messageToShow) {\n case applicationUserHints.createDeadlineFromDocument:\n return ;\n case applicationUserHints.listDeadlines:\n return ;\n default:\n return null;\n }\n }\n\n render() {\n return (\n \n <>\n {this.renderModalContent()}\n\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n {this.props.t(\"general.button.continue\")}\n \n
    \n
    \n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n applicationCloseUserHint: applicationActions.applicationCloseUserHint,\n};\n\nconst mapStateToProps = (state) => ({\n applicationUserHintState:\n applicationSelectors.applicationUserHintState(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(UserHintDialog);\n","import { createSelector } from \"reselect/lib/index\";\nimport { transformCommitteeName } from \"../../../utils/transform\";\nimport { userCommittees } from \"../../../state/user/selectors\";\nimport { committees } from \"../../../state/committees/selectors\";\n\nconst searchPhrase = (state, searchPhrase) => searchPhrase;\n\nfunction getCommitteeComparer(userCommitteesNames) {\n return (a, b) => {\n if (userCommitteesNames) {\n const userBelongsToA = userCommitteesNames.includes(a.id);\n const userBelongsToB = userCommitteesNames.includes(b.id);\n\n if (userBelongsToA !== userBelongsToB) {\n return userBelongsToA ? -1 : 1;\n }\n }\n\n return a.id.localeCompare(b.id);\n };\n}\n\nfunction getMemberedCommittees(\n committees,\n userCommitteesNames,\n userCommittees,\n) {\n return committees\n .filter((committee) =>\n userCommitteesNames.some(\n (userCommitteesName) => userCommitteesName.id === committee.id,\n ),\n )\n .sort(getCommitteeComparer())\n .map((committee) => ({\n name: committee.id,\n title: committee.title,\n responsibleNames: committee.responsibleNames,\n url: `/${transformCommitteeName(committee.id)}/notifications`,\n counter:\n userCommittees[committee.id].unseenNotifications < 0\n ? 0\n : userCommittees[committee.id].unseenNotifications,\n }));\n}\n\nfunction getSearchResultCommittees(\n committees,\n userCommitteesNames,\n userCommittees,\n searchPhrase,\n) {\n return committees\n .filter(\n (committee) =>\n committee.id.toLowerCase().indexOf(searchPhrase.toLowerCase()) !== -1 ||\n committee.title.toLowerCase().indexOf(searchPhrase.toLowerCase()) !==\n -1 ||\n committee.responsibleNames\n .toLowerCase()\n .indexOf(searchPhrase.toLowerCase()) !== -1,\n )\n .sort(getCommitteeComparer(userCommitteesNames))\n .map((committee) => ({\n name: committee.id,\n title: committee.title,\n responsibleNames: committee.responsibleNames,\n url: `/${transformCommitteeName(committee.id)}/notifications`,\n counter: userCommitteesNames.includes(committee.id)\n ? userCommittees[committee.id].unseenNotifications < 0\n ? 0\n : userCommittees[committee.id].unseenNotifications\n : null,\n }));\n}\n\nexport const userCommitteesLinkList = createSelector(\n [userCommittees, committees, searchPhrase],\n (userCommittees, committees, searchPhrase) => {\n const userCommitteesNames = userCommittees\n ? Object.keys(userCommittees).map((id) => ({ id: id, title: \"\" }))\n : [];\n\n if (!searchPhrase) {\n return userCommittees\n ? getMemberedCommittees(committees, userCommitteesNames, userCommittees)\n : [];\n }\n\n return getSearchResultCommittees(\n committees,\n userCommitteesNames,\n userCommittees,\n searchPhrase,\n );\n },\n);\n","export const committees = (state) => state.committees.data;\n","export const scrollTop = () => {\n setTimeout(() => {\n window.scroll({ top: 0, left: 0, behavior: \"smooth\" });\n }, 10);\n};\n\nexport const scrollWithOffset = (el, offset) => {\n var body = document.body;\n var docEl = document.documentElement;\n var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const elementPosition = el.getBoundingClientRect().top + scrollTop - offset;\n setTimeout(() => {\n window.scroll({\n top: elementPosition,\n left: 0,\n behavior: \"smooth\",\n });\n }, 250);\n};\n\nexport const scrollToElement = (selector) => {\n const elements = document.querySelectorAll(selector);\n if (elements && elements.length > 0) {\n elements[0].scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n inline: \"center\",\n });\n }\n};\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { Link } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { userCommitteesLinkList } from \"./selectors\";\nimport UrlPattern from \"url-pattern\";\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\nimport { scrollTop } from \"../../../utils/scroll\";\nimport { allNcsId } from \"../../../utils/constants\";\nimport \"./CommitteeList.scss\";\n\nclass CommitteeList extends Component {\n allNcParser = new UrlPattern(`/${allNcsId}/:segment`);\n userParser = new UrlPattern(\"/user/:segment\");\n searchParser = new UrlPattern(\"/search\");\n\n state = {\n active: 0,\n };\n\n componentDidMount() {\n if (\n this.userParser.match(window.location.pathname) &&\n this.state.active !== null\n ) {\n this.setState({\n active: null,\n });\n } else if (\n this.searchParser.match(window.location.pathname) &&\n this.state.active !== null\n ) {\n this.setState({\n active: null,\n });\n } else if (\n this.allNcParser.match(window.location.pathname) &&\n this.state.active !== \"all\"\n ) {\n this.setState({\n active: allNcsId,\n });\n } else {\n this.setState({\n active: this.props.selectedNationalCommittee,\n });\n }\n }\n\n componentDidUpdate() {\n if (this.userParser.match(window.location.pathname)) {\n this.state.active !== null &&\n this.setState({\n active: null,\n });\n } else if (this.searchParser.match(window.location.pathname)) {\n this.state.active !== null &&\n this.setState({\n active: null,\n });\n } else if (this.state.active === null) {\n this.setState({\n active: this.props.selectedNationalCommittee,\n });\n }\n }\n\n setCounter = (value) => {\n return value >= 100 ? \"99+\" : value;\n };\n\n setClasses = (name) => {\n return name === this.state.active ? \" active\" : \"\";\n };\n\n onClickHandler = (event, element) => {\n event.preventDefault();\n scrollTop();\n this.setState({\n active: element.name,\n });\n this.props.onItemClick && this.props.onItemClick(element.name);\n };\n\n createLink = (element, index) => {\n return (\n \n this.onClickHandler(event, element)}\n className={\"committee-list__link__a\"}\n >\n
    \n \n {element.displayName || element.name}\n \n {element.title}\n {element.counter ? (\n \n {this.setCounter(element.counter)}\n \n ) : null}\n
    \n
    \n \n {element.responsibleNames}\n \n \n
    \n \n \n );\n };\n\n render() {\n const { t } = this.props;\n\n return (\n
      \n {/* Removing all committees */}\n {/* {this.createLink(\n {\n displayName: t(\"navigation.sideBar.allNcs\"),\n name: allNcsId,\n url: \"/deadlines\",\n },\n allNcsId,\n )} */}\n {this.props.userCommitteesLinkList.map(this.createLink)}\n
    \n );\n }\n}\n\nconst mapStateToProps = (state, props) => ({\n userCommitteesLinkList: userCommitteesLinkList(state, props.searchPhrase),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n connect(mapStateToProps, null),\n withTranslation(\"common\"),\n)(CommitteeList);\n","import React from \"react\";\nimport { Component } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport CommitteeList from \"../side-menu/CommitteeList\";\nimport { changeNationalCommittee } from \"../../../state/app/actions\";\nimport { isConsultant } from \"../../../state/user/selectors\";\n\nclass SearchCommitteeComponent extends Component {\n state = {\n searchPhrase: \"\",\n };\n\n handleInputChange = (e) => {\n this.setState({\n searchPhrase: e.target.value,\n });\n };\n\n handleMenuClick = (selectedElement) => {\n this.props.changeNationalCommittee(selectedElement);\n // this.changeMenuState();\n };\n\n render() {\n const { isConsultant } = this.props;\n\n return (\n <>\n \n Search Committees\n \n
    \n

    {\"S-Udvalg\"}

    \n
    \n
    \n {isConsultant && (\n \n )}\n
    \n \n
    \n
    \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isConsultant: isConsultant(state),\n});\n\nconst mapDispatchToProps = {\n changeNationalCommittee,\n};\n\nexport default compose(connect(mapStateToProps, mapDispatchToProps))(\n SearchCommitteeComponent,\n);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport ModalWrapper from \"../modal-wrapper/ModalWrapper\";\nimport * as applicationActions from \"../../../state/app/actions\";\nimport * as applicationSelectors from \"../../../state/app/selectors\";\n\nimport { emptyModalStack } from \"../../../state/modal-stack/actions\";\nimport { v4 } from \"uuid\";\nimport SearchCommitteeComponent from \"../search-committee-component/SearchCommitteeComponent\";\n\nclass GlobalDialogs extends Component {\n onModalClose(dialog) {\n this.props.emptyModalStack();\n if (dialog.modalSettings.allowEscape)\n this.props.applicationCloseGlobalDialog(dialog.id);\n }\n\n render() {\n const { globalDialogsStack } = this.props;\n return globalDialogsStack.map((d) => {\n const key = d.id ?? v4();\n\n return (\n this.onModalClose(d)}\n sizeType={d.modalSettings.sizeType}\n showCloseButton={d.modalSettings.closeButton}\n shouldCloseOnOverlayClick={true}\n disableSlide={d.disableSlide}\n // disableSlide\n >\n {React.createElement(d.component, {\n id: key,\n ...d.props,\n })}\n \n );\n });\n }\n}\n\nconst mapDispatchToProps = {\n applicationPushGlobalDialog: applicationActions.applicationPushGlobalDialog,\n applicationCloseGlobalDialog: applicationActions.applicationCloseGlobalDialog,\n\n emptyModalStack: emptyModalStack,\n};\n\nconst mapStateToProps = (state) => ({\n globalDialogsStack: applicationSelectors.appGlobalDialogsStack(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(GlobalDialogs);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\n\nimport Autosuggest from \"react-autosuggest\";\nimport classNames from \"classnames\";\n\nimport \"./Search.scss\";\nimport history from \"../../../utils/history\";\nimport OutsideClick from \"../outside-click/OutsideClick\";\n\nimport { recentSearches } from \"../../../state/user/selectors\";\nimport { updateRecentSearches } from \"../../../state/user/actions\";\nimport { getSearchSuggestions } from \"../../../state/search/actions\";\nimport { searchSuggestions } from \"../../../state/search/selectors\";\n\nclass Search extends Component {\n state = {\n value: \"\",\n opened: false,\n opening: false,\n };\n\n constructor(props) {\n super(props);\n this.openingTimeout = null;\n }\n\n componentDidMount() {\n this.updateSearchValue();\n this.unlisten = history.listen((location) => {\n if (location.pathname === \"/search\") {\n this.updateSearchValue();\n }\n });\n }\n\n componentWillUnmount() {\n this.unlisten();\n }\n\n updateSearchValue = () => {\n const query = new URLSearchParams(history.location.search);\n if (query.has(\"title\") && this.state.value !== query.get(\"title\")) {\n this.setState({ value: query.get(\"title\") });\n }\n };\n\n getSuggestions = (value) => {\n const inputLength = value.length;\n return inputLength === 0\n ? this.props.recentSearches\n : inputLength >= 3\n ? this.props.searchSuggestions\n : [];\n };\n\n getSuggestionValue = (suggestion) => suggestion.name;\n\n renderSuggestion = (suggestion) =>
    {suggestion.name}
    ;\n\n onChange = (event, { newValue }) => {\n this.setState({\n value: newValue,\n });\n };\n\n // Autosuggest will call this function every time you need to update suggestions.\n // You already implemented this logic above, so just use it.\n onSuggestionsFetchRequested = ({ value }) => {\n const inputValue = value.trim().toLowerCase();\n const inputLength = inputValue.length;\n\n //get suggestions from api\n inputLength &&\n inputLength >= 3 &&\n this.props.getSearchSuggestions(inputValue);\n };\n\n onSuggestionSelected = (event, { suggestion, suggestionValue }) => {\n clearTimeout(this.openingTimeout);\n this.setState(\n {\n value: suggestionValue,\n },\n history.push(`/search?title=${encodeURIComponent(suggestionValue)}`, {\n searching: true,\n }),\n );\n if (this.state.opened) {\n this.setState({ opened: false, opening: false });\n this.autosuggestInput.blur();\n }\n this.props.updateRecentSearches(suggestionValue);\n };\n\n handleButtonClick = (e) => {\n e.preventDefault();\n clearTimeout(this.openingTimeout);\n if (this.autosuggestInput === document.activeElement) {\n history.push(`/search?title=${encodeURIComponent(this.state.value)}`, {\n searching: true,\n });\n this.props.updateRecentSearches(this.state.value);\n }\n if (this.state.opened) {\n this.setState({ opened: false, opening: false });\n this.autosuggestInput.blur();\n } else {\n this.setState({ opening: true, opened: false });\n this.openingTimeout = setTimeout(() => {\n this.setState({ opened: true, opening: false });\n this.autosuggestInput.focus();\n }, 500);\n }\n };\n\n storeInputReference = (autosuggest) => {\n if (autosuggest !== null) {\n this.autosuggestInput = autosuggest.input;\n }\n };\n\n onClickOutside = () => {\n if (this.state.opened) {\n this.setState({ opened: false, opening: false });\n }\n };\n\n render() {\n const { value, opened, opening } = this.state;\n const { t } = this.props;\n\n // Autosuggest will pass through all these props to the input.\n const inputProps = {\n className: \"search-box__input\",\n placeholder: t(\"search.placeholder\"),\n value,\n onChange: this.onChange,\n };\n\n return (\n \n \n
    \n \n \n {t(\"search.openSearch\")}\n \n \n \n \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n updateRecentSearches,\n getSearchSuggestions,\n};\nconst mapStateToProps = (state) => ({\n recentSearches: recentSearches(state),\n searchSuggestions: searchSuggestions(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(Search);\n","import React, { Component } from \"react\";\nimport Toggler from \"../toggler/Toggler\";\n\nimport \"./LanguageDropdown.scss\";\n\nclass LanguageDropdown extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n selectedOptionId: this.props.initOptionId || this.options[0].id,\n };\n }\n\n selectOption = (optionId) => {\n this.setState(\n () => ({\n selectedOptionId: optionId,\n }),\n () => this.props.onOptionChange(this.state.selectedOptionId),\n );\n };\n\n render() {\n return (\n
    \n {}}>\n \n \n {\n this.props.options.find(\n (item) => item.id == this.state.selectedOptionId,\n ).displaySelected\n }\n \n \n \n\n
    \n
      \n {this.props.options.map((option) => {\n return (\n this.selectOption(id)}\n {...option}\n >\n {option.label}\n \n );\n })}\n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst DropdownPanelItem = (props) => {\n return (\n props.selectOption(props.id)}\n id={props.id}\n >\n {props.label}\n \n );\n};\n\nexport default LanguageDropdown;\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { appLocaleMap as appLocales } from \"../../../utils/constants\";\nimport { setAppLocale } from \"../../../state/user/actions\";\nimport { getAppLocale } from \"../../../state/user/selectors\";\nimport LanguageDropdown from \"../Language-dropdown/LanguageDropdown\";\n\nclass LanguageSwitcher extends Component {\n onOptionChange = (selectedOptionId) => {\n this.props.setAppLocale(selectedOptionId);\n };\n\n render() {\n return (\n {\n return {\n id: key,\n displaySelected: appLocales[key].language.toUpperCase(),\n label: this.props.t(appLocales[key].name),\n };\n })}\n initOptionId={this.props.appLocale}\n onOptionChange={this.onOptionChange}\n />\n );\n }\n}\n\nconst mapDispatchToProps = {\n setAppLocale,\n};\n\nconst mapStateToProps = (state) => ({\n appLocale: getAppLocale(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(LanguageSwitcher);\n","import React, { Component } from \"react\";\nimport \"./ToolbarTool.scss\";\n\nclass ToolbarTool extends Component {\n onClick() {\n if (this.props.onClick) {\n this.props.onClick();\n } else if (this.props.link) {\n var win = window.open(this.props.link, \"_blank\");\n win.focus();\n }\n }\n\n render() {\n return (\n
    \n \n
    \n );\n }\n}\n\nexport default ToolbarTool;\n","import React, { Component } from \"react\";\nimport userManager from \"../../../services/auth/openIdClient\";\nimport { withTranslation } from \"react-i18next\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport Search from \"../search-box/Search\";\nimport LanguageSwitcher from \"../language-switcher/LanguageSwitcher\";\nimport ToolbarTool from \"../toolbar-link/ToolbarTool\";\nimport WithPrivileges from \"../with-privileges/WithPrivileges\";\nimport \"./LayoutPanelLeftFooter.scss\";\n\nclass LayoutPanelLeftFooter extends Component {\n state = {\n userBoxOpened: false,\n };\n\n componentDidMount() {\n window.addEventListener(\"click\", this.documentClick);\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"click\", this.documentClick);\n }\n\n documentClick = (e) => {\n if (\n !(\n e.target.classList.contains(\"user-box__button\") ||\n (e.target.parentElement &&\n e.target.parentElement.classList.contains(\"user-box__button\"))\n )\n ) {\n this.setState({\n userBoxOpened: false,\n });\n }\n };\n\n onClick = () => {\n this.toggleUserProfile();\n userManager.signoutRedirect();\n userManager.removeUser();\n };\n\n toggleUserProfile = () => {\n this.setState({\n userBoxOpened: !this.state.userBoxOpened,\n });\n };\n\n render() {\n const { t, location } = this.props;\n const { userBoxOpened } = this.state;\n\n const userSettingActive = location.pathname.includes(\"/user\");\n\n return (\n
    \n \n\n
    \n \n \n \n\n
    \n \n \n \n {t(\"navigation.userMenu.userProfile\")}\n \n \n {userBoxOpened ? (\n
    \n
      \n
    • \n \n {t(\"userProfile.navigation.tab.profile\")}\n \n
    • \n
    • \n \n {t(\"userProfile.navigation.tab.credentials\")}\n \n
    • \n\n {/* either this or the other */}\n
    • \n \n {t(\"userProfile.navigation.tab.settings\")}\n \n
    • \n {/* TODO: PLAN 2 */}\n {/*
    • \n \n {t(\"Notifications\")}\n \n
    • \n
    • \n \n {t(\"Email\")}\n \n
    • */}\n
    • \n \n {t(\"navigation.userMenu.logout\")}\n \n
    • \n
    \n
    \n ) : null}\n
    \n
    \n
    \n );\n }\n}\n\nexport default withRouter(withTranslation(\"common\")(LayoutPanelLeftFooter));\n","import React, { useState, useEffect } from \"react\";\n\nimport { CURRENT } from \"./Stepper\";\n\nimport expandIcon from \"../../../assets/icons/expand_icon.svg\";\n\nconst StepperItem = ({\n type,\n code,\n description,\n title,\n isActive,\n onClick,\n chosenStep,\n}) => {\n const [isOpen, setIsOpen] = useState(\"\");\n\n const setToOpen = () => setIsOpen(\" \");\n const setToClosed = () => setIsOpen(\"\");\n\n const handleClick = () => {\n isOpen ? setToClosed() : setToOpen();\n };\n\n const handleStepClick = (e) => {\n e.stopPropagation();\n if (!isActive) onClick(code);\n };\n\n useEffect(() => {\n if (type === CURRENT) {\n onClick(code);\n }\n }, [code, onClick, type]);\n\n useEffect(() => {\n if (chosenStep !== code) setToClosed();\n }, [chosenStep, code]);\n\n return (\n \n
    e.preventDefault()}>\n \n
    \n {code}\n {isActive && {title}}\n
    \n {isActive && (\n \n )}\n
    \n

    {description}

    \n
    \n \n );\n};\n\nexport default StepperItem;\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport StepperItem from \"./Item\";\n\nimport \"./Stepper.scss\";\n\nexport const CURRENT = \"current\";\nexport const NEXT = \"next\";\nexport const PREVIOUS = \"previous\";\n\nclass Stepper extends Component {\n constructor(props) {\n super(props);\n this.state = { chosenStep: -1 };\n }\n\n stageTitle = (stage) => {\n const { t, titleTranslationBase } = this.props;\n if (titleTranslationBase) {\n return t(`${titleTranslationBase}.${stage.value}`);\n }\n return \"\";\n };\n\n handleStepClick = (code) => {\n this.setState({ chosenStep: parseInt(code) });\n };\n\n renderStage = (stage, type) => {\n const isActive = parseInt(stage.value) === this.state.chosenStep;\n\n return (\n \n );\n };\n\n renderStages = (step) => {\n const { stage } = this.props;\n const stepValue = parseInt(step.value);\n const stageValue = parseInt(stage);\n\n const isSmaller = stepValue < stageValue;\n const isBigger = stepValue > stageValue;\n const isEqual = stepValue === stageValue;\n\n if (isSmaller) {\n return this.renderStage(step, PREVIOUS);\n } else if (isBigger) {\n return this.renderStage(step, NEXT);\n } else if (isEqual) {\n return this.renderStage(step, CURRENT);\n }\n };\n\n render() {\n const { stages, stage, t } = this.props;\n\n return stage && stages ? (\n
    \n

    \n {t(\"deadlines.details.internationalStatusCode\")}\n

    \n
    \n
      {stages.map(this.renderStages)}
    \n
    \n
    \n ) : null;\n }\n}\n\nexport default withTranslation(\"common\")(Stepper);\n","export default class Vote {\n constructor(vote, deadlineUri, userID, uri = \"\") {\n this.uri = uri;\n this.deadlineUri = deadlineUri;\n this.memberId = userID;\n this.vote = vote;\n this.memberVote = vote;\n }\n}\n","import React, { Component } from \"react\";\nimport classNames from \"classnames\";\n\nclass Radio extends Component {\n render() {\n // Radiobutton does not necessarily expect to receive an \"element\".\n // Added ternary operator to handle other use cases.\n const { element, disabled, isAwaiting } = this.props;\n // Please change if there is a better way to handle each radio button to have a different value\n const randomNumber = Math.random() * 10;\n const inputType = this.props.inputType || \"radio\";\n if (isAwaiting) {\n return (\n \n );\n }\n return element ? (\n \n ) : (\n \n \n \n \n \n );\n }\n}\n\nexport default Radio;\n","import React, { Fragment, Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport Avatar from \"../../../../common/avatar/Avatar\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport \"./RelatedVotes.scss\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { getMembers } from \"../../../../../state/members/selectors\";\nimport { initVotesMemberNames } from \"../../../../../state/votes/actions\";\nimport classNames from \"classnames\";\nimport {\n voteType,\n regularVotes,\n reviewVotes,\n reviewStageValue,\n} from \"../../../../../utils/constants\";\n\nclass RelatedVotes extends Component {\n componentDidMount() {\n this.props.initVotesMemberNames(this.props.allVotes);\n }\n\n getMemberInfo = (id) => {\n // some members id are string instead of number...\n let member = this.props.members.filter((member) => member.userID === id);\n return member.length ? member[0] : [];\n };\n\n filterVote = (vote) => {\n if (!vote.member || vote.member.loading) return false;\n\n return this.props.deadlineStage === reviewStageValue\n ? reviewVotes.includes(vote.vote.value)\n : regularVotes.includes(vote.vote.value);\n };\n\n get isLoadingMembers() {\n if (!this.props.allVotes) return true;\n return (\n this.props.allVotes.find((v) => !v.member || v.member.loading) != null\n );\n }\n\n renderList = () => {\n const { allVotes, t } = this.props;\n\n return allVotes\n ? allVotes.filter(this.filterVote).map((vote) => {\n const member = vote.member || { name: \"\", work: \"\", photo: \"\" };\n return (\n \n
    \n \n
    \n

    {member.name}

    \n

    {member.work}

    \n
    \n
    \n
    \n \n VOTED {t(vote.vote.label)}\n

    \n
    \n \n );\n })\n : null;\n };\n\n render() {\n const { t, closeHandler, headline } = this.props;\n\n return (\n \n
    \n
    \n

    {headline}

    \n
    \n\n {this.renderList()}\n {this.isLoadingMembers && (\n
    \n {}\n
    \n )}\n\n
    \n \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n members: getMembers(state),\n});\n\nconst mapDispatchToProps = {\n initVotesMemberNames: initVotesMemberNames,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(RelatedVotes);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport Radio from \"../../common/form/radio/Radio\";\nimport ModalWrapper from \"../../common/modal-wrapper/ModalWrapper\";\nimport RelatedVotes from \"../../pages/deadlines/components/modal-content/RelatedVotes\";\nimport { voteLabelMap } from \"../../../utils/constants\";\n\nclass VotingBar extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n showVotesModal: false,\n };\n }\n\n showVotesModal = () => {\n this.setState({\n showVotesModal: true,\n });\n };\n\n closeVotesModal = () => {\n this.setState({\n showVotesModal: false,\n });\n };\n render() {\n const { t } = this.props;\n\n // Need a negative amount to make it work with transform instead of width (better performance)\n const transformAdjustedPercentage = this.props.calcPercentage * 0.01;\n // Trim .00 if the percentages are a whole number to beautify the number (open for suggestions of a better way)\n const adjustedPercentage =\n this.props.calcPercentage - Math.floor(this.props.calcPercentage) !== 0\n ? this.props.calcPercentage\n : this.props.calcPercentage\n .toString()\n .substring(0, this.props.calcPercentage.toString().indexOf(\".\"));\n\n return (\n
    \n {this.props.hideVoting || (\n \n )}\n
    \n {t(voteLabelMap[this.props.voteType])}\n \n
    \n

    \n {adjustedPercentage}%{/* Don't show vote count if 0 */}\n {this.props.countVotes !== 0 && (\n \n {this.props.countVotes}{\" \"}\n {this.props.countVotes === 1 ? \"vote\" : \"votes\"}\n \n )}\n

    \n
    \n
    \n this.setState({ showVotesModal: false })}\n disableSlide\n >\n \n \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(VotingBar);\n","import React, { Fragment, Component } from \"react\";\nimport { NavLink, withRouter } from \"react-router-dom\";\nimport { withTranslation } from \"react-i18next\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\n\nclass CommentReminder extends Component {\n render() {\n const { t, itemName, closeHandler } = this.props;\n return (\n \n
    \n

    \n {t(\"deadlines.details.CommentReminderHeadline\", { itemName })}\n

    \n
    \n
    \n

    {t(\"deadlines.details.CommentReminderMessage\")}

    \n
    \n \n {t(\"deadlines.details.CommentReminderNewCommentLink\")}\n \n
    \n
    \n \n
    \n
    \n );\n }\n}\n\nexport default withRouter(withTranslation(\"common\")(CommentReminder));\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport Vote from \"./vote-model\";\nimport VotingBar from \"./VotingBar\";\nimport \"./Voter.scss\";\nimport ModalWrapper from \"../modal-wrapper/ModalWrapper\";\nimport CommentReminder from \"../../pages/deadlines/components/modal-content/CommentReminder\";\nimport { voteType } from \"../../../utils/constants\";\n\nclass Voter extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showCommentReminder: false,\n lastUpdatedVote: null,\n enableAwaitingAnimation: false,\n };\n }\n\n handleVote = (vote) => {\n const { votes, userID } = this.props;\n let currentVote = votes.filter((e) => e.userID === userID);\n currentVote = currentVote.length > 0 ? currentVote[0] : null;\n\n const isNewComment = currentVote == null;\n const voteObj = new Vote(\n vote,\n this.props.deadlineUri,\n this.props.userID,\n !isNewComment ? currentVote.uri : null,\n );\n\n const isRemoveComment = isNewComment\n ? false\n : currentVote.vote.value === voteObj.vote;\n\n if (vote === voteType.no && !isRemoveComment) {\n this.setState({ showCommentReminder: true });\n }\n\n this.setState({ lastUpdatedVote: vote, enableAwaitingAnimation: false });\n setTimeout(() => {\n this.setState({ enableAwaitingAnimation: true });\n }, 1000);\n\n if (isNewComment) {\n this.props.createVote(voteObj);\n } else {\n if (isRemoveComment) {\n this.props.removeVote(voteObj);\n } else {\n this.props.updateVote(voteObj);\n }\n }\n\n this.props.onChangeVote(voteObj);\n };\n\n closeCommentReminder = () => {\n this.setState({\n showCommentReminder: false,\n disabled: false,\n });\n };\n\n checkUserVote = (type) => {\n const { votes, userID, updateInProgress } = this.props;\n\n if (votes && votes.length && !updateInProgress) {\n let userVote = votes.filter((vote) => vote.userID === userID);\n\n return userVote.length > 0 && userVote[0].vote.value === type;\n }\n\n return false;\n };\n\n isVoteAwaiting(type) {\n return (\n this.state.enableAwaitingAnimation &&\n this.state.lastUpdatedVote === type &&\n this.props.updateInProgress\n );\n }\n\n renderVotingBar(type, total) {\n const {\n votes,\n statistics,\n headline,\n disableVoting,\n updateInProgress,\n isMemberInCurrentCommittee,\n deadlineStage,\n } = this.props;\n\n const voteTypeValue = voteType[type];\n const votesCount = statistics ? statistics[type] : 0;\n\n return (\n this.handleVote(voteTypeValue)}\n checked={this.checkUserVote(voteTypeValue)}\n calcPercentage={(total != 0 ? (votesCount / total) * 100 : 0).toFixed(\n 2,\n )}\n countVotes={votesCount}\n allVotes={votes}\n headline={headline}\n hideVoting={!isMemberInCurrentCommittee || disableVoting}\n disabled={disableVoting || updateInProgress}\n isAwaiting={this.isVoteAwaiting(voteTypeValue)}\n deadlineStage={deadlineStage}\n />\n );\n }\n\n render() {\n const { t, statistics, deadlineStage, committee } = this.props;\n const total = statistics ? statistics.total : 0;\n const totalReview = statistics ? statistics.totalReview : 0;\n // const isIsoAndCd =\n // committee.split(\"/\")[0] === \"ISO\" && deadlineStage === \"30\";\n\n return (\n
    \n

    {t(\"deadlines.details.recommendation\")}

    \n
    \n {deadlineStage !== \"90\" /** && !isIsoAndCd */ && (\n <>\n {this.renderVotingBar(\"yes\", total)}\n {this.renderVotingBar(\"no\", total)}\n {this.renderVotingBar(\"abstain\", total)}\n \n )}\n {deadlineStage === \"90\" && (\n <>\n {this.renderVotingBar(\"confirm\", totalReview)}\n {this.renderVotingBar(\"revise\", totalReview)}\n {this.renderVotingBar(\"withdraw\", totalReview)}\n {this.renderVotingBar(\"abstain\", totalReview)}\n \n )}\n
    \n \n this.setState({ showCommentReminder: false })\n }\n disableSlide\n >\n \n \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(Voter);\n","import React from \"react\";\nimport classNames from \"classnames\";\n\nexport default ({ type }) => {\n type = type || \"small\";\n return (\n \n );\n};\n","import React, { Component } from \"react\";\nimport classNames from \"classnames\";\n\nimport { withTranslation } from \"react-i18next\";\n\nimport SelectFilter from \"../../../../../components/common/select/SelectFilter\";\nimport { voteType, reviewStageValue } from \"../../../../../utils/constants\";\n\nclass OverrideOfficialVote extends Component {\n state = {\n selectedOverrideOption: null,\n };\n\n get overrideOptions() {\n const { t, deadlineStage } = this.props;\n\n if (deadlineStage === reviewStageValue) {\n return [\n {\n id: 0,\n value: \"confirm\",\n label: t(\"deadlines.details.votes.confirm\"),\n },\n {\n id: 1,\n value: \"revise\",\n label: t(\"deadlines.details.votes.revise\"),\n },\n {\n id: 2,\n value: \"withdraw\",\n label: t(\"deadlines.details.votes.withdraw\"),\n },\n {\n id: 3,\n value: \"abstain\",\n label: t(\"deadlines.details.votes.abstain\"),\n },\n ];\n }\n\n return [\n {\n id: 0,\n value: \"yes\",\n label: t(\"deadlines.details.votes.yes\"),\n },\n {\n id: 1,\n value: \"no\",\n label: t(\"deadlines.details.votes.no\"),\n },\n {\n id: 2,\n value: \"abstain\",\n label: t(\"deadlines.details.votes.abstain\"),\n },\n ];\n }\n\n get defaultOption() {\n const { vote, deadlineStage } = this.props;\n if (deadlineStage === reviewStageValue) {\n switch (vote) {\n case voteType.revise:\n return \"revise\";\n case voteType.withdraw:\n return \"withdraw\";\n case voteType.confirm:\n return \"confirm\";\n case voteType.abstain:\n return \"abstain\";\n default:\n return \"confirm\";\n }\n }\n\n switch (vote) {\n case voteType.yes:\n return \"yes\";\n case voteType.no:\n return \"no\";\n case voteType.abstain:\n return \"abstain\";\n default:\n return \"yes\";\n }\n }\n\n onOverrideOfficialVote = () => {\n const selectedOption = this.overrideOptions.filter(\n (o) => o.value === this.state.selectedOverrideOption,\n );\n if (selectedOption) {\n this.props.onOverrideOfficialVote(selectedOption[0].value);\n }\n\n this.props.onClose();\n };\n\n render() {\n const { t, onClose } = this.props;\n\n return (\n
    \n
    \n

    \n {t(\"deadlines.details.officialVote.overrideModal.title\")}\n

    \n
    \n\n
    \n {\n this.setState({ selectedOverrideOption: option });\n }}\n />\n
    \n\n
    \n \n \n {t(\"deadlines.details.officialVote.overrideModal.submit\")}\n \n
    \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(OverrideOfficialVote);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { voteLabelMap } from \"../../../utils/constants\";\n\nimport ModalWrapper from \"../modal-wrapper/ModalWrapper\";\nimport WithPrivileges from \"../with-privileges/WithPrivileges\";\nimport OverrideOfficialVote from \"../../pages/deadlines/components/modal-content/OverrideOfficialVote\";\n\nimport \"./OfficialVote.scss\";\n\nclass OfficialVote extends Component {\n state = {\n showOverrideOfficialVoteModal: false,\n };\n\n getVoteLabel() {\n return voteLabelMap[this.props.vote];\n }\n\n onOverrideOfficialVoteModal = (e) => {\n e.preventDefault();\n this.setState({ showOverrideOfficialVoteModal: true });\n };\n\n render() {\n const { t, vote, deadlineStage } = this.props;\n return (\n
    \n
    \n \n {t(\"deadlines.details.officialVote.mainLabel\", {\n vote: t(this.getVoteLabel()),\n })}\n \n \n \n {t(\"deadlines.details.officialVote.overrideLabel\")}\n \n \n
    \n \n \n {t(\"deadlines.details.officialVote.note\")}\n \n \n\n \n \n this.setState({ showOverrideOfficialVoteModal: false })\n }\n disableSlide\n >\n \n this.setState({ showOverrideOfficialVoteModal: false })\n }\n vote={vote}\n deadlineStage={deadlineStage}\n onOverrideOfficialVote={this.props.onOverrideOfficialVote}\n />\n \n \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(OfficialVote);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport types from \"../../../../common/modal-wrapper/contentTypes\";\nimport DocumentList from \"../../../../common/document-list/List\";\nimport { Link } from \"react-router-dom\";\nimport { isConsultant } from \"../../../../../state/user/selectors\";\nimport { getModalDetails } from \"../../../../../state/document/selectors\";\nimport {\n resetModalState,\n setModalState,\n} from \"../../../../../state/document/actions\";\nimport DeleteModal from \"../../../documents/components/modal-content/DeleteModal\";\nimport DownloadZipButton from \"../../../../common/download-zip-button/DownloadZipButton\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\n\nclass ReferenceDocumentsRow extends Component {\n state = {\n addDocumentActionType: null,\n };\n\n fetchUpdatedDocument = (document) => {\n this.props.onUpdateDocument(document);\n };\n\n removeDocument = (id) => {\n const { onRemoveDocument, resetModalState } = this.props;\n onRemoveDocument(id);\n resetModalState();\n };\n\n showModalToRemoveDocumentFromList = (element) =>\n this.props.setModalState({\n isOpen: true,\n contentType: types.REMOVE_FILE_FROM_DOCUMENT_LIST,\n content: element,\n });\n\n renderRemoveDocumentFromListModal = () => {\n const { modal, t, resetModalState } = this.props;\n\n return (\n \n );\n };\n\n renderListView = () => {\n const {\n referenceDocumentList,\n isConsultant,\n manualSort,\n t,\n downloadDisabled,\n } = this.props;\n\n return (\n <>\n
    \n \n
    \n \n );\n };\n\n renderView = () => {\n const { referenceDocumentList } = this.props;\n\n return (\n <>\n {referenceDocumentList &&\n !!referenceDocumentList.length &&\n this.renderListView()}\n \n );\n };\n\n renderButton = () => {\n const { t, moveToLink, onSelect, isModal } = this.props;\n const selectFromDocuments = t(\n \"notifications.detail.new.selectFromDocuments\",\n );\n\n return (\n <>\n {isModal ? (\n {\n onSelect(REFERENCE_TAB.DOCUMENTS);\n }}\n >\n {selectFromDocuments}\n \n ) : (\n \n {selectFromDocuments}\n \n )}\n \n );\n };\n\n render() {\n const { t, disableEdit, referenceDocumentList } = this.props;\n\n if (disableEdit && !referenceDocumentList?.length) return null;\n\n return (\n <>\n
    \n
    \n \n {t(\"documents.header.name\")}\n \n {/* buttons */}\n <>\n {disableEdit ? (\n \n ) : (\n this.renderButton()\n )}\n \n
    \n {this.props.isLoading ? : this.renderView()}\n
    \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n modal: getModalDetails(state),\n // documents: getDocuments(state),\n isConsultant: isConsultant(state),\n});\n\nconst mapDispatchToProps = {\n setModalState,\n resetModalState,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(ReferenceDocumentsRow);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport types from \"../../../../common/modal-wrapper/contentTypes\";\nimport { Link } from \"react-router-dom\";\nimport { getModalDetails } from \"../../../../../state/document/selectors\";\nimport {\n resetModalState,\n setModalState,\n} from \"../../../../../state/document/actions\";\nimport DeleteModal from \"../../../documents/components/modal-content/DeleteModal\";\nimport MeetingTable from \"../../../meetings/pages/meeting-tab/MeetingTable\";\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\n\nclass ReferenceMeetingRow extends Component {\n removeMeeting = (id) => {\n const { onRemoveMeeting, resetModalState } = this.props;\n onRemoveMeeting(id);\n resetModalState();\n };\n\n renderRemoveMeetingFromListModal = () => {\n const { modal, t, resetModalState } = this.props;\n\n return (\n \n );\n };\n\n showModalToRemoveMeetingFromList = (element) => {\n return this.props.setModalState({\n isOpen: true,\n contentType: types.REMOVE_FILE_FROM_MEETING_LIST,\n content: element,\n });\n };\n\n renderListView = () => {\n const { t, selectedMeetings } = this.props;\n\n if (!selectedMeetings?.length) return null;\n\n return (\n <>\n
    \n \n
    \n \n );\n };\n\n renderButton = () => {\n const { t, moveToLink, onSelect, isModal } = this.props;\n const selectFromMeetings = t(\"references.meeting.selectFromList\");\n\n return isModal ? (\n {\n onSelect(REFERENCE_TAB.MEETINGS);\n }}\n >\n {selectFromMeetings}\n \n ) : (\n \n {selectFromMeetings}\n \n );\n };\n\n render() {\n const { t, disableEdit, selectedMeetings } = this.props;\n\n if (disableEdit && !selectedMeetings?.length) return null;\n\n return (\n <>\n
    \n
    \n \n {t(\"meetings.header.name\")}\n \n {!disableEdit && this.renderButton()}\n
    \n {this.renderListView()}\n
    \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n modal: getModalDetails(state),\n});\n\nconst mapDispatchToProps = {\n setModalState,\n resetModalState,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(ReferenceMeetingRow);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport types from \"../../../../common/modal-wrapper/contentTypes\";\nimport { Link } from \"react-router-dom\";\nimport { getModalDetails } from \"../../../../../state/document/selectors\";\nimport {\n resetModalState,\n setModalState,\n} from \"../../../../../state/document/actions\";\nimport DeleteModal from \"../../../documents/components/modal-content/DeleteModal\";\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport DeadlineTable from \"../../../deadlines/pages/deadline-list/DeadlineTable\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\n\nclass ReferenceDeadlineRow extends Component {\n removeDeadline = (id) => {\n const { onRemoveDeadline, resetModalState } = this.props;\n onRemoveDeadline(id);\n resetModalState();\n };\n\n renderRemoveDeadlineFromListModal = () => {\n const { modal, t, resetModalState } = this.props;\n\n return (\n \n );\n };\n\n showModalToRemoveDeadlineFromList = (element) => {\n return this.props.setModalState({\n isOpen: true,\n contentType: types.REMOVE_FILE_FROM_DEADLINE_LIST,\n content: element,\n });\n };\n\n renderListView = () => {\n const { t, selectedDeadlines } = this.props;\n\n if (!selectedDeadlines?.length) return null;\n\n return (\n <>\n
    \n \n
    \n \n );\n };\n\n renderButton = () => {\n const { t, moveToLink, onSelect, isModal } = this.props;\n const selectFromDeadlines = t(\"references.deadline.selectFromList\");\n\n return isModal ? (\n {\n onSelect(REFERENCE_TAB.DEADLINES);\n }}\n >\n {selectFromDeadlines}\n \n ) : (\n \n {selectFromDeadlines}\n \n );\n };\n\n render() {\n const { t, disableEdit, selectedDeadlines } = this.props;\n\n if (disableEdit && !selectedDeadlines?.length) return null;\n\n return (\n <>\n
    \n
    \n \n {t(\"deadlines.header.name\")}\n \n {!disableEdit && this.renderButton()}\n
    \n {this.renderListView()}\n
    \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n modal: getModalDetails(state),\n});\n\nconst mapDispatchToProps = {\n setModalState,\n resetModalState,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(ReferenceDeadlineRow);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport ReferenceDocumentsRow from \"./ReferenceDocumentsRow\";\nimport ReferenceMeetingRow from \"./ReferenceMeetingRow\";\nimport \"./ReferencePage.scss\";\nimport \"./ReferenceComponent.scss\";\nimport ReferenceDeadlineRow from \"./ReferenceDeadlineRow\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\nimport { setReferenceTab } from \"../../../../../state/references/actions\";\n\nclass ReferenceComponent extends Component {\n isDisabled(tab) {\n const { disableRows } = this.props;\n return disableRows?.includes(tab);\n }\n\n onSelectTab = (selected) => {\n const { isModal, setReferenceTab } = this.props;\n\n if (!isModal) return;\n\n setReferenceTab(selected);\n };\n\n get isReferencesEmpty() {\n const { referencesPerType } = this.props;\n return (\n referencesPerType?.document?.length === 0 &&\n referencesPerType?.meeting?.length === 0 &&\n referencesPerType?.deadline?.length === 0\n );\n }\n\n render = () => {\n const { basePath, t, isModal, referencesPerType, disableEdit } = this.props;\n const documentsPath = `${basePath}/references/documents`;\n const meetingsPath = `${basePath}/references/meetings`;\n const deadlinesPath = `${basePath}/references/deadlines`;\n\n if (disableEdit && this.isReferencesEmpty) return null;\n\n return (\n
    \n \n {!this.isDisabled(REFERENCE_TAB.DOCUMENTS) && (\n {},\n // isAwaiting: bool,\n // isDisabled: bool,\n // }\n\n isModal={isModal}\n moveToLink={documentsPath}\n onSelect={this.onSelectTab}\n />\n )}\n {!this.isDisabled(REFERENCE_TAB.MEETINGS) && (\n \n )}\n {!this.isDisabled(REFERENCE_TAB.DEADLINES) && (\n \n )}\n
    \n );\n };\n}\n\nconst mapDispatchToProps = {\n setReferenceTab,\n};\n\nconst mapStateToProps = (state) => ({});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(ReferenceComponent);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport Stepper from \"../../../../common/stepper/Stepper\";\nimport Voter from \"../../../../common/voter/Voter\";\nimport VerticalSpacer from \"../../../../common/layout/VerticalSpacer\";\nimport OfficialVote from \"../../../../common/official-vote/OfficialVote\";\n\nimport {\n downloadDeadlineDocuments,\n removeReferenceFromDeadline,\n updateDeadlineReferenceInfo,\n} from \"../../../../../state/deadlines/actions\";\nimport * as votesActions from \"../../../../../state/votes/actions\";\n\nimport { isDownloadingFile } from \"../../../../../state/document/selectors\";\nimport {\n voteDetails,\n voteStats,\n officialVote,\n isUpdatingVote,\n} from \"../../../../../state/votes/selectors\";\nimport { getStages } from \"../../../../../state/values/selectors\";\n\nimport {\n hasDeadlinePassed,\n isFetchingDeadlines,\n} from \"../../../../../state/deadlines/selectors\";\nimport {\n isConsultant,\n userId,\n isMemberInCurrentCommittee,\n} from \"../../../../../state/user/selectors\";\n\nimport { transformUri } from \"../../../../../utils/transform\";\n\nimport \"./DeadlineDetailsTab.scss\";\nimport ConfirmationModal from \"../../../../common/confirmation-modal/ConfirmationModal\";\nimport { applicationPushGlobalDialog } from \"../../../../../state/app/actions\";\nimport ReferenceComponent from \"../../../notifications/components/reference/ReferenceComponent\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\n\nclass DeadlineDetailsTab extends Component {\n constructor() {\n super();\n this.state = {\n notificationsOn: false,\n };\n }\n\n componentDidMount() {\n this.props.initDeadlineVotes(this.props.uri);\n }\n\n handleCheckboxChange = () => {\n this.setState({\n notificationsOn: !this.state.notificationsOn,\n });\n };\n\n downloadAllFiles = () => {\n this.props.downloadDeadlineDocuments(transformUri(this.props.uri));\n };\n\n get hasDownloadableDocuments() {\n return this.props.references.filter((reference) => !reference.isLink)\n .length;\n }\n\n onOverrideOfficialVote = (vote) => {\n this.props.overrideOfficialVote({\n uri: this.props.uri,\n vote,\n });\n };\n\n onChangeVote = (vote) => {\n const { t, date } = this.props;\n\n const deadlineDate = new Date(date);\n deadlineDate.setDate(deadlineDate.getDate() - 14);\n\n if (new Date() < deadlineDate) return;\n\n this.props.applicationPushGlobalDialog({\n component: ConfirmationModal,\n modalSettings: {\n allowEscape: true,\n closeButton: true,\n },\n props: {\n title: t(\"deadlines.details.lateVoteTitle\"),\n message: t(\"deadlines.details.lateVoteDescription\"),\n disableSubmitButton: true,\n disableSlide: true,\n },\n disableSlide: true,\n });\n };\n\n onUpdateDocument = (document) => {\n this.props.updateDeadlineReferenceInfo(document);\n };\n\n onRemoveReferenceFromDeadline = (id) => {\n this.props.removeReferenceFromDeadline(id);\n };\n\n render() {\n const {\n stage,\n uri,\n title,\n description,\n committee,\n stages,\n officialVote,\n enableVoting,\n hasDeadlinePassed,\n isConsultant,\n referencesPerType,\n closedForComments,\n } = this.props;\n\n return (\n
    \n {description && (\n
    \n
    \n

    \n
    \n
    \n )}\n\n \n\n {enableVoting ? (\n
    \n \n {(hasDeadlinePassed || isConsultant) && (\n \n )}\n \n
    \n ) : null}\n\n \n
    \n );\n }\n}\n\nconst mapStateToProps = (state, props) => ({\n stages: getStages(state),\n hasDeadlinePassed: hasDeadlinePassed(state),\n\n userID: userId(state),\n isMemberInCurrentCommittee: isMemberInCurrentCommittee(state),\n isConsultant: isConsultant(state),\n\n votes: voteDetails(state),\n votesStatistics: voteStats(state),\n officialVote: officialVote(state),\n isUpdatingVote: isUpdatingVote(state),\n isProcessingRequest: isFetchingDeadlines(state),\n\n isDownloadingZipPackage: isDownloadingFile(state, transformUri(props.uri)),\n});\n\nconst mapDispatchToProps = {\n initDeadlineVotes: votesActions.initDeadlineVotes,\n overrideOfficialVote: votesActions.overrideOfficialVote,\n createVote: votesActions.createVote,\n updateVote: votesActions.updateVote,\n removeVote: votesActions.removeVote,\n downloadDeadlineDocuments,\n applicationPushGlobalDialog,\n updateDeadlineReferenceInfo,\n removeReferenceFromDeadline,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DeadlineDetailsTab);\n","import { createSelector } from \"reselect\";\nimport { getDeadlineUri } from \"../deadlines/selectors\";\n\nconst comments = (state) => state.comments.data;\n\nexport const getComments = createSelector(\n [comments, getDeadlineUri],\n (comments, getDeadlineUri) => {\n if (comments && getDeadlineUri) {\n return comments[getDeadlineUri];\n }\n return [];\n },\n);\n\nexport const commentGetter = createSelector(\n [comments, getDeadlineUri],\n (comments, getDeadlineUri) => {\n return (commentUri) => {\n if (\n comments &&\n getDeadlineUri &&\n commentUri &&\n comments[getDeadlineUri]\n ) {\n return comments[getDeadlineUri].filter(\n (comment) => comment.uri === commentUri,\n )[0];\n }\n return null;\n };\n },\n);\n\nexport const isProcessingCommentsRequest = (state) =>\n state.comments.isProcessingRequest;\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport Toggler from \"../../../../common/toggler/Toggler\";\nimport ActionBox from \"../../../../common/action-box/ActionBox\";\nimport classNames from \"classnames\";\nimport { getDateString } from \"../../../../../utils/transform\";\nimport Checkbox from \"../../../../common/form/checkbox/Checkbox\";\nimport { userDetails } from \"../../../../../state/user/selectors\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { getComments } from \"../../../../../state/comments/selectors\";\n\nclass Row extends Component {\n classGenerator = () => {\n const { comment } = this.props;\n if (this.props.enableSelection) {\n return \"table__row\";\n }\n return classNames(\"table__row\", {\n expanded: comment.expanded,\n collapsed: !comment.expanded,\n });\n };\n\n createMarkup = (content) => {\n return { __html: content };\n };\n\n revertGuidPlaceholdersToSpans(htmlString) {\n const comments = this.props.comments;\n\n // Iterate through each comment and replace the placeholders with the corresponding span elements\n comments.forEach((comment) => {\n const guidPlaceholder = `{{${comment.guid}}}`;\n const spanElement = `@ID:${comment.referenceId}`;\n\n // Replace all occurrences of the placeholder with the span element\n htmlString = htmlString.replace(\n new RegExp(guidPlaceholder, \"g\"),\n spanElement,\n );\n });\n\n return htmlString;\n }\n\n isNewComment = (date) => {\n if (!this.props.user) return null;\n if (\n new Date(date).getTime() >=\n new Date(this.props.user.lastLoginDate).getTime()\n ) {\n return (\n \n {this.props.t(\"comments.table.labels.newComment\")}\n \n );\n }\n return null;\n };\n\n renderAttachments = () => {\n const { attachments } = this.props.comment;\n\n return (\n attachments && (\n
      \n {attachments.map((attachment, index) => (\n {\n e.stopPropagation();\n }}\n >\n
    • \n \n \n
    • \n \n ))}\n
    \n )\n );\n };\n\n render() {\n const {\n comment,\n clickHandler,\n enableSelection,\n showActionBox,\n onSelectItem,\n t,\n } = this.props;\n\n //todo: add some sense here\n const commentActions = this.props.commentActions({\n name: comment.author,\n uri: comment.uri,\n authorId: comment.authorId,\n });\n\n return (\n \n \n \n \n \n {enableSelection && (\n \n )}\n \n \n \n \n \n \n \n \n {!enableSelection && (\n \n )}\n {showActionBox && (\n \n )}\n \n {!enableSelection && (\n \n \n \n \n )}\n \n
    \n \n \n \n {comment.referenceId}{comment.line}{comment.clause}{comment.paragraph}{comment.type}{comment.author}\n {getDateString(new Date(comment.updateDate))}\n \n {this.isNewComment(comment.updateDate)}\n \n {commentActions && (\n \n this.setState({ actionBoxOpened: false })\n }\n isLast={comment.isLast}\n >\n \n {Object.keys(commentActions).map((name, index) => {\n return (\n
  • \n commentActions[name](comment)}\n >\n {name}\n \n
  • \n );\n })}\n
    \n \n )}\n
    \n \n {t(\"comments.table.header.comment\")}\n \n \n {this.renderAttachments()}\n \n \n {t(\"comments.table.header.proposal\")}\n \n \n
    \n \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n user: userDetails(state),\n comments: getComments(state),\n});\nexport default compose(\n connect(mapStateToProps, null),\n withTranslation(\"common\"),\n)(Row);\n","import history from \"../../utils/history\";\n\nexport const sortingType = {\n lineNumber_descending: \"lineNumber_desc\",\n lineNumber_ascending: \"lineNumber_asc\",\n clause_descending: \"clause_desc\",\n clause_ascending: \"clause_asc\",\n paragraph_descending: \"paragraph_desc\",\n paragraph_ascending: \"paragraph_asc\",\n type_descending: \"type_desc\",\n type_ascending: \"type_asc\",\n author_descending: \"author_desc\",\n author_ascending: \"author_asc\",\n date_descending: \"date_desc\",\n date_ascending: \"date_asc\",\n};\n\nfunction mapSortTypeToUrlParam(type) {\n switch (type) {\n case sortingType.lineNumber_descending:\n return \"comment_lineNumber_dsc\";\n case sortingType.lineNumber_ascending:\n return \"comment_lineNumber_asc\";\n case sortingType.clause_descending:\n return \"comment_clause_dsc\";\n case sortingType.clause_ascending:\n return \"comment_clause_asc\";\n case sortingType.paragraph_descending:\n return \"comment_paragraph_dsc\";\n case sortingType.paragraph_ascending:\n return \"comment_paragraph_asc\";\n case sortingType.type_descending:\n return \"comment_type_dsc\";\n case sortingType.type_ascending:\n return \"comment_type_asc\";\n case sortingType.author_descending:\n return \"comment_author_dsc\";\n case sortingType.author_ascending:\n return \"comment_author_asc\";\n case sortingType.date_descending:\n return \"comment_date_dsc\";\n case sortingType.date_ascending:\n return \"comment_date_asc\";\n default:\n return \"comment_date_dsc\";\n }\n}\n\nexport const buildQueryParams = () => {\n let queryParams = {};\n\n const query = new URLSearchParams(history.location.search);\n\n if (query.has(\"line\")) {\n queryParams.documentAction = query.get(\"line\");\n }\n\n if (query.has(\"clause\")) {\n queryParams.documentType = query.get(\"clause\");\n }\n\n if (query.has(\"element\")) {\n queryParams.committeeReference = query.get(\"element\");\n }\n\n if (query.has(\"type\")) {\n queryParams.documentTitle = query.get(\"type\");\n }\n\n if (query.has(\"author\")) {\n queryParams.documentTitle = query.get(\"author\");\n }\n\n queryParams.sort = mapSortTypeToUrlParam(query.get(\"sortingType\"));\n\n if (query.has(\"currentPage\")) {\n queryParams.start = (query.get(\"currentPage\") - 1) * 10 + 1;\n }\n\n return queryParams;\n};\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport SortBox from \"../../../../common/sort-box/SortBox\";\nimport classNames from \"classnames\";\nimport { sortingType } from \"../../../../../services/comments/url\";\nimport { sortBoxHidingDelay } from \"../../../../../utils/constants\";\n\nconst lineNumberSortBoxElements = [\n {\n name: \"comments.sort.lineNumber.ascending\",\n value: sortingType.lineNumber_ascending,\n },\n {\n name: \"comments.sort.lineNumber.descending\",\n value: sortingType.lineNumber_descending,\n },\n];\n\nconst clauseSortBoxElements = [\n {\n name: \"comments.sort.clause.ascending\",\n value: sortingType.clause_ascending,\n },\n {\n name: \"comments.sort.clause.descending\",\n value: sortingType.clause_descending,\n },\n];\nconst paragraphSortBoxElements = [\n {\n name: \"comments.sort.paragraph.ascending\",\n value: sortingType.paragraph_ascending,\n },\n {\n name: \"comments.sort.paragraph.descending\",\n value: sortingType.paragraph_descending,\n },\n];\nconst typeSortBoxElements = [\n {\n name: \"comments.sort.type.ascending\",\n value: sortingType.type_ascending,\n },\n {\n name: \"comments.sort.type.descending\",\n value: sortingType.type_descending,\n },\n];\nconst authorSortBoxElements = [\n {\n name: \"comments.sort.author.ascending\",\n value: sortingType.author_ascending,\n },\n {\n name: \"comments.sort.author.descending\",\n value: sortingType.author_descending,\n },\n];\nconst dateSortBoxElements = [\n {\n name: \"comments.sort.date.ascending\",\n value: sortingType.date_ascending,\n },\n {\n name: \"comments.sort.date.descending\",\n value: sortingType.date_descending,\n },\n];\n\nconst descendingSortingTypes = [\n sortingType.lineNumber_descending,\n sortingType.clause_descending,\n sortingType.paragraph_descending,\n sortingType.type_descending,\n sortingType.author_descending,\n sortingType.date_descending,\n];\n\nconst ascendingSortingTypes = [\n sortingType.lineNumber_ascending,\n sortingType.clause_ascending,\n sortingType.paragraph_ascending,\n sortingType.type_ascending,\n sortingType.author_ascending,\n sortingType.date_ascending,\n];\n\nclass Header extends Component {\n state = {\n lineNumberSortBox: false,\n clauseSortBox: false,\n paragraphSortBox: false,\n typeSortBox: false,\n authorSortBox: false,\n dateSortBox: false,\n };\n\n closeSortBoxes = () => {\n this.setState({\n lineNumberSortBox: false,\n clauseSortBox: false,\n paragraphSortBox: false,\n typeSortBox: false,\n authorSortBox: false,\n dateSortBox: false,\n });\n };\n toggleLineNumberSortBox = () => {\n this.setState({\n lineNumberSortBox: !this.state.lineNumberSortBox,\n clauseSortBox: false,\n paragraphSortBox: false,\n typeSortBox: false,\n authorSortBox: false,\n dateSortBox: false,\n });\n };\n toggleClauseSortBox = () => {\n this.setState({\n lineNumberSortBox: false,\n clauseSortBox: !this.state.clauseSortBox,\n paragraphSortBox: false,\n typeSortBox: false,\n authorSortBox: false,\n dateSortBox: false,\n });\n };\n toggleParagraphSortBox = () => {\n this.setState({\n lineNumberSortBox: false,\n clauseSortBox: false,\n paragraphSortBox: !this.state.paragraphSortBox,\n typeSortBox: false,\n authorSortBox: false,\n dateSortBox: false,\n });\n };\n toggleTypeSortBox = () => {\n this.setState({\n lineNumberSortBox: false,\n clauseSortBox: false,\n paragraphSortBox: false,\n typeSortBox: !this.state.typeSortBox,\n authorSortBox: false,\n dateSortBox: false,\n });\n };\n toggleAuthorSortBox = () => {\n this.setState({\n lineNumberSortBox: false,\n clauseSortBox: false,\n paragraphSortBox: false,\n typeSortBox: false,\n authorSortBox: !this.state.authorSortBox,\n dateSortBox: false,\n });\n };\n toggleDateSortBox = () => {\n this.setState({\n lineNumberSortBox: false,\n clauseSortBox: false,\n paragraphSortBox: false,\n typeSortBox: false,\n authorSortBox: false,\n dateSortBox: !this.state.dateSortBox,\n });\n };\n\n handleSortChange = (sortingType) => {\n setTimeout(this.closeSortBoxes, sortBoxHidingDelay);\n this.props.onSortChange(sortingType);\n };\n\n getSortableButtonClassNames = (sortableElements) => {\n return classNames(\n \"button button--link button--no-border sortable\",\n {\n \"sortable-dsc\":\n sortableElements.some(\n (element) => element.value === this.props.sortingType,\n ) &&\n descendingSortingTypes.some(\n (descendingSortingType) =>\n descendingSortingType === this.props.sortingType,\n ),\n },\n {\n \"sortable-asc\":\n sortableElements.some(\n (element) => element.value === this.props.sortingType,\n ) &&\n ascendingSortingTypes.some(\n (ascendingSortingType) =>\n ascendingSortingType === this.props.sortingType,\n ),\n },\n );\n };\n\n render() {\n const { t, enableSelection, expandAllHandler } = this.props;\n const {\n lineNumberSortBox,\n clauseSortBox,\n paragraphSortBox,\n typeSortBox,\n authorSortBox,\n dateSortBox,\n } = this.state;\n\n return (\n \n \n {enableSelection && }\n \n \n {t(\"comments.buttons.showAll\")}\n \n \n {t(\"comments.table.header.commentId\")}\n \n \n {t(\"comments.table.header.lineNumber\")}\n \n \n \n \n \n {t(\"comments.table.header.clause\")}\n \n \n \n \n \n {t(\"comments.table.header.paragraph\")}\n \n \n \n \n \n {t(\"comments.table.header.type\")}\n \n \n \n \n \n {t(\"comments.table.header.author\")}\n \n \n \n \n \n {t(\"comments.table.header.date\")}\n \n \n \n {!enableSelection && (\n \n \n \n \n )}\n \n \n );\n }\n}\n\nexport default withTranslation(\"common\")(Header);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\n\nimport Row from \"./Row\";\nimport Header from \"./Header\";\nimport history from \"../../../../../utils/history\";\nimport {\n isConsultant,\n isMemberInCurrentCommittee,\n userDetails,\n} from \"../../../../../state/user/selectors\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { deleteComment } from \"../../../../../state/comments/actions\";\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport DeleteModal from \"../../../documents/components/modal-content/DeleteModal\";\n\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\n\nclass CommentList extends Component {\n state = {\n isDeleteModalOpen: false,\n comment: null,\n };\n\n editHandler = (obj) => {\n history.push(\n generateDialogLink(\n DIALOG_TYPES.EDIT_COMMENT,\n obj.uri,\n this.props.deadlineId,\n ),\n );\n };\n\n deleteHandler = (obj) => {\n this.setState({\n isDeleteModalOpen: true,\n comment: obj,\n });\n };\n onCancelDelete = () => {\n this.setState({\n isDeleteModalOpen: false,\n comment: null,\n });\n };\n onSubmitDelete = () => {\n this.props.deleteComment(this.state.comment);\n this.setState({\n isDeleteModalOpen: false,\n comment: null,\n });\n };\n\n memberCommentActions = {\n [this.props.t(\"comments.action.editComment\")]: this.editHandler,\n [this.props.t(\"comments.action.deleteComment\")]: this.deleteHandler,\n };\n\n consultantCommentActions = {\n [this.props.t(\"comments.action.editComment\")]: this.editHandler,\n [this.props.t(\"comments.action.deleteComment\")]: this.deleteHandler,\n };\n\n defaultCommentActions = null;\n\n getCommentActions = (user) => {\n if (!this.props.isMemberInCurrentCommittee) {\n if (user.authorId === this.props.user.id) {\n return this.memberCommentActions;\n }\n\n return this.defaultCommentActions;\n }\n\n if (this.props.isConsultant) {\n return this.consultantCommentActions;\n }\n //TODO: make some sense for this condition\n if (user.authorId === this.props.user.id) {\n return this.memberCommentActions;\n }\n\n return this.defaultCommentActions;\n };\n\n renderRow = (comment, index) => {\n const {\n comments,\n enableSelection,\n showActionBox,\n onSelectItem,\n changeExpanded,\n } = this.props;\n\n return (\n 1,\n }}\n commentActions={this.getCommentActions}\n clickHandler={() => changeExpanded(comment, index)}\n enableSelection={enableSelection}\n showActionBox={showActionBox}\n onSelectItem={onSelectItem}\n />\n );\n };\n\n render() {\n const {\n enableSelection,\n showActionBox,\n sortingType,\n onSortChange,\n expandAllHandler,\n } = this.props;\n\n return (\n
    \n
    \n \n \n \n {this.props.comments.map((comment, index) =>\n this.renderRow(comment, index),\n )}\n \n
    \n
    \n \n this.setState({ isDeleteModalOpen: false })\n }\n disableSlide\n >\n \n \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n deleteComment,\n};\n\nconst mapStateToProps = (state) => ({\n user: userDetails(state),\n isConsultant: isConsultant(state),\n isMemberInCurrentCommittee: isMemberInCurrentCommittee(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(CommentList);\n","import { sortingType } from \"./url\";\n\nexport const mapSortTypeToObj = (type) => {\n switch (type) {\n case sortingType.lineNumber_descending:\n return { name: \"line\", type: \"desc\", method: (elem) => elem };\n case sortingType.lineNumber_ascending:\n return { name: \"line\", type: \"asc\", method: (elem) => elem };\n case sortingType.clause_descending:\n return { name: \"clause\", type: \"desc\", method: (elem) => elem };\n case sortingType.clause_ascending:\n return { name: \"clause\", type: \"asc\", method: (elem) => elem };\n case sortingType.paragraph_descending:\n return { name: \"paragraph\", type: \"desc\", method: (elem) => elem };\n case sortingType.paragraph_ascending:\n return { name: \"paragraph\", type: \"asc\", method: (elem) => elem };\n case sortingType.type_descending:\n return { name: \"type\", type: \"desc\", method: (elem) => elem };\n case sortingType.type_ascending:\n return { name: \"type\", type: \"asc\", method: (elem) => elem };\n case sortingType.author_descending:\n return { name: \"author\", type: \"desc\", method: (elem) => elem };\n case sortingType.author_ascending:\n return { name: \"author\", type: \"asc\", method: (elem) => elem };\n case sortingType.date_descending:\n return { name: \"updateDate\", type: \"desc\", method: (elem) => elem };\n case sortingType.date_ascending:\n return { name: \"updateDate\", type: \"asc\", method: (elem) => elem };\n default:\n return { name: \"updateDate\", type: \"desc\", method: (elem) => elem };\n }\n};\n\nexport const sortComments = (a, b, sortingType) => {\n const sortSettings = mapSortTypeToObj(sortingType);\n\n if (sortSettings.type === \"asc\") {\n if (\n sortSettings.method(a[sortSettings.name]) <\n sortSettings.method(b[sortSettings.name])\n )\n return -1;\n if (\n sortSettings.method(a[sortSettings.name]) >\n sortSettings.method(b[sortSettings.name])\n )\n return 1;\n return 0;\n } else {\n if (\n sortSettings.method(a[sortSettings.name]) >\n sortSettings.method(b[sortSettings.name])\n )\n return -1;\n if (\n sortSettings.method(a[sortSettings.name]) <\n sortSettings.method(b[sortSettings.name])\n )\n return 1;\n return 0;\n }\n};\n","import React, { Component } from \"react\";\nimport classNames from \"classnames\";\n\nclass Tooltip extends Component {\n render() {\n const { label, content } = this.props;\n\n if (!label || !content) return null;\n\n return (\n
    \n \n
    \n {label}\n
    {content}
    \n
    \n
    \n );\n }\n}\n\nexport class TooltipWrapper extends Component {\n render() {\n const { label, content, extraClass, children } = this.props;\n\n return (\n
    \n {children}\n
    \n {label && {label}}\n {content &&
    {content}
    }\n
    \n
    \n );\n }\n}\n\nexport default Tooltip;\n","import React, { Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport CommentList from \"../comment-list/List\";\nimport { Link } from \"react-router-dom\";\nimport { sortComments } from \"../../../../../services/comments/sort\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { getMembers } from \"../../../../../state/members/selectors\";\nimport { userDetails, isConsultant } from \"../../../../../state/user/selectors\";\nimport { isProcessingCommentsRequest } from \"../../../../../state/comments/selectors\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { exportCommentsToWord } from \"../../../../../state/comments/actions\";\nimport OnlyMember from \"../../../../common/only-member/OnlyMember\";\nimport { TooltipWrapper } from \"../../../../common/tooltip/Tooltip\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\nimport history from \"../../../../../utils/history\";\nimport ConfirmationModal from \"../../../../common/confirmation-modal/ConfirmationModal\";\nimport { applicationPushGlobalDialog } from \"../../../../../state/app/actions\";\n\nclass DeadlineCommentsTab extends React.Component {\n state = {\n comments: [],\n allExpanded: false,\n showModal: false,\n };\n\n componentDidMount() {\n const { comments } = this.props;\n if (comments && comments.length) {\n this.initializeComments();\n }\n }\n\n componentDidUpdate(prevProps) {\n const { comments, members } = this.props;\n if (prevProps.comments !== comments) {\n this.initializeComments();\n } else if (comments && prevProps.members !== members) {\n this.initializeComments();\n }\n }\n\n initializeComments = () => {\n this.setState({\n comments: this.props.comments.map((element) => {\n element.expanded = false;\n element.isSelected = false;\n let author = this.props.members.find(\n (member) => element.authorId === member.userID,\n );\n element.author = author ? author.name : \"\";\n return element;\n }),\n });\n };\n\n expandAllHandler = () => {\n this.setState({\n comments: this.state.comments.map((element) => {\n element.expanded = !this.state.allExpanded;\n return element;\n }),\n allExpanded: !this.state.allExpanded,\n });\n };\n\n onSortChange = (sortingType) => {\n this.setState({\n sortingType,\n comments: this.state.comments.sort((a, b) =>\n sortComments(a, b, sortingType),\n ),\n });\n };\n\n changeExpanded = (comment, index) => {\n const comments = this.state.comments;\n comments[index].expanded = !comments[index].expanded;\n\n this.setState({\n comments: [...comments],\n });\n };\n\n exportCommentsToWord = () => {\n this.props.exportCommentsToWord(this.props.uri);\n };\n\n directToCreateComment = () => {\n history.push(\n generateDialogLink(DIALOG_TYPES.CREATE_DEADLINE_COMMENT, this.props.uri),\n );\n };\n\n onAddComment = () => {\n const { t, date } = this.props;\n\n const deadlineDate = new Date(date);\n deadlineDate.setDate(deadlineDate.getDate() - 14);\n\n if (new Date() < deadlineDate) {\n this.directToCreateComment();\n return;\n }\n\n this.props.applicationPushGlobalDialog({\n component: ConfirmationModal,\n modalSettings: {\n allowEscape: true,\n closeButton: true,\n },\n props: {\n title: t(\"deadlines.details.lateCommentTitle\"),\n message: t(\"deadlines.details.lateCommentDescription\"),\n submitLabel: t(\"comments.buttons.newComment\"),\n submitHandler: this.directToCreateComment,\n disableSlide: true,\n },\n disableSlide: true,\n });\n };\n\n render() {\n const { comments, allExpanded, sortingType } = this.state;\n const {\n t,\n isProcessingCommentsRequest,\n isDeadlineDatePassed,\n closedForComments,\n isConsultant,\n } = this.props;\n const disableCommenting = isDeadlineDatePassed && !isConsultant;\n\n return (\n
    \n {comments && !isProcessingCommentsRequest ? (\n \n
    \n {/* \n {allExpanded\n ? t(\"comments.buttons.collapseAll\")\n : t(\"comments.buttons.expandAll\")}\n */}\n \n {t(\"comments.buttons.exportToWord\")}\n \n \n {disableCommenting || closedForComments ? (\n \n \n {t(\"comments.buttons.newComment\")}\n \n \n ) : (\n \n {t(\"comments.buttons.newComment\")}\n \n )}\n \n
    \n {comments && comments.length ? (\n \n ) : (\n

    {t(\"comments.table.labels.noComments\")}

    \n )}\n
    \n ) : (\n \n )}\n
    \n );\n }\n}\nconst mapStateToProps = (state) => ({\n members: getMembers(state),\n isProcessingCommentsRequest: isProcessingCommentsRequest(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n isConsultant: isConsultant(state),\n});\n\nconst mapDispatchToProps = {\n exportCommentsToWord,\n applicationPushGlobalDialog,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DeadlineCommentsTab);\n","import ical from \"ical-generator\";\n\nexport const createCalendarEvent = ({\n title,\n description,\n startDate,\n endDate,\n html,\n url,\n location,\n allDay = false,\n}) => {\n const calendar = ical();\n\n calendar.createEvent({\n start: startDate,\n end: endDate,\n summary: title,\n description: {\n plain: description,\n html: html,\n },\n location,\n url,\n allDay,\n });\n\n const eventString = calendar.toString();\n\n const file = new File([eventString], \"invite.ics\", { type: \"text/plain\" });\n\n return file;\n};\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { NavLink } from \"react-router-dom\";\nimport { Trans, withTranslation } from \"react-i18next\";\nimport { Helmet } from \"react-helmet\";\nimport FileDownload from \"js-file-download\";\n\nimport DeadlineDetailsTab from \"../../components/deadline-details/DeadlineDetailsTab\";\nimport DeadlineCommentsTab from \"../../components/deadline-details/DeadlineCommentsTab\";\nimport DateThumbnail from \"../../../../common/date-thumbnail/DateThumbnail\";\n\nimport {\n SlimTabsSwitcher,\n SlimTab,\n} from \"../../../../common/slim-tabs/SlimTabs\";\nimport {\n updateDeadlineReferenceInfo,\n removeReferenceFromDeadline,\n fetchDeadline,\n fetchDeadlineReferences,\n clearDeadline,\n deleteDeadline,\n downloadDeadlineDocuments,\n} from \"../../../../../state/deadlines/actions\";\nimport { fetchComments } from \"../../../../../state/comments/actions\";\nimport {\n getDeadline,\n isFetchingDeadlines,\n} from \"../../../../../state/deadlines/selectors\";\nimport { getStages } from \"../../../../../state/values/selectors\";\n\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport {\n generateDialogLink,\n generateCloseDialogLink,\n DIALOG_TYPES,\n PAGE_TYPES,\n generateDialogLinkForPage,\n} from \"../../../../../utils/dynamicLink\";\nimport PageNotFound from \"../../../404/PageNotFound\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { userDetails } from \"../../../../../state/user/selectors\";\nimport { getComments } from \"../../../../../state/comments/selectors\";\nimport { getMembers } from \"../../../../../state/members/selectors\";\n\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\n\nimport WithPrivileges from \"../../../../common/with-privileges/WithPrivileges\";\nimport ReadonlyGuard from \"../../../../common/readonly-guard/ReadonlyGuard\";\nimport { initDocuments } from \"../../../../../state/document/actions\";\nimport DeadlineDeleteModal from \"../../components/delete-modal/DeadlineDeleteModal\";\n\nimport AnalyticsTracking, {\n ResourcesTypes,\n} from \"../../../../../services/analytics-tracking/analytics-tracking\";\n\nimport { createCalendarEvent } from \"../../../../../utils/calendarEvent\";\nimport { addDays } from \"date-fns\";\nimport { transformUri } from \"../../../../../utils/transform\";\nimport { isDownloadingFile } from \"../../../../../state/document/selectors\";\nimport GrayboxLabel from \"../../../../common/label/GrayboxLabel\";\nimport { calculateVotableDate } from \"../../components/deadline-card/DeadlineCard\";\nimport ActionBox from \"../../../../common/action-box/ActionBox\";\nimport Toggler from \"../../../../common/toggler/Toggler\";\n\nconst SHOW_DEADLINE_DETAILS = \"deadline_details\";\nconst SHOW_DEADLINE_COMMENTS = \"deadline_comments\";\nconst SHOW_DEADLINE_REFERENCES = \"deadline_references\";\n\nclass DeadlineDetails extends Component {\n state = {\n isDeleteModalOpen: false,\n currentCard: SHOW_DEADLINE_DETAILS,\n\n showLabel: false,\n showYear: false,\n labelYear: \"\",\n labelMonth: \"\",\n labelDate: \"\",\n\n actionBoxOpened: false,\n };\n\n constructor(props) {\n super(props);\n\n const uri = this.props.context.resource;\n if (this.props.context.option) {\n this.state.currentCard = this.props.context.option;\n }\n\n this.props.initDocuments();\n this.props.fetchDeadline(uri);\n this.props.fetchComments(uri);\n this.props.fetchDeadlineReferences();\n }\n\n componentDidUpdate(prevProps) {\n const {\n t,\n deadline: { date },\n } = this.props;\n\n if (prevProps.deadline !== this.props.deadline) {\n this.setState({ ...calculateVotableDate(t, date) });\n }\n }\n\n onDeleteClick = (uri) => {\n AnalyticsTracking.showDeleteDialog(ResourcesTypes.deadline, uri);\n this.setState({ isDeleteModalOpen: true });\n };\n\n onCancelDelete = (uri) => {\n AnalyticsTracking.closeDeleteDialog(ResourcesTypes.deadline, uri);\n this.setState({ isDeleteModalOpen: false });\n };\n\n onSubmitDelete = (uri) => {\n AnalyticsTracking.deletionConfirmed(ResourcesTypes.deadline, uri);\n this.props.deleteDeadline(uri);\n this.setState({ isDeleteModalOpen: false });\n };\n\n newComments = () => {\n if (!this.props.comments) return null;\n const newest = this.props.comments.filter((comment) =>\n this.isNewComment(comment.createdDate),\n );\n if (newest.length) {\n return (\n \n {this.props.t(\"comments.tab.new\", { count: newest.length })}\n \n );\n }\n return null;\n };\n\n isNewComment = (date) => {\n return (\n new Date(date).getTime() >=\n new Date(this.props.user.lastLoginDate).getTime()\n );\n };\n\n get isDeadlineDatePassed() {\n if (this.props.deadline) {\n return (\n addDays(new Date(this.props.deadline.date), 1).getTime() <\n new Date().getTime()\n );\n }\n\n return false;\n }\n\n handleCardChange = (name) => {\n this.setState({\n currentCard: name,\n });\n };\n\n createEventBody = ({\n committeeName,\n description,\n stage,\n references,\n referencesPerType,\n url,\n linkText,\n documentsText,\n }) => {\n const { selectedNationalCommittee, t } = this.props;\n const domain = window.location.hostname;\n\n const header = `

    DS Deadline: ${committeeName}

    `;\n const body = `

    ${description}

    `;\n const currentStage = stage\n ? `

    Stage: ${stage.label} (${stage.value})

    `\n : \"\";\n const docsHeader = `

    ${documentsText}:

    `;\n const meetingHeader = `

    ${t(\"meetings.header.name\")}:

    `;\n\n const meetingsList = referencesPerType?.meeting\n ?.map((doc) => {\n const uri = generateDialogLinkForPage(\n selectedNationalCommittee,\n PAGE_TYPES.MEETING,\n DIALOG_TYPES.MEETING_DETAILS,\n doc.uri,\n );\n return `
  • ${doc.title}
  • `;\n })\n .join(\"\");\n\n const meetings = meetingsList\n ? [meetingHeader, `
      ${meetingsList}
    `].join(\"\")\n : null;\n\n const documentsList = references\n .map((doc) => `
  • ${doc.filename}
  • `)\n .join(\"\");\n const docs = documentsList\n ? [docsHeader, `
      ${documentsList}
    `].join(\"\")\n : null;\n const link = `

    ${linkText}

    `;\n\n const eventBody = [header, body, currentStage, meetings, docs, link].join(\n \"\",\n );\n\n return eventBody;\n };\n\n // downloadAllFiles = () => {\n // this.props.downloadDeadlineDocuments(transformUri(this.props.uri));\n // };\n\n handleExportToCalender = () => {\n const { deadline, t, selectedNationalCommittee, stages } = this.props;\n\n const {\n title,\n committeeName,\n date,\n references,\n referencesPerType,\n description,\n stage,\n } = deadline;\n\n const linkText = t(\"deadlines.details.linkToDeadline\");\n const documentsText = t(\"documents.header.name\");\n\n const fileTitle = `DS Deadline: ${selectedNationalCommittee} - ${title}`;\n const url = window.location.href;\n const currentStage = stages.find((st) => st.value === stage);\n\n const eventBody = this.createEventBody({\n committeeName,\n description,\n stage: currentStage,\n references,\n referencesPerType,\n linkText,\n documentsText,\n url,\n });\n\n const data = {\n title: fileTitle,\n html: eventBody,\n startDate: date,\n allDay: true,\n url,\n };\n\n const eventFile = createCalendarEvent(data);\n\n FileDownload(eventFile, `${fileTitle}.ics`);\n };\n\n // onUpdateDocument = (document) => {\n // this.props.updateDeadlineDocumentInfo(document);\n // };\n\n // onRemoveReferenceFromDeadline = (id) => {\n // this.props.removeReferenceFromDeadline(id);\n // };\n\n renderHeader() {\n const {\n t,\n deadline,\n selectedNationalCommittee,\n comments,\n isProcessingRequest,\n } = this.props;\n\n const { showLabel, showYear, labelYear, labelMonth, labelDate } =\n this.state;\n\n const headerLabelText = showLabel\n ? t(\"deadlines.details.cards.label\", {\n date: labelDate,\n month: labelMonth,\n }) + (showYear ? `, ${labelYear}` : \"\")\n : \"\";\n\n return (\n <>\n \n \n {setPageTitle(\n [\"Deadlines\", deadline.title, \"Edit comment\"],\n selectedNationalCommittee,\n )}\n \n \n
    \n
    \n
    \n {!isProcessingRequest && deadline.date && (\n \n )}\n
    \n

    \n {deadline.committee}\n \n {deadline.committeeName && ` - ${deadline.committeeName}`}\n \n

    \n

    {deadline.title}

    \n
    \n
    \n \n
    \n \n \n \n
  • \n this.handleExportToCalender()}\n >\n {t(\"general.button.calendarExport\")}\n \n
  • \n
  • \n \n {t(\"general.button.edit\")}\n \n
  • \n
  • \n this.onDeleteClick(deadline.uri)}\n >\n {t(\"general.button.delete\")}\n \n
  • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {showLabel && (\n \n \n \n {headerLabelText}\n \n \n \n )}\n
    \n
    \n\n
    \n \n \n {/* */}\n {deadline.enableCommenting && (\n \n )}\n \n
    \n \n );\n }\n\n renderDetails() {\n const { comments } = this.props;\n\n if (this.state.currentCard === SHOW_DEADLINE_DETAILS) {\n return (\n
    \n \n {/* */}\n
    \n );\n }\n if (this.state.currentCard === SHOW_DEADLINE_COMMENTS) {\n return (\n
    \n \n
    \n );\n }\n }\n\n render() {\n const { deadline, isProcessingRequest } = this.props;\n const deadlineLoaded = !!deadline && !!deadline.uri;\n\n if (!deadlineLoaded) {\n if (!isProcessingRequest) return ;\n return ;\n }\n\n return (\n \n {this.renderHeader()}\n {this.renderDetails()}\n {isProcessingRequest && }\n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n initDocuments,\n fetchDeadline,\n fetchDeadlineReferences,\n fetchComments,\n deleteDeadline,\n clearDeadline,\n updateDeadlineReferenceInfo,\n removeReferenceFromDeadline,\n downloadDeadlineDocuments,\n};\n\nconst mapStateToProps = (state, props) => ({\n stages: getStages(state),\n deadline: getDeadline(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n user: userDetails(state),\n comments: getComments(state),\n members: getMembers(state),\n isProcessingRequest: isFetchingDeadlines(state),\n isDownloadingZipPackage: isDownloadingFile(\n state,\n transformUri(props.context.resource),\n ),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(DeadlineDetails);\n","import React from \"react\";\nimport { Editor } from \"@tinymce/tinymce-react\";\n\nimport \"tinymce\";\nimport \"tinymce/themes/silver\";\nimport \"tinymce/themes/mobile\";\nimport \"../../../assets/tinyskins/ui/oxide-custom/skin.css\";\nimport \"../../../assets/tinyskins/ui/oxide-custom/skin.mobile.css\";\nimport \"../../../assets/tinyskins/ui/oxide-custom/content.css\";\nimport \"../../../assets/tinyskins/ui/oxide-custom/content.mobile.css\";\nimport \"tinymce/plugins/link\";\nimport \"tinymce/plugins/image\";\nimport \"tinymce/plugins/lists\";\nimport \"tinymce/plugins/charmap\";\nimport \"tinymce/plugins/anchor\";\nimport \"tinymce/plugins/pagebreak\";\nimport \"tinymce/plugins/spellchecker\";\nimport \"tinymce/plugins/code\";\nimport \"tinymce/plugins/fullscreen\";\nimport \"tinymce/plugins/table\";\nimport \"tinymce/plugins/paste\";\nimport \"tinymce/icons/default\";\n\nconst TinyMceEditor = ({\n value,\n onEditorChange,\n setup,\n refreshKey,\n ...rest\n}) => {\n return (\n \n );\n};\n\nexport default TinyMceEditor;\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport Editor from \"../../../../common/editor/Editor\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport Tooltip from \"../../../../common/tooltip/Tooltip\";\nimport { Link } from \"react-router-dom\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n} from \"../../../../../utils/dynamicLink\";\nimport { getCommentTypeSelectItems } from \"../../../../../state/values/selectors\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport classNames from \"classnames\";\nimport FileInput from \"../../../../common/form/file-input/FileInput\";\n\nimport { scrollToElement } from \"../../../../../utils/scroll\";\n\nimport \"./CommentForm.scss\";\nimport { getComments } from \"../../../../../state/comments/selectors\";\nimport { fetchComments } from \"../../../../../state/comments/actions\";\nimport { getDateString } from \"../../../../../utils/transform\";\n\nconst htmlToPlainText = (html) => {\n const tempElement = document.createElement(\"div\");\n tempElement.innerHTML = html;\n return tempElement.textContent || tempElement.innerText;\n};\n\nconst makeSummary = (comment) => {\n let tempText = `ID:${comment.referenceId}, ${comment.clause}, ${comment.author}`;\n if (tempText.length > 40) {\n tempText = tempText.slice(0, 36) + \" ...\";\n }\n return tempText;\n};\n\nconst getCommentPreview = (comment) => {\n return `\n
    \n
    \n ${comment.referenceId}\n ${comment.line}\n ${comment.clause}\n ${comment.paragraph}\n ${comment.type}\n ${comment.author}\n ${getDateString(new Date(comment.updateDate))}\n
    \n
    \n
    \n
    Comment
    \n
    ${htmlToPlainText(comment.comment)}
    \n
    \n
    \n
    Proposed change
    \n
    ${htmlToPlainText(comment.proposal)}
    \n
    \n
    \n
    \n `;\n};\n\nconst setEditorSetupFn = (text, paramComments) => {\n return (editor) => {\n function keyupEvent() {\n const content = editor.getContent({ format: \"raw\" }); // Use 'raw' to keep HTML structure\n let updatedContent = content;\n let hasReplacement = false;\n let lastChangedSpanId = null;\n\n comments.forEach((comment) => {\n const regex = new RegExp(`\\\\{\\\\{${comment.referenceId}\\\\}\\\\}`, \"g\");\n if (regex.test(content)) {\n updatedContent = updatedContent.replace(\n regex,\n `@ID:${comment.referenceId}`,\n );\n hasReplacement = true;\n lastChangedSpanId = `comment_${comment.referenceId}`;\n }\n });\n\n if (hasReplacement) {\n const bookmark = editor.selection.getBookmark(2, true);\n editor.setContent(updatedContent, { format: \"raw\" }); // Use 'raw' to preserve HTML structure\n editor.selection.moveToBookmark(bookmark);\n\n if (lastChangedSpanId) {\n // Identify the last changed span by its ID\n const lastChangedSpan = editor\n .getDoc()\n .getElementById(lastChangedSpanId);\n\n if (lastChangedSpan) {\n // Create a range and set the cursor right after the last changed span\n const range = editor.getDoc().createRange();\n range.setStartAfter(lastChangedSpan);\n range.setEndAfter(lastChangedSpan);\n\n // Move the cursor to the new range\n const sel = editor.selection.getSel();\n sel.removeAllRanges();\n sel.addRange(range);\n\n // Ensure the editor scrolls to the cursor position\n editor.selection.scrollIntoView();\n }\n }\n }\n }\n\n const comments = paramComments;\n if (comments && comments.length > 0) {\n // Set up the menu button for references\n editor.ui.registry.addMenuButton(\"refer_comment\", {\n text,\n fetch: function (callback) {\n var items = comments.map((el) => ({\n type: \"menuitem\",\n text: makeSummary(el),\n onAction: function () {\n editor.insertContent(`{{${el.referenceId}}}`);\n keyupEvent();\n },\n }));\n callback(items);\n },\n });\n\n // Customizing the mce-offscreen-selection div\n editor.on(\"NodeChange\", function (e) {\n let offscreenDivs = document.getElementsByClassName(\n \"tox-edit-area__iframe\",\n );\n if (offscreenDivs.length === 0) return;\n for (let i = 0; i < offscreenDivs.length; i++) {\n const offscreenDiv = offscreenDivs[\n i\n ].contentWindow.document.querySelectorAll(\".mce-offscreen-selection\");\n if (!offscreenDiv) continue;\n offscreenDiv.forEach((div) => {\n comments.forEach((comment) => {\n if (div.textContent.includes(`@ID:${comment.referenceId}`)) {\n div.innerHTML = getCommentPreview(comment);\n }\n });\n });\n }\n });\n\n editor.on(\"GetContent\", function (e) {\n e.content = e.content.replace(/data-mce-bogus=\"all\"/g, \"\");\n });\n\n editor.on(\"keyup\", keyupEvent);\n editor.on(\"init\", keyupEvent);\n }\n };\n};\n\nclass CommentForm extends Component {\n supportedAttachments = [\".jpg\", \".jpeg\", \".png\", \".gif\", \".bmp\"];\n state = {\n setup: setEditorSetupFn(\n this.props.t(\"comments.buttons.findComment\"),\n this.props.comments,\n ),\n\n comment: this.props.data ? this.props.data.comment : \"\",\n proposal: this.props.data ? this.props.data.proposal : \"\",\n line: this.props.data ? this.props.data.line : \"\",\n clause: this.props.data ? this.props.data.clause : \"\",\n paragraph: this.props.data ? this.props.data.paragraph : \"\",\n selected: this.props.data\n ? this.props.data.type\n : this.props.types[0].value,\n attachments: this.props.data ? this.props.data.attachments : [],\n attachmentsToRemoveFromServer: [],\n\n validation: {\n comment: { isValid: true },\n proposal: { isValid: true },\n line: { isValid: true },\n paragraph: { isValid: true },\n clause: { isValid: true },\n selected: { isValid: true },\n attachments: { isValid: true },\n },\n formSubmitted: false,\n };\n\n validate = () => {\n const { comment, proposal, clause, selected } = this.state;\n\n let validation = {\n comment: { isValid: true },\n proposal: { isValid: true },\n line: { isValid: true },\n paragraph: { isValid: true },\n clause: { isValid: true },\n selected: { isValid: true },\n attachments: { isValid: true },\n };\n let isValid = true;\n\n if (comment.trim() === \"\") {\n validation.comment.isValid = false;\n isValid = false;\n }\n if (proposal.trim() === \"\") {\n validation.proposal.isValid = false;\n isValid = false;\n }\n if (clause.trim() === \"\") {\n validation.clause.isValid = false;\n isValid = false;\n }\n\n if (selected.trim() === \"\") {\n validation.selected.isValid = false;\n isValid = false;\n }\n\n if (this.hasUnsupportedAttachments()) {\n validation.attachments.isValid = false;\n isValid = false;\n }\n\n if (!isValid) {\n this.setState(\n {\n validation,\n },\n () => scrollToElement(\".validation-message__error\"),\n );\n }\n return isValid;\n };\n\n componentDidMount() {\n if (!this.props.comments || this.props.comments.length === 0) {\n this.props.fetchComments(this.props.deadlineUri);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.types !== this.props.types) {\n this.setState({\n selected: this.state.selected || this.props.types[0].value,\n });\n }\n if (prevProps.data !== this.props.data) {\n this.setState({\n comment: this.props.data.comment || this.state.comment,\n proposal: this.props.data.proposal || this.state.proposal,\n line: this.props.data.line || this.state.line,\n clause: this.props.data.clause || this.state.clause,\n paragraph: this.props.data.paragraph || this.state.paragraph,\n selected:\n (this.props.data ? this.props.data.type : false) ||\n (this.props.types && this.props.types.length\n ? this.props.types[0].value\n : null),\n });\n }\n\n if (prevProps.comments !== this.props.comments) {\n this.setState({\n setup: setEditorSetupFn(\n this.props.t(\"comments.buttons.findComment\"),\n this.props.comments,\n ),\n refreshKey: Math.random(),\n });\n }\n }\n\n handleEditorCommentChange = (comment) => {\n this.setState({ comment });\n };\n\n handleEditorProposeChange = (proposal) => {\n this.setState({ proposal });\n };\n\n generateSelectOptions = (select) => {\n return select.map((option, index) => {\n return (\n \n );\n });\n };\n\n handleSave = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (!this.validate()) {\n return;\n }\n this.props.onSave(this.state);\n this.setState({ formSubmitted: true });\n };\n\n showValidationMessage = (field) => {\n return !this.state.validation[field].isValid;\n };\n\n isRowValid = () => {\n return (\n !this.showValidationMessage(\"line\") &&\n !this.showValidationMessage(\"clause\") &&\n !this.showValidationMessage(\"selected\")\n );\n };\n\n isFieldValid = (field) => {\n const { t } = this.props;\n\n return this.showValidationMessage(field) ? (\n \n {t(\"general.validation.notEmpty\")}\n \n ) : this.isRowValid() ? null : (\n  \n );\n };\n\n addAttachments = (event) => {\n this.setState({\n attachments: [...this.state.attachments, ...event.target.files],\n });\n };\n\n isAttachmentSupported = (name) => {\n return !!this.supportedAttachments.find((ext) =>\n name.toLowerCase().endsWith(ext),\n );\n };\n\n hasUnsupportedAttachments = () => {\n return !!this.state.attachments.find(\n (a) => !this.isAttachmentSupported(a.name),\n );\n };\n\n removeAttachment = (attachment) => {\n let newState = {\n attachments: this.state.attachments.filter(\n (file) => file.name !== attachment.name,\n ),\n };\n\n // file that has been uploaded\n if (attachment.uri) {\n newState.attachmentsToRemoveFromServer = [\n ...this.state.attachmentsToRemoveFromServer,\n attachment,\n ];\n }\n\n this.setState(newState);\n };\n\n renderAttachments = () => {\n const { t } = this.props;\n\n return (\n this.state.attachments.length > 0 && (\n
      \n {this.state.attachments.map((file, index) => (\n
    • \n \n \n {file.name}\n \n - \n \n
    • \n ))}\n
    \n )\n );\n };\n\n render() {\n const { t } = this.props;\n\n return (\n
    \n
    \n
    \n
    \n
    \n \n \n
    \n {\n if (/[^0-9]/.test(e.target.value)) return;\n this.setState({ line: e.target.value });\n }}\n />\n {this.isFieldValid(\"line\")}\n
    \n
    \n
    \n \n \n
    \n {\n this.setState({\n clause: e.target.value.replace(/[?{}]/g, \"\"),\n });\n }}\n />\n {this.isFieldValid(\"clause\")}\n
    \n
    \n
    \n \n \n
    \n this.setState({ paragraph: e.target.value })}\n />\n {this.isFieldValid(\"paragraph\")}\n
    \n
    \n
    \n \n \n
    \n {this.props.types && this.props.types.length ? (\n
    \n \n this.setState({ selected: e.target.value })\n }\n value={\n this.state.selected\n ? this.state.selected\n : this.props.types[0].value\n }\n >\n {this.generateSelectOptions(this.props.types)}\n \n \n {this.state.selected\n ? this.state.selected\n : this.props.types[0].value}\n \n \n
    \n ) : (\n \n )}\n {this.isFieldValid(\"selected\")}\n
    \n
    \n
    \n
    \n
    \n \n \n
    \n \n {this.showValidationMessage(\"comment\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n
    \n \n \n
    \n \n {this.showValidationMessage(\"proposal\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n {this.renderAttachments()}\n
    \n {this.hasUnsupportedAttachments() && (\n \n {t(\"comments.create.unsupportedAttachments\")}\n \n )}\n
    \n
    \n \n
    \n
    \n \n {t(\"comments.create.buttons.cancel\")}\n \n this.handleSave(e)}\n disabled={this.state.formSubmitted}\n >\n {t(\"comments.create.buttons.save\")}\n \n
    \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n fetchComments,\n};\n\nconst mapStateToProps = (state) => ({\n comments: getComments(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n types: getCommentTypeSelectItems(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(CommentForm);\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { getDeadline } from \"../../../../../state/deadlines/selectors\";\nimport { transformCommitteeName } from \"../../../../../utils/transform\";\n\nimport CommentForm from \"../../components/comment-form/CommentForm\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { fetchDeadline } from \"../../../../../state/deadlines/actions\";\nimport { createComment } from \"../../../../../state/comments/actions\";\nimport { userDetails } from \"../../../../../state/user/selectors\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\n\nclass CreateComment extends Component {\n componentDidMount() {\n if (typeof this.props.deadline === \"undefined\") {\n this.props.fetchDeadline(this.props.context.resource);\n }\n }\n\n replaceSpansWithGuidPlaceholders(htmlString) {\n // Create a temporary container element to hold the HTML\n const container = document.createElement(\"div\");\n container.innerHTML = htmlString;\n\n // Find all span elements with the class 'comment__label-box'\n const spans = container.querySelectorAll(\"span.comment__label-box\");\n\n // Iterate through each span and replace it with the placeholder\n spans.forEach((span) => {\n const guid = span.getAttribute(\"data-guid\");\n if (guid) {\n // Create the placeholder text\n const placeholder = `{{${guid}}}`;\n\n // Replace the span element with the placeholder\n const spanParent = span.parentNode;\n spanParent.replaceChild(document.createTextNode(placeholder), span);\n }\n });\n\n // Return the updated HTML as a string\n return container.innerHTML;\n }\n\n handleSave = (data) => {\n const guidComment = this.replaceSpansWithGuidPlaceholders(data.comment);\n const guidProposal = this.replaceSpansWithGuidPlaceholders(data.proposal);\n\n this.props.createComment({\n comment: guidComment,\n proposal: guidProposal,\n line: data.line,\n clause: data.clause,\n paragraph: data.paragraph,\n type: data.selected,\n deadlineUri: this.props.deadline.uri,\n committee: transformCommitteeName(this.props.selectedNationalCommittee),\n subcommittee: this.props.deadline.committee,\n memberId: this.props.user.id,\n author: this.props.user.name,\n attachments: data.attachments,\n });\n };\n\n render() {\n const { deadline, selectedNationalCommittee } = this.props;\n const { t } = this.props;\n\n return deadline ? (\n \n \n \n {setPageTitle(\n [\"Deadlines\", deadline.title, \"Create comment\"],\n selectedNationalCommittee,\n )}\n \n \n
    \n

    \n {t(\"comments.create.header\")} {deadline.title}\n

    \n
    \n
    \n {this.props.deadline.uri && (\n \n )}\n
    \n
    \n ) : (\n \n );\n }\n}\n\nconst mapDispatchToProps = {\n fetchDeadline,\n createComment,\n};\n\nconst mapStateToProps = (state) => ({\n user: userDetails(state),\n deadline: getDeadline(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(CreateComment);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport DatePicker from \"react-datepicker\";\nimport classNames from \"classnames\";\n\nimport {\n getDeadlineCommitteeFilterSelectItems,\n getDeadlineStagesSelectItems,\n getDeadlineActionsSelectItems,\n} from \"../../../../../state/values/selectors\";\n\nimport SelectFilter from \"../../../../common/select/SelectFilter\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport OptionalLabel from \"../../../../common/optional-label/OptionalLabel\";\nimport ReferenceComponent from \"../../../notifications/components/reference/ReferenceComponent\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\nimport {\n setFormSelectedDeadlineReferencesDocuments,\n setFormSelectedDeadlineReferencesMeetings,\n} from \"../../../../../state/deadlines/actions\";\n\nclass DeadlineGeneralInfoEditor extends Component {\n setTitle = (e) => {\n this.props.setData({ title: e.target.value });\n };\n\n setDescription = (e) => {\n this.props.setData({ description: e.target.value });\n };\n\n setDueDate = (value) => {\n this.props.setData({ date: value });\n };\n\n setEnableCommenting = (value) => {\n this.props.setData({ enableCommenting: !this.props.data.enableCommenting });\n };\n setClosedForComments = (value) => {\n this.props.setData({\n closedForComments: !this.props.data.closedForComments,\n });\n };\n setEnableVoting = (value) => {\n this.props.setData({ enableVoting: !this.props.data.enableVoting });\n };\n\n setNotifyOnUpdate = (value) => {\n this.props.setData({\n notifyOnUpdate: !this.props.data.notifyOnUpdate,\n notifyImmediately: this.props.data.notifyOnUpdate\n ? false\n : this.props.data.notifyImmediately,\n });\n };\n\n setNotifyImmediately = (value) => {\n this.props.setData({\n notifyImmediately: !this.props.data.notifyImmediately,\n });\n };\n\n setCommittee = (value, defaultValue) => {\n if (value !== defaultValue) {\n this.props.setData({ committee: value });\n } else {\n this.props.setData({ committee: \"\" });\n }\n };\n\n setAction = (value, defaultValue) => {\n if (value !== defaultValue) {\n this.props.setData({ action: value });\n } else {\n this.props.setData({ action: \"\" });\n }\n };\n\n setStage = (value, defaultValue) => {\n if (value !== defaultValue) {\n this.props.setData({ stage: value });\n // when state is 30, disable voting by default\n if (value === \"30\") {\n this.setEnableVoting(false);\n }\n } else {\n this.props.setData({ stage: \"\" });\n }\n };\n\n showValidationMessage = (field) => {\n if (field === \"date\") {\n return !this.props.validation[field].isValid && !this.props.data[field];\n } else {\n return (\n !this.props.validation[field].isValid && !this.props.data[field].trim()\n );\n }\n };\n\n get deadlineStages() {\n const { stages } = this.props;\n return stages.map((stage) => ({\n ...stage,\n label: `${stage.value} - ${stage.label}`,\n }));\n }\n\n onUpdateDocument = (document) => {\n const updatedDocuments = this.props.data.referencesPerType.document.map(\n (d) => {\n if (d.url === document.url) {\n return document;\n }\n return d;\n },\n );\n\n this.props.setFormSelectedDeadlineReferencesDocuments(updatedDocuments);\n };\n\n onRemoveDocument = (id) => {\n this.props.setFormSelectedDeadlineReferencesDocuments(\n this.props.data.referencesPerType.document.filter((d) => d.url !== id),\n );\n };\n\n onRemoveMeeting = (id) => {\n this.props.setFormSelectedDeadlineReferencesMeetings(\n this.props.data.referencesPerType.meeting.filter((d) => d.uri !== id),\n );\n };\n\n render() {\n const {\n data: {\n committee,\n title,\n description,\n stage,\n date,\n enableVoting,\n enableCommenting,\n notifyOnUpdate,\n notifyImmediately,\n closedForComments,\n referencesPerType,\n past,\n },\n t,\n cancelNavLinkUrl,\n committees,\n showNotifyMembers,\n showDocumentsEditor,\n } = this.props;\n\n const isLoading = !(committees && committees.length);\n\n if (isLoading) {\n return (\n
    \n \n
    \n );\n }\n\n return (\n
    \n {/* remote this one */}\n
    \n
    \n \n this.setCommittee(\n value,\n t(\"deadlines.details.new.committeePlaceholder\"),\n )\n }\n customClasses={classNames({\n \"input--validation_error\":\n this.showValidationMessage(\"committee\"),\n })}\n />\n {this.showValidationMessage(\"committee\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n \n this.setTitle(value)}\n />\n {this.showValidationMessage(\"title\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n \n this.setDescription(value)}\n />\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n {this.showValidationMessage(\"date\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n
    \n {/*
    \n this.setAction(value, t(\"deadlines.details.new.actionPlaceholder\"))}\n />\n
    */}\n
    \n \n this.setStage(\n value,\n t(\"deadlines.details.new.stagePlaceholder\"),\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 {t(\"notifications.detail.notifyMembers\")}\n \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n setFormSelectedDeadlineReferencesDocuments,\n setFormSelectedDeadlineReferencesMeetings,\n};\n\nconst mapStateToProps = (state) => ({\n committees: getDeadlineCommitteeFilterSelectItems(state),\n actions: getDeadlineActionsSelectItems(state),\n stages: getDeadlineStagesSelectItems(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DeadlineGeneralInfoEditor);\n","import React, { Component, Fragment } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport DocumentList from \"../document-list/List\";\nimport history from \"../../../../src/utils/history\";\nimport Loader from \"../../../components/common/loader/Loader\";\nimport {\n hasMoreDocumentsToLoad,\n isProcessingDocuments,\n} from \"../../../state/document/selectors\";\nimport Filters from \"../../pages/documents/components/filters/DocumentFilters\";\nimport {\n pullNextDocumentsPageRequest,\n reloadDocuments,\n initDocuments,\n} from \"../../../state/document/actions\";\nimport { InfiniteWaypointScroller } from \"../../common/infinite-scroll-wrapper/InfiniteScrollWrapper\";\n\nclass DocumentSelector extends Component {\n state = {\n selectedDocuments: this.props.selectedDocuments ?? [],\n listWasFilled: !!this.props.selectedDocuments?.length,\n };\n\n componentDidMount() {\n this.unlisten = history.listen((location) => {\n this.props.reloadDocuments();\n });\n\n this.props.initDocuments();\n this.loadMoreItems();\n this.props.onSelectDocuments(this.state.selectedDocuments);\n }\n\n componentWillUnmount() {\n this.unlisten();\n }\n\n showSetEmptyButton = () => {\n return (\n this.state.listWasFilled && this.state.selectedDocuments.length === 0\n );\n };\n\n selectHandler = (document) => {\n if (\n this.state.selectedDocuments.some(\n (selectedDocument) => selectedDocument.url === document.url,\n )\n ) {\n this.setState(\n {\n selectedDocuments: this.state.selectedDocuments.filter(\n (selectedDocument) => selectedDocument.url !== document.url,\n ),\n },\n () => this.props.onSelectDocuments(this.state.selectedDocuments),\n );\n } else {\n this.setState(\n {\n selectedDocuments: [...this.state.selectedDocuments, document],\n },\n () => this.props.onSelectDocuments(this.state.selectedDocuments),\n );\n }\n };\n\n get documentsWithSelectedKeyValue() {\n return this.props.documents.map((document) => {\n if (\n this.state.selectedDocuments.find((doc) => doc.url === document.url)\n ) {\n document.selected = true;\n } else {\n document.selected = false;\n }\n return document;\n });\n }\n\n loadMoreItems = () => {\n this.props.pullNextDocumentsPageRequest();\n };\n\n render() {\n return (\n \n \n }\n >\n \n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n initDocuments,\n reloadDocuments,\n pullNextDocumentsPageRequest,\n};\n\nconst mapStateToProps = (state) => ({\n hasMoreDocumentsToLoad: hasMoreDocumentsToLoad(state),\n isProcessingDocuments: isProcessingDocuments(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DocumentSelector);\n","import React, {\n useState,\n useCallback,\n useImperativeHandle,\n forwardRef,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport classNames from \"classnames\";\n\nimport {\n getDocuments,\n getModalDetails,\n} from \"../../../../../state/document/selectors\";\nimport {\n resetModalState,\n setModalState,\n uploadSelectedDocuments,\n} from \"../../../../../state/document/actions\";\nimport DocumentSelector from \"../../../../common/documents-tab/DocumentSelector\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport WithPrivileges from \"../../../../common/with-privileges/WithPrivileges\";\nimport ReadonlyGuard from \"../../../../common/readonly-guard/ReadonlyGuard\";\nimport FileInput from \"../../../../common/form/file-input/FileInput\";\nimport { documentUploadType } from \"../../../../../utils/constants\";\n\nexport const DocumentActionType = {\n upload: \"upload\",\n documents: \"documents\",\n linkToFile: \"link\",\n};\n\nexport const ReferenceDocumentsList = forwardRef((props, ref) => {\n const { t } = useTranslation(\"common\");\n const dispatch = useDispatch();\n const history = useHistory();\n\n const modal = useSelector(getModalDetails);\n const documents = useSelector(getDocuments);\n\n const [addDocumentActionType, setAddDocumentActionType] = useState(null);\n const [selectedDocuments, setSelectedDocuments] = useState([]);\n\n useImperativeHandle(ref, () => ({\n onSelect() {\n onAddSelectedDocumentsHandler();\n },\n }));\n\n const onLeave = useCallback(() => {\n if (props.isModal) {\n props.onSelect();\n } else {\n history.push(props.basePath);\n }\n }, [props, history]);\n\n const onAddSelectedDocumentsHandler = () => {\n props.onAddDocuments(selectedDocuments);\n setAddDocumentActionType(null);\n setSelectedDocuments([]);\n onLeave();\n };\n\n const onDocumentSelectorCancelClick = () => {\n setAddDocumentActionType(null);\n onLeave();\n };\n\n const onSelectDocumentsCallback = (documents) => {\n setSelectedDocuments(documents);\n };\n\n const showSetEmptyButton = useCallback(selectedDocuments.length === 0, [\n selectedDocuments,\n ]);\n\n const renderUploadButton = () => {\n const { isLoading } = props;\n\n return (\n \n \n {\n setAddDocumentActionType(DocumentActionType.upload);\n dispatch(\n uploadSelectedDocuments({\n documents: event.target.files,\n uploadType: documentUploadType.file,\n notifyOnUpdate: false,\n }),\n );\n }}\n isInline\n isSecondaryButton\n isSmallButton\n isDisabled={isLoading}\n buttonText={t(\"general.button.upload\")}\n id=\"uploadDocuments\"\n inputOptions={{\n multiple: true,\n }}\n />\n \n \n );\n };\n\n const renderButtons = () => {\n const { isLoading } = props;\n\n return (\n
    \n {!props.isModal && (\n \n {t(\"general.button.cancel\")}\n \n )}\n {renderUploadButton()}\n {!props.isModal && (\n \n {!showSetEmptyButton\n ? t(\"general.button.addSelected\")\n : t(\"general.button.setEmptyList\")}\n \n )}\n
    \n );\n };\n\n const renderView = () => {\n const { referenceDocumentList } = props;\n\n return (\n \n );\n };\n\n const { isLoading } = props;\n return (\n
    \n
    \n
    \n \n {t(\"deadlines.details.documents\")}\n \n {renderButtons()}\n
    \n\n {isLoading ? : renderView()}\n
    \n
    \n );\n});\n","import React, {\n useState,\n useEffect,\n useCallback,\n forwardRef,\n useImperativeHandle,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport classNames from \"classnames\";\nimport MeetingList from \"../../../meetings/pages/meeting-tab/MeetingList\";\nimport Sidebar from \"../../../meetings/components/sidebar/Sidebar\";\nimport {\n getMeetings,\n getMeetingsFilters,\n isProcessingMeetings,\n} from \"../../../../../state/meetings/selectors\";\nimport {\n initMeetings,\n resetMeetingsFilters,\n setMeetingsFilterValue,\n} from \"../../../../../state/meetings/actions\";\nimport { TIMEFRAME } from \"../../../../../api/utils\";\nimport {\n SlimTab,\n SlimTabsSwitcher,\n} from \"../../../../common/slim-tabs/SlimTabs\";\nimport {\n SHOW_PAST_MEETINGS,\n SHOW_UPCOMING_MEETINGS,\n} from \"../../../meetings/pages/meeting-tab/MeetingTab\";\n\nexport const ReferenceMeetingList = forwardRef((props, ref) => {\n const { t } = useTranslation(\"common\");\n const dispatch = useDispatch();\n const history = useHistory();\n\n const meetings = useSelector(getMeetings);\n const filters = useSelector(getMeetingsFilters);\n const isProcessing = useSelector(isProcessingMeetings);\n\n const [selectedMeetings, setSelectedMeetings] = useState([]);\n\n useEffect(() => {\n setSelectedMeetings([...(props.selectedMeetings ?? [])]);\n dispatch(resetMeetingsFilters());\n dispatch(initMeetings());\n }, [props.selectedMeetings, dispatch]);\n\n useImperativeHandle(ref, () => ({\n onSelect() {\n onAddSelectedMeetingsHandler();\n },\n }));\n\n const onClickCheckbox = (element, isChecked) => {\n if (isChecked) {\n setSelectedMeetings((prevState) => [...prevState, element]);\n } else {\n setSelectedMeetings((prevState) =>\n prevState.filter((el) => el.uri !== element.uri),\n );\n }\n };\n\n const showSetEmptyButton = useCallback(selectedMeetings.length === 0, [\n selectedMeetings,\n ]);\n\n const onLeave = useCallback(() => {\n if (props.isModal) {\n props.onSelect();\n } else {\n history.push(props.basePath);\n }\n }, [props, history]);\n\n const onMeetingSelectorCancelClick = () => {\n onLeave();\n };\n\n const onAddSelectedMeetingsHandler = () => {\n props.onSetMeeting(selectedMeetings);\n onLeave();\n };\n\n const handleUpcomingFilter = (tab) => {\n dispatch(\n setMeetingsFilterValue({\n timeframe:\n tab === SHOW_PAST_MEETINGS ? TIMEFRAME.PAST : TIMEFRAME.FUTURE,\n month: null,\n }),\n );\n dispatch(initMeetings());\n };\n\n const renderButtons = () => (\n
    \n \n {t(\"general.button.cancel\")}\n \n\n \n {!showSetEmptyButton\n ? t(\"general.button.addSelected\")\n : t(\"references.meeting.setEmptyList\")}\n \n
    \n );\n\n return (\n
    \n
    \n
    \n \n {t(\"meetings.header.name\")}\n \n {!props.isModal && renderButtons()}\n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n});\n","import React, {\n useState,\n useEffect,\n useCallback,\n forwardRef,\n useImperativeHandle,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport classNames from \"classnames\";\nimport Sidebar from \"../../../deadlines/components/sidebar/Sidebar\";\nimport {\n initDeadlines,\n resetDeadlinesFilters,\n setDeadlinesFilterValue,\n} from \"../../../../../state/deadlines/actions\";\nimport {\n getDeadlines,\n getDeadlinesFilters,\n isFetchingDeadlines,\n} from \"../../../../../state/deadlines/selectors\";\nimport DeadlineList from \"../../../deadlines/pages/deadline-list/DeadlineList\";\nimport { TIMEFRAME } from \"../../../../../api/utils\";\nimport {\n SlimTab,\n SlimTabsSwitcher,\n} from \"../../../../common/slim-tabs/SlimTabs\";\nimport {\n SHOW_PAST_DEADLINES,\n SHOW_UPCOMING_DEADLINES,\n} from \"../../../deadlines/pages/deadline-list/DeadlineTab\";\n\nexport const ReferenceDeadlineList = forwardRef((props, ref) => {\n const { t } = useTranslation(\"common\");\n const dispatch = useDispatch();\n const history = useHistory();\n\n const deadlines = useSelector(getDeadlines);\n const filters = useSelector(getDeadlinesFilters);\n const isFetching = useSelector(isFetchingDeadlines);\n\n const [selectedDeadlines, setSelectedDeadlines] = useState([]);\n\n useEffect(() => {\n setSelectedDeadlines([...(props.selectedDeadlines ?? [])]);\n dispatch(resetDeadlinesFilters());\n dispatch(setDeadlinesFilterValue({ timeframe: TIMEFRAME.FUTURE }));\n dispatch(initDeadlines());\n }, [dispatch, props.selectedDeadlines]);\n\n useImperativeHandle(ref, () => ({\n onSelect() {\n onAddSelectedDeadlinesHandler();\n },\n }));\n\n const onClickCheckbox = (element, isChecked) => {\n if (isChecked) {\n setSelectedDeadlines((prevState) => [...prevState, element]);\n } else {\n setSelectedDeadlines((prevState) =>\n prevState.filter((el) => el.uri !== element.uri),\n );\n }\n };\n\n const showSetEmptyButton = useCallback(selectedDeadlines.length === 0, [\n selectedDeadlines,\n ]);\n\n const onLeave = useCallback(() => {\n if (props.isModal) {\n props.onSelect();\n } else {\n history.push(props.basePath);\n }\n }, [props, history]);\n\n const onDeadlineselectorCancelClick = () => {\n onLeave();\n };\n\n const onAddSelectedDeadlinesHandler = () => {\n props.onSetDeadline(selectedDeadlines);\n onLeave();\n };\n\n const renderButtons = () => (\n
    \n \n {t(\"general.button.cancel\")}\n \n\n \n {!showSetEmptyButton\n ? t(\"general.button.addSelected\")\n : t(\"references.deadline.setEmptyList\")}\n \n
    \n );\n\n const handleDeadlinesUpcomingFilter = (selected) => {\n dispatch(\n setDeadlinesFilterValue({\n timeframe:\n selected === SHOW_PAST_DEADLINES ? TIMEFRAME.PAST : TIMEFRAME.FUTURE,\n month: null,\n }),\n );\n dispatch(initDeadlines());\n };\n\n return (\n
    \n
    \n
    \n \n {t(\"deadlines.header.name\")}\n \n {!props.isModal && renderButtons()}\n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n});\n","export const getSelectedReferenceTab = (state) => {\n return state.references.selectedReferenceTab;\n};\n","import React, {\n Component,\n createRef,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n} from \"react\";\nimport { useTranslation, withTranslation } from \"react-i18next\";\nimport { connect, useDispatch, useSelector } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { ReferenceDocumentsList } from \"./ReferenceDocumentsList\";\nimport { ReferenceMeetingList } from \"./ReferenceMeetingList\";\nimport { ReferenceDeadlineList } from \"./ReferenceDeadlineList\";\nimport \"./ReferencePage.scss\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\nimport { getSelectedReferenceTab } from \"../../../../../state/references/selectors\";\nimport { emptyReferenceTab } from \"../../../../../state/references/actions\";\n\nexport const ReferencePage = forwardRef((props, ref) => {\n const dispatch = useDispatch();\n const selectedReferenceTab = useSelector(getSelectedReferenceTab);\n const documentRef = useRef();\n const meetingRef = useRef();\n const deadlineRef = useRef();\n\n useImperativeHandle(ref, () => ({\n onClick() {\n onSaveAction();\n },\n }));\n\n const onSelectInit = () => {\n dispatch(emptyReferenceTab());\n };\n\n const isDocumentSelected = () => {\n return selectedReferenceTab === REFERENCE_TAB.DOCUMENTS;\n };\n\n const isMeetingSelected = () => {\n return selectedReferenceTab === REFERENCE_TAB.MEETINGS;\n };\n\n const isDeadlineSelected = () => {\n return selectedReferenceTab === REFERENCE_TAB.DEADLINES;\n };\n\n const onSaveAction = () => {\n const refMap = {\n [REFERENCE_TAB.DOCUMENTS]: documentRef,\n [REFERENCE_TAB.MEETINGS]: meetingRef,\n [REFERENCE_TAB.DEADLINES]: deadlineRef,\n };\n\n const currentRef = refMap[selectedReferenceTab];\n if (currentRef && currentRef.current) {\n currentRef.current.onSelect();\n }\n };\n\n return (\n
    \n {isDocumentSelected() && (\n \n )}\n {isMeetingSelected() && (\n \n )}\n {isDeadlineSelected() && (\n \n )}\n
    \n );\n});\n","import React, { Component, Fragment, createRef } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport DeadlineGeneralInfoEditor from \"../../components/deadline-details/DeadlineGeneralInfoEditor\";\nimport {\n addGeneralDeadlineInformation,\n setFormSelectedDeadlineReferences,\n clearDeadlineForm,\n setFormSelectedDeadlineReferencesMeetings,\n setFormSelectedDeadlineReferencesDocuments,\n} from \"../../../../../state/deadlines/actions\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\nimport { ReferencePage } from \"../../../notifications/components/reference/ReferencePage\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { isFetchingDeadlines } from \"../../../../../state/deadlines/selectors\";\nimport { NavLink } from \"react-router-dom\";\nimport classNames from \"classnames\";\nimport { scrollToElement } from \"../../../../../utils/scroll\";\nimport \"../../../../common/form/form.scss\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\nimport { getSelectedReferenceTab } from \"../../../../../state/references/selectors\";\nimport {\n emptyReferenceTab,\n setReferenceTab,\n} from \"../../../../../state/references/actions\";\n\n// const TAB = {\n// GENERAL_TAB: \"_general\",\n// REFERENCE_TAB: \"_reference\",\n// };\n\nclass DeadlineForm extends Component {\n constructor(props) {\n super(props);\n this.referencesRef = createRef();\n this.slimTabRef = createRef();\n this.state = {\n validation: {\n committee: { isValid: true },\n date: { isValid: true },\n title: { isValid: true },\n },\n formSubmitted: false,\n };\n }\n\n componentDidMount() {\n this.props.emptyReferenceTab();\n this.props.onMount();\n }\n\n componentWillUnmount() {\n this.props.clearDeadlineForm();\n }\n\n setDeadlineData = (object) => {\n this.props.addGeneralDeadlineInformation(object);\n };\n\n // onChangeTab = (selected) => {\n // this.setState({ selectedTab: selected });\n // };\n\n get isGeneralTab() {\n return this.props.getSelectedReferenceTab === REFERENCE_TAB.NONE;\n }\n\n onUpdateDocument = (document) => {\n const updatedDocuments = this.props.formData.referencesPerType.document.map(\n (d) => {\n if (d.url === document.url) {\n return document;\n }\n return d;\n },\n );\n\n this.props.setFormSelectedDeadlineReferencesDocuments(updatedDocuments);\n };\n\n onAddDocuments = (documents) => {\n this.props.setFormSelectedDeadlineReferencesDocuments(documents);\n };\n\n onRemoveDocument = (id) => {\n this.props.setFormSelectedDeadlineReferencesDocuments(\n this.props.formData.referencesPerType.document.filter(\n (d) => d.url !== id,\n ),\n );\n };\n\n onSetMeeting = (meetings) => {\n this.props.setFormSelectedDeadlineReferencesMeetings(meetings);\n };\n\n onRemoveMeeting = (id) => {\n this.props.setFormSelectedDeadlineReferencesMeetings(\n this.props.formData.referencesPerType.meeting.filter((d) => d.uri !== id),\n );\n };\n\n onEditorSubmitAction = (e) => {\n const { setReferenceTab } = this.props;\n\n e.preventDefault();\n if (!this.validate()) {\n setReferenceTab(REFERENCE_TAB.NONE);\n return;\n }\n this.props.editorSubmitAction(this.props.formData);\n this.setState({ formSubmitted: true });\n };\n\n get editorCancelAction() {\n return this.props.editorCancelAction;\n }\n\n validate = () => {\n const { committee, date, title } = this.props.formData;\n\n const validation = {\n committee: { isValid: true },\n date: { isValid: true },\n title: { isValid: true },\n };\n let isValid = true;\n\n if (!committee) {\n validation.committee.isValid = false;\n isValid = false;\n }\n\n if (!date) {\n validation.date.isValid = false;\n isValid = false;\n }\n\n if (!title) {\n validation.title.isValid = false;\n isValid = false;\n }\n\n if (!isValid) {\n this.setState(\n {\n validation,\n },\n () => scrollToElement(\".validation-message__error\"),\n );\n }\n return isValid;\n };\n\n renderGeneralTab() {\n return (\n <>\n \n \n );\n }\n\n // Start from here\n renderReferenceTab() {\n return (\n \n );\n }\n\n renderTabContents() {\n return this.isGeneralTab\n ? this.renderGeneralTab()\n : this.renderReferenceTab();\n }\n\n get footerPrimaryAction() {\n return this.isGeneralTab\n ? this.onEditorSubmitAction\n : () => this.referencesRef.current.onClick();\n }\n\n get footerSecondaryButton() {\n const { t, setReferenceTab } = this.props;\n\n return this.isGeneralTab ? (\n \n {t(\"general.button.cancel\")}\n \n ) : (\n setReferenceTab(REFERENCE_TAB.NONE)}\n className=\"button\"\n >\n {t(\"general.button.cancel\")}\n \n );\n }\n\n get footerPrimaryButtonDisable() {\n return this.isGeneralTab ? this.state.formSubmitted : false;\n }\n\n get footerPrimaryButtonText() {\n const { t } = this.props;\n\n return this.isGeneralTab\n ? t(\"general.button.save\")\n : t(\"general.button.addSelected\");\n }\n\n renderFooter = () => {\n const { t, editorCancelAction } = this.props;\n\n return (\n
    \n
    \n {/*todo: set correct back link - from window history? */}\n {this.footerSecondaryButton}\n {/*todo: disable button after click (during sending request;\n to avoid sending form multiple times)*/}\n \n {this.footerPrimaryButtonText}\n \n
    \n
    \n );\n };\n\n renderTab() {\n const { t, selectedNationalCommittee, isCreate, formData, detailTitle } =\n this.props;\n\n return (\n \n \n \n {setPageTitle(\n [\"Deadlines\", isCreate ? \"Create new\" : formData.description],\n selectedNationalCommittee,\n )}\n \n \n
    \n

    {detailTitle}

    \n
    \n
    \n {this.renderTabContents()}\n
    \n
    {this.renderFooter()}
    \n
    \n );\n }\n\n render() {\n const { isFetchingDeadlines, formData, isCreate } = this.props;\n const isDataFetched = !isFetchingDeadlines && formData.uri;\n\n if (isCreate) {\n return this.renderTab();\n } else {\n return isDataFetched ? this.renderTab() : ;\n }\n }\n}\n\nconst mapDispatchToProps = {\n clearDeadlineForm,\n setFormSelectedDeadlineReferences,\n addGeneralDeadlineInformation,\n setFormSelectedDeadlineReferencesDocuments,\n setFormSelectedDeadlineReferencesMeetings,\n emptyReferenceTab,\n setReferenceTab,\n};\n\nconst mapStateToProps = (state) => ({\n // formData: getNewDeadlineFormData(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n isFetchingDeadlines: isFetchingDeadlines(state),\n getSelectedReferenceTab: getSelectedReferenceTab(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(DeadlineForm);\n","import React, { Component } from \"react\";\nimport DeadlineForm from \"../deadline-form/DeadlineForm\";\nimport {\n updateDeadline,\n initDeadlineFormWithGeneralInfo,\n} from \"../../../../../state/deadlines/actions\";\nimport {\n DIALOG_TYPES,\n generateDialogLink,\n} from \"../../../../../utils/dynamicLink\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { getNewDeadlineFormData } from \"../../../../../state/deadlines/selectors\";\n\nclass EditDeadline extends Component {\n onMount = () => {\n const uri = this.props.context.resource;\n this.props.initDeadlineFormWithGeneralInfo(uri);\n };\n\n get editorSubmitAction() {\n return this.props.updateDeadline;\n }\n\n get editorCancelAction() {\n return generateDialogLink(\n DIALOG_TYPES.DEADLINE_DETAILS,\n this.props.formData.uri,\n );\n }\n\n render() {\n const { t, formData } = this.props;\n const detailTitle = t(\"deadlines.details.edit.title\");\n\n return (\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n formData: getNewDeadlineFormData(state),\n});\n\nconst mapDispatchToProps = {\n initDeadlineFormWithGeneralInfo,\n updateDeadline,\n};\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(EditDeadline);\n","import React from \"react\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { formatDateTime } from \"../../../../../utils/transform\";\nimport classNames from \"classnames\";\nimport { urlValidator } from \"../../../../../utils/validation/urlValidator\";\nimport { UrlParser } from \"../../../../../utils/urlParser\";\n\nclass MeetingDetailsTab extends React.Component {\n get isReferenceEmpty() {\n return (\n this.props.referencesPerType?.documents?.length === 0 &&\n this.props.referencesPerType?.meetings?.length === 0 &&\n this.props.referencesPerType?.deadlines?.length === 0\n );\n }\n\n render() {\n const { t, locationLong, locationShort, fromDate, toDate } = this.props;\n\n const isLocationUrl = urlValidator(locationShort);\n\n return (\n
    \n {/*
    \n \n
    */}\n \n
    \n

    \n {t(\"meetings.detail.date.from\")}: {formatDateTime(fromDate)}\n

    \n

    \n {t(\"meetings.detail.date.to\")}: {formatDateTime(toDate)}\n

    \n {locationShort && (\n

    \n {isLocationUrl ? (\n \n {UrlParser.shortenUrl(locationShort)}\n \n ) : (\n locationShort\n )}\n

    \n )}\n {locationLong &&
    }\n {locationLong &&\n locationLong.split(\"\\n\").map((i, key) => {\n return (\n

    \n );\n })}\n
    \n
    \n \n );\n }\n}\n\nexport default compose(withTranslation(\"common\"))(MeetingDetailsTab);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport \"./MembersList.scss\";\nimport Avatar from \"../avatar/Avatar\";\n\nexport const MembersList = ({ closeHandler, title, membersList }) => {\n const { t } = useTranslation(\"common\");\n\n const emails = membersList.map((member) => member.email).join(\";\");\n\n return (\n
    \n
    \n

    {title}

    \n\n \n {t(\"member.sendEmailLabel\")}\n \n
    \n
      \n {membersList.map((member, index) => (\n
    • \n
      \n
      \n \n
      \n
      \n {member.name}\n {member.email}\n
      \n
      \n {member.label}\n
    • \n ))}\n
    \n \n
    \n );\n};\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { getMeeting } from \"../../../../../state/meetings/selectors\";\nimport { getMembers } from \"../../../../../state/members/selectors\";\nimport { MembersList } from \"../../../../common/members-list/MembersList\";\n\nexport const ParticipantsList = ({ closeHandler }) => {\n const { t } = useTranslation(\"common\");\n const { participants } = useSelector(getMeeting);\n const members = useSelector(getMembers);\n\n const getAttendanceStatus = (status) => {\n switch (status) {\n case 0:\n return t(\"meetings.participants.attendance.no\");\n case 1:\n return t(\"meetings.participants.attendance.onsite\");\n case 2:\n return t(\"meetings.participants.attendance.online\");\n default:\n return \"\";\n }\n };\n\n const participantsList = participants\n .map((participant) => {\n const member = members.find(\n (member) => member.userID === participant.userId,\n );\n\n if (!member) return null;\n\n return {\n id: participant.id,\n name: member.name,\n email: member.email,\n label: getAttendanceStatus(participant.attending),\n attending: participant.attending,\n work: member.work,\n photo: member.photo,\n };\n })\n .filter((participant) => participant)\n .sort((a, b) => {\n const order = { 1: 1, 2: 2, 0: 3 };\n return order[a.attending] - order[b.attending] || a.id - b.id;\n });\n\n return (\n \n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport \"./ParticipationBar.scss\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { ParticipantsList } from \"./ParticipantsList\";\nimport { useTranslation } from \"react-i18next\";\nimport { getMeeting } from \"../../../../../state/meetings/selectors\";\nimport {\n isMemberInCurrentCommittee,\n userDetails,\n} from \"../../../../../state/user/selectors\";\nimport {\n addParticipant,\n updateParticipant,\n} from \"../../../../../state/meetings/actions\";\nimport classNames from \"classnames\";\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport OnlyMember from \"../../../../common/only-member/OnlyMember\";\n\nexport const ParticipationBar = (props) => {\n const { t } = useTranslation(\"common\");\n\n const dispatch = useDispatch();\n\n const meeting = useSelector(getMeeting);\n const user = useSelector(userDetails);\n\n const [attendance, setAttendance] = useState(undefined);\n const [participantsCount, setParticipantsCount] = useState(0);\n const [participantId, setParticipantId] = useState(null);\n const [showParticipantsList, setShowParticipantsList] = useState(false);\n const [disableAttendance, setDisableAttendance] = useState(false);\n const [hideAttendance, setHideAttendance] = useState(false);\n\n const _isMemberInCurrentCommittee = useSelector(isMemberInCurrentCommittee);\n\n useEffect(() => {\n if (meeting?.participants?.length > 0) {\n const userId = user?.id;\n\n meeting.participants.forEach((participant) => {\n if (participant.userId === userId) {\n setAttendance(participant.attending);\n setParticipantId(participant.id);\n }\n });\n\n setParticipantsCount(meeting.participants.length);\n }\n }, [meeting, user]);\n\n useEffect(() => {\n setDisableAttendance(!_isMemberInCurrentCommittee);\n }, [_isMemberInCurrentCommittee]);\n\n useEffect(() => {\n const today = new Date();\n const meetingDate = new Date(meeting?.fromDate);\n if (today > meetingDate) {\n setHideAttendance(true);\n }\n }, [meeting]);\n\n const handleChange = (event) => {\n const attending = Number(event.target.value);\n if (participantId) {\n dispatch(\n updateParticipant({\n participantId: participantId,\n attending,\n }),\n );\n } else {\n dispatch(\n addParticipant({\n meetingUri: meeting.uri,\n userId: user.id,\n attending,\n }),\n );\n }\n setAttendance(Number(event.target.value));\n };\n\n return (\n \n
    \n {!hideAttendance && (\n
    \n \n \n \n {t(\"meetings.participants.attendance.onsite\")}\n \n \n \n \n \n {t(\"meetings.participants.attendance.online\")}\n \n \n \n \n \n {t(\"meetings.participants.attendance.no\")}\n \n \n
    \n )}\n setShowParticipantsList(true)}\n >\n {t(\"meetings.participants.participants\", {\n count: participantsCount,\n })}\n \n
    \n\n setShowParticipantsList(false)}\n disableSlide\n >\n setShowParticipantsList(false)} />\n \n
    \n );\n};\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { NavLink, withRouter } from \"react-router-dom\";\nimport { withTranslation } from \"react-i18next\";\nimport FileDownload from \"js-file-download\";\n\nimport MeetingDetailsTab from \"../../components/meeting-detail/MeetingDetailsTab\";\nimport DateThumbnail from \"../../../../common/date-thumbnail/DateThumbnail\";\n\nimport {\n SlimTabsSwitcher,\n SlimTab,\n} from \"../../../../common/slim-tabs/SlimTabs\";\nimport {\n clearMeeting,\n deleteMeeting,\n downloadMeetingDocuments,\n fetchMeeting,\n fetchMeetingReferences,\n removeReferenceFromMeeting,\n updateMeetingDocumentInfo,\n} from \"../../../../../state/meetings/actions\";\nimport PageNotFound from \"../../../404/PageNotFound\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport WithPrivileges from \"../../../../common/with-privileges/WithPrivileges\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport {\n generateDialogLink,\n DIALOG_TYPES,\n generateCloseDialogLink,\n generateDialogLinkForPage,\n PAGE_TYPES,\n} from \"../../../../../utils/dynamicLink\";\n\nimport {\n getMeeting,\n isProcessingMeeting,\n} from \"../../../../../state/meetings/selectors\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\nimport { initDocuments } from \"../../../../../state/document/actions\";\nimport MeetingDeleteModal from \"../../components/delete-modal/MeetingDeleteModal\";\n\nimport { createCalendarEvent } from \"../../../../../utils/calendarEvent\";\nimport { ReferencePage } from \"../../../notifications/components/reference/ReferencePage\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\nimport ReferenceComponent from \"../../../notifications/components/reference/ReferenceComponent\";\nimport ActionBox from \"../../../../common/action-box/ActionBox\";\nimport Toggler from \"../../../../common/toggler/Toggler\";\nimport { ParticipationBar } from \"../../components/participation-bar/ParticipationBar\";\n\n// const TAB = {\n// GENERAL_TAB: \"_general\",\n// REFERENCE_TAB: \"_reference\",\n// };\n\nclass MeetingDetails extends Component {\n state = {\n isDeleteModalOpen: false,\n // selectedTab: TAB.GENERAL_TAB,\n };\n\n constructor(props) {\n super(props);\n\n const uri = this.props.context.resource;\n this.props.initDocuments();\n this.props.fetchMeeting(uri);\n this.props.fetchMeetingReferences();\n }\n\n componentWillUnmount() {\n this.props.clearMeeting();\n }\n\n onDeleteClick = () => {\n this.setState({ isDeleteModalOpen: true });\n };\n onCancelDelete = () => {\n this.setState({ isDeleteModalOpen: false });\n };\n onSubmitDelete = (uri) => {\n this.props.deleteMeeting(uri);\n this.setState({ isDeleteModalOpen: false });\n };\n\n createEventBody = ({\n committeeName,\n description,\n references,\n referencesPerType,\n url,\n linkText,\n documentsText,\n }) => {\n const { selectedNationalCommittee, t } = this.props;\n\n const header = `

    DS Meeting: ${committeeName}

    `;\n const body = `

    ${description}

    `;\n const deadlineHeader = `

    ${t(\"deadlines.header.name\")}:

    `;\n const docsHeader = `

    ${documentsText}:

    `;\n const domain = window.location.hostname;\n\n const deadlinesList = referencesPerType?.deadline\n ?.map((doc) => {\n const uri = generateDialogLinkForPage(\n selectedNationalCommittee,\n PAGE_TYPES.DEADLINES,\n DIALOG_TYPES.DEADLINE_DETAILS,\n doc.uri,\n );\n return `
  • ${doc.title}
  • `;\n })\n .join(\"\");\n\n const deadliens = deadlinesList\n ? [deadlineHeader, `
      ${deadlinesList}
    `].join(\"\")\n : null;\n\n const documentsList = referencesPerType?.document\n ?.map(\n (doc) => `
  • ${doc.filename}
  • `,\n )\n .join(\"\");\n\n const docs = documentsList\n ? [docsHeader, `
      ${documentsList}
    `].join(\"\")\n : null;\n const link = `

    ${linkText}

    `;\n\n const eventBody = [header, body, deadliens, docs, link].join(\"\");\n\n return eventBody;\n };\n\n handleExportToCalender = () => {\n const { meeting, t, selectedNationalCommittee } = this.props;\n\n const {\n title,\n committeeName,\n fromDate,\n toDate,\n references,\n referencesPerType,\n locationLong,\n locationShort,\n } = meeting;\n\n const linkText = t(\"meetings.detail.linkToMeeting\");\n const documentsText = t(\"documents.header.name\");\n\n const url = window.location.href;\n const fileTitle = `DS Meeting: ${selectedNationalCommittee} - ${title}`;\n\n const eventBody = this.createEventBody({\n committeeName,\n description: locationLong,\n references,\n referencesPerType,\n linkText,\n documentsText,\n url,\n });\n\n const data = {\n title: fileTitle,\n html: eventBody,\n startDate: fromDate,\n endDate: toDate,\n location: locationShort,\n url,\n };\n\n const eventFile = createCalendarEvent(data);\n\n FileDownload(eventFile, `${fileTitle}.ics`);\n };\n\n // onChangeTab = (selected) => {\n // this.setState({ selectedTab: selected });\n // };\n\n renderHeader() {\n const { t, meeting, isProcessingMeeting, selectedNationalCommittee } =\n this.props;\n return (\n <>\n \n \n {setPageTitle(\n [\"Meetings\", meeting.title],\n selectedNationalCommittee,\n )}\n \n \n
    \n
    \n \n
    \n

    \n {meeting.committee}\n {meeting.committeeName.length ? (\n \n {\" \"}\n - {meeting.committeeName}\n \n ) : null}\n

    \n

    {meeting.title}

    \n
    \n
    \n \n
    \n \n \n
  • \n this.handleExportToCalender()}\n >\n {t(\"general.button.calendarExport\")}\n \n
  • \n
  • \n \n {t(\"general.button.edit\")}\n \n
  • \n
  • \n \n {t(\"general.button.delete\")}\n \n
  • \n
    \n
    \n
    \n
    \n
    \n {/*
    \n \n \n \n \n
    */}\n \n );\n }\n\n onUpdateDocument = (document) => {\n this.props.updateMeetingDocumentInfo(document);\n };\n\n onRemoveReferenceById = (id) => {\n this.props.removeReferenceFromMeeting(id);\n };\n\n downloadAllFiles = () => {\n this.props.downloadMeetingDocuments(this.props.meeting.uri);\n };\n\n renderContent() {\n const { meeting } = this.props;\n\n return (\n
    \n {meeting.isParticipationEnabled && }\n \n \n
    \n );\n }\n\n render() {\n const { meeting, isProcessingMeeting } = this.props;\n const meetingLoaded = !!meeting && !!meeting.uri;\n\n if (!meetingLoaded) {\n if (!isProcessingMeeting) return ;\n return ;\n }\n\n return (\n <>\n {this.renderHeader()}\n {this.renderContent()}\n {isProcessingMeeting && }\n \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n deleteMeeting,\n fetchMeeting,\n fetchMeetingReferences,\n clearMeeting,\n initDocuments,\n updateMeetingDocumentInfo,\n removeReferenceFromMeeting,\n downloadMeetingDocuments,\n};\n\nconst mapStateToProps = (state) => ({\n meeting: getMeeting(state),\n isProcessingMeeting: isProcessingMeeting(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n withRouter,\n)(MeetingDetails);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport ReactDropzone from \"react-dropzone\";\nimport classNames from \"classnames\";\n\nimport DocumentList from \"../document-list/List\";\n\nimport DownloadZipButton from \"../download-zip-button/DownloadZipButton\";\nimport { documentUploadType } from \"../../../utils/constants\";\nimport {\n getDocuments,\n getModalDetails,\n} from \"../../../state/document/selectors\";\nimport * as valuesSelectors from \"../../../state/values/selectors\";\nimport {\n cancelRemainingFilesToUpload,\n editDocumentData,\n resetModalState,\n setModalState,\n skipFileToUpload,\n uploadFile,\n} from \"../../../state/document/actions\";\nimport DocumentsLinks from \"../document-links/DocumentsLinks\";\nimport DocumentSelector from \"./DocumentSelector\";\nimport FileInput from \"../form/file-input/FileInput\";\nimport types from \"../modal-wrapper/contentTypes\";\nimport DeleteModal from \"../../pages/documents/components/modal-content/DeleteModal\";\nimport ModalWrapper from \"../modal-wrapper/ModalWrapper\";\nimport CreateDocument from \"../../pages/documents/components/modal-content/CreateDocument\";\nimport WithPrivileges from \"../../common/with-privileges/WithPrivileges\";\nimport ReadonlyGuard from \"../../common/readonly-guard/ReadonlyGuard\";\nimport Loader from \"../../common/loader/Loader\";\nimport { isConsultant } from \"../../../state/user/selectors\";\n\nexport const addDocumentActionType = {\n upload: \"upload\",\n documents: \"documents\",\n linkToFile: \"link\",\n};\n\nclass DocumentsTab extends Component {\n state = {\n addDocumentActionType: null,\n selectedDocuments: [],\n };\n\n removeDocumentFromList = (id) => {\n const { removeDocumentFromList, resetModalState } = this.props;\n removeDocumentFromList(id);\n resetModalState();\n };\n\n showModalToremoveDocumentFromList = (element) =>\n this.props.setModalState({\n isOpen: true,\n contentType: types.REMOVE_FILE_FROM_LIST,\n content: element,\n });\n\n onDocumentSelectorCancelClick = () =>\n this.setState({ addDocumentActionType: null });\n\n onHideLinkDocuments = () => this.setState({ addDocumentActionType: null });\n onSelectDocuments = (selectedDocuments) =>\n this.setState({ selectedDocuments });\n\n get showSetEmptyButton() {\n return (\n this.props.formDocuments &&\n this.props.formDocuments.length &&\n this.state.selectedDocuments.length === 0\n );\n }\n\n renderButtons = (areSmall, hideDefaultButtons) => {\n const { t, isLoading } = this.props;\n\n if (this.state.addDocumentActionType === addDocumentActionType.documents) {\n return (\n
    \n \n {t(\"general.button.cancel\")}\n \n\n \n {!this.showSetEmptyButton\n ? t(\"general.button.addSelected\")\n : t(\"general.button.setEmptyList\")}\n \n
    \n );\n }\n\n if (hideDefaultButtons) return null;\n\n return (\n
    \n \n \n {\n this.setState({\n addDocumentActionType: addDocumentActionType.upload,\n });\n this.props.uploadSelectedDocuments({\n documents: event.target.files,\n uploadType: documentUploadType.file,\n callback: this.props.addUploadedDocuments,\n notifyOnUpdate: false,\n });\n }}\n isInline={true}\n isPrimaryButton={true}\n isSmallButton={!!areSmall}\n isDisabled={isLoading}\n buttonText={t(\"general.button.upload\")}\n id=\"uploadDocuments\"\n inputOptions={{\n multiple: true,\n }}\n />\n {\n this.setState({\n addDocumentActionType: addDocumentActionType.documents,\n });\n }}\n >\n {t(\"notifications.detail.new.selectFromDocuments\")}\n \n \n \n\n {/* {\n this.setState({addDocumentActionType: addDocumentActionType.linkToFile})\n }}\n >{t(\"notifications.detail.new.linkToFile\")} */}\n\n {!!this.props.showDownloadAllFiles && (\n \n )}\n
    \n );\n };\n\n renderUploadView = () => {\n const {\n t,\n modal,\n filters,\n uploadFile,\n editDocumentData,\n skipFile,\n cancelRemainingFilesToUpload,\n formDocuments,\n } = this.props;\n\n return (\n <>\n
    \n {\n this.setState({\n addDocumentActionType: addDocumentActionType.upload,\n });\n this.props.uploadSelectedDocuments({\n documents: acceptedFiles,\n uploadType: documentUploadType.file,\n callback: this.props.addUploadedDocuments,\n notifyOnUpdate: false,\n });\n }}\n >\n {({ getRootProps, getInputProps }) => (\n
    \n \n {!(formDocuments && formDocuments.length) && (\n \n {t(\"notifications.detail.new.noDocuments\")}\n \n )}\n {t(\"notifications.detail.new.dragAndDrop\")}\n
    \n )}\n \n
    \n\n {!(formDocuments && formDocuments.length) && (\n <>\n OR\n
    \n {this.renderButtons(false)}\n
    \n\n \n {\n \n }\n \n \n )}\n \n );\n };\n\n renderRemoveDocumentFromListModal = () => (\n \n );\n\n renderListView = () => {\n const {\n formDocuments,\n isConsultant,\n removeFromLabel,\n manualSort,\n t,\n downloadDisabled,\n } = this.props;\n\n return (\n <>\n
    \n \n
    \n \n );\n };\n\n onAddSelectedDocumentsHandler = () => {\n this.props.addSelectedDocuments(this.state.selectedDocuments);\n this.setState({ addDocumentActionType: null, selectedDocuments: [] });\n };\n\n renderView = () => {\n const { documents, formDocuments, uploadDocumentsCallback } = this.props;\n\n switch (this.state.addDocumentActionType) {\n case addDocumentActionType.documents:\n return (\n \n );\n\n case addDocumentActionType.linkToFile:\n return (\n \n );\n default:\n return (\n <>\n {formDocuments && !!formDocuments.length && this.renderListView()}\n \n {this.renderUploadView()}\n \n \n );\n }\n };\n\n render() {\n const { t, formDocuments } = this.props;\n return (\n
    \n
    \n
    \n \n {t(\"deadlines.details.documents\")}\n \n {this.renderButtons(true, !formDocuments || !formDocuments.length)}\n
    \n\n {this.props.isLoading ? : this.renderView()}\n \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n modal: getModalDetails(state),\n filters: valuesSelectors.getDocumentValues(state),\n documents: getDocuments(state),\n isConsultant: isConsultant(state),\n});\n\nconst mapDispatchToProps = {\n skipFile: skipFileToUpload,\n uploadFile,\n editDocumentData,\n setModalState,\n resetModalState,\n cancelRemainingFilesToUpload,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(DocumentsTab);\n","import React, { Component } from \"react\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\n\nimport DocumentsTab from \"../../../../common/documents-tab/DocumentsTab\";\n// import {addSelectedDeadlineDocuments, addFormDeadlineDocuments} from \"../../../../../state/meetings/actions\"\nimport {\n setFormSelectedMeetingDocuments,\n addFormSelectedMeetingDocuments,\n} from \"../../../../../state/meetings/actions\";\nimport { uploadSelectedDocuments } from \"../../../../../state/document/actions\";\n\n// Manages documents list in the form list\nclass MeetingFormDocumentsEditor extends Component {\n removeDocument = (id) => {\n this.props.setFormSelectedMeetingDocuments(\n this.props.data.references.filter((d) => d.url !== id),\n );\n };\n\n setDeadlineDocuments = (documents) => {\n this.props.setFormSelectedMeetingDocuments(documents);\n };\n\n updateDocumentAfterEdit = (document) => {\n const updatedDocuments = this.props.data.references.map((d) => {\n if (d.url === document.url) {\n return document;\n }\n return d;\n });\n\n this.props.setFormSelectedMeetingDocuments(updatedDocuments);\n };\n\n render() {\n return (\n \n );\n }\n}\n\nconst mapStateToProps = (state, props) => ({});\n\nconst mapDispatchToProps = {\n setFormSelectedMeetingDocuments,\n uploadSelectedDocuments,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(MeetingFormDocumentsEditor);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport DatePicker from \"react-datepicker\";\nimport { getMeetingCommitteeFilterSelectItems } from \"../../../../../state/values/selectors\";\nimport SelectFilter from \"../../../../common/select/SelectFilter\";\nimport classNames from \"classnames\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport MeetingFormDocumentsEditor from \"../meeting-detail/MeetingFormDocumentsEditor\";\nimport Editor from \"../../../../common/editor/Editor\";\nimport OptionalLabel from \"../../../../common/optional-label/OptionalLabel\";\n\nclass MeetingGeneralInfoEditor extends Component {\n setTitle = (e) => {\n this.props.setData({ title: e.target.value });\n };\n\n setCommittee = (value) => {\n this.props.setData({ committee: value });\n };\n\n setFromDate = (value) => {\n this.props.setData({ fromDate: value });\n };\n\n setToDate = (value) => {\n this.props.setData({ toDate: value });\n };\n\n setLocationShort = (e) => {\n this.props.setData({ locationShort: e.target.value });\n };\n\n setLocationLong = (value) => {\n this.props.setData({ locationLong: value });\n };\n\n showValidationMessage = (field) => {\n return (\n !this.props.validation[field].isValid &&\n !this.props.data[field] &&\n this.props.data[field].toString().trim() === \"\"\n );\n };\n\n render() {\n const {\n data: {\n title,\n committee,\n locationLong,\n locationShort,\n fromDate,\n toDate,\n past,\n },\n t,\n committees,\n showDocumentsEditor,\n } = this.props;\n\n const isLoading = !(committees && committees.length);\n\n if (isLoading) {\n return (\n
    \n \n
    \n );\n }\n\n return (\n
    \n
    \n
    \n this.setCommittee(value)}\n customClasses={classNames({\n \"input--validation_error\":\n this.showValidationMessage(\"committee\"),\n })}\n />\n {this.showValidationMessage(\"committee\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n \n this.setTitle(value)}\n />\n {this.showValidationMessage(\"title\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n {this.showValidationMessage(\"fromDate\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n {this.showValidationMessage(\"toDate\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n {past && (\n \n {t(\"meetings.detail.dateInPast\")}\n \n )}\n
    \n
    \n \n this.setLocationShort(value)}\n />\n {this.showValidationMessage(\"locationShort\") && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n \n {t(\"meetings.detail.new.longLocationLabel\")}\n \n \n this.setLocationLong(value)}\n />\n
    \n\n {showDocumentsEditor && (\n
    \n \n
    \n )}\n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n committees: getMeetingCommitteeFilterSelectItems(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, null),\n)(MeetingGeneralInfoEditor);\n","import React, { Component, Fragment, createRef } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport MeetingGeneralInfoEditor from \"../../components/meeting-detail/MeetingGeneralInfoEditor\";\nimport {\n clearMeetingForm,\n setFormSelectedMeetingDocuments,\n setFormSelectedMeetingReferencesDeadlines,\n} from \"../../../../../state/meetings/actions\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { Helmet } from \"react-helmet\";\nimport { ReferencePage } from \"../../../notifications/components/reference/ReferencePage\";\nimport { scrollToElement } from \"../../../../../utils/scroll\";\nimport { NavLink } from \"react-router-dom\";\nimport classNames from \"classnames\";\nimport \"../../../../common/form/form.scss\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\nimport {\n emptyReferenceTab,\n setReferenceTab,\n} from \"../../../../../state/references/actions\";\nimport ReferenceComponent from \"../../../notifications/components/reference/ReferenceComponent\";\nimport { getSelectedReferenceTab } from \"../../../../../state/references/selectors\";\n\nconst validationInitialState = {\n committee: { isValid: true },\n title: { isValid: true },\n locationShort: { isValid: true },\n fromDate: { isValid: true },\n toDate: { isValid: true },\n};\n\nclass MeetingForm extends Component {\n constructor(props) {\n super(props);\n this.referencesRef = createRef();\n this.state = {\n validation: { ...validationInitialState },\n formSubmitted: false,\n };\n }\n\n componentDidMount() {\n this.props.emptyReferenceTab();\n this.props.onMount();\n }\n\n componentWillUnmount() {\n this.props.clearMeetingForm();\n }\n\n // onChangeTab = (selected) => {\n // this.setState({ selectedTab: selected });\n // };\n\n get isGeneralTab() {\n return this.props.getSelectedReferenceTab === REFERENCE_TAB.NONE;\n }\n\n get cancelNavLinkUrl() {\n return this.props.editorCancelAction;\n }\n\n onUpdateDocument = (document) => {\n const updatedDocuments = this.props.formData.referencesPerType.document.map(\n (d) => {\n if (d.url === document.url) {\n return document;\n }\n return d;\n },\n );\n\n this.props.setFormSelectedMeetingDocuments(updatedDocuments);\n };\n\n onAddDocuments = (documents) => {\n this.props.setFormSelectedMeetingDocuments(documents);\n };\n\n onRemoveDocument = (id) => {\n this.props.setFormSelectedMeetingDocuments(\n this.props.formData.referencesPerType.document.filter(\n (d) => d.url !== id,\n ),\n );\n };\n\n onSetDeadline = (deadlines) => {\n this.props.setFormSelectedMeetingReferencesDeadlines(deadlines);\n };\n\n onRemoveDeadline = (id) => {\n // TODO: check if this url is correct ID!\n this.props.setFormSelectedMeetingReferencesDeadlines(\n this.props.formData.referencesPerType.deadline.filter(\n (d) => d.uri !== id,\n ),\n );\n };\n\n validate = () => {\n const { title, committee, locationShort, fromDate, toDate } =\n this.props.formData;\n\n let validation = { ...validationInitialState };\n let isValid = true;\n\n if (committee === \"\") {\n validation.committee.isValid = false;\n isValid = false;\n }\n if (title.trim() === \"\") {\n validation.title.isValid = false;\n isValid = false;\n }\n if (locationShort.trim() === \"\") {\n validation.locationShort.isValid = false;\n isValid = false;\n }\n\n if (fromDate === \"\") {\n validation.fromDate.isValid = false;\n isValid = false;\n }\n\n if (toDate === \"\") {\n validation.toDate.isValid = false;\n isValid = false;\n }\n\n if (!isValid) {\n // this.onChangeTab(\"general\");\n this.setState(\n {\n validation,\n },\n () => scrollToElement(\".validation-message__error\"),\n );\n }\n return isValid;\n };\n\n onEditorSubmitAction = (e) => {\n const { setReferenceTab } = this.props;\n\n e.preventDefault();\n if (!this.validate()) {\n setReferenceTab(REFERENCE_TAB.NONE);\n return;\n }\n this.props.editorSubmitAction(this.props.formData);\n this.setState({ formSubmitted: true });\n };\n\n setIsParticipationEnabled = (value) => {\n this.props.setMeetingData({\n isParticipationEnabled: !this.props.formData.isParticipationEnabled,\n });\n };\n\n setNotifyOnUpdate = (value) => {\n this.props.setMeetingData({\n notifyOnUpdate: !this.props.formData.notifyOnUpdate,\n notifyImmediately: this.props.formData.notifyOnUpdate\n ? false\n : this.props.formData.notifyImmediately,\n });\n };\n\n setNotifyImmediately = (value) => {\n this.props.setMeetingData({\n notifyImmediately: !this.props.formData.notifyImmediately,\n });\n };\n\n renderRadioButtons() {\n const { t, formData } = this.props;\n\n return (\n
    \n
    \n
    \n \n \n \n \n \n {t(\"meetings.participants.radioLabel\")}\n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n {t(\"meetings.detail.edit.notifyMembers\")}\n \n \n \n \n {\" \"}\n \n \n {t(\"notifications.detail.notifyMembers\")}\n \n \n
    \n
    \n
    \n
    \n );\n }\n\n get footerPrimaryAction() {\n return this.isGeneralTab\n ? this.onEditorSubmitAction\n : () => this.referencesRef.current.onClick();\n }\n\n get footerSecondaryButton() {\n const { t, setReferenceTab } = this.props;\n\n return this.isGeneralTab ? (\n \n {t(\"general.button.cancel\")}\n \n ) : (\n setReferenceTab(REFERENCE_TAB.NONE)}\n className=\"button\"\n >\n {t(\"general.button.cancel\")}\n \n );\n }\n\n get footerPrimaryButtonDisable() {\n return this.isGeneralTab ? this.state.formSubmitted : false;\n }\n\n get footerPrimaryButtonText() {\n const { t } = this.props;\n\n return this.isGeneralTab\n ? t(\"general.button.save\")\n : t(\"general.button.addSelected\");\n }\n\n renderFooter() {\n return (\n
    \n
    \n {/*todo: set correct back link - from window history? */}\n {this.footerSecondaryButton}\n {/*todo: disable button after click (during sending request;\n to avoid sending form multiple times)*/}\n \n {this.footerPrimaryButtonText}\n \n
    \n
    \n );\n }\n\n renderContent() {\n const { t, selectedNationalCommittee, detailTitle } = this.props;\n\n return (\n \n \n \n {setPageTitle(\n [\n \"Meetings\",\n this.props.isCreate ? \"Create new\" : this.props.formData.title,\n ],\n selectedNationalCommittee,\n )}\n \n \n
    \n

    {detailTitle}

    \n
    \n {/*
    \n \n \n \n \n
    */}\n
    \n {this.isGeneralTab\n ? this.renderGeneralTab()\n : this.renderReferenceTab()}\n
    \n
    {this.renderFooter()}
    \n
    \n );\n }\n\n renderGeneralTab() {\n const { formData } = this.props;\n\n return (\n <>\n \n \n {this.renderRadioButtons()}\n \n );\n }\n\n renderReferenceTab() {\n return (\n \n );\n }\n\n render() {\n if (this.props.isCreate) {\n return this.renderContent();\n } else {\n return this.props.formData.uri ? (\n this.renderContent()\n ) : (\n \n );\n }\n }\n}\n\nconst mapDispatchToProps = {\n clearMeetingForm,\n setFormSelectedMeetingDocuments,\n setFormSelectedMeetingReferencesDeadlines,\n emptyReferenceTab,\n setReferenceTab,\n};\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n getSelectedReferenceTab: getSelectedReferenceTab(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(MeetingForm);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport {\n addGeneralMeetingInformation,\n initMeetingFormWithGeneralInfo,\n updateMeeting,\n} from \"../../../../../state/meetings/actions\";\nimport { getNewMeetingFormData } from \"../../../../../state/meetings/selectors\";\nimport {\n DIALOG_TYPES,\n generateDialogLink,\n} from \"../../../../../utils/dynamicLink\";\nimport MeetingForm from \"../meeting-form/MeetingForm\";\n\nclass EditMeeting extends Component {\n onMount = () => {\n const uri = this.props.context.resource;\n this.props.initMeetingFormWithGeneralInfo(uri);\n };\n\n setMeetingData = (object) => {\n this.props.addGeneralMeetingInformation(object);\n };\n\n get editorSubmitAction() {\n return this.props.updateMeeting;\n }\n\n get editorCancelAction() {\n return generateDialogLink(\n DIALOG_TYPES.MEETING_DETAILS,\n this.props.formData.uri,\n );\n }\n\n render() {\n const { t, formData } = this.props;\n const detailTitle = t(\"meetings.detail.edit.title\");\n\n return (\n \n );\n }\n}\n\nconst mapDispatchToProps = {\n updateMeeting,\n addGeneralMeetingInformation,\n initMeetingFormWithGeneralInfo,\n};\n\nconst mapStateToProps = (state) => ({\n formData: getNewMeetingFormData(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(EditMeeting);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport {\n addGeneralMeetingInformation,\n createMeeting,\n} from \"../../../../../state/meetings/actions\";\nimport { initDocuments } from \"../../../../../state/document/actions\";\nimport { getNewMeetingFormData } from \"../../../../../state/meetings/selectors\";\nimport { getMeetingCommitteeFilterSelectItems } from \"../../../../../state/values/selectors\";\nimport { generateCloseDialogLink } from \"../../../../../utils/dynamicLink\";\nimport MeetingForm from \"../meeting-form/MeetingForm\";\n\nclass CreateMeeting extends Component {\n onMount = () => {\n this.props.initDocuments();\n if (this.props.committees && this.props.committees.length > 0) {\n this.props.addGeneralMeetingInformation({\n committee: this.props.committees[0].value,\n });\n }\n };\n\n get editorSubmitAction() {\n return this.props.createMeeting;\n }\n\n get editorCancelAction() {\n return generateCloseDialogLink();\n }\n\n setMeetingData = (object) => {\n // preset the meeting time to current time + 30 minutes\n if (object.fromDate && !this.props.formData.fromDate) {\n const currentDate = new Date();\n\n const currentHours = currentDate.getHours();\n const currentMinutes = currentDate.getMinutes();\n const extraMinutes = 60 - (currentMinutes % 30);\n\n let newDate = object.fromDate;\n newDate.setHours(currentHours);\n newDate.setMinutes(currentMinutes);\n newDate = new Date(newDate.getTime() + extraMinutes * 60000);\n object.fromDate = newDate;\n }\n\n this.props.addGeneralMeetingInformation(object);\n };\n\n render() {\n const { t, formData } = this.props;\n const detailTitle = t(\"meetings.detail.new.title\");\n\n return (\n \n );\n }\n}\n\nconst mapDispatchToProps = {\n addGeneralMeetingInformation,\n createMeeting,\n initDocuments,\n};\n\nconst mapStateToProps = (state) => ({\n formData: getNewMeetingFormData(state),\n committees: getMeetingCommitteeFilterSelectItems(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(CreateMeeting);\n","import React, { Component } from \"react\";\nimport DeadlineForm from \"../deadline-form/DeadlineForm\";\nimport {\n addGeneralDeadlineInformation,\n createDeadline,\n} from \"../../../../../state/deadlines/actions\";\nimport { initDocuments } from \"../../../../../state/document/actions\";\nimport { applicationTriggerUserHint } from \"../../../../../state/app/actions\";\nimport { generateCloseDialogLink } from \"../../../../../utils/dynamicLink\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { getNewDeadlineFormData } from \"../../../../../state/deadlines/selectors\";\nimport { applicationUserHints } from \"../../../../../utils/constants\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\n\nclass CreateDeadline extends Component {\n onMount = () => {\n this.props.initDocuments();\n if (this.props.selectedNationalCommittee) {\n this.props.addGeneralDeadlineInformation({\n committee: this.props.selectedNationalCommittee,\n });\n }\n\n if (\n !this.props.formData ||\n !this.props.formData.references ||\n this.props.formData.references.length === 0\n ) {\n this.props.applicationTriggerUserHint({\n hintId: applicationUserHints.createDeadlineFromDocument,\n });\n }\n };\n\n get editorSubmitAction() {\n return this.props.createDeadline;\n }\n\n get editorCancelAction() {\n return generateCloseDialogLink();\n }\n\n render() {\n const { t, formData } = this.props;\n const detailTitle = t(\"deadlines.details.new.title\");\n\n return (\n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n formData: getNewDeadlineFormData(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nconst mapDispatchToProps = {\n initDocuments,\n createDeadline,\n addGeneralDeadlineInformation,\n applicationTriggerUserHint,\n};\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(CreateDeadline);\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\n\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { getDeadline } from \"../../../../../state/deadlines/selectors\";\n\nimport { transformCommitteeName } from \"../../../../../utils/transform\";\n\nimport CommentForm from \"../../components/comment-form/CommentForm\";\nimport {\n commentGetter,\n getComments,\n} from \"../../../../../state/comments/selectors\";\nimport { fetchDeadline } from \"../../../../../state/deadlines/actions\";\nimport {\n fetchComment,\n updateComment,\n} from \"../../../../../state/comments/actions\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { userDetails } from \"../../../../../state/user/selectors\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\n\nclass EditComment extends Component {\n componentDidMount() {\n if (typeof this.props.deadline === \"undefined\") {\n this.props.fetchDeadline(this.props.context.parent);\n this.props.fetchComment(this.props.context.resource);\n }\n }\n\n get Comment() {\n return this.props.getComment(this.props.context.resource);\n }\n\n replaceSpansWithGuidPlaceholders(htmlString) {\n // Create a temporary container element to hold the HTML\n const container = document.createElement(\"div\");\n container.innerHTML = htmlString;\n\n // Find all span elements with the class 'comment__label-box'\n const spans = container.querySelectorAll(\"span.comment__label-box\");\n\n // Iterate through each span and replace it with the placeholder\n spans.forEach((span) => {\n const guid = span.getAttribute(\"data-guid\");\n if (guid) {\n // Create the placeholder text\n const placeholder = `{{${guid}}}`;\n\n // Replace the span element with the placeholder\n const spanParent = span.parentNode;\n spanParent.replaceChild(document.createTextNode(placeholder), span);\n }\n });\n\n // Return the updated HTML as a string\n return container.innerHTML;\n }\n\n handleSave = (data) => {\n const guidComment = this.replaceSpansWithGuidPlaceholders(data.comment);\n const guidProposal = this.replaceSpansWithGuidPlaceholders(data.proposal);\n\n this.props.updateComment({\n uri: this.Comment.uri,\n comment: guidComment,\n proposal: guidProposal,\n line: data.line,\n clause: data.clause,\n paragraph: data.paragraph,\n type: data.selected,\n deadlineUri: this.props.deadline.uri,\n committee: transformCommitteeName(this.props.selectedNationalCommittee),\n subcommittee: this.props.deadline.committee,\n memberId: this.props.user.id,\n author: this.props.user.name,\n attachments: data.attachments,\n attachmentsToRemoveFromServer: data.attachmentsToRemoveFromServer,\n });\n };\n\n replaceGuidWithReferenceId(htmlString) {\n const comments = this.props.comments;\n\n // Iterate through each comment and replace the {{guid}} placeholders with {{referenceId}}\n comments.forEach((comment) => {\n const guidPlaceholder = `{{${comment.guid}}}`;\n const referenceIdPlaceholder = `{{${comment.referenceId}}}`;\n\n // Replace all occurrences of the {{guid}} placeholder with the {{referenceId}} placeholder\n htmlString = htmlString.replace(\n new RegExp(guidPlaceholder, \"g\"),\n referenceIdPlaceholder,\n );\n });\n\n return htmlString;\n }\n\n render() {\n const { deadline, selectedNationalCommittee } = this.props;\n const { t } = this.props;\n\n return deadline ? (\n \n \n \n {setPageTitle([\"Deadlines\"], selectedNationalCommittee)}\n \n \n
    \n

    \n {t(\"comments.edit.header\")} {deadline.title}\n

    \n
    \n
    \n {this.props.deadline.uri && (\n \n )}\n
    \n
    \n ) : (\n \n );\n }\n}\n\nconst mapDispatchToProps = {\n fetchDeadline,\n fetchComment,\n updateComment,\n};\n\nconst mapStateToProps = (state) => ({\n deadline: getDeadline(state),\n getComment: commentGetter(state),\n user: userDetails(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n comments: getComments(state),\n});\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(EditComment);\n","import React, { Component } from \"react\";\nimport classNames from \"classnames\";\nimport { withTranslation } from \"react-i18next\";\nimport { NavLink } from \"react-router-dom\";\nimport { scrollToElement } from \"../../../../../utils/scroll\";\n\nimport Editor from \"../../../../common/editor/Editor\";\nimport OptionalLabel from \"../../../../common/optional-label/OptionalLabel\";\n\nclass NotificationGeneralInfoTab extends Component {\n setTitle = (e) => {\n this.props.setData({ title: e.target.value });\n };\n\n setDescription = (data) => {\n this.props.setData({ description: data });\n };\n\n setNotifyMembers = () => {\n const state = { notifyMembers: !this.state.notifyMembers };\n this.setState(state);\n this.props.setData(state);\n };\n\n get showValidationMessage() {\n return (\n !this.props.validation.title.isValid && !this.props.data.title.trim()\n );\n }\n\n render() {\n const {\n data: { title, description, notifyMembers },\n t,\n cancelNavLinkUrl,\n } = this.props;\n //const {isValid} = this.state.validation.title;\n\n return (\n
    \n
    \n
    \n \n \n {this.showValidationMessage && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n
    \n \n {t(\"notifications.detail.new.descriptionLabel\")}\n \n \n \n
    \n\n {/*
    \n \n
    \n
    \n \n {t(\"general.button.cancel\")}\n \n \n {t(\"general.button.save\")}\n \n
    */}\n
    \n
    \n );\n }\n}\n\nexport default withTranslation(\"common\")(NotificationGeneralInfoTab);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport \"./Poll.scss\";\nimport { formatDateTime } from \"../../../../../utils/transform\";\nimport { isObjectEmpty } from \"../../../../../utils/validation/objectValidator\";\n\nexport const PollRow = ({ poll, onAddPoll }) => {\n const { t } = useTranslation(\"common\");\n\n const renderPollOptions = () => {\n return (\n
      \n {poll.options.map((option, index) => (\n {`Option ${index + 1}: ${option.value}`}\n ))}\n
    \n );\n };\n\n const renderPollFooter = () => {\n const strings = [];\n if (poll.isMultiVote) {\n strings.push(`/${t(\"allow multiple votes\")}`);\n }\n if (poll.deadline) {\n strings.push(\n `/${t(\"deadline before\")} ${formatDateTime(new Date(poll.deadline))}`,\n );\n }\n\n return {strings.join(\" \")};\n };\n\n return (\n
    \n
    \n \n \n {poll && !isObjectEmpty(poll)\n ? t(\"notifications.poll.button.editPoll\")\n : t(\"notifications.poll.button.addPoll\")}\n \n
    \n {!!poll && (\n
    \n
    \n \n {poll.title}\n \n
    \n {renderPollOptions()}\n {renderPollFooter()}\n
    \n )}\n
    \n );\n};\n","import classNames from \"classnames\";\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport ReactDatePicker from \"react-datepicker\";\nimport { useTranslation } from \"react-i18next\";\n\nexport const PollPage = forwardRef((props, ref) => {\n const { t } = useTranslation(\"common\");\n const { onClose, onAdd, poll } = props;\n\n const [title, setTitle] = useState(\"\");\n const [showValidationMessage, setShowValidationMessage] = useState(false);\n const [options, setOptions] = useState([{ value: \"\" }, { value: \"\" }]);\n const [isMultiVote, setIsMultiVote] = useState(false);\n const [enableDeadline, setEnableDeadline] = useState(false);\n const [deadline, setDeadlineValue] = useState(undefined);\n\n useImperativeHandle(ref, () => ({\n isPollValid: () => isPollValid(),\n onAddPoll: () => onAddPoll(),\n }));\n\n useEffect(() => {\n if (poll) {\n setTitle(poll.title);\n setOptions(\n poll.options.map((option) => ({\n ...option,\n })),\n );\n setIsMultiVote(poll.isMultiVote);\n setEnableDeadline(!!poll.deadline);\n setDeadlineValue(poll.deadline ? new Date(poll.deadline) : undefined);\n }\n }, [poll]);\n\n const handleTitleChange = (e) => {\n setTitle(e.target.value);\n };\n\n const handleOptionChange = (index, e) => {\n const newOptions = [...options];\n newOptions[index].value = e.target.value;\n setOptions(newOptions);\n };\n\n const addOption = () => {\n setOptions([...options, { value: \"\" }]);\n };\n\n const deleteOption = (index) => {\n setOptions(options.filter((_, i) => i !== index));\n };\n\n const handleIsMultiVoteChange = (e) => {\n setIsMultiVote(e.target.checked);\n };\n\n const handleSetDeadlineChange = (e) => {\n setEnableDeadline(e.target.checked);\n if (!e.target.checked) {\n setDeadlineValue(\"\");\n }\n };\n\n const handleDeadlineChange = (value) => {\n setDeadlineValue(value);\n };\n\n const isPollValid = () => {\n if (\n !title ||\n options.filter((option) => option.value).length < 2 ||\n (enableDeadline && !deadline)\n ) {\n setShowValidationMessage(true);\n return false;\n }\n return true;\n };\n\n const onAddPoll = () => {\n if (!isPollValid()) return false;\n\n const poll = {\n title,\n options,\n isMultiVote,\n };\n\n if (enableDeadline) {\n poll.deadline = deadline;\n }\n\n onAdd({ poll });\n onClose();\n\n return true;\n };\n\n return (\n
    \n
    \n
    \n \n {t(\"notifications.poll.title\")}\n \n
    \n\n
    \n \n \n {showValidationMessage && !title && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n\n
    \n {options.map((option, index) => (\n
    \n \n handleOptionChange(index, e)}\n />\n {showValidationMessage && !option.value && index < 2 && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n ))}\n\n \n Add Option\n \n
    \n\n
    \n
    \n
    \n \n \n {enableDeadline && (\n
    \n \n {showValidationMessage && !deadline && (\n \n {t(\"general.validation.notEmpty\")}\n \n )}\n
    \n )}\n
    \n
    \n
    \n
    \n
    \n );\n});\n","import React, { Component, Fragment, createRef } from \"react\";\nimport { NavLink } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\n\nimport NotificationGeneralInfoTab from \"../../components/notification-detail/NotificationGeneralInfoTab\";\n\nimport { withTranslation } from \"react-i18next\";\nimport {\n addGeneralNotificationInformation,\n setSelectedNotificationDocuments,\n clearNotificationForm,\n setSelectedNotificationDeadlines,\n setSelectedNotificationMeetings,\n} from \"../../../../../state/notifications/actions\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport { scrollToElement, scrollTop } from \"../../../../../utils/scroll\";\nimport PageNotFound from \"../../../404/PageNotFound\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\nimport classNames from \"classnames\";\nimport ReferenceComponent from \"../../components/reference/ReferenceComponent\";\nimport {\n emptyReferenceTab,\n setReferenceTab,\n} from \"../../../../../state/references/actions\";\nimport { getSelectedReferenceTab } from \"../../../../../state/references/selectors\";\nimport { REFERENCE_TAB } from \"../../../../../state/references/reducer\";\nimport { PollRow } from \"../../components/poll/PollRow\";\nimport { PollPage } from \"../../components/poll/PollPage\";\nimport { ReferencePage } from \"../../components/reference/ReferencePage\";\n\nclass NotificationForm extends Component {\n constructor(props) {\n super(props);\n this.pollRef = createRef();\n this.referencesRef = createRef();\n this.state = {\n validation: {\n title: {\n isValid: true,\n },\n },\n formSubmitted: false,\n pollTab: false,\n };\n }\n\n componentDidMount() {\n this.props.emptyReferenceTab();\n this.props.onMount();\n scrollTop();\n }\n\n componentWillUnmount() {\n this.props.clearNotificationForm();\n }\n\n setNotificationData = (object) => {\n this.props.addGeneralNotificationInformation(object);\n };\n\n onUpdateDocument = (document) => {\n const updatedDocuments = this.props.formData.referencesPerType.document.map(\n (d) => {\n if (d.url === document.url) {\n return document;\n }\n return d;\n },\n );\n\n this.props.setSelectedNotificationDocuments(updatedDocuments);\n };\n\n onRemoveDocument = (id) => {\n this.props.setSelectedNotificationDocuments(\n this.props.formData.referencesPerType.document.filter(\n (d) => d.url !== id,\n ),\n );\n };\n\n onAddDocuments = (documents) => {\n this.props.setSelectedNotificationDocuments(documents);\n };\n\n onRemoveDeadline = (id) => {\n this.props.setSelectedNotificationDeadlines(\n this.props.formData.referencesPerType.deadline.filter(\n (d) => d.uri !== id,\n ),\n );\n };\n\n onSetDeadline = (deadlines) => {\n this.props.setSelectedNotificationDeadlines(deadlines);\n };\n\n onRemoveMeeting = (id) => {\n this.props.setSelectedNotificationMeetings(\n this.props.formData.referencesPerType.meeting.filter((d) => d.uri !== id),\n );\n };\n\n onSetMeeting = (meetings) => {\n this.props.setSelectedNotificationMeetings(meetings);\n };\n\n setNotifyMembers = () => {\n const state = { notifyMembers: !this.props.formData.notifyMembers };\n this.setNotificationData(state);\n };\n\n isTitleEmpty = () => {\n return this.props.formData.title.trim() === \"\";\n };\n\n onEditorSubmitAction = (e) => {\n const { setReferenceTab } = this.props;\n e.preventDefault();\n\n if (this.currentContent === \"poll\" && !this.pollRef.current?.onAddPoll())\n return;\n\n if (this.isTitleEmpty()) {\n setReferenceTab(REFERENCE_TAB.NONE);\n return this.setState(\n {\n pollTab: false,\n validation: {\n title: {\n isValid: false,\n },\n },\n },\n () => scrollToElement(\".validation-message__error\"),\n );\n }\n // this.props.editorSubmitAction(formData.uri);\n this.props.editorSubmitAction();\n this.setState({ formSubmitted: true });\n };\n\n renderNotifyRadio() {\n const { t, formData } = this.props;\n\n return (\n
    \n \n
    \n );\n }\n\n get footerSecondaryButton() {\n const { t, setReferenceTab, editorCancelUrl } = this.props;\n\n switch (this.currentContent) {\n case \"poll\":\n return (\n \n );\n case \"reference\":\n return (\n setReferenceTab(REFERENCE_TAB.NONE)}\n className=\"button\"\n >\n {t(\"general.button.cancel\")}\n \n );\n default:\n return (\n \n {t(\"general.button.cancel\")}\n \n );\n }\n }\n\n get footerPrimaryButtonDisable() {\n switch (this.currentContent) {\n case \"general\":\n return this.state.formSubmitted;\n default:\n return false;\n }\n }\n\n get footerPrimaryAction() {\n switch (this.currentContent) {\n case \"poll\":\n return () => this.pollRef.current?.onAddPoll();\n case \"reference\":\n return () => this.referencesRef.current.onClick();\n default:\n return this.onEditorSubmitAction;\n }\n }\n\n get footerPrimaryButtonText() {\n const { t } = this.props;\n\n switch (this.currentContent) {\n case \"poll\":\n return t(\"notifications.poll.button.addPoll\");\n case \"reference\":\n return t(\"general.button.addSelected\");\n default:\n return t(\"general.button.save\");\n }\n }\n\n get footerSecondaryButtonText() {\n const { t } = this.props;\n\n switch (this.currentContent) {\n case \"poll\":\n return t(\"notifications.poll.button.addPoll\");\n case \"reference\":\n return t(\"general.button.addSelected\");\n default:\n return t(\"general.button.save\");\n }\n }\n\n renderFooter() {\n return (\n <>\n
    \n {this.footerSecondaryButton}\n \n {this.footerPrimaryButtonText}\n \n
    \n \n );\n }\n\n onTogglePoll = () => {\n this.setState({ pollTab: !this.state.pollTab });\n };\n\n renderGeneralTab() {\n const { formData } = this.props;\n const { validation } = this.state;\n\n return (\n <>\n \n \n \n {this.renderNotifyRadio()}\n \n );\n }\n\n renderReferenceTab() {\n const { formData } = this.props;\n\n return (\n \n );\n }\n\n renderPollTab() {\n const { formData } = this.props;\n\n return (\n \n );\n }\n\n get isGeneralTab() {\n return (\n this.props.getSelectedReferenceTab === REFERENCE_TAB.NONE &&\n !this.state.pollTab\n );\n }\n\n get isReferenceTabSelected() {\n return (\n REFERENCE_TAB.NONE !== this.props.getSelectedReferenceTab &&\n !this.state.pollTab\n );\n }\n\n get currentContent() {\n return this.state.pollTab\n ? \"poll\"\n : this.isGeneralTab\n ? \"general\"\n : \"reference\";\n }\n\n renderContent() {\n switch (this.currentContent) {\n case \"general\":\n return this.renderGeneralTab();\n case \"poll\":\n return this.renderPollTab();\n case \"reference\":\n return this.renderReferenceTab();\n default:\n return ;\n }\n }\n\n render() {\n const { t, selectedNationalCommittee, formData, isCreate } = this.props;\n\n return (\n \n \n \n {setPageTitle(\n isCreate\n ? [\"Notifications\", \"Create new\"]\n : [\"Notifications\", this.props.formData.title, \"Edit\"],\n selectedNationalCommittee,\n )}\n \n \n
    \n

    \n {isCreate\n ? t(\"notifications.detail.new.title\")\n : t(\"notifications.detail.edit.title\")}\n

    \n
    \n
    \n {this.renderContent()}\n
    \n
    {this.renderFooter()}
    \n
    \n );\n }\n}\n\nconst mapDispatchToProps = {\n setSelectedNotificationDocuments,\n setSelectedNotificationDeadlines,\n setSelectedNotificationMeetings,\n addGeneralNotificationInformation,\n clearNotificationForm,\n emptyReferenceTab,\n setReferenceTab,\n};\n\nconst mapStateToProps = (state) => ({\n selectedNationalCommittee: selectedNationalCommittee(state),\n getSelectedReferenceTab: getSelectedReferenceTab(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(NotificationForm);\n","import React, { Component } from \"react\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { createNotification } from \"../../../../../state/notifications/actions\";\nimport { initDocuments } from \"../../../../../state/document/actions\";\nimport { getNewNotificationFormData } from \"../../../../../state/notifications/selectors\";\nimport { generateCloseDialogLink } from \"../../../../../utils/dynamicLink\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport NotificationForm from \"../notification-form/NotificationForm\";\n\nclass CreateNotification extends Component {\n onMount = () => {\n this.props.initDocuments();\n };\n\n get editorCancelUrl() {\n return generateCloseDialogLink();\n }\n\n get editorSubmitAction() {\n return this.props.createNotification;\n }\n\n render() {\n const { formData } = this.props;\n\n return (\n \n );\n }\n}\n\nconst mapDispatchToProps = {\n createNotification,\n initDocuments,\n};\n\nconst mapStateToProps = (state) => ({\n // TODO: formDocuments is where the documents are stored when it's selected\n formData: getNewNotificationFormData(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n // withTranslation(\"common\"),\n)(CreateNotification);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport {\n initNotificationFormWithGeneralInfo,\n updateNotification,\n} from \"../../../../../state/notifications/actions\";\nimport { getNewNotificationFormData } from \"../../../../../state/notifications/selectors\";\nimport {\n DIALOG_TYPES,\n PAGE_TYPES,\n generateDialogLinkForPage,\n} from \"../../../../../utils/dynamicLink\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport NotificationForm from \"../notification-form/NotificationForm\";\n\nclass EditNotification extends Component {\n onMount = () => {\n const uri = this.props.context.resource;\n this.props.initNotificationFormWithGeneralInfo(uri);\n };\n\n get editorCancelUrl() {\n const { selectedNationalCommittee, formData } = this.props;\n return generateDialogLinkForPage(\n selectedNationalCommittee,\n PAGE_TYPES.NOTIFICATION,\n DIALOG_TYPES.NOTIFICATION_DETAILS,\n formData.uri,\n );\n }\n\n get editorSubmitAction() {\n return this.props.updateNotification;\n }\n\n render() {\n const { formData, selectedNationalCommittee } = this.props;\n\n return (\n \n );\n }\n}\n\nconst mapDispatchToProps = {\n updateNotification,\n initNotificationFormWithGeneralInfo,\n};\n\nconst mapStateToProps = (state) => ({\n formData: getNewNotificationFormData(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n});\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n // withTranslation(\"common\"),\n)(EditNotification);\n","import React, { Component } from \"react\";\nimport Linkify from \"react-linkify\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport { downloadNotificationDocuments } from \"../../../../../state/notifications/actions\";\nimport { isDownloadingFile } from \"../../../../../state/document/selectors\";\nimport { targetBlankDecorator } from \"../../../../../utils/LinkifyDecorator\";\n\nclass NotificationDetailsTab extends Component {\n state = {\n referencesCounter: null,\n };\n\n componentDidUpdate(prevProps) {\n if (prevProps.references !== this.props.references) {\n this.setState({\n referencesCounter: this.props.references.filter(\n (document) => !document.isLink,\n ).length,\n });\n }\n }\n\n downloadAllFiles = () => {\n //TODO - this will change when we switch to real notification\n this.props.downloadNotificationDocuments(this.props.id);\n };\n\n render() {\n const { t, description, references } = this.props;\n const { referencesCounter } = this.state;\n return (\n
    \n {/*
    \n \n
    */}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n isDownloadingZipPackage: isDownloadingFile(state, \"345\"),\n});\n\nconst mapDispatchToProps = {\n downloadNotificationDocuments,\n};\n\nexport default compose(\n withTranslation(\"common\"),\n connect(mapStateToProps, mapDispatchToProps),\n)(NotificationDetailsTab);\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport SelectFilter from \"../../../../common/select/SelectFilter\";\n\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { getPoll } from \"../../../../../state/notifications/selectors\";\nimport { updatePoll } from \"../../../../../state/notifications/actions\";\n\nexport const ChangeOfficalPollModal = ({ onClose }) => {\n const { t } = useTranslation(\"common\");\n const dispatch = useDispatch();\n\n const poll = useSelector(getPoll);\n const options =\n poll?.options.map((option) => ({\n id: option.id,\n value: option.value,\n label: option.value,\n })) ?? [];\n const currentResult = poll.result;\n\n const [selectedOverrideOptionValue, setSelectedOverrideOptionValue] =\n useState(poll.result);\n const [disableButton, setDisableButton] = useState(\n !selectedOverrideOptionValue ||\n selectedOverrideOptionValue === currentResult,\n );\n\n const changePollResult = () => {\n dispatch(\n updatePoll({\n ...poll,\n result: selectedOverrideOptionValue,\n }),\n );\n onClose();\n };\n\n useEffect(() => {\n setDisableButton(\n !selectedOverrideOptionValue ||\n selectedOverrideOptionValue === currentResult,\n );\n }, [selectedOverrideOptionValue, currentResult]);\n\n return (\n
    \n
    \n

    \n {t(\"deadlines.details.officialVote.overrideModal.title\")}\n

    \n
    \n\n
    \n setSelectedOverrideOptionValue(value)}\n />\n
    \n\n
    \n \n changePollResult()}\n disabled={disableButton}\n >\n {t(\"deadlines.details.officialVote.overrideModal.submit\")}\n \n
    \n
    \n );\n};\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\nimport { getNotification } from \"../../../../../state/notifications/selectors\";\nimport { getMembers } from \"../../../../../state/members/selectors\";\nimport { MembersList } from \"../../../../common/members-list/MembersList\";\n\nexport const PollVoterList = ({ closeHandler, selectedOptionId }) => {\n const { t } = useTranslation(\"common\");\n const { poll } = useSelector(getNotification);\n const members = useSelector(getMembers);\n\n const getPollOptionValue = (pollOptionId) => {\n const option = poll.options.find(\n (option) => option.id === pollOptionId,\n )?.value;\n return option || \"\";\n };\n\n const voterList = poll.votes\n ?.filter((vote) => vote.pollOptionId === selectedOptionId)\n .map((vote) => {\n const member = members.find((member) => member.userID === vote.userId);\n\n if (!member) return null;\n\n return {\n id: vote.id,\n pollOptionId: vote.pollOptionId,\n name: member.name,\n email: member.email,\n label: getPollOptionValue(vote.pollOptionId),\n work: member.work,\n photo: member.photo,\n };\n })\n .filter((participant) => participant)\n .sort((a, b) => {\n return a.pollOptionId - b.pollOptionId || a.id - b.id;\n });\n\n return (\n \n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport \"./PollComponent.scss\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { userDetails } from \"../../../../../state/user/selectors\";\nimport {\n deleteVoteNotificationPoll,\n voteNotificationPoll,\n} from \"../../../../../state/notifications/actions\";\nimport OnlyMember from \"../../../../common/only-member/OnlyMember\";\nimport classNames from \"classnames\";\nimport WithPrivileges from \"../../../../common/with-privileges/WithPrivileges\";\nimport { ChangeOfficalPollModal } from \"./ChangeOfficalPollModal\";\nimport ModalWrapper from \"../../../../common/modal-wrapper/ModalWrapper\";\nimport { PollVoterList } from \"./PollVoterList\";\n\nexport const PollComponent = ({ poll }) => {\n const {\n options,\n votes,\n isMultiVote,\n deadline: orgDeadline,\n enableDeadline,\n } = poll;\n\n const { t } = useTranslation(\"common\");\n const dispatch = useDispatch();\n const userId = useSelector(userDetails)?.id;\n const isDeadlinePassed = new Date(orgDeadline) < new Date();\n const [selectedOptions, setSelectedOptions] = useState([]);\n\n const [showPollVoterList, setShowPollVoterList] = useState(false);\n const [selectedOptionId, setSelectedOptionId] = useState(null);\n const [showChangeOfficialPollModal, setShowChangeOfficialPollModal] =\n useState(false);\n\n useEffect(() => {\n if (votes) {\n const userVotes = votes.filter((vote) => vote.userId === userId);\n setSelectedOptions(\n userVotes.map((vote) => ({\n pollOptionId: vote.pollOptionId,\n pollVoteId: vote.id,\n })),\n );\n }\n }, [votes, userId]);\n\n const calculateBar = (optionId) => {\n const optionVotes = votes.filter(\n (vote) => vote.pollOptionId === optionId,\n ).length;\n const totalVotes = votes.length || 1;\n return optionVotes / totalVotes;\n };\n\n const handleOptionChange = (optionId, selectedOption) => {\n if (selectedOption) {\n dispatch(\n deleteVoteNotificationPoll({ pollVoteId: selectedOption.pollVoteId }),\n );\n } else {\n if (!isMultiVote && selectedOptions.length > 0) {\n dispatch(\n deleteVoteNotificationPoll({\n pollVoteId: selectedOptions[0].pollVoteId,\n }),\n );\n dispatch(\n voteNotificationPoll({\n pollOptionId: optionId,\n }),\n );\n } else {\n dispatch(\n voteNotificationPoll({\n pollOptionId: optionId,\n }),\n );\n }\n }\n };\n\n const showPollVoterListHandler = (optionId) => {\n setSelectedOptionId(optionId);\n setShowPollVoterList(true);\n };\n\n const renderOptions = () => {\n return options.map((option) => {\n const selectedOption = selectedOptions.find(\n (selectedOption) => selectedOption.pollOptionId === option.id,\n );\n\n const percentage = calculateBar(option.id);\n\n return (\n
    \n {(!enableDeadline || (enableDeadline && !isDeadlinePassed)) && (\n \n \n \n )}\n
    \n {option.value}\n
    \n
    \n

    \n {`${(percentage * 100).toFixed(2)}%`}\n \n option.count > 0\n ? showPollVoterListHandler(option.id)\n : null\n }\n >{`${option.count} vote${option.count > 1 ? \"s\" : \"\"}`}\n

    \n
    \n
    \n \n );\n });\n };\n\n const renderFooter = () => {\n return (\n
    \n
    \n \n {t(\"notifications.poll.mainLabel\", {\n vote: poll.result,\n })}\n \n \n setShowChangeOfficialPollModal(true)}\n >\n {t(\"notifications.poll.button.changeResult\")}\n \n \n
    \n \n \n {t(\"deadlines.details.officialVote.note\")}\n \n \n
    \n );\n };\n\n return (\n <>\n
    \n
    \n

    {poll.title}

    \n {renderOptions()}\n
    \n {renderFooter()}\n
    \n {showPollVoterList && (\n setShowPollVoterList(false)}\n disableSlide\n >\n setShowPollVoterList(false)}\n selectedOptionId={selectedOptionId}\n />\n \n )}\n {showChangeOfficialPollModal && (\n setShowChangeOfficialPollModal(false)}\n disableSlide\n >\n setShowChangeOfficialPollModal(false)}\n />\n \n )}\n \n );\n};\n","import React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { NavLink } from \"react-router-dom\";\nimport { withTranslation } from \"react-i18next\";\nimport NotificationDetailsTab from \"../../components/notification-detail/NotificationDetailsTab\";\nimport {\n deleteNotification,\n downloadNotificationDocuments,\n fetchNotification,\n removeReferenceFromNotification,\n} from \"../../../../../state/notifications/actions\";\nimport { getNotification } from \"../../../../../state/notifications/selectors\";\nimport {\n DIALOG_TYPES,\n PAGE_TYPES,\n generateDialogLinkForPage,\n} from \"../../../../../utils/dynamicLink\";\nimport { selectedNationalCommittee } from \"../../../../../state/national-committees/selectors\";\nimport WithPrivileges from \"../../../../common/with-privileges/WithPrivileges\";\nimport Loader from \"../../../../common/loader/Loader\";\nimport { setPageTitle } from \"../../../../../utils/pageTitle\";\nimport { Helmet } from \"react-helmet\";\n\nimport NotificationDeleteModal from \"../../components/delete-modal/NotificationDeleteModal\";\nimport { isDownloadingFile } from \"../../../../../state/document/selectors\";\nimport ReferenceComponent from \"../../components/reference/ReferenceComponent\";\nimport Toggler from \"../../../../common/toggler/Toggler\";\nimport ActionBox from \"../../../../common/action-box/ActionBox\";\nimport { PollComponent } from \"../../components/poll/PollComponent\";\nimport { isObjectEmpty } from \"../../../../../utils/validation/objectValidator\";\n\nclass NotificationDetails extends Component {\n state = {\n isDeleteModalOpen: false,\n };\n\n onDeleteClick = () => {\n this.setState({ isDeleteModalOpen: true });\n };\n onCancelDelete = () => {\n this.setState({ isDeleteModalOpen: false });\n };\n onSubmitDelete = (id) => {\n this.props.deleteNotification(id);\n this.setState({ isDeleteModalOpen: false });\n };\n\n componentDidMount() {\n const uri = this.props.context.resource;\n this.props.fetchNotification(uri);\n }\n\n onRemoveReferenceById = (id) => {\n this.props.removeReferenceFromNotification(id);\n };\n\n downloadAllFiles = () => {\n this.props.downloadNotificationDocuments(this.props.notification.id);\n };\n\n render() {\n const { t, notification, selectedNationalCommittee, match } = this.props;\n\n return notification ? (\n \n \n \n {setPageTitle(\n [\"Notifications\", notification.title],\n selectedNationalCommittee,\n )}\n \n \n
    \n

    {notification.title}

    \n \n
    \n \n \n
  • \n \n {t(\"general.button.edit\")}\n \n
  • \n
  • \n \n {t(\"general.button.delete\")}\n \n
  • \n
    \n
    \n
    \n
    \n
    \n {/*
    \n \n */}\n\n {/* This part is for comments on notification */}\n {/* {notification.comments && {parseInt(notification.comments) === 1 ?\n t(\"card.commentCounter\") :\n t(\"card.commentsCounter\", {count: notification.comments})\n }}\n {notification.messages && {parseInt(notification.messages) === 1 ?\n t(\"card.messageCounter\") :\n t(\"card.messagesCounter\", {count: notification.messages})\n }} */}\n\n {/* \n
    */}\n
    \n <>\n \n {!!notification.poll && !isObjectEmpty(notification.poll) && (\n \n )}\n {notification.references.length > 0 && (\n \n )}\n \n\n \n
    \n
    \n ) : (\n \n );\n }\n}\n\nconst mapDispatchToProps = {\n deleteNotification,\n fetchNotification,\n removeReferenceFromNotification,\n downloadNotificationDocuments,\n};\n\nconst mapStateToProps = (state) => {\n return {\n notification: getNotification(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n isDownloadingZipPackage: isDownloadingFile(state, \"345\"),\n };\n};\n\nexport default compose(\n connect(mapStateToProps, mapDispatchToProps),\n withTranslation(\"common\"),\n)(NotificationDetails);\n","import React, { Component } from \"react\";\n\nimport ModalWrapper from \"../modal-wrapper/ModalWrapper\";\nimport { dialogSizes } from \"../../../utils/constants\";\nimport { generateCloseDialogLink } from \"../../../utils/dynamicLink\";\nimport history from \"../../../utils/history\";\nimport { compose } from \"redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport {\n popModalStack,\n pushModalStack,\n} from \"../../../state/modal-stack/actions\";\nimport DeadlineDetails from \"../../pages/deadlines/pages/deadline-details/DeadlineDetails\";\nimport CreateComment from \"../../pages/deadlines/pages/create-comment/CreateComment\";\nimport EditDeadline from \"../../pages/deadlines/pages/edit-deadline/EditDeadline\";\nimport MeetingDetails from \"../../pages/meetings/pages/meeting-details/MeetingDetails\";\nimport EditMeeting from \"../../pages/meetings/pages/edit-meeting/EditMeeting\";\nimport CreateMeeting from \"../../pages/meetings/pages/create-meeting/CreateMeeting\";\nimport RelatedContent from \"../../pages/related-content/RelatedContent\";\nimport CreateDeadline from \"../../pages/deadlines/pages/create-deadline/CreateDeadline\";\nimport EditComment from \"../../pages/deadlines/pages/edit-comment/EditComment\";\nimport SearchCommitteeComponent from \"../search-committee-component/SearchCommitteeComponent\";\nimport CreateNotification from \"../../pages/notifications/pages/create-notification/CreateNotification\";\nimport EditNotification from \"../../pages/notifications/pages/edit-notification/EditNotification\";\nimport NotificationDetails from \"../../pages/notifications/pages/notification-details/NotificationDetails\";\nimport { ReferencePage } from \"../../pages/notifications/components/reference/ReferencePage\";\n\nclass SlideModalRouter extends Component {\n state = {\n route: {},\n };\n\n getTitle(dialogName) {\n const { t } = this.props;\n\n const titleMap = {\n DeadlineDetails: \"modalTitle.DeadlineDetails\",\n CreateDeadlineComment: \"modalTitle.CreateDeadlineComment\",\n EditComment: \"modalTitle.EditComment\",\n CreateDeadline: \"modalTitle.CreateDeadline\",\n EditDeadline: \"modalTitle.EditDeadline\",\n MeetingDetails: \"modalTitle.MeetingDetails\",\n EditMeeting: \"modalTitle.EditMeeting\",\n CreateMeeting: \"modalTitle.CreateMeeting\",\n ReferencePage: \"modalTitle.ReferencePage\",\n // RelatedContent: \"modalTitle.RelatedContent\",\n };\n\n return t(titleMap[dialogName] || \"\");\n }\n\n componentDidMount() {\n this.unlisten = history.listen((location, action) => {\n if (action === \"PUSH\" && location.search.includes(\"show_dialog\")) {\n const dialogName = this.state.route.show_dialog;\n this.props.pushModalStack(this.getTitle(dialogName));\n } else {\n this.props.popModalStack();\n }\n\n this.updateRouteChange(location);\n });\n\n this.updateRouteChange(window.location);\n }\n\n componentWillUnmount() {\n this.unlisten();\n }\n\n getQueryValues(location) {\n let route = {};\n const query = new URLSearchParams(location.search);\n query.forEach((value, key) => {\n route[key] = value;\n });\n\n return route;\n }\n\n updateRouteChange = (location) => {\n const route = this.getQueryValues(location);\n this.setState({\n route: route,\n });\n };\n\n onCloseDialog = () => {\n history.push(generateCloseDialogLink());\n };\n\n renderModal(component) {\n return (\n \n {React.createElement(component, { context: this.state.route })}\n \n );\n }\n\n render() {\n const routeMap = {\n DeadlineDetails: DeadlineDetails,\n CreateDeadlineComment: CreateComment,\n EditComment: EditComment,\n CreateDeadline: CreateDeadline,\n EditDeadline: EditDeadline,\n MeetingDetails: MeetingDetails,\n EditMeeting: EditMeeting,\n CreateMeeting: CreateMeeting,\n // RelatedContent: RelatedContent,\n SearchCommittee: SearchCommitteeComponent,\n CreateNotification: CreateNotification,\n EditNotification: EditNotification,\n NotificationDetails: NotificationDetails,\n ReferencePage: ReferencePage,\n };\n\n if (\"show_dialog\" in this.state.route) {\n const dialogName = this.state.route.show_dialog;\n if (dialogName in routeMap) {\n const component = routeMap[dialogName];\n return this.renderModal(component);\n }\n }\n return null;\n }\n}\n\nconst mapDispatchToProps = {\n pushModalStack: pushModalStack,\n popModalStack: popModalStack,\n};\n\nexport default compose(\n connect(null, mapDispatchToProps),\n withTranslation(\"common\"),\n)(SlideModalRouter);\n","// import { createSelector } from \"reselect\";\n\nexport const getHeaderTitle = (state) => state.header.title;\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport { selectedNationalCommittee } from \"../../../state/national-committees/selectors\";\nimport { generateLink } from \"../../../utils/dynamicLink\";\nimport classNames from \"classnames\";\nimport { NotificationTopButton } from \"./NotificationTopButton\";\nimport { userCommittees } from \"../../../state/user/selectors\";\n\nexport const Header = ({ heading, children }) => {\n const history = useHistory();\n const currentCommittee = useSelector(selectedNationalCommittee);\n const currentUserCommittees = useSelector(userCommittees);\n\n const notificationLink = generateLink(currentCommittee, \"notifications\");\n\n const getFormattedHeading = () => {\n const idx = heading.indexOf(\" - \");\n\n if (idx === -1) return {heading};\n\n return (\n <>\n {heading.slice(0, idx)}\n {heading.slice(idx)}\n \n );\n };\n\n return (\n
    \n
    \n {getFormattedHeading()}\n {/* */}\n {/* */}\n
    \n {children}\n
    \n );\n};\n","import React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { clearNotifyToasterContent } from \"../../../state/notify-toaster-content/actions\";\nimport \"./NotifyToaster.scss\";\n\nexport const NotifyToaster = () => {\n const [isVisible, setIsVisible] = useState(false);\n\n const dispatch = useDispatch();\n const notifyToasterContent = useSelector(\n (state) => state.notifyToasterContent,\n );\n\n useEffect(() => {\n if (!notifyToasterContent.title && !notifyToasterContent.message) return;\n\n setIsVisible(true);\n\n const timeout = setTimeout(() => {\n setIsVisible(false);\n const delayedTimeout = setTimeout(() => {\n dispatch(clearNotifyToasterContent());\n clearTimeout(delayedTimeout);\n }, 500);\n }, 3000);\n\n return () => {\n clearTimeout(timeout);\n };\n }, [notifyToasterContent.title, notifyToasterContent.message]);\n\n return (\n \n
    \n {/*

    {notifyToasterContent.title}

    */}\n

    {notifyToasterContent.message}

    \n
    \n \n );\n};\n","import React, { Component } from \"react\";\nimport className from \"classnames\";\nimport { withTranslation } from \"react-i18next\";\nimport { NavLink, withRouter } from \"react-router-dom\";\nimport { isMobile } from \"react-device-detect\";\n\nclass UserAccountTopNavigation extends Component {\n constructor(props) {\n super(props);\n\n this.navRef = React.createRef();\n }\n\n createLink = (link) => {\n const { t, match } = this.props;\n const urlPart = match.path !== \"/\" ? match.path + \"/\" : match.path;\n\n return (\n \n {t(link.name)}\n \n );\n };\n\n createNavElement = (link, index) => {\n return (\n \n {this.createLink(link, index + 1)}\n \n );\n };\n\n scrollToNavLink = () => {\n if (!isMobile || !this.navRef.current) return;\n setTimeout(() => {\n const activeElement = this.navRef.current.querySelector(\".active\");\n this.navRef.current.scrollLeft = activeElement.offsetLeft;\n }, 150);\n };\n\n render() {\n const { links } = this.props;\n\n isMobile && this.scrollToNavLink();\n\n return (\n
      \n {links.map(this.createNavElement)}\n
    \n );\n }\n}\n\nexport default withRouter(withTranslation(\"common\")(UserAccountTopNavigation));\n","import React, { Component } from \"react\";\nimport { Redirect, withRouter, Switch, Route } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport Loader from \"./components/common/loader/Loader\";\nimport SideMenu from \"./components/common/side-menu/SideMenu.js\";\nimport TopBar from \"./components/common/top-bar/TopBar.js\";\nimport Logo from \"./components/common/logo/Logo.js\";\nimport { selectedNationalCommittee } from \"./state/national-committees/selectors\";\nimport { isMobile } from \"react-device-detect\";\nimport { userDetails } from \"./state/user/selectors\";\nimport { transformCommitteeName } from \"./utils/transform\";\nimport { fetchUserDataRequest } from \"./state/user/actions\";\nimport { fetchAllValues } from \"./state/values/actions\";\nimport { getCommitteeMembers } from \"./state/members/actions\";\nimport ConsultantMenu from \"./components/common/consultant-menu/ConsultantMenu\";\nimport WithPrivileges from \"./components/common/with-privileges/WithPrivileges\";\nimport ReadonlyGuard from \"./components/common/readonly-guard/ReadonlyGuard\";\nimport UserHintDialog from \"./components/common/user-tips-dialog/UserHintDialog\";\nimport GlobalDialogs from \"./components/common/global-dialogs/GlobalDialogs\";\n\nimport {\n initializeApplication,\n changeNationalCommittee,\n} from \"./state/app/actions\";\nimport { isApplicationInitialized } from \"./state/app/selectors\";\n// import Search from \"./components/pages/search/Search\";\n\nimport Home from \"./components/Home\";\nimport AggHome from \"./components/AggHome\";\nimport User, {\n UserPageLinks,\n} from \"./components/pages/user-account/UserAccount\";\nimport LayoutPanelLeftFooter from \"./components/common/side-menu/LayoutPanelLeftFooter\";\nimport SlideModalRouter from \"./components/common/slide-modal-router/SlideModalRouter\";\nimport { getHeaderTitle } from \"./state/header/selectors\";\nimport { Header } from \"./components/common/layout/Header\";\nimport { NotifyToaster } from \"./components/common/notify-modal/NotifyToaster\";\nimport NavigationList from \"./components/common/side-menu/UserAccountTopNavigation\";\n\n//TODO REMOVE __ENABLE_TOPBAR_SEARCH variable\nwindow.__ENABLE_TOPBAR_SEARCH = false;\n\nconst matchMediaValue = window.matchMedia(\"only screen and (min-width: 769px)\");\n\nclass App extends Component {\n constructor(props) {\n super(props);\n\n props.initializeApplication();\n\n this.state = {\n menuOpened: false,\n };\n }\n\n componentDidMount() {\n window.addEventListener(\"resize\", this.resizeEventThrottler, false);\n isMobile && document.body.classList.add(\"is-mobile\");\n }\n\n resizeEventListener = () => {\n this.matchMedia = matchMediaValue;\n this.state.menuOpened && this.setState({ menuOpened: false });\n };\n\n resizeEventThrottler = () => {\n if (!this.eventTimeout) {\n this.eventTimeout = setTimeout(() => {\n this.eventTimeout = null;\n this.resizeEventListener();\n }, 100);\n }\n };\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.resizeEventThrottler, false);\n }\n\n componentDidUpdate() {\n this.matchMedia = matchMediaValue;\n }\n\n setClassList = () => {\n const list = [];\n list.push(\"layout\");\n return list.join(\" \");\n };\n\n changeMenuState = () => {\n if (this.matchMedia.matches) {\n this.setState({\n menuOpened: false,\n });\n return;\n }\n\n this.setState({\n menuOpened: !this.state.menuOpened,\n });\n };\n\n handleMenuClick = (selectedElement) => {\n this.props.changeNationalCommittee(selectedElement);\n this.changeMenuState();\n };\n\n setHeadingTitle = () => {\n const { selectedNationalCommittee, location, user } = this.props;\n return location.pathname.includes(\"/user\")\n ? user.name\n : selectedNationalCommittee;\n };\n\n render() {\n const { menuOpened } = this.state;\n const { selectedNationalCommittee, getHeaderTitle } = this.props;\n\n return this.props.isApplicationInitialized ? (\n this.state.redirect ? (\n \n ) : (\n \n
    \n
    \n \n
    \n \n \n
    \n\n {/* Used only for small width */}\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\nconst mapDispatchToProps = {\n initializeApplication,\n fetchUserData: fetchUserDataRequest,\n fetchAllValues: fetchAllValues,\n getCommitteeMembers: getCommitteeMembers,\n changeNationalCommittee: changeNationalCommittee,\n};\n\nconst mapStateToProps = (state) => ({\n isApplicationInitialized: isApplicationInitialized(state),\n user: userDetails(state),\n selectedNationalCommittee: selectedNationalCommittee(state),\n getHeaderTitle: getHeaderTitle(state),\n});\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(App));\n","import React from \"react\";\n\nimport userManager from \"../../../services/auth/openIdClient\";\nimport AnalyticsTracking from \"../../../services/analytics-tracking/analytics-tracking\";\n\nconst Auth = (WrappedComponent) =>\n class extends React.Component {\n constructor() {\n super();\n this.state = { isAuthenticated: false };\n }\n\n componentDidMount() {\n userManager.getUser().then((user) => {\n if (!user) {\n userManager.signinRedirect({\n state: { redirectUrl: window.location.href },\n });\n } else if (user.expired) {\n userManager\n .signinSilent()\n .then((user) => this.setState({ isAuthenticated: !!user }))\n .catch(() =>\n userManager.signinRedirect({\n state: { redirectUrl: window.location.href },\n }),\n );\n } else {\n this.setState({ isAuthenticated: !!user });\n AnalyticsTracking.setUser(user.profile.sub);\n }\n });\n }\n\n render() {\n return this.state.isAuthenticated ? (\n \n ) : null;\n }\n };\n\nexport default Auth;\n","import React from \"react\";\nimport userManager from \"../../../services/auth/openIdClient\";\n\nclass SignIn extends React.Component {\n state = {\n redirectTimeout: null,\n };\n updateBrowserUrl = (redirectUrl) => {\n window.history.replaceState(\n {},\n window.document.title,\n window.location.origin,\n );\n\n if (redirectUrl) {\n window.location = redirectUrl;\n } else {\n window.location = \"/\";\n }\n };\n\n componentDidMount() {\n userManager\n .signinRedirectCallback()\n .then((user) => this.updateBrowserUrl(user.state.redirectUrl))\n .catch((error) => {\n console.error(error);\n window.location = \"/\";\n });\n\n const timeout = setTimeout(function () {\n window.location = \"/\";\n }, 5000);\n this.setState({ redirectTimeout: timeout });\n }\n\n componentWillUnmount() {\n if (this.state.redirectTimeout) {\n clearTimeout(this.state.redirectTimeout);\n }\n }\n\n render() {\n return null;\n }\n}\n\nexport default SignIn;\n","import React from \"react\";\nimport userManager from \"../../../services/auth/openIdClient\";\n\nclass SilentRefresh extends React.Component {\n componentDidMount() {\n userManager.signinSilentCallback().catch((error) => console.error(error));\n }\n\n render() {\n return null;\n }\n}\n\nexport default SilentRefresh;\n","import React, { Component } from \"react\";\nimport { Helmet } from \"react-helmet\";\n\nexport default class CookieDeclaration extends Component {\n componentDidMount() {\n if (process.env.REACT_APP_CBID) {\n const script = document.createElement(\"script\");\n script.src = `https://consent.cookiebot.com/${process.env.REACT_APP_CBID}/cd.js?culture=en`;\n script.async = true;\n\n document.querySelector(\"#cb_declaration\").appendChild(script);\n }\n }\n render() {\n return
    ;\n }\n}\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { Link } from \"react-router-dom\";\nimport classNames from \"classnames\";\nimport i18next from \"i18next\";\nimport { Trans } from \"react-i18next\";\n\nimport i18Init from \"../../../utils/translations.js\";\n\nimport { accpetGdpr } from \"../../../state/user/actions\";\nimport { getAppLanguage } from \"../../../state/user/selectors\";\n\nimport ModalWrapper from \"../../common/modal-wrapper/ModalWrapper\";\n\nclass GdprScreen extends React.Component {\n state = { translationsInitialized: false, awaiting: false };\n componentDidMount() {\n i18Init(\"da\").then(() => {\n this.setState({ translationsInitialized: true });\n });\n }\n\n onAcceptGdpr = () => {\n this.setState({ awaiting: true }, () => {\n this.props.accpetGdpr();\n });\n };\n\n render() {\n if (!this.state.translationsInitialized) {\n return null;\n }\n\n const link = i18next.t(\"gdpr.link\", { ns: \"common\" });\n\n return (\n this.onModalClose()}\n showCloseButton={false}\n shouldCloseOnOverlayClick={false}\n disableSlide\n >\n
    \n
    \n

    \n {i18next.t(\"gdpr.header\", { ns: \"common\" })}\n

    \n
    \n
    \n \n

    \n
    \n

    \n
    \n

    \n
    \n

    \n \n

    \n \n
    \n
    \n \n {i18next.t(\"gdpr.accept\", { ns: \"common\" })}\n \n
    \n
    \n \n );\n }\n}\n\nconst mapDispatchToProps = {\n accpetGdpr,\n};\n\nconst mapStateToProps = (state) => ({\n appLanguage: getAppLanguage(state),\n});\n\nexport default compose(connect(mapStateToProps, mapDispatchToProps))(\n GdprScreen,\n);\n","import { hotjar } from \"react-hotjar\";\n\nconst HJ_ID = 2971416;\nconst HJ_SV = 6;\n\nconst initializeHotjarTracking = () => {\n hotjar.initialize(HJ_ID, HJ_SV);\n};\n\nexport default initializeHotjarTracking;\n","import \"core-js/es/\";\nimport \"core-js/features/url\";\nimport \"core-js/features/url-search-params\";\nimport \"core-js/features/string/repeat\";\nimport \"react-app-polyfill/ie11\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Router, Route, Switch } from \"react-router-dom\";\nimport \"./index.css\";\nimport \"./styles/app.scss\";\nimport Root from \"./Root\";\nimport App from \"./App\";\nimport Modal from \"react-modal\";\nimport history from \"./utils/history\";\nimport Auth from \"./components/common/auth/Auth\";\nimport SignIn from \"./components/common/auth/SignIn\";\nimport SilentRefresh from \"./components/common/auth/SilentRefresh\";\nimport CookieDeclaration from \"./components/common/cookiebot/CookieDeclaration\";\nimport GdprScreen from \"./components/pages/gdpr/GdprScreen\";\n\nimport CreateApplicationInsights from \"./applicationiIsightsTracking\";\nimport AnalyticsTracking from \"./services/analytics-tracking/analytics-tracking\";\nimport initializeHotjarTracking from \"./services/hotjar-tracking/hotjar-tracking\";\n\nModal.setAppElement(\"#root\");\n\nAnalyticsTracking.initialize();\n\ninitializeHotjarTracking();\n\nif (process.env.REACT_APP_INSTRUMENTATION_KEY) {\n CreateApplicationInsights();\n}\nclass TrackedRoot extends React.Component {\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nReactDOM.render(, document.getElementById(\"root\"));\n","import { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\n\nexport default function CreateApplicationInsights() {\n const appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: process.env.REACT_APP_INSTRUMENTATION_KEY,\n loggingLevelConsole: 0,\n disableAjaxTracking: true,\n disableFetchTracking: true,\n },\n });\n appInsights.loadAppInsights();\n\n var log_error = console.error.bind(console);\n console.error = (...args) => {\n try {\n if (args.length !== 0) {\n if (typeof args[0] == \"string\") {\n appInsights.trackTrace({ message: args[0], args: args.slice(1) });\n } else {\n args.forEach((a) => {\n if (a && a.stack && a.message) {\n appInsights.trackException({ exception: a });\n } else {\n appInsights.trackException({ exception: args[0] });\n }\n });\n }\n }\n } catch (error) {\n log_error(error);\n appInsights.trackException({ exception: error });\n }\n\n log_error(...args);\n };\n\n return appInsights;\n}\n","module.exports = __webpack_public_path__ + \"static/media/expand_icon.3c4d6e14.svg\";"],"sourceRoot":""}