{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/i18n/account/index.js","webpack:///./src/i18n/agendaDashboard/index.js","webpack:///./src/i18n/listManager/index.js","webpack:///./src/i18n/documentDashboard/index.js","webpack:///./src/i18n/shared/index.js","webpack:///./src/i18n/supportTips/index.js","webpack:///./src/i18n/index.js","webpack:///./src/config.server.js","webpack:///./src/helpers/logoHelper.js","webpack:///./src/plugins/vuetify.js","webpack:///./src/modules/account/api/account-api.js","webpack:///./src/modules/account/store/account-store.js","webpack:///./src/modules/agendaDashboard/api/agenda-api.js","webpack:///./src/modules/agendaDashboard/store/agenda-store.js","webpack:///./src/modules/agendaDashboard/api/agenda-api-searches.js","webpack:///./src/modules/agendaDashboard/store/agenda-store-searches.js","webpack:///./src/api/document/document-api.js","webpack:///./src/modules/documentDashboard/nlDashboard/store/nl-store.js","webpack:///./src/api/document/document-api-searches.js","webpack:///./src/modules/documentDashboard/nlDashboard/store/nl-store-searches.js","webpack:///./src/api/document/document-api-statistics.js","webpack:///./src/modules/documentDashboard/nlDashboard/store/nl-store-statistics.js","webpack:///./src/modules/documentDashboard/nlDashboard/store/nl-store-timeline.js","webpack:///./src/api/document/eu-document-api.js","webpack:///./src/modules/documentDashboard/euDashboard/store/eu-store-document.js","webpack:///./src/api/document/eu-document-api-searches.js","webpack:///./src/modules/documentDashboard/euDashboard/store/eu-store-searches.js","webpack:///./src/modules/documentDashboard/euDashboard/store/eu-store-statistics.js","webpack:///./src/modules/documentDashboard/euDashboard/store/eu-store-timeline.js","webpack:///./src/modules/listManager/store/list-store.js","webpack:///./src/modules/listManager/api/list-api-item.js","webpack:///./src/modules/listManager/store/list-store-item.js","webpack:///./src/modules/documentDashboard/nlLrDashboard/store/nl-lr-store-document.js","webpack:///./src/modules/documentDashboard/nlLrDashboard/store/nl-lr-store-searches.js","webpack:///./src/modules/documentDashboard/nlLrDashboard/store/nl-lr-store-statistics.js","webpack:///./src/modules/documentDashboard/nlLrDashboard/store/nl-lr-store-timeline.js","webpack:///./src/modules/documentDashboard/genericDashboard/store/beFedStore/be-fed-store-document.js","webpack:///./src/modules/documentDashboard/genericDashboard/store/beFedStore/be-fed-store-searches.js","webpack:///./src/modules/documentDashboard/genericDashboard/store/beFedStore/be-fed-store-statistics.js","webpack:///./src/modules/documentDashboard/genericDashboard/store/beFedStore/be-fed-store-timeline.js","webpack:///./src/modules/documentDashboard/genericDashboard/store/beFlmStore/be-flm-store-document.js","webpack:///./src/modules/documentDashboard/genericDashboard/store/beFlmStore/be-flm-store-searches.js","webpack:///./src/modules/documentDashboard/genericDashboard/store/beFlmStore/be-flm-store-statistics.js","webpack:///./src/modules/documentDashboard/genericDashboard/store/beFlmStore/be-flm-store-timeline.js","webpack:///./src/api/authentication.js","webpack:///./src/store/modules/authentication.js","webpack:///./src/api/autocomplete.js","webpack:///./src/store/modules/autocomplete.js","webpack:///./src/store/modules/browser.js","webpack:///./src/store/modules/busy.js","webpack:///./src/store/modules/confirmDialog.js","webpack:///./src/store/modules/file-store.js","webpack:///./src/store/modules/messages.js","webpack:///./src/store/modules/referrer.js","webpack:///./src/store/modules/searchParameters.js","webpack:///./src/store/modules/visibility.js","webpack:///./src/store/modules/emailUpdate.js","webpack:///./src/store/index.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/modules/listManager/api/list-api.js","webpack:///./src/App.vue","webpack:///./src/components/SupportDialog.vue","webpack:///src/components/SupportDialog.vue","webpack:///./src/components/SupportDialog.vue?f9e2","webpack:///./src/components/SupportDialog.vue?e936","webpack:///./src/components/ConfirmDialog.vue","webpack:///src/components/ConfirmDialog.vue","webpack:///./src/components/ConfirmDialog.vue?a022","webpack:///./src/components/ConfirmDialog.vue?c5ae","webpack:///src/App.vue","webpack:///./src/App.vue?2ef9","webpack:///./src/App.vue?315a","webpack:///./src/api/interceptors.js","webpack:///./src/main.js","webpack:///./src/api/document/document-api-file.js","webpack:///./src/assets/support-logout-dark.png","webpack:///./src/api/polpoApi.js","webpack:///./src/event-bus.js","webpack:///./src/assets/support-savedsearch-dark.png","webpack:///./src/assets/support-savedsearch.png","webpack:///./src/modules/account/views/AccountLogin.vue","webpack:///src/modules/account/views/AccountLogin.vue","webpack:///./src/modules/account/views/AccountLogin.vue?1ea7","webpack:///./src/modules/account/views/AccountLogin.vue?037f","webpack:///./src/router/routing_helpers.js","webpack:///./src/modules/account/routes.js","webpack:///./src/modules/agendaDashboard/routes.js","webpack:///./src/modules/documentDashboard/routes.js","webpack:///./src/modules/documentDetail/routes.js","webpack:///./src/modules/listManager/routes.js","webpack:///./src/views/MaintenanceNotice.vue","webpack:///src/views/MaintenanceNotice.vue","webpack:///./src/views/MaintenanceNotice.vue?4714","webpack:///./src/views/MaintenanceNotice.vue?ac0e","webpack:///./src/router/index.js","webpack:///./src/assets/polpo-logo-light.png","webpack:///./src/components/TheMessageBar.vue","webpack:///src/components/TheMessageBar.vue","webpack:///./src/components/TheMessageBar.vue?68cd","webpack:///./src/components/TheMessageBar.vue?657e","webpack:///./src/App.vue?5ac9","webpack:///./src/modules/account/views/AccountLogin.vue?4947","webpack:///./src/assets/polpo-logo-dark.png","webpack:///./src/assets/support-logout.png","webpack:///./src/config.js","webpack:///./src/components/SupportDialog.vue?7c55","webpack:///./src/views/MaintenanceNotice.vue?21eb","webpack:///./src/assets/logo-transparent-english-small.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","nl","enGb","languages","accountTranslations","agendaDashboardTranslations","listTranslations","documentDashboardTranslations","sharedTranslations","supportTips","messages","Vue","use","VueI18n","locale","JSON","parse","localStorage","getItem","fallbackLocale","require","config","address","process","APP_HOST","admin_address","APP_ADMIN","polpo_env","APP_POLPO_ENV","selectLogo","isThemeDark","logoPolpoDark","logoPolpoLight","logoPolpoLightEnglish","Vuetify","theme","dark","themes","light","primary","colors","teal","darken1","secondary","accent","red","warning","success","info","lightBlue","anchor","blueGrey","darken2","getPreferences","async","polpoApi","Date","getTime","updatePreferences","putRaw","preferences","getEmailPreferences","updateEmailPreferences","sendWebCalInviteMail","post","getAgendaFiltersForUser","getStakeholderSourceList","getNlGroupingForUser","getNlLrGroupingForUser","getEuGroupingForUser","getBeFedGroupingForUser","getBeFlmGroupingForUser","setCachedPreferences","emailData","setItem","stringify","datetime","defaultState","userFilters","userPreferences","userEmailPreferences","organizationPreferences","state","getters","actions","commit","dispatch","skipCache","cachedData","cacheTime","cacheTimeLimit","user","organization","emailConfig","accountApi","removeItem","cachedFilters","filters","cacheDurationMinutes","nlResponse","euResponse","nlLrResponse","beFedResponse","beFlmResponse","nlContexts","nlGrouping","nlGroupsByDocType","documentTypesConfig","euGrouping","euGroupsByDocType","euEpCommittees","nlLrGrouping","nlLrGroupsByDocType","beFedGrouping","beFedGroupsByDocType","beFlmGrouping","beFlmGroupsByDocType","context","response","agenda","mutations","setUserPreferences","uiDarkMode","drawerLeftWidth","i18n","moment","setUserEmailPreferences","setOrganizationPreferences","updateFilterTypesForUser","getById","id","query","origin","args","getXlsxById","getExcel","getAll","startDate","endDate","encodeURIComponent","sessionFilters","current","agendaAll","agendaCurrent","agendaFilters","agendaQuery","agendaStartDate","agendaEndDate","setAgendaQuery","payload","setAgendaFilters","setAgendaStartDate","setAgendaEndDate","agendaSetAllSearchParameters","searchParameters","queryDetails","root","router","currentRoute","agendaApi","countTotal","this","agendas","forEach","startTime","getMinutes","setMinutes","startTimeAMS","tz","startOfDayAMS","startOf","isSame","endTime","toISOString","agendaData","fixedStartTime","setAgendas","setagendaCurrent","save","search","delete","update","put","updates","patchRaw","exportExcel","postExcel","agendaAllRecentSearches","agendaAllSavedSearches","agendaMaxNumberOfSearches","agendaCurrentSearch","title","includeInWebcal","sendUpdatesPerEmail","dailyChanges","activitiesFrequent","enabled","activitiesOverview","rootState","agendaSearchesApi","numberOfSearches","webcalInvite","agendaStoreModule","agendaSetCurrentSearch","agendaResetCurrentSearch","agendaSetRecentSearches","searches","downloadable","agendaSetSavedSearches","reverse","agendaAddSavedSearch","unshift","agendaAddRecentSearch","recentSearch","sortedQueryDetails","sort","Config","maxRecentSearches","agendaSyncCurrentSearch","parameters","postById","getTimelineItems","groupingDetails","groupingName","contextRequired","trim","store","getRelated","refs","nlDocument","nlRelated","nlRelatedParent","documentApi","highlightWord","related","setDocument","setDocumentRelated","nlAllRecentSearches","nlAllSavedSearches","nlMaxNumberOfSearches","nlCurrentSearch","description","daily","realTime","rssEnabled","groupPaths","version","minimalMatchPercentage","metadataField","savedSearchesApi","_","nlResetCurrentSearch","nlSetCurrentSearch","nlSetSavedSearches","nlAddSavedSearch","nlSetRecentSearches","nlAddRecentSearch","nlSyncCurrentSearch","getTrend","euGetTrend","getTrendingTopics","nlGetStakeholders","stakeholderCode","euGetStakeholders","analyticsCode","analyticsType","getFrequencies","getAllNLandLRStatistics","getAllEUStatistics","nlStatisticsTrend","nlStatisticsStakeholders","nlStatisticsTrendingTopics","trendsGroupingName","responseTrend","statisticsAPI","nlDefaultAnalyticsCode","responseStakeholders","responseTrendingTopics","nlSetTrend","trend","nlSetStakeholders","stakeholders","nlSetTrendingTopics","trendingTopics","nlClearStatistics","nlSearchMoreAfter","nlTimelineData","hasMore","nlMaxDateRangeTimelineItemsTotal","nlTimelineItems","nlTimelineItemsCountTotal","nlTimelineItemsHasMore","nlMaxDateRangeTimelineItemsHasMore","nlNextItemUrl","nlSetMaxDateRangeTimelineItemsTotal","total","nlSetSearchMoreAfter","url","documentAPI","searchAfter","searchMoreAfter","skipHistory","minimalQueryLength","includeFullHistoryCount","fullHistoryCount","nlSetTimelineItems","timelineData","more","nlAppendTimelineItems","nlClearTimelineItems","euDocument","euDocumentRelated","euSetDocument","euSetDocumentRelated","euAllRecentSearches","euAllSavedSearches","euMaxNumberOfSearches","euCurrentSearch","euResetCurrentSearch","euSetCurrentSearch","euSetSavedSearches","euAddSavedSearch","euSetRecentSearches","euAddRecentSearch","euSyncCurrentSearch","euStatisticsTrend","euStatisticsStakeholders","euDefaultAnalyticsCode","euSetTrend","euSetStakeholders","euClearStatistics","euStatisticsTrendingTopics","euSearchMoreAfter","euTimelineData","euMaxDateRangeTimelineItemsTotal","euTimelineItems","euTimelineItemsCountTotal","euTimelineItemsHasMore","euMaxDateRangeTimelineItemsHasMore","euNextItemUrl","euSetMaxDateRangeTimelineItemsTotal","euSetSearchMoreAfter","euClearTimelineItems","euSetTimelineItems","euAppendTimelineItems","listsActive","listsArchived","currentList","formVisible","currentListItems","listCurrent","listCurrentItems","list","listApi","getListExportHTMLPreviewToken","listId","listItems","getListItems","archived","selectFirst","lists","getArchived","getActive","listCurrentCopy","updatedList","email","verify","listIds","successString","transferResult","transfer","status","transferredLists","requestData","targetEmail","amountTransferred","desc","duplicatedList","duplicate","clearedList","clearList","setDefaultListState","setListsArchived","setListsActive","setCurrentList","setCurrentListItems","listsItems","addNewList","listItem","copyToLists","putCopy","swapPosition","listItemIdA","listItemIdB","moveItem","listItemId","newPosition","params","listItemApi","index","direction","listItemA","listItemB","listItemCopy","markedForExport","updatedListItem","nlLrDocument","nlLrDocumentRelated","nlLrSetDocument","nlLrSetDocumentRelated","nlLrAllRecentSearches","nlLrAllSavedSearches","nlLrMaxNumberOfSearches","nlLrCurrentSearch","committees","nlLrResetCurrentSearch","nlLrSetCurrentSearch","nlLrSetSavedSearches","nlLrAddSavedSearch","nlLrSetRecentSearches","nlLrAddRecentSearch","nlLrSyncCurrentSearch","nlLrStatisticsTrend","nlLrStatisticsStakeholders","nlLrStatisticsTrendingTopics","nlLrDefaultAnalyticsCode","stakeholdersData","nlLrSetTrend","nlLrSetStakeholders","nlLrSetTrendingTopics","nlLrClearStatistics","nlLrSearchMoreAfter","nlLrTimelineData","nlLrMaxDateRangeTimelineItemsTotal","nlLrTimelineItems","nlLrTimelineItemsCountTotal","nlLrTimelineItemsHasMore","nlLrMaxDateRangeTimelineItemsHasMore","nlLrNextItemUrl","nlLrSetMaxDateRangeTimelineItemsTotal","nlLrSetSearchMoreAfter","nlLrClearTimelineItems","nlLrSetTimelineItems","nlLrAppendTimelineItems","beFedDocument","beFedDocumentRelated","beFedSetDocument","beFedSetDocumentRelated","beFedAllRecentSearches","beFedAllSavedSearches","beFedMaxNumberOfSearches","beFedCurrentSearch","beFedResetCurrentSearch","beFedSetCurrentSearch","beFedSetSavedSearches","beFedAddSavedSearch","beFedSetRecentSearches","beFedAddRecentSearch","beFedSyncCurrentSearch","beFedStatisticsTrend","beFedStatisticsStakeholders","beFedStatisticsTrendingTopics","beFedDefaultAnalyticsCode","beFedSetTrend","beFedSetStakeholders","beFedSetTrendingTopics","beFedClearStatistics","beFedSearchMoreAfter","beFedTimelineData","beFedMaxDateRangeTimelineItemsTotal","beFedTimelineItems","beFedTimelineItemsCountTotal","beFedTimelineItemsHasMore","beFedMaxDateRangeTimelineItemsHasMore","beFedNextItemUrl","beFedSetMaxDateRangeTimelineItemsTotal","beFedSetSearchMoreAfter","beFedClearTimelineItems","beFedSetTimelineItems","beFedAppendTimelineItems","beFlmDocument","beFlmDocumentRelated","beFlmSetDocument","beFlmSetDocumentRelated","beFlmAllRecentSearches","beFlmAllSavedSearches","beFlmMaxNumberOfSearches","beFlmCurrentSearch","beFlmResetCurrentSearch","beFlmSetCurrentSearch","beFlmSetSavedSearches","beFlmAddSavedSearch","beFlmSetRecentSearches","beFlmAddRecentSearch","beFlmSyncCurrentSearch","beFlmStatisticsTrend","beFlmStatisticsStakeholders","beFlmStatisticsTrendingTopics","beFlmDefaultAnalyticsCode","beFlmSetTrend","beFlmSetStakeholders","beFlmSetTrendingTopics","beFlmClearStatistics","beFlmSearchMoreAfter","beFlmTimelineData","beFlmMaxDateRangeTimelineItemsTotal","beFlmTimelineItems","beFlmTimelineItemsCountTotal","beFlmTimelineItemsHasMore","beFlmMaxDateRangeTimelineItemsHasMore","beFlmNextItemUrl","beFlmSetMaxDateRangeTimelineItemsTotal","beFlmSetSearchMoreAfter","beFlmClearTimelineItems","beFlmSetTimelineItems","beFlmAppendTimelineItems","login","credentials","logout","register","userData","isAuthenticated","sessionToken","roles","activeModules","firstName","lastName","userName","authIsAuthenticated","authRoles","authSessionToken","authHasRole","role","indexof","authActiveModules","authHasModuleAccess","moduleCode","moduleConfiguration","matchingModule","find","moduleStatus","isActive","hasAccess","keys","authenticationAPI","token","clearCache","setUserRoles","setIsAuthenticated","setSessionToken","setSessionTokenAsCookie","ConfigServer","domain","URL","hostname","cookie","setSessionName","setActiveModules","getByQuery","getAutocompleteQuery","autocompleteAPI","setAutocompleteQuery","autocompletionData","isIE11","setIsIE11","MSInputMethodContext","documentMode","globalLoaderBusy","setGlobalLoaderBusy","busy","confirmDialogHeader","confirmDialogBody","setConfirmDialogHeader","setConfirmDialogBody","initialState","checkFile","file","fileMissing","fileApi","docType","docId","mimeType","access","getFile","byteLength","setFile","newValue","setCheckFile","clearAllFileData","setFileMissing","getMessage","clearMessages","setMessage","referrer","setReferrer","boolean","defaultStartDateISO","dateFilterOffset","setHours","defaultEndDateISO","parseInt","defaultMinimalMatchPercentage","size","pageSizeTimeline","lookBack","allSearchParameters","searchParameterQuery","searchParameterGroupPaths","searchParameterEuEpCommittees","searchParameterDateRange","searchParameterMinimalMatchPercentage","setSharedSearchParameters","dateRange","setNlSearchParameters","setEuSearchParameters","clearAllSearchParameters","setLookBack","setSearchParametersLocale","nlSetAllSearchParameters","euSetAllSearchParameters","nlLrSetAllSearchParameters","beFedSetAllSearchParameters","beFlmSetAllSearchParameters","setQuery","setDateRange","setContext","setGroupPaths","setGroupingDetails","setEuEpCommittees","setMinimalMatchPercentage","setCheckboxFilter","updateQuery","updateDateRange","updateContext","updateGroupPaths","updateEuEpCommittees","commissions","updateGroupingDetails","updateMinimalMatchPercentage","percentage","filterKey","filterValue","updateLocale","sidebarVisible","left","right","nlDialogFormSavedSearches","euDialogFormSavedSearches","nlLrDialogFormSavedSearches","beFedDialogFormSavedSearches","beFlmDialogFormSavedSearches","agendaDialogFormSavedSearches","dialogConfirmDialog","supportDialog","trendAnalyticsExpanded","nlDialogFormSavedSearchesVisible","euDialogFormSavedSearchesVisible","nlLrDialogFormSavedSearchesVisible","beFedDialogFormSavedSearchesVisible","beFlmDialogFormSavedSearchesVisible","agendaDialogFormSavedSearchesVisible","dialogConfirmDialogVisible","supportDialogVisible","hideSidebars","sidebar","visible","setSidebarVisible","toggleSidebarVisible","nlSetDialogFormSavedSearchesVisible","euSetDialogFormSavedSearchesVisible","nlLrSetDialogFormSavedSearchesVisible","beFedSetDialogFormSavedSearchesVisible","beFlmSetDialogFormSavedSearchesVisible","agendaSetDialogFormSavedSearchesVisible","toggleConfirmDialog","setConfirmDialogVisible","toggleSupportDialog","setSupportDialogVisible","toggleTrendAnalyticsExpanded","documentId","isEmailLink","getDocumentId","getHighlightedWord","getIsEmailLink","setHighlightedWord","setDocumentId","setIsEmailLink","Vuex","debug","Store","accountStoreModule","agendaSearchesStoreModule","documentStoreModule","documentSearchesStoreModule","documentTimelineStoreModule","documentStatisticsStoreModule","euDocumentStoreModule","euSearchesStoreModule","euStatisticsStoreModule","euTimelineStoreModule","listStoreModule","listItemStoreModule","nlLrDocumentStoreModule","nlLrSearchesStoreModule","nlLrStatisticsStoreModule","nlLrTimelineStoreModule","beFedDocumentStoreModule","beFedSearchesStoreModule","beFedStatisticsStoreModule","beFedTimelineStoreModule","beFlmDocumentStoreModule","beFlmSearchesStoreModule","beFlmStatisticsStoreModule","beFlmTimelineStoreModule","autocomplete","authentication","browser","confirmDialog","fileStore","visibility","emailUpdate","strict","plugins","createLogger","map","webpackContext","req","webpackContextResolve","getHTMLExport","deleteRaw","attrs","_c","class","staticClass","staticRenderFns","render","staticStyle","_vm","hideSupportDialog","model","tab","expression","callback","_v","_s","$t","dialog","tabPosition","computed","mapGetters","methods","$store","component","on","props","confirmAction","EventBus","$emit","hideForm","$off","$el","components","SupportDialog","ConfirmDialog","$vuetify","$nextTick","removeAttribute","axios","interceptors","headers","_error$response","afterRedirect","redirectToLogin","redirectToMaintenance","dataMessage","errorCode","hasAgendaAccess","includes","redirectTo","AsyncComputed","VueAxios","TiptapVuetifyPlugin","vuetify","iconsGroup","Moment","$moment","productionTip","VueGtag","googleAnalyticsProduction","send_page_view","anonymize_ip","h","App","$mount","getFileMetadata","getFileInfo","getFileData","getFileStreamUrl","filename","apiUri","ServerConfig","PolpoApi","controller","queryString","URLSearchParams","toString","method","makeRequest","responseType","route","escapedDocType","replaceAll","Accept","ref","nativeOn","arguments","valid","emailRules","$$v","show","$event","password","passwordRecoveryUrl","MessageBar","v","test","passwordRules","$route","logoSrc","onIsAuthenticated","mapActions","$router","$gtag","event_category","event_callback","gotoPasswordRecoveryUrl","location","validate","$refs","loginForm","formdata","res","setStuff","prevRoute","history","_startLocation","path","mounted","pageview","page_path","loginAuthenticate","to","from","next","ifAuthenticated","ifNotAuthenticated","LoginForm","beforeEnter","genDashboardRoute","dashboard","routes","redirect","genDetailRoute","_self","reconnectAfterSeconds","reconnectTimeoutMs","replace","setInterval","originalPush","VueRouter","catch","accountRoutes","agendaDashboardRoutes","documentDashboardRoutes","documentDetailRoutes","listRoutes","MaintenanceNotice","scrollBehavior","savedPosition","unauthenticatedRoutes","beforeEach","routeRequiresAuth","messageData","scopedSlots","showMessage","watch","googleAnalyticsDevelopment","minDrawerLeftWidth","defaultDrawerLeftWidth","maxDrawerLeftWidth","shortNlLrTitleTrigger","shortBeFedTitleTrigger","shortBeFlmTitleTrigger","trendChartMaxPoints","requestTimeout","infiniteScrollOffsetTimeline","minimalBookmarkDistance","maxListNameLengthBeforeTrim","confidentialityTypes","defaultPageSize","chart","pointBackgroundColor","borderColor","backgroundColor","plenair","commission","nlAnalyticsCodes","euAnalyticsCodes","nlLrAnalyticsCodes","beFedAnalyticsCodes","beFlmAnalyticsCodes","predefinedColors"],"mappings":"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","file":"js/app.eeac1cd9.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"AgendaDetail~AgendaOverview~DocumentDashboard~DocumentDetail~ListManager\":\"AgendaDetail~AgendaOverview~DocumentDashboard~DocumentDetail~ListManager\",\"AgendaDetail~DocumentDashboard~DocumentDetail\":\"AgendaDetail~DocumentDashboard~DocumentDetail\",\"AgendaDetail\":\"AgendaDetail\",\"AgendaOverview~DocumentDashboard\":\"AgendaOverview~DocumentDashboard\",\"DocumentDashboard~DocumentDetail\":\"DocumentDashboard~DocumentDetail\",\"DocumentDashboard\":\"DocumentDashboard\",\"DocumentDetail\":\"DocumentDetail\",\"AgendaOverview\":\"AgendaOverview\",\"ListManager\":\"ListManager\"}[chunkId]||chunkId) + \".\" + \"eeac1cd9\" + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"AgendaDetail~AgendaOverview~DocumentDashboard~DocumentDetail~ListManager\":1,\"AgendaDetail~DocumentDashboard~DocumentDetail\":1,\"AgendaDetail\":1,\"AgendaOverview~DocumentDashboard\":1,\"DocumentDashboard~DocumentDetail\":1,\"DocumentDashboard\":1,\"DocumentDetail\":1,\"AgendaOverview\":1,\"ListManager\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"AgendaDetail~AgendaOverview~DocumentDashboard~DocumentDetail~ListManager\":\"AgendaDetail~AgendaOverview~DocumentDashboard~DocumentDetail~ListManager\",\"AgendaDetail~DocumentDashboard~DocumentDetail\":\"AgendaDetail~DocumentDashboard~DocumentDetail\",\"AgendaDetail\":\"AgendaDetail\",\"AgendaOverview~DocumentDashboard\":\"AgendaOverview~DocumentDashboard\",\"DocumentDashboard~DocumentDetail\":\"DocumentDashboard~DocumentDetail\",\"DocumentDashboard\":\"DocumentDashboard\",\"DocumentDetail\":\"DocumentDetail\",\"AgendaOverview\":\"AgendaOverview\",\"ListManager\":\"ListManager\"}[chunkId]||chunkId) + \".\" + \"eeac1cd9\" + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import nl from './translations/nl.json';\nimport enGb from './translations/en-gb.json';\n\nexport default {\n nl,\n enGb,\n};\n","import nl from './translations/nl.json';\nimport enGb from './translations/en-gb.json';\n\nexport default {\n nl,\n enGb,\n};\n\n","import nl from './translations/nl.json';\nimport enGb from './translations/en-gb.json';\n\nexport default {\n nl,\n enGb,\n};\n","import nl from './translations/nl.json';\nimport enGb from './translations/en-gb.json';\n\nexport default {\n nl,\n enGb,\n};\n","import nl from './translations/nl.json';\nimport enGb from './translations/en-gb.json';\n\nexport default {\n nl,\n enGb,\n};\n","import nl from './translations/nl.json';\nimport enGb from './translations/en-gb.json';\n\nexport default {\n nl,\n enGb,\n};\n","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\n\nimport accountTranslations from './account';\nimport agendaDashboardTranslations from './agendaDashboard';\nimport listTranslations from './listManager';\nimport documentDashboardTranslations from './documentDashboard';\nimport sharedTranslations from './shared';\nimport supportTips from './supportTips';\n\n\nconst languages = {\n 'en-gb': {\n ...accountTranslations.enGb,\n ...agendaDashboardTranslations.enGb,\n ...listTranslations.enGb,\n ...documentDashboardTranslations.enGb,\n ...sharedTranslations.enGb,\n ...supportTips.enGb,\n },\n nl: {\n ...accountTranslations.nl,\n ...agendaDashboardTranslations.nl,\n ...listTranslations.nl,\n ...documentDashboardTranslations.nl,\n ...sharedTranslations.nl,\n ...supportTips.nl,\n },\n};\n\nconst messages = { ...languages };\n\nVue.use(VueI18n);\n\nexport default new VueI18n({\n locale: JSON.parse(localStorage.getItem('locale')),\n fallbackLocale: 'nl',\n messages,\n});\n","/*\n * This file holds all server specific configurable settings\n */\n\nrequire('dotenv').config();\n\nexport default {\n // Server address without slash on end\n // address: 'http://localhost:3010/api',\n address: process.env.APP_HOST || process.env.VUE_APP_HOST,\n admin_address: process.env.APP_ADMIN || process.env.VUE_APP_ADMIN,\n polpo_env: process.env.APP_POLPO_ENV || process.env.VUE_APP_POLPO_ENV,\n};\n","// Import the logo images\nimport logoPolpoLightEnglish from '@/assets/logo-transparent-english-small.png';\nimport logoPolpoDark from '@/assets/polpo-logo-dark.png';\nimport logoPolpoLight from '@/assets/polpo-logo-light.png';\n\nexport const selectLogo = (locale, isThemeDark) => {\n if (locale === 'en-gb' && !isThemeDark) {\n return logoPolpoLightEnglish;\n }\n // TODO: add English Dark mode logo!\n if (isThemeDark) {\n return logoPolpoDark;\n }\n return logoPolpoLight;\n};\n\nexport default {\n selectLogo,\n};\n","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib';\n\nimport colors from 'vuetify/lib/util/colors';\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n theme: {\n dark: false,\n themes: {\n light: {\n primary: colors.teal.darken1,\n secondary: '#093c5d',\n accent: '#2A3F54',\n error: colors.red.darken1,\n warning: '#FB8C00',\n success: colors.teal,\n info: colors.lightBlue.darken1,\n anchor: colors.blueGrey.darken2,\n },\n dark: {\n primary: colors.teal.darken1,\n secondary: '#093c5d',\n accent: '#2A3F54',\n error: colors.red.darken1,\n warning: '#FB8C00',\n success: colors.teal,\n info: colors.lightBlue.darken1,\n anchor: colors.blueGrey.darken2,\n },\n },\n },\n});\n","import polpoApi from '@/api/polpoApi';\n\nexport default {\n // The timestamp thingies are here due to IE11\n // See: https://stackoverflow.com/questions/49263559/using-javascript-axios-fetch-can-you-disable-browser-cache\n\n getPreferences: async () => polpoApi.get(`users/me/preferences?timestamp=${new Date().getTime()}`),\n updatePreferences: async (preferences) => polpoApi.putRaw('users/me/preferences', preferences),\n getEmailPreferences: async () => polpoApi.get(`users/me/emailconfig?timestamp=${new Date().getTime()}`),\n updateEmailPreferences: async (preferences) => polpoApi.putRaw('users/me/emailconfig', preferences),\n sendWebCalInviteMail: async () => polpoApi.post('users/me/webcal-setup'),\n\n getAgendaFiltersForUser: async () => polpoApi.get(`users/me/agenda-filter-types?timestamp=${new Date().getTime()}`),\n getStakeholderSourceList: async (locale) => polpoApi.get(`users/me/stakeholder-source-list?locale=${locale}×tamp=${new Date().getTime()}`),\n\n getNlGroupingForUser: async () => polpoApi.get(`nl/filters/nl?timestamp=${new Date().getTime()}`),\n getNlLrGroupingForUser: async () => polpoApi.get(`nl/filters/nl-lr?timestamp=${new Date().getTime()}`),\n getEuGroupingForUser: async () => polpoApi.get(`eu/filters?timestamp=${new Date().getTime()}`),\n getBeFedGroupingForUser: async () => polpoApi.get(`be/filters/be-fed?timestamp=${new Date().getTime()}`),\n getBeFlmGroupingForUser: async () => polpoApi.get(`be/filters/be-flm?timestamp=${new Date().getTime()}`),\n};\n","// import Config from '@/config';\nimport moment from 'moment';\nimport accountApi from '../api/account-api';\nimport i18n from '../../../i18n/index';\n\n// helpers\nconst setCachedPreferences = (data, emailData) => {\n localStorage.setItem('cachedPreferences', JSON.stringify({\n datetime: new Date(),\n data,\n emailData,\n }));\n};\n\n// initial state\nconst defaultState = {\n userFilters: {},\n userPreferences: {},\n userEmailPreferences: {},\n organizationPreferences: {},\n};\n\nconst state = defaultState;\n\n// getters\nconst getters = {\n userFilters: (state) => state.userFilters,\n userPreferences: (state) => state.userPreferences,\n userEmailPreferences: (state) => state.userEmailPreferences,\n organizationPreferences: (state) => state.organizationPreferences,\n};\n\n// actions\nconst actions = {\n\n async getPreferences({ commit, dispatch }, { skipCache = false } = {}) {\n // First check cached preferences data:\n if (!skipCache) {\n const cachedData = localStorage.getItem('cachedPreferences');\n if (cachedData) {\n const { datetime, data, emailData } = JSON.parse(cachedData);\n // Use cache if max 1 hour old\n const cacheTime = (new Date(datetime)).getTime();\n const cacheTimeLimit = (new Date()).getTime() - 60 * 60 * 1000;\n if (cacheTime > cacheTimeLimit) {\n commit('setUserPreferences', data.user);\n dispatch('setSearchParametersLocale', data.user.locale);\n commit('setOrganizationPreferences', data.organization);\n commit('setUserEmailPreferences', emailData.emailConfig);\n return data;\n }\n }\n }\n const { data } = await accountApi.getPreferences();\n commit('setUserPreferences', data.user);\n dispatch('setSearchParametersLocale', data.user.locale);\n commit('setOrganizationPreferences', data.organization);\n\n const { data: emailData } = await accountApi.getEmailPreferences();\n commit('setUserEmailPreferences', emailData.emailConfig);\n\n setCachedPreferences(data, emailData);\n\n return data;\n },\n\n async setPreferences({ commit, dispatch }, preferences) {\n // Wipe the preferences from localStorage\n await localStorage.removeItem('cachedPreferences');\n const { data } = await accountApi.updatePreferences(preferences);\n commit('setUserPreferences', data.user);\n dispatch('setSearchParametersLocale', data.user.locale);\n commit('setOrganizationPreferences', data.organization);\n\n // It seems we need to do this as well otherwise it will cause errors in getPreferences\n const { data: emailData } = await accountApi.getEmailPreferences();\n commit('setUserEmailPreferences', emailData.emailConfig);\n\n // Set the preferences in localStorage\n setCachedPreferences(data, emailData);\n\n return data;\n },\n\n async setEmailPreferences({ commit }, preferences) {\n // Wipe the preferences from localStorage\n await localStorage.removeItem('cachedPreferences');\n\n const { data: emailData } = await accountApi.updateEmailPreferences(preferences);\n commit('setUserEmailPreferences', emailData.emailConfig);\n\n const { data } = await accountApi.getPreferences();\n commit('setUserPreferences', data.user);\n commit('setOrganizationPreferences', data.organization);\n\n // Set the altered preferences in localStorage\n setCachedPreferences(data, emailData);\n\n return emailData;\n },\n\n async getDocumentFilterTypesForUser({ commit }, { skipCache = false } = {}) {\n // First check cached filters:\n if (!skipCache) {\n const cachedFilters = localStorage.getItem('getDocumentFilterTypesForUserCache');\n if (cachedFilters) {\n const { datetime, filters } = JSON.parse(cachedFilters);\n // Use cache if max 10 minutes old\n const cacheTime = (new Date(datetime)).getTime();\n const cacheDurationMinutes = (new Date()).getTime() - 10 * 60 * 1000;\n const cacheTimeLimit = cacheDurationMinutes;\n if (cacheTime > cacheTimeLimit) {\n commit('updateFilterTypesForUser', filters);\n return filters;\n }\n }\n }\n\n // If not cached then fetch fresh results:\n // TODO: merge these 5 requests into 1, as we always do them together\n // TODO: POLMONNL-6203 - Reduce duplication\n const [\n nlResponse,\n euResponse,\n nlLrResponse,\n beFedResponse,\n beFlmResponse,\n ] = await Promise.all([\n accountApi.getNlGroupingForUser(),\n accountApi.getEuGroupingForUser(),\n accountApi.getNlLrGroupingForUser(),\n accountApi.getBeFedGroupingForUser(),\n accountApi.getBeFlmGroupingForUser(),\n ]);\n\n const {\n nlContexts,\n nlGrouping,\n nlGroupsByDocType,\n documentTypesConfig,\n } = nlResponse.data;\n const {\n euGrouping,\n euGroupsByDocType,\n euEpCommittees,\n } = euResponse.data;\n const {\n nlLrGrouping,\n nlLrGroupsByDocType,\n } = nlLrResponse.data;\n const {\n beFedGrouping,\n beFedGroupsByDocType,\n } = beFedResponse.data;\n const {\n beFlmGrouping,\n beFlmGroupsByDocType,\n } = beFlmResponse.data;\n\n const filters = {\n context: nlContexts,\n nlGrouping,\n nlGroupsByDocType,\n documentTypesConfig,\n euGrouping,\n euGroupsByDocType,\n euEpCommittees,\n nlLrGrouping,\n nlLrGroupsByDocType,\n beFedGrouping,\n beFedGroupsByDocType,\n beFlmGrouping,\n beFlmGroupsByDocType,\n };\n\n // Store in cache\n localStorage.setItem('getDocumentFilterTypesForUserCache', JSON.stringify({\n datetime: new Date(),\n filters,\n }));\n\n commit('updateFilterTypesForUser', filters);\n\n return filters;\n },\n\n async getAgendaFilterTypesForUser({ commit }) {\n const response = await accountApi.getAgendaFiltersForUser();\n const filters = { agenda: response.data };\n commit('updateFilterTypesForUser', filters);\n return filters;\n },\n\n async getStakeholderSourceList({ state }) {\n const { locale } = state.userPreferences;\n return accountApi.getStakeholderSourceList(locale);\n },\n\n async sendWebCalInviteMail() {\n const response = await accountApi.sendWebCalInviteMail();\n return response.data;\n },\n};\n\n// mutations\nconst mutations = {\n setUserPreferences(state, preferences) {\n // Save theme setting in localStorage\n localStorage.setItem('uiDarkMode', JSON.stringify(preferences.uiDarkMode));\n localStorage.setItem('drawerLeftWidth', JSON.stringify(preferences.drawerLeftWidth));\n state.userPreferences = preferences;\n\n if (preferences.locale) {\n // Note: the locale is saved in the localStorage including the quotes, \"en-gb\"\n // so we need to parse it again to get the actual string.\n localStorage.setItem('locale', JSON.stringify(preferences.locale));\n i18n.locale = preferences.locale;\n moment.locale(preferences.locale);\n }\n },\n setUserEmailPreferences(state, preferences) {\n state.userEmailPreferences = preferences;\n },\n setOrganizationPreferences(state, preferences) {\n state.organizationPreferences = preferences;\n },\n updateFilterTypesForUser(state, filters) {\n state.userFilters = {\n ...state.userFilters,\n ...filters,\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import polpoApi from '@/api/polpoApi';\n\nexport default {\n\n getById: async (id, query, origin) => {\n const args = {};\n if (query) { args.query = query; }\n if (origin) { args.origin = origin; }\n return polpoApi.getById('agendas', id, args);\n },\n\n getXlsxById: async (id) => polpoApi.getExcel(`agendas/export/xlsx/${id}`),\n\n // TODO: remove when the backend can parse query from body in post requests\n getAll: async (query, filters, startDate, endDate, origin) => polpoApi.post(`agendas?query=${encodeURIComponent(query)}${startDate ? `&startDate=${startDate}` : ''}${endDate ? `&endDate=${endDate}` : ''}${origin ? `&origin=${origin}` : ''}`, {\n sessionFilters: filters,\n }),\n\n};\n","// App specific\nimport moment from 'moment-timezone';\nimport i18n from '@/i18n';\nimport agendaApi from '../api/agenda-api';\nimport router from '../../../router';\n\n// initial state\nconst state = {\n all: [],\n current: null,\n filters: [],\n query: '',\n startDate: '',\n endDate: '',\n};\n\n// getters\nconst getters = {\n agendaAll: (state) => state.all,\n agendaCurrent: (state) => state.current,\n agendaFilters: (state) => state.filters,\n agendaQuery: (state) => state.query,\n agendaStartDate: (state) => state.startDate,\n agendaEndDate: (state) => state.endDate,\n};\n\n// actions\nconst actions = {\n\n setAgendaQuery({ commit }, payload) {\n commit('setAgendaQuery', payload);\n },\n\n setAgendaFilters({ commit }, args) {\n commit('setAgendaFilters', args);\n },\n\n setAgendaStartDate({ commit }, payload) {\n commit('setAgendaStartDate', payload);\n },\n\n setAgendaEndDate({ commit }, payload) {\n commit('setAgendaEndDate', payload);\n },\n\n agendaSetAllSearchParameters({ commit }, searchParameters) {\n commit('setAgendaQuery', searchParameters.query);\n commit('setAgendaFilters', searchParameters.filters);\n },\n\n async getAllAgendas({ commit, getters }) {\n const query = getters.agendaQuery;\n\n const filters = getters.agendaFilters;\n\n const startDate = getters.agendaStartDate;\n\n const endDate = getters.agendaEndDate;\n\n // Reset all errors\n // commit('clearMessages');\n\n // Set previous results to zero to set the agenda page empty\n commit('setAgendas', []);\n\n // Add query to recent searches\n commit('agendaAddRecentSearch', {\n queryDetails: {\n query,\n filters,\n },\n }, { root: true });\n\n // Validate a query has been set.\n if (!query) {\n commit('setMessage', {\n message: i18n.t('generic.specifySubject'),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n if (query) {\n let origin;\n if (router.currentRoute.query.origin) {\n ({ origin } = router.currentRoute.query.origin);\n }\n const response = await agendaApi.getAll(query, filters, startDate, endDate, origin);\n if (response.data.countTotal === 0 && (router.currentRoute.name !== 'nlDashboard')) {\n // TODO: It occurs that the error intercepting mechanism in interceptors.js is not working properly\n // See POLMONNL-1972 for details.\n this.dispatch('setMessage', {\n message: i18n.t('agenda.noMeetingsFound'),\n type: 'info',\n }, { root: true });\n } else {\n const agendas = response.data.data;\n\n // Sometimes there is an error on the main dashboard page in agendas\n // For certainty we place an if clause before we iterate over the agenda items\n if (agendas.length > 0) {\n agendas.forEach((agenda) => {\n if (agenda.origin === 'scraper') {\n const startTime = new Date(agenda.startTime);\n\n // Scraper agendas without startTime have startTime set to 00:01 in the collector.\n // Make them display correctly by setting startTime to endTime.\n if (startTime.getMinutes() === 1) {\n startTime.setMinutes(0);\n }\n const startTimeAMS = moment.tz(startTime, 'Europe/Amsterdam');\n const startOfDayAMS = moment(startTimeAMS).startOf('day');\n if (startTimeAMS.isSame(startOfDayAMS) && agenda.endTime) {\n // It would be more logical to remove the startTime altogether, however\n // it turns out this is more practical in our current uses.\n // Subtract an half hour from the start time is more in suitable for\n // events that have 'tot x uur' in their\n agenda.startTime = new Date(new Date(agenda.endTime)\n .getTime() - (1 * 60 * 60 * 1000)).toISOString();\n }\n }\n });\n }\n commit('setAgendas', agendas);\n }\n }\n },\n\n async getAgendaById({ commit }, args) {\n const agenda = await agendaApi.getById(args.id, args.query, args.origin);\n\n // Scraper agendas without startTime have startTime set to 00:01 in the collector,\n // so they can be found with the elasticsearch query.\n // We set startTime to endTime for consistency with the api agendas\n const agendaData = agenda.data.result;\n const fixedStartTime = new Date(agendaData.startTime);\n if (fixedStartTime.getMinutes() === 1) {\n fixedStartTime.setMinutes(0);\n const startTimeAMS = moment.tz(fixedStartTime, 'Europe/Amsterdam');\n const startOfDayAMS = moment(startTimeAMS).startOf('day');\n if ((startTimeAMS.isSame(startOfDayAMS))) {\n agenda.data.result.startTime = agenda.data.result.endTime;\n }\n }\n\n // Changed from .data to data.result\n commit('setagendaCurrent', agenda.data.result);\n return agenda;\n },\n\n // eslint-disable-next-line no-unused-vars\n async getAgendaXlsxById({ commit }, args) {\n return agendaApi.getXlsxById(args.id);\n },\n\n};\n\n// mutations\nconst mutations = {\n setAgendas(state, agendas) {\n state.all = agendas;\n },\n setagendaCurrent(state, agenda) {\n state.current = agenda;\n },\n setAgendaFilters(state, args) {\n state.filters = args;\n },\n setAgendaQuery(state, query) {\n state.query = query;\n },\n setAgendaStartDate(state, startDate) {\n state.startDate = startDate;\n },\n setAgendaEndDate(state, endDate) {\n state.endDate = endDate;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import polpoApi from '@/api/polpoApi';\n\nexport default {\n // The timestamp thingies are here due to IE11\n // See: https://stackoverflow.com/questions/49263559/using-javascript-axios-fetch-can-you-disable-browser-cache\n getAll: async () => polpoApi.get(`agenda/savedsearches/user?timestamp=${new Date().getTime()}`),\n save: async (search) => polpoApi.post('agenda/savedsearches', search),\n delete: async (data) => polpoApi.delete('agenda/savedsearches', data),\n update: async (data) => polpoApi.put('agenda/savedsearches', data),\n updates: async (data) => polpoApi.patchRaw('agenda/savedsearches/user/', data),\n exportExcel: async (data) => polpoApi.postExcel('agenda/savedsearches/export/xlsx', data),\n};\n","/*\n * Store to manage the state of stored search queries\n */\n\n// App specific\nimport i18n from '@/i18n';\nimport Config from '@/config';\nimport agendaSearchesApi from '../api/agenda-api-searches';\n\n// initial state\nconst state = {\n // Holds all searches made by the user, this is the \"search history\"\n agendaAllRecentSearches: [],\n\n // Holds all searches saved by the user on the server\n agendaAllSavedSearches: [],\n\n agendaMaxNumberOfSearches: null,\n\n // This is the currently selected search, could be recent or saved\n // Is used to highlight the active search in the list (via its id)\n agendaCurrentSearch: {\n id: null,\n title: null,\n includeInWebcal: false,\n sendUpdatesPerEmail: {\n dailyChanges: false,\n activitiesFrequent: {\n enabled: false,\n },\n activitiesOverview: {\n enabled: false,\n },\n },\n queryDetails: {\n filters: [],\n query: null,\n },\n },\n};\n\n// getters\nconst getters = {\n agendaAllRecentSearches: (state) => state.agendaAllRecentSearches,\n agendaAllSavedSearches: (state) => state.agendaAllSavedSearches,\n agendaCurrentSearch: (state) => state.agendaCurrentSearch,\n agendaMaxNumberOfSearches: (state) => state.agendaMaxNumberOfSearches,\n};\n\n// actions\nconst actions = {\n // Next line is absolutely necessary\n // eslint-disable-next-line no-unused-vars\n async agendaGetAllSavedSearches({ state, commit, rootState }, payload) {\n const response = await agendaSearchesApi.getAll();\n commit('agendaSetSavedSearches', response.data);\n commit('agendaMaxNumberOfSearches', response.data.numberOfSearches);\n return response;\n },\n\n // Next line is absolutely necessary\n // eslint-disable-next-line no-unused-vars\n async agendaSaveSearch({ commit, state }, search) {\n let response;\n // If an id is provided the search is already stored on the server\n if (search.id) {\n response = await agendaSearchesApi.update(search);\n } else {\n response = await agendaSearchesApi.save(search);\n }\n\n // Entree point to check whether an 'Agenda-koppeling' activation mail\n // has been send.\n if (response.data.webcalInvite === true) {\n this.dispatch('setMessage', {\n message: i18n.t('agenda.webCalSyncMessage'),\n type: 'info',\n });\n }\n\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n this.dispatch('agendaGetAllSavedSearches');\n return response;\n },\n\n // Next line is absolutly necessary\n // eslint-disable-next-line no-unused-vars\n async agendaSaveSearches({ commit, state }, search) {\n // Update multiple searches at once\n let response;\n try {\n response = await agendaSearchesApi.updates(search);\n } finally {\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n this.dispatch('agendaGetAllSavedSearches');\n }\n\n return response;\n },\n\n // search is the current selected saved search object\n async agendaUpdateSearch({ state, rootState, commit }, search) {\n // We are going to update the current active saved search with the current searchparameters\n // This is only allowed in a mutation, therefore we use syncCurrentSearch\n commit('agendaSyncCurrentSearch', {\n search,\n searchParameters: {\n filters: rootState.agendaStoreModule.filters,\n query: rootState.agendaStoreModule.query,\n },\n });\n\n // Store the merged currentSearch on the server\n const response = await agendaSearchesApi.update(state.agendaCurrentSearch);\n\n this.dispatch('agendaGetAllSavedSearches');\n return response;\n },\n\n // Next line is absolutely necessary\n // eslint-disable-next-line no-unused-vars\n async agendaRemoveSearch({ commit, state }, search) {\n const response = await agendaSearchesApi.delete(search);\n this.dispatch('agendaGetAllSavedSearches');\n return response;\n },\n\n agendaSetCurrentSearch({ commit }, search) {\n commit('agendaSetCurrentSearch', search);\n },\n\n agendaResetCurrentSearch({ commit }) {\n commit('agendaResetCurrentSearch');\n },\n\n agendaSetRecentSearches({ commit }, searches) {\n commit('agendaSetRecentSearches', searches);\n },\n\n // eslint-disable-next-line no-unused-vars\n async agendaExportToExcel({ commit, state }, data) {\n const downloadable = await agendaSearchesApi.exportExcel(data);\n return downloadable;\n },\n};\n\n// mutations\nconst mutations = {\n agendaSetCurrentSearch(state, search) {\n state.agendaCurrentSearch = search;\n },\n agendaSetSavedSearches(state, searches) {\n // Reverse order of array because we want to draw the latest item on top.\n searches.data.reverse();\n state.agendaAllSavedSearches = searches;\n },\n agendaAddSavedSearch(state, search) {\n state.agendaAllSavedSearches.data.unshift(search);\n },\n agendaSetRecentSearches(state, searches) {\n state.agendaAllRecentSearches = searches;\n },\n agendaMaxNumberOfSearches(state, payload) {\n state.agendaMaxNumberOfSearches = payload;\n },\n agendaAddRecentSearch(state, search) {\n // Context and document types are sorted to avoid duplicates\n // when we are creating hashes in the future to detect if a search is\n // really new\n const recentSearch = search;\n\n const sortedQueryDetails = {\n query: recentSearch.queryDetails.query,\n filters: recentSearch.queryDetails.filters.sort(),\n };\n\n recentSearch.queryDetails = sortedQueryDetails;\n\n // Add to the top\n state.agendaAllRecentSearches.unshift(recentSearch);\n\n if (state.agendaAllRecentSearches.length >= Config.maxRecentSearches) {\n // Remove last item\n state.agendaAllRecentSearches.splice(-1, 1);\n }\n },\n agendaSyncCurrentSearch(state, { searchParameters }) {\n state.agendaCurrentSearch.queryDetails = searchParameters;\n state.agendaCurrentSearch.queryDetails.query = searchParameters.query;\n },\n agendaResetCurrentSearch(state) {\n state.agendaCurrentSearch = {\n title: null,\n includeInWebcal: false,\n sendUpdatesPerEmail: {\n dailyChanges: false,\n },\n activitiesFrequent: {\n enabled: false,\n },\n activitiesOverview: {\n enabled: false,\n },\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import polpoApi from '@/api/polpoApi';\nimport store from '@/store';\n\nexport default {\n getById: async (id, parameters) => polpoApi.postById('document', id, parameters),\n getTimelineItems: async (searchParameters) => {\n const {\n query,\n context,\n groupingDetails: { name: groupingName },\n contextRequired,\n } = searchParameters;\n\n if (query.trim() === '') {\n // eslint-disable-next-line no-console\n console.error('Invalid empty query! Not sending request to document/timeline!');\n return null;\n }\n if (!groupingName) {\n // eslint-disable-next-line no-console\n console.error('Invalid missing grouping name! Not sending request to document/timeline!');\n return null;\n }\n\n // Check for missing / invalid context, but only on searches with NL (not NL-LR) grouping\n if (contextRequired && (!context || context.length === 0)) {\n // eslint-disable-next-line no-console\n console.error(`Invalid empty contexts! Not sending request to document/timeline! Grouping: ${groupingName}`);\n // Sometimes it occures that leftover timeline items will be drawn when no contexts are selected.\n // This should never happen! Therefore we wipe all timeline items\n store.dispatch('nlClearTimelineItems');\n return null;\n }\n return polpoApi.post('document/timeline', searchParameters);\n },\n getRelated: async (refs) => polpoApi.post('nl/related', refs),\n};\n","import documentApi from '@/api/document/document-api';\n\n// initial state\nconst state = {\n nlDocument: null,\n nlRelated: null,\n};\n\n// getters\nconst getters = {\n nlDocument: (state) => state.nlDocument,\n nlRelated: (state) => state.nlRelated,\n nlRelatedParent: (state) => state.nlRelatedParent,\n};\n\n// actions\nconst actions = {\n\n /**\n * Retreives document by its api endpoint url\n *\n * @param {any} { commit }\n */\n async nlGetDocumentById({ commit }, args) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const document = await documentApi.getById(args.id, { highlightWord: args.highlightWord });\n commit('setDocument', document.data);\n return document;\n },\n\n async getRelated({ commit }, refs) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const related = await documentApi.getRelated(refs);\n commit('setDocumentRelated', related.data);\n return related;\n },\n};\n\n// mutations\nconst mutations = {\n setDocument(state, document) {\n state.nlDocument = document;\n },\n\n setDocumentRelated(state, related) {\n state.nlRelated = related;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import polpoApi from '@/api/polpoApi';\n\nexport default {\n // Added timestamp because IE11 is cashing get requests too aggressive\n // See: https://stackoverflow.com/questions/49263559/using-javascript-axios-fetch-can-you-disable-browser-cache\n getAll: async (data) => polpoApi.post(`savedsearches/user?timestamp=${new Date().getTime()}`, data),\n save: async (search) => polpoApi.post('savedsearches', search),\n delete: async (data) => polpoApi.delete('savedsearches', data),\n update: async (data) => polpoApi.put('savedsearches', data),\n updates: async (data) => polpoApi.patchRaw('savedsearches/user/', data),\n};\n","/*\n * Store to manage the state of stored search queries\n */\n\nimport Config from '@/config';\nimport savedSearchesApi from '@/api/document/document-api-searches';\n\n// initial state\nconst state = {\n // Holds all searches made by the user, this is the \"search history\"\n nlAllRecentSearches: [],\n\n // Holds all searches saved by the user on the server\n nlAllSavedSearches: [],\n\n nlMaxNumberOfSearches: null,\n\n // This is the currently selected search, could be recent or saved\n // Is used to highlight the active search in the list (via its id)\n nlCurrentSearch: {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n context: [],\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n minimalMatchPercentage: 0,\n query: null,\n metadataField: 'metadata',\n },\n },\n};\n\n// getters\nconst getters = {\n nlAllRecentSearches: (state) => state.nlAllRecentSearches,\n nlAllSavedSearches: (state) => state.nlAllSavedSearches,\n nlCurrentSearch: (state) => state.nlCurrentSearch,\n nlMaxNumberOfSearches: (state) => state.nlMaxNumberOfSearches,\n};\n\n// actions\nconst actions = {\n // Next line is absolutely necessary // TODO: BUT WHY?!\n // eslint-disable-next-line no-unused-vars\n async nlGetAllSavedSearches({ state, commit, rootState }, payload) {\n // TODO: Add 'shortDomainType' derived from router name 'nl' or 'eu'\n const response = await savedSearchesApi.getAll({ groupingName: 'nlFiltersGrouping' });\n commit('nlSetSavedSearches', response.data);\n commit('nlMaxNumberOfSearches', response.data.numberOfSearches);\n return response;\n },\n\n async nlSaveSearch(_, search) {\n let response;\n // If an id is provided the search is already stored on the server\n if (search.id) {\n response = await savedSearchesApi.update(search);\n } else {\n response = await savedSearchesApi.save(search);\n }\n\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n this.dispatch('nlGetAllSavedSearches');\n return response;\n },\n\n async nlSaveSearches(_, search) {\n // Update multiple searches at once\n let response;\n try {\n response = await savedSearchesApi.updates(search);\n } finally {\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n this.dispatch('nlGetAllSavedSearches');\n }\n\n return response;\n },\n\n // search is the current selected saved search object\n async nlUpdateSearch({ state, rootState, commit }, search) {\n // We are going to update the current active saved search with the current searchparameters\n // This is only allowed in a mutation, therefore we use syncCurrentSearch\n commit('nlSyncCurrentSearch', { search, searchParameters: rootState.searchParameters });\n\n // Store the merged currentSearch on the server\n const response = await savedSearchesApi.update(state.nlCurrentSearch);\n\n this.dispatch('nlGetAllSavedSearches');\n return response;\n },\n\n async nlRemoveSearch(_, search) {\n const response = await savedSearchesApi.delete(search);\n this.dispatch('nlGetAllSavedSearches');\n return response;\n },\n\n async nlSetCurrentSearch({ commit }, search) {\n commit('nlSetCurrentSearch', search);\n },\n\n nlResetCurrentSearch({ commit }) {\n commit('nlResetCurrentSearch');\n },\n\n async nlSetRecentSearches({ commit }, searches) {\n commit('nlSetRecentSearches', searches);\n },\n};\n\n// mutations\nconst mutations = {\n nlSetCurrentSearch(state, search) {\n state.nlCurrentSearch = search;\n },\n nlSetSavedSearches(state, searches) {\n // Reverse order of array because we want to draw the latest item on top.\n searches.data.reverse();\n state.nlAllSavedSearches = searches;\n },\n nlAddSavedSearch(state, search) {\n state.nlAllSavedSearches.data.unshift(search);\n },\n nlSetRecentSearches(state, searches) {\n state.nlAllRecentSearches = searches;\n },\n nlMaxNumberOfSearches(state, payload) {\n state.nlMaxNumberOfSearches = payload;\n },\n nlAddRecentSearch(state, search) {\n // Context and document types are sorted to avoid duplicates\n // when we are creating hashes in the future to detect if a search is\n // really new\\\n const recentSearch = search;\n const sortedQueryDetails = {\n query: recentSearch.queryDetails.query,\n context: recentSearch.queryDetails.context.sort(),\n groupPaths: recentSearch.queryDetails.groupPaths.sort(),\n groupingDetails: recentSearch.queryDetails.groupingDetails,\n minimalMatchPercentage: recentSearch.queryDetails.minimalMatchPercentage,\n };\n\n recentSearch.queryDetails = sortedQueryDetails;\n\n // Add to the top\n state.nlAllRecentSearches.unshift(recentSearch);\n\n if (state.nlAllRecentSearches.length >= Config.maxRecentSearches) {\n // Remove last item\n state.nlAllRecentSearches.splice(-1, 1);\n }\n },\n nlSyncCurrentSearch(state, { searchParameters }) {\n state.nlCurrentSearch.queryDetails = searchParameters;\n state.nlCurrentSearch.queryDetails.query = searchParameters.query;\n },\n nlResetCurrentSearch(state) {\n state.nlCurrentSearch = {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n context: [],\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n minimalMatchPercentage: 0,\n query: null,\n metadataField: 'metadata',\n },\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import polpoApi from '@/api/polpoApi';\n\nexport default {\n getTrend: async (searchParameters) => polpoApi.post('statistics/trends', searchParameters),\n euGetTrend: async (searchParameters) => polpoApi.post('eu/statistics/trends', searchParameters),\n getTrendingTopics: async (searchParameters) => polpoApi.post('nl/statistics/trending-topics', searchParameters),\n nlGetStakeholders: async (\n searchParameters,\n stakeholderCode,\n ) => polpoApi.post('nl/statistics/stakeholders', {\n ...searchParameters,\n stakeholderCode,\n }),\n euGetStakeholders: async (\n searchParameters,\n analyticsCode,\n ) => polpoApi.post('eu/statistics/stakeholders', {\n ...searchParameters,\n ...{\n analyticsType: analyticsCode,\n },\n }),\n // TODO: POLMONNL-6203 - Determine what to do with stakeholders (CURRENTLY TBD)\n getFrequencies: async (searchParameters) => polpoApi.post('nl/statistics/frequencies', searchParameters),\n getAllNLandLRStatistics: async (searchParameters) => polpoApi.post('debug/search/statistics', searchParameters),\n getAllEUStatistics: async (searchParameters) => polpoApi.post('debug/search/eu-statistics', searchParameters),\n};\n","// App specific\nimport Config from '@/config';\nimport statisticsAPI from '@/api/document/document-api-statistics';\n\n// initial state\nconst state = {\n nlStatisticsTrend: null,\n nlStatisticsStakeholders: [],\n nlStatisticsTrendingTopics: [],\n};\n\n// getters\nconst getters = {\n nlStatisticsTrend: (state) => state.nlStatisticsTrend,\n nlStatisticsStakeholders: (state) => state.nlStatisticsStakeholders,\n nlStatisticsTrendingTopics: (state) => state.nlStatisticsTrendingTopics,\n};\n\n// actions\nconst actions = {\n /**\n * Retrieves all statistics\n *\n * @param {any} { state, commit, rootState }\n */\n async nlGetStatistics({ commit, rootState }, stakeholderCode) {\n let code = stakeholderCode;\n // Get the currently set searchParameters\n const { searchParameters } = rootState;\n\n // Add statistics grouping to use\n searchParameters.trendsGroupingName = 'nlTrendsGrouping';\n\n const responseTrend = await statisticsAPI.getTrend(searchParameters);\n commit('nlSetTrend', responseTrend.data);\n\n if (code) {\n localStorage.setItem('stakeholderCode', code);\n } else {\n code = localStorage.getItem('stakeholderCode') || Config.nlDefaultAnalyticsCode;\n }\n\n const responseStakeholders = await statisticsAPI\n .nlGetStakeholders(searchParameters, code);\n\n commit('nlSetStakeholders', responseStakeholders.data.data);\n\n const responseTrendingTopics = await statisticsAPI.getTrendingTopics(searchParameters);\n\n commit('nlSetTrendingTopics', responseTrendingTopics.data.data);\n },\n\n async nlClearStatistics({ commit }) {\n commit('nlClearStatistics');\n },\n\n async getAllNLandLRStatistics({ rootState }) {\n const { searchParameters } = rootState;\n return statisticsAPI.getAllNLandLRStatistics(searchParameters);\n },\n};\n\n// mutations\nconst mutations = {\n nlSetTrend(state, trend) {\n state.nlStatisticsTrend = trend;\n },\n nlSetStakeholders(state, stakeholders) {\n state.nlStatisticsStakeholders = stakeholders;\n },\n nlSetTrendingTopics(state, trendingTopics) {\n state.nlStatisticsTrendingTopics = trendingTopics;\n },\n nlClearStatistics(state) {\n state.nlStatisticsStakeholders = [];\n state.nlStatisticsTrendingTopics = [];\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import Config from '@/config';\nimport router from '@/router';\nimport i18n from '@/i18n';\nimport documentAPI from '@/api/document/document-api';\n\n// initial state\nconst state = {\n nlSearchMoreAfter: null,\n\n nlTimelineData: {\n data: [],\n countTotal: 0,\n hasMore: false,\n },\n nlMaxDateRangeTimelineItemsTotal: 0,\n};\n\n// getters\nconst getters = {\n nlSearchMoreAfter: (state) => state.nlSearchMoreAfter,\n nlTimelineItems: (state) => state.nlTimelineData.data,\n nlTimelineItemsCountTotal: (state) => state.nlTimelineData.countTotal,\n nlTimelineItemsHasMore: (state) => state.nlSearchMoreAfter\n && (state.nlTimelineData.data.length < state.nlTimelineData.countTotal),\n nlMaxDateRangeTimelineItemsHasMore: (state) => state.nlNextItemUrl\n && (state.nlTimelineData.data.length < state.nlMaxDateRangeTimelineItemsTotal),\n nlMaxDateRangeTimelineItemsTotal: (state) => state.nlMaxDateRangeTimelineItemsTotal,\n};\n\n// actions\nconst actions = {\n nlSetMaxDateRangeTimelineItemsTotal({ commit }, total) {\n commit('nlSetMaxDateRangeTimelineItemsTotal', total);\n },\n\n nlSetSearchMoreAfter({ commit }, url) {\n commit('nlSearchMoreAfter', url);\n },\n\n // Although getEntityByUrl is asynchronous, it needs to be fired synchronous since the\n // items are sorted by time.\n async nlGetAllTimelineItemsNext({ state, commit, rootState }) {\n // Check if searchMoreAfter is available\n if (state.nlSearchMoreAfter) {\n const { searchParameters } = rootState;\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, searchAfter: state.nlSearchMoreAfter, contextRequired: true },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n if (response.data.countTotal > 0 && response.data.searchMoreAfter) {\n commit('nlSetSearchMoreAfter', response.data.searchMoreAfter);\n commit('nlAppendTimelineItems', response.data);\n }\n }\n },\n\n async nlGetAllTimelineItems({ commit, rootState }, skipHistory) {\n // Let's see how many times we have been called\n const { searchParameters } = rootState;\n const {\n query, minimalMatchPercentage, context, groupingDetails, groupPaths,\n } = searchParameters;\n commit('nlClearTimelineItems');\n\n // Set lookBack to false to avoid button will be drawn when switching to another date range\n this.dispatch('setLookBack', false);\n\n // Validate a query has been set.\n if (!query) {\n commit('setMessage', {\n message: i18n.t('generic.specifySubject'),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // Validate a query has been set.\n if (query.length < Config.minimalQueryLength) {\n commit('setMessage', {\n message: i18n.t('timeline.subjectTooShortWarning', { minimalQueryLength: Config.minimalQueryLength }),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // Validate a context has been set.\n if (router.currentRoute.name === 'nlDashboard' && context.length === 0) {\n commit('setMessage', {\n message: i18n.t('generic.selectContext'),\n type: 'info',\n }, { root: true });\n return;\n }\n\n if (router.currentRoute.name === 'nlDashboard' && !skipHistory) {\n // Add query to recent searches\n commit('nlAddRecentSearch', {\n queryDetails: {\n query,\n minimalMatchPercentage,\n context,\n groupingDetails,\n groupPaths,\n },\n }, { root: true });\n // Set current search to null so none of the saved searches are shown as the active search\n commit('nlResetCurrentSearch');\n }\n\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, contextRequired: true, includeFullHistoryCount: true },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n commit('nlSetTimelineItems', response.data);\n\n if (response.data.searchMoreAfter) {\n commit('nlSetSearchMoreAfter', response.data.searchMoreAfter);\n }\n if (response.data.fullHistoryCount) {\n commit('nlSetMaxDateRangeTimelineItemsTotal', response.data.fullHistoryCount);\n }\n\n // This should only be done in dashboard\n if (router.currentRoute.name === 'nlDashboard') {\n // Fetch agendas for the documents\n // We need agenda items in the timeline only if a user has no access authentication to agenda\n // TODO: Fix me!!!\n // Possible fix for POLMONNL-2117\n // this.dispatch('setAgendaStartDate', new Date().getTime());\n // this.dispatch('setAgendaEndDate', new Date(new Date().setDate(new Date().getDate() + 90)).getTime());\n this.dispatch('setAgendaStartDate', '');\n this.dispatch('setAgendaEndDate', '');\n this.dispatch('setAgendaFilters', []);\n this.dispatch('setAgendaQuery', query);\n this.dispatch('getAllAgendas');\n\n // Fetch trend, stakeholders and trending topics\n this.dispatch('nlGetStatistics');\n }\n\n if (response.data.countTotal === 0) {\n this.dispatch('setLookBack', true);\n commit('setMessage', {\n message: i18n.t('generic.noResultsFound'),\n type: 'info',\n });\n }\n },\n\n async nlClearTimelineItems({ commit }) {\n commit('nlClearTimelineItems');\n },\n};\n\n// mutations\nconst mutations = {\n nlSetMaxDateRangeTimelineItemsTotal(state, total) {\n state.nlMaxDateRangeTimelineItemsTotal = total;\n },\n\n nlSetSearchMoreAfter(state, searchMoreAfter) {\n state.nlSearchMoreAfter = searchMoreAfter;\n },\n\n nlSetTimelineItems(state, timelineData) {\n state.nlTimelineData = timelineData;\n state.nlTimelineData.hasMore = !!((timelineData.actions && timelineData.actions.more));\n },\n\n nlAppendTimelineItems(state, timelineData) {\n state.nlTimelineData.data = [...state.nlTimelineData.data, ...timelineData.data];\n },\n\n nlClearTimelineItems(state) {\n state.nlTimelineData = {\n data: [],\n countTotal: 0,\n hasMore: false,\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import polpoApi from '@/api/polpoApi';\n\nexport default {\n getById: async (id, parameters) => polpoApi.postById('eu/document', id, parameters),\n getTimelineItems: async (searchParameters) => {\n const {\n query,\n groupingDetails: { name: groupingName },\n } = searchParameters;\n\n if (query.trim() === '') {\n // eslint-disable-next-line no-console\n console.error('Invalid empty query! Not sending request to eu/document!');\n return null;\n }\n if (!groupingName) {\n // eslint-disable-next-line no-console\n console.error('Invalid missing grouping name! Not sending request to eu/document!');\n return null;\n }\n\n return polpoApi.post('eu/timeline', searchParameters);\n },\n getRelated: async (refs) => polpoApi.post('eu/related', refs),\n};\n","// An incorrect 'Missing file extension' and 'Unable to resolve path to module' error are thrown\n// for currently unknown reasons. These somehow disappear when a comment is placed here.\nimport documentApi from '@/api/document/eu-document-api';\n\n// initial state\nconst state = {\n euDocument: null,\n euDocumentRelated: null,\n};\n\n// getters\nconst getters = {\n euDocument: (state) => state.euDocument,\n euDocumentRelated: (state) => state.euDocumentRelated,\n};\n\n// actions\nconst actions = {\n async euGetDocumentById({ commit }, args) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const document = await documentApi.getById(args.id, { highlightWord: args.highlightWord });\n commit('euSetDocument', document.data);\n return document;\n },\n\n async euGetRelated({ commit }, refs) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const related = await documentApi.getRelated(refs);\n commit('euSetDocumentRelated', related.data);\n return related;\n },\n};\n\n// mutations\nconst mutations = {\n euSetDocument(state, document) {\n state.euDocument = document;\n },\n\n euSetDocumentRelated(state, related) {\n state.euDocumentRelated = related;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import polpoApi from '@/api/polpoApi';\n\nexport default {\n // Added timestamp because IE11 is cashing get requests too aggressive\n // See: https://stackoverflow.com/questions/49263559/using-javascript-axios-fetch-can-you-disable-browser-cache\n getAll: async (data) => polpoApi.post(`eu/savedsearches/user?timestamp=${new Date().getTime()}`, data),\n save: async (search) => polpoApi.post('eu/savedsearches', search),\n delete: async (data) => polpoApi.delete('eu/savedsearches', data),\n update: async (data) => polpoApi.put('eu/savedsearches', data),\n updates: async (data) => polpoApi.patchRaw('eu/savedsearches/user/', data),\n};\n","/*\n * Store to manage the state of stored search queries\n */\n\nimport Config from '@/config';\nimport savedSearchesApi from '@/api/document/eu-document-api-searches';\n\n// initial state\nconst state = {\n // Holds all searches made by the user, this is the \"search history\"\n euAllRecentSearches: [],\n\n // Holds all searches saved by the user on the server\n euAllSavedSearches: [],\n\n euMaxNumberOfSearches: null,\n\n // This is the currently selected search, could be recent or saved\n // Is used to highlight the active search in the list (via its id)\n euCurrentSearch: {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n euEpCommittees: [],\n query: null,\n metadataField: 'metadata',\n },\n },\n};\n\n// getters\nconst getters = {\n euAllRecentSearches: (state) => state.euAllRecentSearches,\n euAllSavedSearches: (state) => state.euAllSavedSearches,\n euCurrentSearch: (state) => state.euCurrentSearch,\n euMaxNumberOfSearches: (state) => state.euMaxNumberOfSearches,\n};\n\n// actions\nconst actions = {\n async euGetAllSavedSearches({ commit }) {\n const response = await savedSearchesApi.getAll();\n commit('euSetSavedSearches', response.data);\n commit('euMaxNumberOfSearches', response.data.numberOfSearches);\n return response;\n },\n\n async euSaveSearch(_, search) {\n let response;\n // If an id is provided the search is already stored on the server\n if (search.id) {\n response = await savedSearchesApi.update(search);\n } else {\n response = await savedSearchesApi.save(search);\n }\n\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n this.dispatch('euGetAllSavedSearches');\n return response;\n },\n\n async euSaveSearches(_, search) {\n // Update multiple searches at once\n let response;\n try {\n response = await savedSearchesApi.updates(search);\n } finally {\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n this.dispatch('euGetAllSavedSearches');\n }\n\n return response;\n },\n\n // search is the current selected saved search object\n async euUpdateSearch({ state, rootState, commit }, search) {\n // We are going to update the current active saved search with the current searchparameters\n // This is only allowed in a mutation, therefore we use syncCurrentSearch\n commit('euSyncCurrentSearch', { search, searchParameters: rootState.searchParameters });\n\n // Store the merged currentSearch on the server\n const response = await savedSearchesApi.update(state.euCurrentSearch);\n\n this.dispatch('euGetAllSavedSearches');\n return response;\n },\n\n async euRemoveSearch(_, search) {\n const response = await savedSearchesApi.delete(search);\n this.dispatch('euGetAllSavedSearches');\n return response;\n },\n\n async euSetCurrentSearch({ commit }, search) {\n commit('euSetCurrentSearch', search);\n },\n\n euResetCurrentSearch({ commit }) {\n commit('euResetCurrentSearch');\n },\n\n async euSetRecentSearches({ commit }, searches) {\n commit('euSetRecentSearches', searches);\n },\n};\n\n// mutations\nconst mutations = {\n euSetCurrentSearch(state, search) {\n state.euCurrentSearch = search;\n },\n euSetSavedSearches(state, searches) {\n // Reverse order of array because we want to draw the latest item on top.\n searches.data.reverse();\n state.euAllSavedSearches = searches;\n },\n euAddSavedSearch(state, search) {\n state.euAllSavedSearches.data.unshift(search);\n },\n euSetRecentSearches(state, searches) {\n state.euAllRecentSearches = searches;\n },\n euMaxNumberOfSearches(state, payload) {\n state.euMaxNumberOfSearches = payload;\n },\n euAddRecentSearch(state, search) {\n // Context and document types are sorted to avoid duplicates\n // when we are creating hashes in the future to detect if a search is\n // really new\\\n const recentSearch = search;\n\n // Add to the top\n state.euAllRecentSearches.unshift(recentSearch);\n\n if (state.euAllRecentSearches.length >= Config.maxRecentSearches) {\n // Remove last item\n state.euAllRecentSearches.splice(-1, 1);\n }\n },\n euSyncCurrentSearch(state, { searchParameters }) {\n state.euCurrentSearch.queryDetails = searchParameters;\n state.euCurrentSearch.queryDetails.query = searchParameters.query;\n },\n euResetCurrentSearch(state) {\n state.euCurrentSearch = {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n euEpCommittees: [],\n query: null,\n metadataField: 'metadata',\n },\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// App specific\nimport Config from '@/config';\nimport statisticsAPI from '@/api/document/document-api-statistics';\n\n// initial state\nconst state = {\n euStatisticsTrend: null,\n euStatisticsStakeholders: [],\n};\n\n// getters\nconst getters = {\n euStatisticsTrend: (state) => state.euStatisticsTrend,\n euStatisticsStakeholders: (state) => state.euStatisticsStakeholders,\n};\n\n// actions\nconst actions = {\n\n async euGetStatistics({ commit, rootState }, analyticsCode) {\n let code = analyticsCode;\n // Get the currently set searchparameters\n const { searchParameters } = rootState;\n\n const responseTrend = await statisticsAPI.euGetTrend(searchParameters);\n commit('euSetTrend', responseTrend.data);\n\n if (code) {\n localStorage.setItem('analyticsCode', code);\n } else {\n code = localStorage.getItem('analyticsCode') || Config.euDefaultAnalyticsCode;\n }\n\n const responseStakeholders = await statisticsAPI\n .euGetStakeholders(searchParameters, code);\n\n // Why is this setStakeholders?\n commit('euSetStakeholders', responseStakeholders.data.data);\n },\n\n async euClearStatistics({ commit }) {\n commit('euClearStatistics');\n },\n\n async getAllEUStatistics({ rootState }) {\n const { searchParameters } = rootState;\n return statisticsAPI.getAllEUStatistics(searchParameters);\n },\n};\n\n// mutations\nconst mutations = {\n euSetTrend(state, trend) {\n state.euStatisticsTrend = trend;\n },\n euSetStakeholders(state, stakeholders) {\n state.euStatisticsStakeholders = stakeholders;\n },\n euClearStatistics(state) {\n state.euStatisticsStakeholders = [];\n state.euStatisticsTrendingTopics = [];\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import Config from '@/config';\n// import router from '@/router';\nimport i18n from '@/i18n';\nimport documentAPI from '@/api/document/eu-document-api';\n\n// initial state\nconst state = {\n euSearchMoreAfter: null,\n\n euTimelineData: {\n data: [],\n countTotal: 0,\n hasMore: false,\n },\n euMaxDateRangeTimelineItemsTotal: 0,\n};\n\n// getters\nconst getters = {\n euSearchMoreAfter: (state) => state.euSearchMoreAfter,\n euTimelineItems: (state) => state.euTimelineData.data,\n euTimelineItemsCountTotal: (state) => state.euTimelineData.countTotal,\n euTimelineItemsHasMore: (state) => state.euSearchMoreAfter\n && (state.euTimelineData.data.length < state.euTimelineData.countTotal),\n euMaxDateRangeTimelineItemsHasMore: (state) => state.euNextItemUrl\n && (state.euTimelineData.data.length < state.euMaxDateRangeTimelineItemsTotal),\n euMaxDateRangeTimelineItemsTotal: (state) => state.euMaxDateRangeTimelineItemsTotal,\n};\n\n// actions\nconst actions = {\n euSetMaxDateRangeTimelineItemsTotal({ commit }, total) {\n commit('euSetMaxDateRangeTimelineItemsTotal', total);\n },\n\n euSetSearchMoreAfter({ commit }, url) {\n commit('euSetSearchMoreAfter', url);\n },\n\n // Although getEntityByUrl is asynchronous, it needs to be fired synchronous since the\n // items are sorted by time.\n async euGetAllTimelineItemsNext({ state, commit, rootState }) {\n // Check if euSearchMoreAfter is available\n if (state.euSearchMoreAfter) {\n const { searchParameters } = rootState;\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, searchAfter: state.euSearchMoreAfter },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n if (response.data.countTotal > 0 && response.data.searchMoreAfter) {\n commit('euSetSearchMoreAfter', response.data.searchMoreAfter);\n commit('euAppendTimelineItems', response.data);\n }\n }\n },\n\n async euGetAllTimelineItems({ commit, rootState }) {\n // Lets see how many times we have been called\n const { searchParameters } = rootState;\n const {\n query,\n groupPaths,\n groupingDetails,\n euEpCommittees,\n } = searchParameters;\n\n commit('euClearTimelineItems');\n\n // Set lookBack to false to avoid button will be drawn when switching to\n // other date range\n this.dispatch('setLookBack', false);\n\n // Validate a query has been set.\n if (!query) {\n commit('setMessage', {\n message: i18n.t('generic.specifySubject'),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // Validate a query has been set.\n if (query.length < Config.minimalQueryLength) {\n commit('setMessage', {\n message: i18n.t('timeline.subjectTooShortWarning', { minimalQueryLength: Config.minimalQueryLength }),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // if (router.currentRoute.name === 'euDashboard' && !skipHistory) {\n // Add query to recent searches\n commit('euAddRecentSearch', {\n queryDetails: {\n query,\n groupPaths,\n groupingDetails,\n euEpCommittees,\n },\n }, { root: true });\n // Set current search to null so none of the saved searches are shown as the active search\n commit('euResetCurrentSearch');\n // }\n\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, includeFullHistoryCount: true },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n\n commit('euSetTimelineItems', response.data);\n\n if (response.data.searchMoreAfter) {\n commit('euSetSearchMoreAfter', response.data.searchMoreAfter);\n }\n if (response.data.fullHistoryCount) {\n commit('euSetMaxDateRangeTimelineItemsTotal', response.data.fullHistoryCount);\n }\n\n // Fetch trend, stakeholders and trending topics\n this.dispatch('euGetStatistics');\n\n if (response.data.countTotal === 0) {\n this.dispatch('setLookBack', true);\n commit('setMessage', {\n message: i18n.t('generic.noResultsFound'),\n type: 'info',\n });\n }\n },\n\n euClearTimelineItems({ commit }) {\n commit('euClearTimelineItems');\n },\n};\n\n// mutations\nconst mutations = {\n euSetMaxDateRangeTimelineItemsTotal(state, total) {\n state.euMaxDateRangeTimelineItemsTotal = total;\n },\n\n euSetSearchMoreAfter(state, euSearchMoreAfter) {\n state.euSearchMoreAfter = euSearchMoreAfter;\n },\n\n euSetTimelineItems(state, timelineData) {\n state.euTimelineData = timelineData;\n state.euTimelineData.hasMore = !!((timelineData.actions && timelineData.actions.more));\n },\n\n euAppendTimelineItems(state, timelineData) {\n state.euTimelineData.data = [...state.euTimelineData.data, ...timelineData.data];\n },\n\n euClearTimelineItems(state) {\n state.euTimelineData = {\n data: [],\n countTotal: 0,\n hasMore: false,\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// App specific\nimport listApi from '../api/list-api';\n\n// initial state\nconst state = {\n listsActive: null,\n listsArchived: null,\n currentList: null,\n formVisible: false,\n currentListItems: [],\n};\n\n// getters\nconst getters = {\n listsArchived: (state) => state.listsArchived,\n listsActive: (state) => state.listsActive,\n listCurrent: (state) => state.currentList,\n listCurrentItems: (state) => state.currentListItems,\n};\n\n// actions\nconst actions = {\n\n async setDefaultListState({ commit }) {\n commit('setDefaultListState');\n },\n\n async getList({ commit, dispatch }, id) {\n const list = await listApi.get(id);\n commit('setCurrentList', list.data);\n dispatch('getListItems', id);\n return list;\n },\n\n async getListExportHTMLPreviewToken({ getters }) {\n const { listCurrent: currentList } = getters;\n const result = await listApi.getListExportHTMLPreviewToken(currentList.id);\n return result.data;\n },\n\n async getListItems({ commit }, listId) {\n const listItems = await listApi.getListItems(listId);\n commit('setCurrentListItems', listItems.data);\n return listItems;\n },\n\n async removeCurrentList({ dispatch, getters }) {\n const { listCurrent: currentList } = getters;\n\n await listApi.delete(currentList);\n\n if (currentList.archived) {\n dispatch('getArchivedLists');\n } else {\n dispatch('getActiveLists');\n }\n },\n\n async getArchivedLists({ commit, dispatch }, selectFirst = true) {\n const lists = await listApi.getArchived();\n commit('setListsArchived', lists.data);\n if (selectFirst && lists.data.length > 0) {\n commit('setCurrentList', lists.data[0]);\n dispatch('getListItems', lists.data[0].id);\n }\n return lists;\n },\n\n async getActiveLists({ commit, dispatch }, selectFirst = true) {\n const lists = await listApi.getActive();\n commit('setListsActive', lists.data);\n if (selectFirst && lists.data.length > 0) {\n commit('setCurrentList', lists.data[0]);\n dispatch('getListItems', lists.data[0].id);\n }\n return lists;\n },\n\n async saveList({ commit, dispatch }, list) {\n let response;\n\n if (list.id) {\n response = await listApi.update(list);\n if (list.archived) {\n dispatch('getArchivedLists', false);\n } else {\n dispatch('getActiveLists', false);\n }\n dispatch('getList', list.id);\n } else {\n response = await listApi.save(list);\n commit('addNewList', response.data);\n dispatch('getList', response.data.id);\n }\n return response.data;\n },\n\n async toggleListArchive({ dispatch, getters, commit }) {\n const { listCurrent: currentList } = getters;\n\n const listCurrentCopy = { ...currentList };\n listCurrentCopy.archived = !listCurrentCopy.archived;\n\n const updatedList = await listApi.update(listCurrentCopy);\n dispatch('getActiveLists', false);\n dispatch('getArchivedLists', false);\n commit('setCurrentList', listCurrentCopy);\n return updatedList;\n },\n\n async verifyTransferEmail(_, email) {\n return listApi.verify(email);\n },\n\n async transferLists({ dispatch }, { email, listIds, successString }) {\n const transferResult = await listApi.transfer(email, listIds);\n\n // When successful, show the results\n const { status, data: transferredLists } = transferResult;\n const { config: { data: requestData } } = transferResult;\n const { email: targetEmail } = JSON.parse(requestData);\n const amountTransferred = transferredLists ? transferredLists.length : null;\n\n if (status === 200 && amountTransferred && targetEmail) {\n dispatch('setMessage', {\n message: `${amountTransferred} ${successString} ${targetEmail}`,\n type: 'success',\n });\n }\n\n dispatch('getActiveLists');\n return transferResult;\n },\n\n async sortListOnDate({ dispatch }, { listId, desc }) {\n const response = await listApi.sort(listId, desc);\n dispatch('getListItems', listId);\n return response.data;\n },\n\n async duplicateCurrentList({ dispatch, getters }) {\n const { listCurrent: currentList } = getters;\n const duplicatedList = await listApi.duplicate(currentList.id);\n dispatch('getActiveLists', false);\n dispatch('getArchivedLists', false);\n return duplicatedList.data;\n },\n\n async clearCurrentList({ dispatch, getters }) {\n const { listCurrent: currentList } = getters;\n const clearedList = await listApi.clearList(currentList.id);\n dispatch('getListItems', currentList.id);\n return clearedList.data;\n },\n};\n\n// mutations\nconst mutations = {\n setDefaultListState(state) {\n state.currentList = null;\n state.currentListItems = [];\n },\n setListsArchived(state, lists) {\n state.listsArchived = lists;\n },\n setListsActive(state, lists) {\n state.listsActive = lists;\n },\n setCurrentList(state, list) {\n state.currentList = list;\n },\n setCurrentListItems(state, listsItems) {\n state.currentListItems = listsItems;\n },\n addNewList(state, list) {\n state.listsActive = [list, ...state.listsActive];\n },\n\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import polpoApi from '@/api/polpoApi';\n\nexport default {\n save: async (listItem) => polpoApi.post('lists/list-items', listItem),\n update: async (listItem, copyToLists) => polpoApi.putCopy('lists/list-items', { listItem, copyToLists }),\n delete: async (listItem) => polpoApi.delete('lists/list-items', listItem),\n swapPosition: async (listItemIdA, listItemIdB, listId) => polpoApi.post('lists/list-items/swap', { listItemIdA, listItemIdB, listId }),\n moveItem: async (listItemId, listId, newPosition) => polpoApi.post('lists/list-items/move', { listItemId, listId, newPosition }),\n};\n","// App specific\nimport listItemApi from '../api/list-api-item';\n\n// initial state\nconst state = {\n\n};\n\n// getters\nconst getters = {\n\n};\n\n// actions\nconst actions = {\n\n async saveListItem({ dispatch }, params) {\n const { listItem, copyToLists } = params;\n let response;\n\n if (listItem.id) {\n response = await listItemApi.update(listItem, copyToLists);\n dispatch('getListItems', listItem.listId);\n } else {\n response = await listItemApi.save(listItem);\n }\n return response;\n },\n async removeListItem({ dispatch }, listItem) {\n await listItemApi.delete(listItem);\n dispatch('getListItems', listItem.listId);\n },\n async swapListItem({ dispatch, getters }, params) {\n const { index, direction, listId } = params;\n const { listCurrentItems: currentListItems } = getters;\n\n const listItemA = currentListItems[index];\n const listItemB = currentListItems[index + direction];\n\n await listItemApi.swapPosition(listItemA.id, listItemB.id, listId);\n\n dispatch('getListItems', listItemA.listId);\n },\n async moveListItem({ dispatch }, params) {\n const { listItemId, listId, newPosition } = params;\n await listItemApi.moveItem(listItemId, listId, newPosition);\n dispatch('getListItems', listId);\n },\n async toggleListItemMarkedForExport({ dispatch }, listItem) {\n const listItemCopy = { ...listItem };\n listItemCopy.markedForExport = !listItemCopy.markedForExport;\n\n const updatedListItem = await listItemApi.update(listItemCopy);\n dispatch('getListItems', listItemCopy.listId);\n return updatedListItem;\n },\n};\n\n// mutations\nconst mutations = {\n\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import documentApi from '@/api/document/document-api';\n\n// initial state\nconst state = {\n nlLrDocument: null,\n nlLrDocumentRelated: null,\n};\n\n// getters\nconst getters = {\n nlLrDocument: (state) => state.nlLrDocument,\n nlLrDocumentRelated: (state) => state.nlLrDocumentRelated,\n};\n\n// actions\nconst actions = {\n async nlLrGetDocumentById({ commit }, args) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const document = await documentApi.getById(args.id, { highlightWord: args.highlightWord });\n commit('nlLrSetDocument', document.data);\n return document;\n },\n\n async nlLrGetRelated({ commit }, refs) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const related = await documentApi.getRelated(refs);\n commit('nlLrSetDocumentRelated', related.data);\n return related;\n },\n};\n\n// mutations\nconst mutations = {\n nlLrSetDocument(state, document) {\n state.nlLrDocument = document;\n },\n\n nlLrSetDocumentRelated(state, related) {\n state.nlLrDocumentRelated = related;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","/*\n * Store to manage the state of stored search queries\n */\n\nimport Config from '@/config';\nimport savedSearchesApi from '@/api/document/document-api-searches';\n\n// initial state\nconst state = {\n // Holds all searches made by the user, this is the \"search history\"\n nlLrAllRecentSearches: [],\n\n // Holds all searches saved by the user on the server\n nlLrAllSavedSearches: [],\n\n nlLrMaxNumberOfSearches: null,\n\n // This is the currently selected search, could be recent or saved\n // Is used to highlight the active search in the list (via its id)\n nlLrCurrentSearch: {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n committees: [], // TODO: remove this EU-only field?\n query: null,\n metadataField: 'metadata',\n },\n },\n};\n\n// getters\nconst getters = {\n nlLrAllRecentSearches: (state) => state.nlLrAllRecentSearches,\n nlLrAllSavedSearches: (state) => state.nlLrAllSavedSearches,\n nlLrCurrentSearch: (state) => state.nlLrCurrentSearch,\n nlLrMaxNumberOfSearches: (state) => state.nlLrMaxNumberOfSearches,\n};\n\n// actions\nconst actions = {\n async nlLrGetAllSavedSearches({ commit }) {\n const response = await savedSearchesApi.getAll({ groupingName: 'nlLrFiltersGrouping' });\n commit('nlLrSetSavedSearches', response.data);\n commit('nlLrMaxNumberOfSearches', response.data.numberOfSearches);\n return response;\n },\n\n async nlLrSaveSearch(_, search) {\n let response;\n // If an id is provided the search is already stored on the server\n if (search.id) {\n response = await savedSearchesApi.update(search);\n } else {\n response = await savedSearchesApi.save(search);\n }\n\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n this.dispatch('nlLrGetAllSavedSearches');\n return response;\n },\n\n async nlLrSaveSearches(_, search) {\n // Update multiple searches at once\n let response;\n try {\n response = await savedSearchesApi.updates(search);\n } finally {\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n this.dispatch('nlLrGetAllSavedSearches');\n }\n\n return response;\n },\n\n // search is the current selected saved search object\n async nlLrUpdateSearch({ state, rootState, commit }, search) {\n // We are going to update the current active saved search with the current searchparameters\n // This is only allowed in a mutation, therefore we use syncCurrentSearch\n commit('nlLrSyncCurrentSearch', { search, searchParameters: rootState.searchParameters });\n\n // Store the merged currentSearch on the server\n const response = await savedSearchesApi.update(state.nlLrCurrentSearch);\n\n this.dispatch('nlLrGetAllSavedSearches');\n return response;\n },\n\n async nlLrRemoveSearch(_, search) {\n const response = await savedSearchesApi.delete(search);\n this.dispatch('nlLrGetAllSavedSearches');\n return response;\n },\n\n async nlLrSetCurrentSearch({ commit }, search) {\n commit('nlLrSetCurrentSearch', search);\n },\n\n nlLrResetCurrentSearch({ commit }) {\n commit('nlLrResetCurrentSearch');\n },\n\n async nlLrSetRecentSearches({ commit }, searches) {\n commit('nlLrSetRecentSearches', searches);\n },\n};\n\n// mutations\nconst mutations = {\n nlLrSetCurrentSearch(state, search) {\n state.nlLrCurrentSearch = search;\n },\n nlLrSetSavedSearches(state, searches) {\n // Reverse order of array because we want to draw the latest item on top.\n searches.data.reverse();\n state.nlLrAllSavedSearches = searches;\n },\n nlLrAddSavedSearch(state, search) {\n state.nlLrAllSavedSearches.data.unshift(search);\n },\n nlLrSetRecentSearches(state, searches) {\n state.nlLrAllRecentSearches = searches;\n },\n nlLrMaxNumberOfSearches(state, payload) {\n state.nlLrMaxNumberOfSearches = payload;\n },\n nlLrAddRecentSearch(state, search) {\n // Context and document types are sorted to avoid duplicates\n // when we are creating hashes in the future to detect if a search is\n // really new\\\n const recentSearch = search;\n\n // Add to the top\n state.nlLrAllRecentSearches.unshift(recentSearch);\n\n if (state.nlLrAllRecentSearches.length >= Config.maxRecentSearches) {\n // Remove last item\n state.nlLrAllRecentSearches.splice(-1, 1);\n }\n },\n nlLrSyncCurrentSearch(state, { searchParameters }) {\n state.nlLrCurrentSearch.queryDetails = searchParameters;\n state.nlLrCurrentSearch.queryDetails.query = searchParameters.query;\n },\n nlLrResetCurrentSearch(state) {\n state.nlLrCurrentSearch = {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n committees: [],\n query: null,\n metadataField: 'metadata',\n },\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// App specific\nimport Config from '@/config';\nimport statisticsAPI from '@/api/document/document-api-statistics';\n\n// initial state\nconst state = {\n nlLrStatisticsTrend: null,\n nlLrStatisticsStakeholders: [],\n nlLrStatisticsTrendingTopics: [],\n};\n\n// getters\nconst getters = {\n nlLrStatisticsTrend: (state) => state.nlLrStatisticsTrend,\n nlLrStatisticsStakeholders: (state) => state.nlLrStatisticsStakeholders,\n nlLrStatisticsTrendingTopics: (state) => state.nlLrStatisticsTrendingTopics,\n};\n\n// actions\nconst actions = {\n\n async nlLrGetStatistics({ commit, rootState }, analyticsCode) {\n let code = analyticsCode;\n // Get the currently set searchparameters\n const { searchParameters } = rootState;\n\n // Add statictics grouping to use\n searchParameters.trendsGroupingName = 'nlLrTrendsGrouping';\n\n const responseTrend = await statisticsAPI.getTrend(searchParameters);\n commit('nlLrSetTrend', responseTrend.data);\n\n if (code) {\n localStorage.setItem('nlLrAnalyticsCode', code);\n } else {\n code = localStorage.getItem('nlLrAnalyticsCode') || Config.nlLrDefaultAnalyticsCode;\n }\n\n const { data: { data: stakeholdersData } } = await statisticsAPI\n .nlGetStakeholders(searchParameters, code);\n\n commit('nlLrSetStakeholders', stakeholdersData);\n\n const responseTrendingTopics = await statisticsAPI.getTrendingTopics(searchParameters);\n\n commit('nlLrSetTrendingTopics', responseTrendingTopics.data.data);\n },\n\n async nlLrClearStatistics({ commit }) {\n commit('nlLrClearStatistics');\n },\n};\n\n// mutations\nconst mutations = {\n nlLrSetTrend(state, trend) {\n state.nlLrStatisticsTrend = trend;\n },\n nlLrSetStakeholders(state, stakeholders) {\n state.nlLrStatisticsStakeholders = stakeholders;\n },\n nlLrSetTrendingTopics(state, trendingTopics) {\n state.nlLrStatisticsTrendingTopics = trendingTopics;\n },\n nlLrClearStatistics(state) {\n state.nlLrStatisticsStakeholders = [];\n state.nlLrStatisticsTrendingTopics = [];\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import Config from '@/config';\nimport router from '@/router';\nimport i18n from '@/i18n';\nimport documentAPI from '@/api/document/document-api';\n\n// initial state\nconst state = {\n nlLrSearchMoreAfter: null,\n\n nlLrTimelineData: {\n data: [],\n countTotal: 0,\n hasMore: false,\n },\n nlLrMaxDateRangeTimelineItemsTotal: 0,\n};\n\n// getters\nconst getters = {\n nlLrSearchMoreAfter: (state) => state.nlLrSearchMoreAfter,\n nlLrTimelineItems: (state) => state.nlLrTimelineData.data,\n nlLrTimelineItemsCountTotal: (state) => state.nlLrTimelineData.countTotal,\n nlLrTimelineItemsHasMore: (state) => state.nlLrSearchMoreAfter\n && (state.nlLrTimelineData.data.length < state.nlLrTimelineData.countTotal),\n nlLrMaxDateRangeTimelineItemsHasMore: (state) => state.nlLrNextItemUrl\n && (state.nlLrTimelineData.data.length < state\n .nlLrMaxDateRangeTimelineItemsTotal),\n nlLrMaxDateRangeTimelineItemsTotal: (state) => state\n .nlLrMaxDateRangeTimelineItemsTotal,\n};\n\n// actions\nconst actions = {\n nlLrSetMaxDateRangeTimelineItemsTotal({ commit }, total) {\n commit('nlLrSetMaxDateRangeTimelineItemsTotal', total);\n },\n\n nlLrSetSearchMoreAfter({ commit }, url) {\n commit('nlLrSetSearchMoreAfter', url);\n },\n\n // Although getEntityByUrl is asynchronous, it needs to be fired synchronous since the\n // items are sorted by time.\n async nlLrGetAllTimelineItemsNext({ state, commit, rootState }) {\n // Check if nlLrSearchMoreAfter is available\n if (state.nlLrSearchMoreAfter) {\n const { searchParameters } = rootState;\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, searchAfter: state.nlLrSearchMoreAfter },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n if (response.data.countTotal > 0 && response.data.searchMoreAfter) {\n commit('nlLrSetSearchMoreAfter', response.data.searchMoreAfter);\n commit('nlLrAppendTimelineItems', response.data);\n }\n }\n },\n\n async nlLrGetAllTimelineItems({ commit, rootState }, skipHistory) {\n // Lets see how many times we have been called\n const { searchParameters } = rootState;\n const {\n query,\n groupPaths,\n groupingDetails,\n committees,\n } = searchParameters;\n\n commit('nlLrClearTimelineItems');\n\n // Reset all errors\n commit('clearMessages');\n\n // Set lookBack to false to avoid button will be drawn when switching to\n // other date range\n this.dispatch('setLookBack', false);\n\n // Validate a query has been set.\n if (!query) {\n commit('setMessage', {\n message: i18n.t('generic.specifySubject'),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // Validate a query has been set.\n if (query.length < Config.minimalQueryLength) {\n commit('setMessage', {\n message: i18n.t('timeline.subjectTooShortWarning', { minimalQueryLength: Config.minimalQueryLength }),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // Remove any errors shown\n commit('clearMessages');\n\n // Mockupdata disable\n if (router.currentRoute.name === 'nlLrDashboard' && !skipHistory) {\n // Add query to recent searches\n commit('nlLrAddRecentSearch', {\n queryDetails: {\n query,\n groupPaths,\n groupingDetails,\n committees,\n },\n }, { root: true });\n // Set current search to null so none of the saved searches are shown as the active search\n commit('nlLrResetCurrentSearch');\n }\n\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, includeFullHistoryCount: true },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n\n commit('nlLrSetTimelineItems', response.data);\n\n if (response.data.searchMoreAfter) {\n commit('nlLrSetSearchMoreAfter', response.data.searchMoreAfter);\n }\n if (response.data.fullHistoryCount) {\n commit('nlLrSetMaxDateRangeTimelineItemsTotal', response.data.fullHistoryCount);\n }\n\n // Fetch trend, stakeholders and trending topics\n this.dispatch('nlLrGetStatistics');\n\n if (response.data.countTotal === 0) {\n this.dispatch('setLookBack', true);\n commit('setMessage', {\n message: i18n.t('generic.noResultsFound'),\n type: 'info',\n });\n }\n },\n\n nlLrClearTimelineItems({ commit }) {\n commit('nlLrClearTimelineItems');\n },\n};\n\n// mutations\nconst mutations = {\n nlLrSetMaxDateRangeTimelineItemsTotal(state, total) {\n state.nlLrMaxDateRangeTimelineItemsTotal = total;\n },\n\n nlLrSetSearchMoreAfter(state, nlLrSearchMoreAfter) {\n state.nlLrSearchMoreAfter = nlLrSearchMoreAfter;\n },\n\n nlLrSetTimelineItems(state, timelineData) {\n state.nlLrTimelineData = timelineData;\n state.nlLrTimelineData\n .hasMore = !!((timelineData.actions && timelineData.actions.more));\n },\n\n nlLrAppendTimelineItems(state, timelineData) {\n state.nlLrTimelineData.data = [...state\n .nlLrTimelineData.data, ...timelineData.data];\n },\n\n nlLrClearTimelineItems(state) {\n state.nlLrTimelineData = {\n data: [],\n countTotal: 0,\n hasMore: false,\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import documentApi from '@/api/document/document-api';\n\n// initial state\nconst state = {\n beFedDocument: null,\n beFedDocumentRelated: null, // TODO: POLMONNL-6203 - Remove the call to this so it can be removed\n};\n\n// getters\nconst getters = {\n beFedDocument: (state) => state.beFedDocument,\n beFedDocumentRelated: (state) => state.beFedDocumentRelated, // TODO: POLMONNL-6203 - Remove the call to this so it can be removed\n};\n\n// actions\nconst actions = {\n async beFedGetDocumentById({ commit }, args) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const document = await documentApi.getById(args.id, { highlightWord: args.highlightWord });\n commit('beFedSetDocument', document.data);\n return document;\n },\n\n // TODO: POLMONNL-6203 - Remove the call to this so it can be removed\n async beFedGetRelated({ commit }, refs) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const related = await documentApi.getRelated(refs);\n commit('beFedSetDocumentRelated', related.data);\n return related;\n },\n};\n\n// mutations\nconst mutations = {\n beFedSetDocument(state, document) {\n state.beFedDocument = document;\n },\n\n beFedSetDocumentRelated(state, related) {\n state.beFedDocumentRelated = related;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","/*\n * Store to manage the state of stored search queries\n */\n\nimport Config from '@/config';\nimport savedSearchesApi from '@/api/document/document-api-searches';\n\n// initial state\nconst state = {\n // Holds all searches made by the user, this is the \"search history\"\n beFedAllRecentSearches: [],\n\n // Holds all searches saved by the user on the server\n beFedAllSavedSearches: [],\n\n beFedMaxNumberOfSearches: null,\n\n // This is the currently selected search, could be recent or saved\n // Is used to highlight the active search in the list (via its id)\n beFedCurrentSearch: {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n query: null,\n metadataField: 'metadata',\n },\n },\n};\n\n// getters\nconst getters = {\n beFedAllRecentSearches: (state) => state.beFedAllRecentSearches,\n beFedAllSavedSearches: (state) => state.beFedAllSavedSearches,\n beFedCurrentSearch: (state) => state.beFedCurrentSearch,\n beFedMaxNumberOfSearches: (state) => state.beFedMaxNumberOfSearches,\n};\n\n// actions\nconst actions = {\n async beFedGetAllSavedSearches({ commit }) {\n const response = await savedSearchesApi.getAll({ groupingName: 'beFedFiltersGrouping' });\n commit('beFedSetSavedSearches', response.data);\n commit('beFedMaxNumberOfSearches', response.data.numberOfSearches);\n return response;\n },\n\n async beFedSaveSearch({ dispatch }, search) {\n let response;\n // If an id is provided the search is already stored on the server\n if (search.id) {\n response = await savedSearchesApi.update(search);\n } else {\n response = await savedSearchesApi.save(search);\n }\n\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n dispatch('beFedGetAllSavedSearches');\n return response;\n },\n\n async beFedSaveSearches({ dispatch }, search) {\n // Update multiple searches at once\n let response;\n try {\n response = await savedSearchesApi.updates(search);\n } finally {\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n dispatch('beFedGetAllSavedSearches');\n }\n\n return response;\n },\n\n // search is the current selected saved search object\n async beFedUpdateSearch({\n state,\n rootState,\n commit,\n dispatch,\n }, search) {\n // We are going to update the current active saved search with the current searchparameters\n // This is only allowed in a mutation, therefore we use syncCurrentSearch\n commit('beFedSyncCurrentSearch', { search, searchParameters: rootState.searchParameters });\n\n // Store the merged currentSearch on the server\n const response = await savedSearchesApi.update(state.beFedCurrentSearch);\n\n dispatch('beFedGetAllSavedSearches');\n return response;\n },\n\n async beFedRemoveSearch({ dispatch }, search) {\n const response = await savedSearchesApi.delete(search);\n dispatch('beFedGetAllSavedSearches');\n return response;\n },\n\n async beFedSetCurrentSearch({ commit }, search) {\n commit('beFedSetCurrentSearch', search);\n },\n\n beFedResetCurrentSearch({ commit }) {\n commit('beFedResetCurrentSearch');\n },\n\n async beFedSetRecentSearches({ commit }, searches) {\n commit('beFedSetRecentSearches', searches);\n },\n};\n\n// mutations\nconst mutations = {\n beFedSetCurrentSearch(state, search) {\n state.beFedCurrentSearch = search;\n },\n beFedSetSavedSearches(state, searches) {\n // Reverse order of array because we want to draw the latest item on top.\n searches.data.reverse();\n state.beFedAllSavedSearches = searches;\n },\n beFedAddSavedSearch(state, search) {\n state.beFedAllSavedSearches.data.unshift(search);\n },\n beFedSetRecentSearches(state, searches) {\n state.beFedAllRecentSearches = searches;\n },\n beFedMaxNumberOfSearches(state, payload) {\n state.beFedMaxNumberOfSearches = payload;\n },\n beFedAddRecentSearch(state, search) {\n // Context and document types are sorted to avoid duplicates\n // when we are creating hashes in the future to detect if a search is\n // really new\\\n const recentSearch = search;\n\n // Add to the top\n state.beFedAllRecentSearches.unshift(recentSearch);\n\n if (state.beFedAllRecentSearches.length >= Config.maxRecentSearches) {\n // Remove last item\n state.beFedAllRecentSearches.splice(-1, 1);\n }\n },\n beFedSyncCurrentSearch(state, { searchParameters }) {\n state.beFedCurrentSearch.queryDetails = searchParameters;\n state.beFedCurrentSearch.queryDetails.query = searchParameters.query;\n },\n beFedResetCurrentSearch(state) {\n state.beFedCurrentSearch = {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n committees: [],\n query: null,\n metadataField: 'metadata',\n },\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// App specific\nimport Config from '@/config';\nimport statisticsAPI from '@/api/document/document-api-statistics';\n\n// initial state\nconst state = {\n beFedStatisticsTrend: null,\n beFedStatisticsStakeholders: [],\n beFedStatisticsTrendingTopics: [],\n};\n\n// getters\nconst getters = {\n beFedStatisticsTrend: (state) => state.beFedStatisticsTrend,\n beFedStatisticsStakeholders: (state) => state.beFedStatisticsStakeholders,\n beFedStatisticsTrendingTopics: (state) => state.beFedStatisticsTrendingTopics,\n};\n\n// actions\nconst actions = {\n\n async beFedGetStatistics({ commit, rootState }, analyticsCode) {\n let code = analyticsCode;\n // Get the currently set searchparameters\n const { searchParameters } = rootState;\n\n // Add statictics grouping to use\n searchParameters.trendsGroupingName = 'beFedTrendsGrouping';\n\n const responseTrend = await statisticsAPI.getTrend(searchParameters);\n commit('beFedSetTrend', responseTrend.data);\n\n if (code) {\n localStorage.setItem('beFedAnalyticsCode', code);\n } else {\n code = localStorage.getItem('beFedAnalyticsCode') || Config.beFedDefaultAnalyticsCode;\n }\n\n // TODO: determine what to do with this - use NL, create BE, skip?\n const { data: { data: stakeholdersData } } = await statisticsAPI\n .nlGetStakeholders(searchParameters, code);\n\n commit('beFedSetStakeholders', stakeholdersData);\n\n const responseTrendingTopics = await statisticsAPI.getTrendingTopics(searchParameters);\n\n commit('beFedSetTrendingTopics', responseTrendingTopics.data.data);\n },\n\n async beFedClearStatistics({ commit }) {\n commit('beFedClearStatistics');\n },\n};\n\n// mutations\nconst mutations = {\n beFedSetTrend(state, trend) {\n state.beFedStatisticsTrend = trend;\n },\n beFedSetStakeholders(state, stakeholders) {\n state.beFedStatisticsStakeholders = stakeholders;\n },\n beFedSetTrendingTopics(state, trendingTopics) {\n state.beFedStatisticsTrendingTopics = trendingTopics;\n },\n beFedClearStatistics(state) {\n state.beFedStatisticsStakeholders = [];\n state.beFedStatisticsTrendingTopics = [];\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import Config from '@/config';\nimport router from '@/router';\nimport i18n from '@/i18n';\nimport documentAPI from '@/api/document/document-api';\n\n// initial state\nconst state = {\n beFedSearchMoreAfter: null,\n\n beFedTimelineData: {\n data: [],\n countTotal: 0,\n hasMore: false,\n },\n beFedMaxDateRangeTimelineItemsTotal: 0,\n};\n\n// getters\nconst getters = {\n beFedSearchMoreAfter: (state) => state.beFedSearchMoreAfter,\n beFedTimelineItems: (state) => state.beFedTimelineData.data,\n beFedTimelineItemsCountTotal: (state) => state.beFedTimelineData.countTotal,\n beFedTimelineItemsHasMore: (state) => state.beFedSearchMoreAfter\n && (state.beFedTimelineData.data.length < state.beFedTimelineData.countTotal),\n beFedMaxDateRangeTimelineItemsHasMore: (state) => state.beFedNextItemUrl\n && (state.beFedTimelineData.data.length < state\n .beFedMaxDateRangeTimelineItemsTotal),\n beFedMaxDateRangeTimelineItemsTotal: (state) => state\n .beFedMaxDateRangeTimelineItemsTotal,\n};\n\n// actions\nconst actions = {\n beFedSetMaxDateRangeTimelineItemsTotal({ commit }, total) {\n commit('beFedSetMaxDateRangeTimelineItemsTotal', total);\n },\n\n beFedSetSearchMoreAfter({ commit }, url) {\n commit('beFedSetSearchMoreAfter', url);\n },\n\n // Although getEntityByUrl is asynchronous, it needs to be fired synchronous since the\n // items are sorted by time.\n async beFedGetAllTimelineItemsNext({ state, commit, rootState }) {\n // Check if beFedSearchMoreAfter is available\n if (state.beFedSearchMoreAfter) {\n const { searchParameters } = rootState;\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, searchAfter: state.beFedSearchMoreAfter },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n if (response.data.countTotal > 0 && response.data.searchMoreAfter) {\n commit('beFedSetSearchMoreAfter', response.data.searchMoreAfter);\n commit('beFedAppendTimelineItems', response.data);\n }\n }\n },\n\n async beFedGetAllTimelineItems({ commit, rootState }, skipHistory) {\n // Lets see how many times we have been called\n const { searchParameters } = rootState;\n const {\n query,\n groupPaths,\n groupingDetails,\n committees,\n } = searchParameters;\n\n commit('beFedClearTimelineItems');\n\n // Reset all errors\n commit('clearMessages');\n\n // Set lookBack to false to avoid button will be drawn when switching to\n // other date range\n this.dispatch('setLookBack', false);\n\n // Validate a query has been set.\n if (!query) {\n commit('setMessage', {\n message: i18n.t('generic.specifySubject'),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // Validate a query has been set.\n if (query.length < Config.minimalQueryLength) {\n commit('setMessage', {\n message: i18n.t('timeline.subjectTooShortWarning', { minimalQueryLength: Config.minimalQueryLength }),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // Remove any errors shown\n commit('clearMessages');\n\n // Mockupdata disable\n if (router.currentRoute.name === 'beFedDashboard' && !skipHistory) {\n // Add query to recent searches\n commit('beFedAddRecentSearch', {\n queryDetails: {\n query,\n groupPaths,\n groupingDetails,\n committees, // TODO: determine if this is necessary for BE FED\n },\n }, { root: true });\n // Set current search to null so none of the saved searches are shown as the active search\n commit('beFedResetCurrentSearch');\n }\n\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, includeFullHistoryCount: true },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n\n commit('beFedSetTimelineItems', response.data);\n\n if (response.data.searchMoreAfter) {\n commit('beFedSetSearchMoreAfter', response.data.searchMoreAfter);\n }\n if (response.data.fullHistoryCount) {\n commit('beFedSetMaxDateRangeTimelineItemsTotal', response.data.fullHistoryCount);\n }\n\n // Fetch trend, stakeholders and trending topics\n this.dispatch('beFedGetStatistics');\n\n if (response.data.countTotal === 0) {\n this.dispatch('setLookBack', true);\n commit('setMessage', {\n message: i18n.t('generic.noResultsFound'),\n type: 'info',\n });\n }\n },\n\n beFedClearTimelineItems({ commit }) {\n commit('beFedClearTimelineItems');\n },\n};\n\n// mutations\nconst mutations = {\n beFedSetMaxDateRangeTimelineItemsTotal(state, total) {\n state.beFedMaxDateRangeTimelineItemsTotal = total;\n },\n\n beFedSetSearchMoreAfter(state, beFedSearchMoreAfter) {\n state.beFedSearchMoreAfter = beFedSearchMoreAfter;\n },\n\n beFedSetTimelineItems(state, timelineData) {\n state.beFedTimelineData = timelineData;\n state.beFedTimelineData\n .hasMore = !!((timelineData.actions && timelineData.actions.more));\n },\n\n beFedAppendTimelineItems(state, timelineData) {\n state.beFedTimelineData.data = [...state\n .beFedTimelineData.data, ...timelineData.data];\n },\n\n beFedClearTimelineItems(state) {\n state.beFedTimelineData = {\n data: [],\n countTotal: 0,\n hasMore: false,\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import documentApi from '@/api/document/document-api';\n\n// initial state\nconst state = {\n beFlmDocument: null,\n beFlmDocumentRelated: null, // TODO: POLMONNL-6203 - Remove the call to this so it can be removed\n};\n\n// getters\nconst getters = {\n beFlmDocument: (state) => state.beFlmDocument,\n beFlmDocumentRelated: (state) => state.beFlmDocumentRelated, // TODO: POLMONNL-6203 - Remove the call to this so it can be removed\n};\n\n// actions\nconst actions = {\n async beFlmGetDocumentById({ commit }, args) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const document = await documentApi.getById(args.id, { highlightWord: args.highlightWord });\n commit('beFlmSetDocument', document.data);\n return document;\n },\n\n // TODO: POLMONNL-6203 - Remove the call to this so it can be removed\n async beFlmGetRelated({ commit }, refs) {\n // TODO: With the implemetation of the eu-module it might become handy to\n // add a 'shortDomainType' e.g. 'nl' or 'eu'\n const related = await documentApi.getRelated(refs);\n commit('beFlmSetDocumentRelated', related.data);\n return related;\n },\n};\n\n// mutations\nconst mutations = {\n beFlmSetDocument(state, document) {\n state.beFlmDocument = document;\n },\n\n beFlmSetDocumentRelated(state, related) {\n state.beFlmDocumentRelated = related;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","/*\n * Store to manage the state of stored search queries\n */\n\nimport Config from '@/config';\nimport savedSearchesApi from '@/api/document/document-api-searches';\n\n// initial state\nconst state = {\n // Holds all searches made by the user, this is the \"search history\"\n beFlmAllRecentSearches: [],\n\n // Holds all searches saved by the user on the server\n beFlmAllSavedSearches: [],\n\n beFlmMaxNumberOfSearches: null,\n\n // This is the currently selected search, could be recent or saved\n // Is used to highlight the active search in the list (via its id)\n beFlmCurrentSearch: {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n query: null,\n metadataField: 'metadata',\n },\n },\n};\n\n// getters\nconst getters = {\n beFlmAllRecentSearches: (state) => state.beFlmAllRecentSearches,\n beFlmAllSavedSearches: (state) => state.beFlmAllSavedSearches,\n beFlmCurrentSearch: (state) => state.beFlmCurrentSearch,\n beFlmMaxNumberOfSearches: (state) => state.beFlmMaxNumberOfSearches,\n};\n\n// actions\nconst actions = {\n async beFlmGetAllSavedSearches({ commit }) {\n const response = await savedSearchesApi.getAll({ groupingName: 'beFlmFiltersGrouping' });\n commit('beFlmSetSavedSearches', response.data);\n commit('beFlmMaxNumberOfSearches', response.data.numberOfSearches);\n return response;\n },\n\n async beFlmSaveSearch({ dispatch }, search) {\n let response;\n // If an id is provided the search is already stored on the server\n if (search.id) {\n response = await savedSearchesApi.update(search);\n } else {\n response = await savedSearchesApi.save(search);\n }\n\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n dispatch('beFlmGetAllSavedSearches');\n return response;\n },\n\n async beFlmSaveSearches({ dispatch }, search) {\n // Update multiple searches at once\n let response;\n try {\n response = await savedSearchesApi.updates(search);\n } finally {\n // Refresh the saved searches list with the data on the server to make sure everything between\n // server and client is in sync\n dispatch('beFlmGetAllSavedSearches');\n }\n\n return response;\n },\n\n // search is the current selected saved search object\n async beFlmUpdateSearch({\n state,\n rootState,\n commit,\n dispatch,\n }, search) {\n // We are going to update the current active saved search with the current searchparameters\n // This is only allowed in a mutation, therefore we use syncCurrentSearch\n commit('beFlmSyncCurrentSearch', { search, searchParameters: rootState.searchParameters });\n\n // Store the merged currentSearch on the server\n const response = await savedSearchesApi.update(state.beFlmCurrentSearch);\n\n dispatch('beFlmGetAllSavedSearches');\n return response;\n },\n\n async beFlmRemoveSearch({ dispatch }, search) {\n const response = await savedSearchesApi.delete(search);\n dispatch('beFlmGetAllSavedSearches');\n return response;\n },\n\n async beFlmSetCurrentSearch({ commit }, search) {\n commit('beFlmSetCurrentSearch', search);\n },\n\n beFlmResetCurrentSearch({ commit }) {\n commit('beFlmResetCurrentSearch');\n },\n\n async beFlmSetRecentSearches({ commit }, searches) {\n commit('beFlmSetRecentSearches', searches);\n },\n};\n\n// mutations\nconst mutations = {\n beFlmSetCurrentSearch(state, search) {\n state.beFlmCurrentSearch = search;\n },\n beFlmSetSavedSearches(state, searches) {\n // Reverse order of array because we want to draw the latest item on top.\n searches.data.reverse();\n state.beFlmAllSavedSearches = searches;\n },\n beFlmAddSavedSearch(state, search) {\n state.beFlmAllSavedSearches.data.unshift(search);\n },\n beFlmSetRecentSearches(state, searches) {\n state.beFlmAllRecentSearches = searches;\n },\n beFlmMaxNumberOfSearches(state, payload) {\n state.beFlmMaxNumberOfSearches = payload;\n },\n beFlmAddRecentSearch(state, search) {\n // Context and document types are sorted to avoid duplicates\n // when we are creating hashes in the future to detect if a search is\n // really new\\\n const recentSearch = search;\n\n // Add to the top\n state.beFlmAllRecentSearches.unshift(recentSearch);\n\n if (state.beFlmAllRecentSearches.length >= Config.maxRecentSearches) {\n // Remove last item\n state.beFlmAllRecentSearches.splice(-1, 1);\n }\n },\n beFlmSyncCurrentSearch(state, { searchParameters }) {\n state.beFlmCurrentSearch.queryDetails = searchParameters;\n state.beFlmCurrentSearch.queryDetails.query = searchParameters.query;\n },\n beFlmResetCurrentSearch(state) {\n state.beFlmCurrentSearch = {\n id: null,\n title: null,\n description: null,\n sendUpdatesPerEmail: {\n daily: false,\n realTime: false,\n },\n rssEnabled: false,\n queryDetails: {\n groupPaths: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n committees: [],\n query: null,\n metadataField: 'metadata',\n },\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// App specific\nimport Config from '@/config';\nimport statisticsAPI from '@/api/document/document-api-statistics';\n\n// initial state\nconst state = {\n beFlmStatisticsTrend: null,\n beFlmStatisticsStakeholders: [],\n beFlmStatisticsTrendingTopics: [],\n};\n\n// getters\nconst getters = {\n beFlmStatisticsTrend: (state) => state.beFlmStatisticsTrend,\n beFlmStatisticsStakeholders: (state) => state.beFlmStatisticsStakeholders,\n beFlmStatisticsTrendingTopics: (state) => state.beFlmStatisticsTrendingTopics,\n};\n\n// actions\nconst actions = {\n\n async beFlmGetStatistics({ commit, rootState }, analyticsCode) {\n let code = analyticsCode;\n // Get the currently set searchparameters\n const { searchParameters } = rootState;\n\n // Add statictics grouping to use\n searchParameters.trendsGroupingName = 'beFlmTrendsGrouping';\n\n const responseTrend = await statisticsAPI.getTrend(searchParameters);\n commit('beFlmSetTrend', responseTrend.data);\n\n if (code) {\n localStorage.setItem('beFlmAnalyticsCode', code);\n } else {\n code = localStorage.getItem('beFlmAnalyticsCode') || Config.beFlmDefaultAnalyticsCode;\n }\n\n // TODO: determine what to do with this - use NL, create BE, skip?\n const { data: { data: stakeholdersData } } = await statisticsAPI\n .nlGetStakeholders(searchParameters, code);\n\n commit('beFlmSetStakeholders', stakeholdersData);\n\n const responseTrendingTopics = await statisticsAPI.getTrendingTopics(searchParameters);\n\n commit('beFlmSetTrendingTopics', responseTrendingTopics.data.data);\n },\n\n async beFlmClearStatistics({ commit }) {\n commit('beFlmClearStatistics');\n },\n};\n\n// mutations\nconst mutations = {\n beFlmSetTrend(state, trend) {\n state.beFlmStatisticsTrend = trend;\n },\n beFlmSetStakeholders(state, stakeholders) {\n state.beFlmStatisticsStakeholders = stakeholders;\n },\n beFlmSetTrendingTopics(state, trendingTopics) {\n state.beFlmStatisticsTrendingTopics = trendingTopics;\n },\n beFlmClearStatistics(state) {\n state.beFlmStatisticsStakeholders = [];\n state.beFlmStatisticsTrendingTopics = [];\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import Config from '@/config';\nimport router from '@/router';\nimport i18n from '@/i18n';\nimport documentAPI from '@/api/document/document-api';\n\n// initial state\nconst state = {\n beFlmSearchMoreAfter: null,\n\n beFlmTimelineData: {\n data: [],\n countTotal: 0,\n hasMore: false,\n },\n beFlmMaxDateRangeTimelineItemsTotal: 0,\n};\n\n// getters\nconst getters = {\n beFlmSearchMoreAfter: (state) => state.beFlmSearchMoreAfter,\n beFlmTimelineItems: (state) => state.beFlmTimelineData.data,\n beFlmTimelineItemsCountTotal: (state) => state.beFlmTimelineData.countTotal,\n beFlmTimelineItemsHasMore: (state) => state.beFlmSearchMoreAfter\n && (state.beFlmTimelineData.data.length < state.beFlmTimelineData.countTotal),\n beFlmMaxDateRangeTimelineItemsHasMore: (state) => state.beFlmNextItemUrl\n && (state.beFlmTimelineData.data.length < state\n .beFlmMaxDateRangeTimelineItemsTotal),\n beFlmMaxDateRangeTimelineItemsTotal: (state) => state\n .beFlmMaxDateRangeTimelineItemsTotal,\n};\n\n// actions\nconst actions = {\n beFlmSetMaxDateRangeTimelineItemsTotal({ commit }, total) {\n commit('beFlmSetMaxDateRangeTimelineItemsTotal', total);\n },\n\n beFlmSetSearchMoreAfter({ commit }, url) {\n commit('beFlmSetSearchMoreAfter', url);\n },\n\n // Although getEntityByUrl is asynchronous, it needs to be fired synchronous since the\n // items are sorted by time.\n async beFlmGetAllTimelineItemsNext({ state, commit, rootState }) {\n // Check if beFlmSearchMoreAfter is available\n if (state.beFlmSearchMoreAfter) {\n const { searchParameters } = rootState;\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, searchAfter: state.beFlmSearchMoreAfter },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n if (response.data.countTotal > 0 && response.data.searchMoreAfter) {\n commit('beFlmSetSearchMoreAfter', response.data.searchMoreAfter);\n commit('beFlmAppendTimelineItems', response.data);\n }\n }\n },\n\n async beFlmGetAllTimelineItems({ commit, rootState }, skipHistory) {\n // Lets see how many times we have been called\n const { searchParameters } = rootState;\n const {\n query,\n groupPaths,\n groupingDetails,\n committees,\n } = searchParameters;\n\n commit('beFlmClearTimelineItems');\n\n // Reset all errors\n commit('clearMessages');\n\n // Set lookBack to false to avoid button will be drawn when switching to\n // other date range\n this.dispatch('setLookBack', false);\n\n // Validate a query has been set.\n if (!query) {\n commit('setMessage', {\n message: i18n.t('generic.specifySubject'),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // Validate a query has been set.\n if (query.length < Config.minimalQueryLength) {\n commit('setMessage', {\n message: i18n.t('timeline.subjectTooShortWarning', { minimalQueryLength: Config.minimalQueryLength }),\n type: 'info',\n }, { root: true });\n\n return;\n }\n\n // Remove any errors shown\n commit('clearMessages');\n\n // Mockupdata disable\n if (router.currentRoute.name === 'beFlmDashboard' && !skipHistory) {\n // Add query to recent searches\n commit('beFlmAddRecentSearch', {\n queryDetails: {\n query,\n groupPaths,\n groupingDetails,\n committees, // TODO: determine if this is necessary for BE FLM\n },\n }, { root: true });\n // Set current search to null so none of the saved searches are shown as the active search\n commit('beFlmResetCurrentSearch');\n }\n\n const response = await documentAPI.getTimelineItems(\n { ...searchParameters, includeFullHistoryCount: true },\n );\n if (!response) {\n commit('setMessage', {\n message: i18n.t('errorMessage.unknownProblemContactUs'),\n type: 'info',\n });\n return;\n }\n\n commit('beFlmSetTimelineItems', response.data);\n\n if (response.data.searchMoreAfter) {\n commit('beFlmSetSearchMoreAfter', response.data.searchMoreAfter);\n }\n if (response.data.fullHistoryCount) {\n commit('beFlmSetMaxDateRangeTimelineItemsTotal', response.data.fullHistoryCount);\n }\n\n // Fetch trend, stakeholders and trending topics\n this.dispatch('beFlmGetStatistics');\n\n if (response.data.countTotal === 0) {\n this.dispatch('setLookBack', true);\n commit('setMessage', {\n message: i18n.t('generic.noResultsFound'),\n type: 'info',\n });\n }\n },\n\n beFlmClearTimelineItems({ commit }) {\n commit('beFlmClearTimelineItems');\n },\n};\n\n// mutations\nconst mutations = {\n beFlmSetMaxDateRangeTimelineItemsTotal(state, total) {\n state.beFlmMaxDateRangeTimelineItemsTotal = total;\n },\n\n beFlmSetSearchMoreAfter(state, beFlmSearchMoreAfter) {\n state.beFlmSearchMoreAfter = beFlmSearchMoreAfter;\n },\n\n beFlmSetTimelineItems(state, timelineData) {\n state.beFlmTimelineData = timelineData;\n state.beFlmTimelineData\n .hasMore = !!((timelineData.actions && timelineData.actions.more));\n },\n\n beFlmAppendTimelineItems(state, timelineData) {\n state.beFlmTimelineData.data = [...state\n .beFlmTimelineData.data, ...timelineData.data];\n },\n\n beFlmClearTimelineItems(state) {\n state.beFlmTimelineData = {\n data: [],\n countTotal: 0,\n hasMore: false,\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","import polpoApi from './polpoApi';\n\nexport default {\n login: async (credentials) => polpoApi.post('users/login', credentials),\n logout: async () => polpoApi.get('users/logout'),\n register: async (userData) => polpoApi.post('users/register', userData),\n};\n","import ConfigServer from '@/config.server';\nimport authenticationAPI from '../../api/authentication';\n\n// initial state\nconst defaultState = {\n isAuthenticated: false,\n sessionToken: null,\n roles: [],\n activeModules: [],\n firstName: null,\n lastName: null,\n};\n\nconst state = JSON.parse(localStorage.getItem('authenticationState')) || defaultState;\n\n// getters\nconst getters = {\n userName: ({ firstName, lastName }) => `${firstName} ${lastName}`,\n authIsAuthenticated: (state) => state.isAuthenticated,\n authRoles: (state) => state.roles,\n authSessionToken: (state) => state.sessionToken,\n authHasRole: (state) => (role) => state.roles.indexof(role) > -1,\n authActiveModules: (state) => state.activeModules,\n authHasModuleAccess: (state) => (moduleCode, moduleConfiguration) => {\n // Needed to avoid issues when activeModules has never been stored yet\n // Can be removed when all users have logged out and logged in again\n if (!state.activeModules) {\n state.activeModules = [];\n }\n\n const matchingModule = state.activeModules.find((module) => module.moduleStatus\n .isActive && module.moduleStatus.moduleCode === moduleCode);\n\n if (!matchingModule) {\n return false;\n }\n\n if (moduleConfiguration) {\n let hasAccess = true;\n Object.keys(moduleConfiguration).forEach((key) => {\n if (hasAccess && Object.prototype.hasOwnProperty.call(moduleConfiguration, key)\n && matchingModule.moduleConfiguration[key] !== moduleConfiguration[key]) {\n hasAccess = false;\n }\n });\n if (!hasAccess) {\n return false;\n }\n }\n\n return true;\n },\n};\n\n// actions\nconst actions = {\n\n /**\n * Logs the user in and sets the received token in the state\n *\n * @param {any} { commit }\n */\n async login({ commit }, payload) {\n // Reset all errors\n commit('clearMessages');\n\n try {\n const response = await authenticationAPI.login(payload);\n const {\n token,\n activeModules,\n firstName,\n lastName,\n } = response.data;\n\n if (token) {\n commit('setIsAuthenticated', true);\n commit('setSessionToken', token);\n commit('setSessionTokenAsCookie');\n commit('setActiveModules', activeModules);\n commit('setSessionName', { firstName, lastName });\n }\n return response;\n } catch {\n return null;\n }\n },\n\n clearCache({ commit }) {\n commit('setUserRoles', []);\n commit('setIsAuthenticated', false);\n commit('setSessionToken', null);\n commit('setSessionTokenAsCookie');\n commit('setActiveModules', []);\n // Check if legacy userState key exists in localStorage if so remove it.\n // See: https://stackoverflow.com/questions/3262605/how-to-check-whether-a-storage-item-is-set\n if (localStorage.getItem('userState') !== null) {\n localStorage.removeItem('userState');\n }\n },\n\n /**\n * Logs the out and resets the state\n *\n * @param {any} { commit }\n */\n async logout({ dispatch }) {\n const response = await authenticationAPI.logout();\n\n dispatch('clearCache');\n\n return response;\n },\n\n /**\n * Sets if the user is authenticated\n *\n * @param {any} { commit }\n */\n async setIsAuthenticated({ commit }, isAuthenticated) {\n commit('setIsAuthenticated', isAuthenticated);\n },\n\n /**\n * Sets if the user is authenticated\n *\n * @param {any} { commit }\n */\n async setSessionToken({ commit }, sessionToken) {\n commit('setSessionToken', sessionToken);\n commit('setSessionTokenAsCookie');\n },\n\n async setSessionTokenAsCookie({ commit }) {\n commit('setSessionTokenAsCookie');\n },\n\n /**\n * sets the user's roles\n *\n * @param {any} { commit }\n */\n async setUserRoles({ commit }, roles) {\n commit('setUserRoles', roles);\n },\n\n};\n\n// mutations\nconst mutations = {\n setUserRoles(state, roles) {\n state.roles = roles;\n },\n setIsAuthenticated(state, isAuthenticated) {\n state.isAuthenticated = isAuthenticated;\n },\n setSessionToken(state, sessionToken) {\n state.sessionToken = sessionToken;\n localStorage.setItem('authenticationState', JSON.stringify(state));\n },\n setSessionTokenAsCookie(state) {\n // Copy the authToken to a cookie, since some requests can't send it as header.\n // For example the request made by an audio-elem.\n // Note this is only for LOCAL where the different FE & BE domains make it impossible to\n // set a cookie from the BE. So we set this less-safe cookie from FE instead.\n // Note the lack if the HttpOnly flag!\n // 28800s = 8h\n if (ConfigServer.polpo_env === 'local') {\n const domain = new URL(ConfigServer.address).hostname;\n document.cookie = `jwtToken=${state.sessionToken}; Path=/; Domain=${domain}; SameSite=Strict; Secure; Max-Age=28800`;\n }\n },\n setSessionName(state, { firstName, lastName }) {\n state.firstName = firstName;\n state.lastName = lastName;\n localStorage.setItem('authenticationState', JSON.stringify(state));\n },\n setActiveModules(state, activeModules) {\n state.activeModules = activeModules;\n localStorage.setItem('authenticationState', JSON.stringify(state));\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// import polpoApi from './polpoApi';\n\nexport default {\n // getByQuery: async (query) => polpoApi.getById('autocomplete/query', query),\n getByQuery: async () => ({\n data: [\n { value: 'politie' },\n { value: 'politiek' },\n { value: 'politieke partijen' },\n ],\n }),\n};\n","// App specific\nimport autocompleteAPI from '../../api/autocomplete';\n\n// initial state\nconst state = {\n query: [],\n};\n\n// getters\nconst getters = {\n getAutocompleteQuery: (state) => state.query,\n};\n\n// actions\nconst actions = {\n\n /**\n * Retreives autocompletion for query\n *\n * @param {any} { state, commit, rootState }\n */\n async getAutocompleteByQuery({ commit }, query) {\n const response = await autocompleteAPI.getByQuery(query);\n commit('setAutocompleteQuery', response.data);\n },\n};\n\n// mutations\nconst mutations = {\n setAutocompleteQuery(state, autocompletionData) {\n state.query = autocompletionData;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// initial state\nconst state = {\n isIE11: false,\n};\n\n// getters\nconst getters = {\n isIE11: (state) => state.isIE11,\n};\n\n// actions\nconst actions = {\n setIsIE11({ commit }) {\n commit('setIsIE11');\n },\n};\n\n// mutations\nconst mutations = {\n setIsIE11(state) {\n state.isIE11 = (!!window.MSInputMethodContext && !!document.documentMode);\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","/*\n * Store to manage the state of loading elements in the app\n */\n\n// initial state\nconst state = {\n globalLoaderBusy: false,\n};\n\n// getters\nconst getters = {\n globalLoaderBusy: (state) => state.globalLoaderBusy,\n};\n\n// actions\nconst actions = {\n setGlobalLoaderBusy({ commit }, busy) {\n commit('setGlobalLoaderBusy', busy);\n },\n};\n\n// mutations\nconst mutations = {\n setGlobalLoaderBusy(state, busy) {\n state.globalLoaderBusy = busy;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","const state = {\n confirmDialogHeader: 'Header',\n confirmDialogBody: 'Body',\n};\n\n// getters\nconst getters = {\n confirmDialogHeader: (state) => state.confirmDialogHeader,\n confirmDialogBody: (state) => state.confirmDialogBody,\n};\n\n// actions\nconst actions = {\n setConfirmDialogHeader({ commit }, payload) {\n commit('setConfirmDialogHeader', payload);\n },\n setConfirmDialogBody({ commit }, payload) {\n commit('setConfirmDialogBody', payload);\n },\n};\n\n// mutations\nconst mutations = {\n setConfirmDialogHeader(state, payload) {\n state.confirmDialogHeader = payload;\n },\n setConfirmDialogBody(state, payload) {\n state.confirmDialogBody = payload;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// App specific\nimport fileApi from '@/api/document/document-api-file';\n\nconst initialState = {\n checkFile: false,\n file: null,\n fileMissing: false,\n};\n\n// initial state\nlet state = {\n ...initialState,\n};\n\n// getters\nconst getters = {\n checkFile: (state) => state.checkFile,\n file: (state) => state.file,\n fileMissing: (state) => state.fileMissing,\n};\n\n// actions\nconst actions = {\n\n /**\n * Retrieves whether or not a file exists for a particular document from the backend API\n *\n * @param {any} { commit }\n * @param {String} args.docType - Document type of the document to check if a file exists for\n * @param {String} args.docId - ID of the document to check if a file exists for\n */\n async checkFile({ commit }, args) {\n const response = await fileApi.checkFile(args.docType, args.docId, { mimeType: args.mimeType });\n if (response.data.access === 'Granted') commit('setCheckFile', true);\n else commit('setCheckFile', false);\n },\n\n /**\n * Retrieves the file data of a particular document from the backend API\n *\n * @param {any} { commit }\n * @param {String} args.docType - Document type of the document to get file data for\n * @param {String} args.docId - ID of the document to get file data for\n */\n async getFile({ commit }, {\n docType, docId, mimeType, timeout,\n }) {\n try {\n const response = await fileApi.getFile(docType, docId, { mimeType }, timeout);\n if (response.data.byteLength > 140) commit('setFile', response.data);\n else commit('setFileMissing');\n } catch (_) {\n commit('setFileMissing');\n }\n },\n\n setFile: ({ commit, state }, newValue) => {\n commit('setFile', newValue);\n return state.file;\n },\n\n setCheckFile: ({ commit, state }, newValue) => {\n commit('setCheckFile', newValue);\n return state.checkFile;\n },\n\n clearAllFileData({ commit }) {\n commit('clearAllFileData');\n },\n};\n\n// mutations\nconst mutations = {\n setCheckFile(state, checkFile) {\n state.checkFile = checkFile;\n },\n\n setFile(state, file) {\n state.file = file;\n },\n\n setFileMissing(state) {\n state.fileMissing = true;\n },\n\n clearAllFileData() {\n state = {\n ...initialState,\n };\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// initial state\nconst state = {\n message: null,\n};\n\n// getters\nconst getters = {\n getMessage: () => state.message,\n};\n\n// actions\nconst actions = {\n clearMessages({ commit }) {\n commit('clearMessages');\n },\n setMessage({ commit }, message) {\n commit('setMessage', message);\n },\n};\n\n// mutations\nconst mutations = {\n\n clearMessages(state) {\n state.message = null;\n },\n\n setMessage(state, message) {\n state.message = message;\n },\n\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// initial state\nconst state = {\n referrer: true,\n};\n\n// getters\nconst getters = {\n referrer: (state) => state.referrer,\n};\n\n// actions\nconst actions = {\n setReferrer({ commit }, boolean) {\n commit('setReferrer', boolean);\n },\n};\n\n// mutations\nconst mutations = {\n setReferrer(state, boolean) {\n state.referrer = boolean;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","/*\n * Store to manage all search parameters\n */\n\nimport Config from '@/config';\n\n// Returns an ISO date string with today minus the configurated offset\nfunction defaultStartDateISO() {\n const startDate = new Date(\n (new Date()).getTime() - Config.dateFilterOffset, // today - offset\n );\n startDate.setHours(0, 0, 0, 0); // ... but end of day\n return startDate.toISOString();\n}\n\nconst defaultEndDateISO = () => {\n const endDate = new Date(); // now\n endDate.setHours(23, 59, 59, 999); // ... but end of day\n return endDate.toISOString();\n};\n\n// initial state\nconst state = {\n query: '',\n startDate: defaultStartDateISO(),\n endDate: defaultEndDateISO(),\n context: [],\n groupingDetails: {\n name: null,\n version: null,\n },\n groupPaths: [],\n euEpCommittees: [],\n\n minimalMatchPercentage: parseInt(localStorage.getItem('minimalMatchPercentage'), 10) || Config.defaultMinimalMatchPercentage,\n size: Config.pageSizeTimeline,\n agendaFilters: [],\n lookBack: false,\n metadataField: 'metadata',\n locale: JSON.parse(localStorage.getItem('locale')) || 'nl',\n};\n\n// getters\nconst getters = {\n allSearchParameters: (state) => state,\n searchParameterQuery: (state) => state.query,\n searchParameterGroupPaths: (state) => state.groupPaths,\n searchParameterEuEpCommittees: (state) => state.euEpCommittees,\n searchParameterDateRange: (state) => ([state.startDate, state.endDate]),\n searchParameterMinimalMatchPercentage: (state) => state.minimalMatchPercentage,\n lookBack: (state) => state.lookBack,\n};\n\n// Helper functions\nconst setSharedSearchParameters = (commit, searchParameters) => {\n commit('updateQuery', searchParameters.query);\n commit('updateGroupPaths', searchParameters.groupPaths);\n commit('updateDateRange', searchParameters.dateRange);\n // TODO: is this even necessary?\n // commit('updateLocale', searchParameters.locale);\n};\n\nconst setNlSearchParameters = (commit, searchParameters) => {\n commit('updateContext', searchParameters.context);\n commit('updateMinimalMatchPercentage', searchParameters.minimalMatchPercentage);\n};\n\nconst setEuSearchParameters = (commit, searchParameters) => {\n commit('updateEuEpCommittees', searchParameters.euEpCommittees);\n};\n\nconst clearAllSearchParameters = (commit) => {\n commit('updateQuery', '');\n commit('updateGroupPaths', []);\n commit('updateDateRange', {\n startDate: defaultStartDateISO(),\n endDate: defaultEndDateISO(),\n });\n commit('updateContext', []);\n commit(\n 'updateMinimalMatchPercentage',\n parseInt(localStorage.getItem('minimalMatchPercentage'), 10)\n || Config.defaultMinimalMatchPercentage,\n );\n commit('updateEuEpCommittees', []);\n};\n\n// actions\nconst actions = {\n setLookBack({ commit }, boolean) {\n commit('setLookBack', boolean);\n },\n\n setSearchParametersLocale({ commit }, locale) {\n commit('updateLocale', locale);\n },\n\n nlSetAllSearchParameters({ commit, dispatch }, payload) {\n setSharedSearchParameters(commit, payload);\n setNlSearchParameters(commit, payload);\n dispatch('nlGetAllTimelineItems', true);\n },\n euSetAllSearchParameters({ commit, dispatch }, payload) {\n setSharedSearchParameters(commit, payload);\n setEuSearchParameters(commit, payload);\n dispatch('euGetAllTimelineItems', true);\n },\n nlLrSetAllSearchParameters({ commit, dispatch }, payload) {\n setSharedSearchParameters(commit, payload);\n dispatch('nlLrGetAllTimelineItems', true);\n },\n beFedSetAllSearchParameters({ commit, dispatch }, payload) {\n setSharedSearchParameters(commit, payload);\n dispatch('beFedGetAllTimelineItems', true);\n },\n beFlmSetAllSearchParameters({ commit, dispatch }, payload) {\n setSharedSearchParameters(commit, payload);\n dispatch('beFlmGetAllTimelineItems', true);\n },\n\n clearAllSearchParameters({ commit }) {\n clearAllSearchParameters(commit);\n },\n\n setQuery({ commit }, payload) {\n commit('updateQuery', payload);\n },\n\n setDateRange({ commit }, payload) {\n commit('updateDateRange', payload);\n },\n\n setContext({ commit }, payload) {\n commit('updateContext', payload);\n },\n\n setGroupPaths({ commit }, payload) {\n commit('updateGroupPaths', payload);\n },\n\n setGroupingDetails({ commit }, payload) {\n commit('updateGroupingDetails', payload);\n },\n\n setEuEpCommittees({ commit }, payload) {\n commit('updateEuEpCommittees', payload);\n },\n\n setMinimalMatchPercentage({ commit }, payload) {\n commit('updateMinimalMatchPercentage', payload);\n },\n\n setCheckboxFilter({ commit }, args) {\n commit('setCheckboxFilter', args);\n },\n};\n\n\n// mutations\nconst mutations = {\n setLookBack(state, boolean) {\n state.lookBack = boolean;\n },\n\n updateQuery(state, query) {\n state.query = query;\n },\n\n updateDateRange(state, dateRange) {\n if (dateRange) {\n state.startDate = dateRange.startDate;\n state.endDate = dateRange.endDate;\n }\n },\n\n updateContext(state, context) {\n state.context = context;\n },\n\n updateGroupPaths(state, groupPaths) {\n state.groupPaths = groupPaths;\n },\n\n updateEuEpCommittees(state, commissions) {\n state.euEpCommittees = commissions;\n },\n\n updateGroupingDetails(state, args) {\n state.groupingDetails = args;\n },\n\n updateMinimalMatchPercentage(state, percentage) {\n state.minimalMatchPercentage = percentage;\n localStorage.setItem('minimalMatchPercentage', percentage);\n },\n\n setCheckboxFilter(state, args) {\n state[args.filterKey] = args.filterValue;\n },\n\n updateLocale(state, locale) {\n state.locale = locale;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","/*\n * Store to manage the visibility of items\n */\n\nconst state = {\n sidebarVisible: {\n left: false,\n right: false,\n },\n nlDialogFormSavedSearches: false,\n euDialogFormSavedSearches: false,\n nlLrDialogFormSavedSearches: false,\n beFedDialogFormSavedSearches: false,\n beFlmDialogFormSavedSearches: false,\n agendaDialogFormSavedSearches: false,\n dialogConfirmDialog: false,\n supportDialog: false,\n trendAnalyticsExpanded: false,\n};\n\n// getters\nconst getters = {\n sidebarVisible: (state) => state.sidebarVisible,\n nlDialogFormSavedSearchesVisible: (state) => state.nlDialogFormSavedSearches,\n euDialogFormSavedSearchesVisible: (state) => state.euDialogFormSavedSearches,\n nlLrDialogFormSavedSearchesVisible:\n (state) => state.nlLrDialogFormSavedSearches,\n beFedDialogFormSavedSearchesVisible:\n (state) => state.beFedDialogFormSavedSearches,\n beFlmDialogFormSavedSearchesVisible:\n (state) => state.beFlmDialogFormSavedSearches,\n agendaDialogFormSavedSearchesVisible: (state) => state.agendaDialogFormSavedSearches,\n dialogConfirmDialogVisible: (state) => state.dialogConfirmDialog,\n supportDialogVisible: (state) => state.supportDialog,\n trendAnalyticsExpanded: (state) => state.trendAnalyticsExpanded,\n};\n\n// actions\nconst actions = {\n\n // Sidebars\n hideSidebars({ commit }) {\n commit('setSidebarVisible', { sidebar: 'right', visible: false });\n commit('setSidebarVisible', { sidebar: 'left', visible: false });\n },\n setSidebarVisible({ commit }, args) {\n commit('setSidebarVisible', args);\n },\n toggleSidebarVisible({ commit }, sidebar) {\n commit('toggleSidebarVisible', sidebar);\n },\n\n // Forms\n // toggleDialogFormSavedSearches({ commit }) {\n // commit('toggleDialogFormSavedSearchesVisible');\n // },\n nlSetDialogFormSavedSearchesVisible({ commit }, visible) {\n commit('nlSetDialogFormSavedSearchesVisible', visible);\n },\n euSetDialogFormSavedSearchesVisible({ commit }, visible) {\n commit('euSetDialogFormSavedSearchesVisible', visible);\n },\n nlLrSetDialogFormSavedSearchesVisible({ commit }, visible) {\n commit('nlLrSetDialogFormSavedSearchesVisible', visible);\n },\n beFedSetDialogFormSavedSearchesVisible({ commit }, visible) {\n commit('beFedSetDialogFormSavedSearchesVisible', visible);\n },\n beFlmSetDialogFormSavedSearchesVisible({ commit }, visible) {\n commit('beFlmSetDialogFormSavedSearchesVisible', visible);\n },\n agendaSetDialogFormSavedSearchesVisible({ commit }, visible) {\n commit('agendaSetDialogFormSavedSearchesVisible', visible);\n },\n\n // ConfirmDialog\n toggleConfirmDialog({ commit }) {\n commit('toggleConfirmDialogVisible');\n },\n setConfirmDialogVisible({ commit }, visible) {\n commit('setConfirmDialogVisible', visible);\n },\n\n // SupportDialog\n toggleSupportDialog({ commit }) {\n commit('toggleSupportDialogVisible');\n },\n setSupportDialogVisible({ commit }, visible) {\n commit('setSupportDialogVisible', visible);\n },\n\n // trendAnalyticsExpanded\n toggleTrendAnalyticsExpanded({ commit }) {\n commit('toggleTrendAnalyticsExpanded');\n },\n\n};\n\n// mutations\nconst mutations = {\n toggleSidebarVisible(state, sidebar) {\n state.sidebarVisible[sidebar] = !state.sidebarVisible[sidebar];\n },\n setSidebarVisible(state, args) {\n state.sidebarVisible[args.sidebar] = args.visible;\n },\n\n // toggleDialogFormSavedSearches(state) {\n // state.dialogFormSavedSearches = !state.dialogFormSavedSearches;\n // },\n nlSetDialogFormSavedSearchesVisible(state, visible) {\n state.nlDialogFormSavedSearches = visible;\n },\n euSetDialogFormSavedSearchesVisible(state, visible) {\n state.euDialogFormSavedSearches = visible;\n },\n nlLrSetDialogFormSavedSearchesVisible(state, visible) {\n state.nlLrDialogFormSavedSearches = visible;\n },\n beFedSetDialogFormSavedSearchesVisible(state, visible) {\n state.beFedDialogFormSavedSearches = visible;\n },\n beFlmSetDialogFormSavedSearchesVisible(state, visible) {\n state.beFlmDialogFormSavedSearches = visible;\n },\n agendaSetDialogFormSavedSearchesVisible(state, visible) {\n state.agendaDialogFormSavedSearches = visible;\n },\n\n toggleConfirmDialog(state) {\n state.dialogConfirmDialog = !state.dialogConfirmDialog;\n },\n setConfirmDialogVisible(state, visible) {\n state.dialogConfirmDialog = visible;\n },\n\n toggleSupportDialog(state) {\n state.supportDialog = !state.supportDialog;\n },\n setSupportDialogVisible(state, visible) {\n state.supportDialog = visible;\n },\n toggleTrendAnalyticsExpanded(state) {\n state.trendAnalyticsExpanded = !state.trendAnalyticsExpanded;\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// initial state\nconst state = {\n documentId: null,\n highlightWord: null,\n isEmailLink: null,\n};\n\n// getters\nconst getters = {\n getDocumentId: (state) => state.documentId,\n getHighlightedWord: (state) => state.highlightWord,\n getIsEmailLink: (state) => state.isEmailLink,\n};\n\n// mutations\nconst mutations = {\n setHighlightedWord(state, payload) {\n state.highlightWord = payload;\n },\n setDocumentId(state, payload) {\n state.documentId = payload;\n },\n setIsEmailLink(state, payload) {\n state.isEmailLink = payload;\n },\n};\n\nconst actions = {\n setHighlightedWord({ commit }, payload) {\n commit('setHighlightedWord', payload);\n },\n setDocumentId({ commit }, payload) {\n commit('setDocumentId', payload);\n },\n setIsEmailLink({ commit }, payload) {\n commit('setIsEmailLink', payload);\n },\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations,\n};\n","// Vue\nimport Vue from 'vue';\nimport Vuex from 'vuex';\n\n// Vuex logger\nimport createLogger from 'vuex/dist/logger';\n\n// App specific\nimport { accountStoreModule } from '../modules/account';\nimport { agendaSearchesStoreModule, agendaStoreModule } from '../modules/agendaDashboard';\nimport {\n documentSearchesStoreModule,\n documentStatisticsStoreModule,\n documentStoreModule,\n documentTimelineStoreModule,\n} from '../modules/documentDashboard/nlDashboard';\nimport {\n euDocumentStoreModule,\n euSearchesStoreModule,\n euStatisticsStoreModule,\n euTimelineStoreModule,\n} from '../modules/documentDashboard/euDashboard';\nimport { listItemStoreModule, listStoreModule } from '../modules/listManager';\nimport {\n nlLrDocumentStoreModule,\n nlLrSearchesStoreModule,\n nlLrStatisticsStoreModule,\n nlLrTimelineStoreModule,\n} from '../modules/documentDashboard/nlLrDashboard';\nimport {\n beFedDocumentStoreModule,\n beFedSearchesStoreModule,\n beFedStatisticsStoreModule,\n beFedTimelineStoreModule,\n beFlmDocumentStoreModule,\n beFlmSearchesStoreModule,\n beFlmStatisticsStoreModule,\n beFlmTimelineStoreModule,\n} from '../modules/documentDashboard/genericDashboard';\n\nimport authentication from './modules/authentication';\nimport autocomplete from './modules/autocomplete';\nimport browser from './modules/browser';\nimport busy from './modules/busy';\nimport confirmDialog from './modules/confirmDialog';\nimport fileStore from './modules/file-store';\nimport messages from './modules/messages';\nimport referrer from './modules/referrer';\nimport searchParameters from './modules/searchParameters';\nimport visibility from './modules/visibility';\nimport emailUpdate from './modules/emailUpdate';\n\nVue.use(Vuex);\n\n// const debug = process.env.NODE_ENV !== 'production';\nconst debug = false;\n\nexport default new Vuex.Store({\n modules: {\n accountStoreModule,\n agendaStoreModule,\n agendaSearchesStoreModule,\n documentStoreModule,\n documentSearchesStoreModule,\n documentTimelineStoreModule,\n documentStatisticsStoreModule,\n euDocumentStoreModule,\n euSearchesStoreModule,\n euStatisticsStoreModule,\n euTimelineStoreModule,\n listStoreModule,\n listItemStoreModule,\n nlLrDocumentStoreModule,\n nlLrSearchesStoreModule,\n nlLrStatisticsStoreModule,\n nlLrTimelineStoreModule,\n beFedDocumentStoreModule,\n beFedSearchesStoreModule,\n beFedStatisticsStoreModule,\n beFedTimelineStoreModule,\n beFlmDocumentStoreModule,\n beFlmSearchesStoreModule,\n beFlmStatisticsStoreModule,\n beFlmTimelineStoreModule,\n autocomplete,\n authentication,\n busy,\n browser,\n confirmDialog,\n fileStore,\n messages,\n referrer,\n searchParameters,\n visibility,\n emailUpdate,\n },\n strict: debug,\n plugins: debug ? [createLogger()] : [],\n});\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-ps\": \"4c98\",\n\t\"./ar-ps.js\": \"4c98\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku-kmr\": \"7558\",\n\t\"./ku-kmr.js\": \"7558\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","import polpoApi from '@/api/polpoApi';\n\nexport default {\n // The timestamp thingies are here due to IE11\n // See: https://stackoverflow.com/questions/49263559/using-javascript-axios-fetch-can-you-disable-browser-cache\n get: async (id) => polpoApi.get(`lists/${id}?timestamp=${new Date().getTime()}`),\n getArchived: async () => polpoApi.get(`lists/archived?timestamp=${new Date().getTime()}`),\n getActive: async () => polpoApi.get(`lists/active?timestamp=${new Date().getTime()}`),\n save: async (list) => polpoApi.post('lists', list),\n delete: async (list) => polpoApi.delete('lists', list),\n update: async (list) => polpoApi.put('lists', list),\n getListItems: async (id) => polpoApi.get(`lists/${id}/list-items?timestamp=${new Date().getTime()}`),\n getListExportHTMLPreviewToken: async (id) => polpoApi.get(`lists/${id}/export/html-token?timestamp=${new Date().getTime()}`),\n getHTMLExport: async (id, token, locale) => polpoApi.get(`lists/${id}/export/html/${locale}/${token}`),\n verify: async (email) => polpoApi.post('lists/verify', { email }),\n transfer: async (email, listIds) => polpoApi.patchRaw('lists/transfer', { email, listIds }),\n sort: async (list, desc) => polpoApi.patchRaw(`lists/${list}/list-items/sort`, { desc }),\n duplicate: async (list) => polpoApi.post(`lists/${list}/duplicate`),\n clearList: async (listId) => polpoApi.deleteRaw(`lists/${listId}/list-items/delete`),\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',{attrs:{\"id\":\"app\",\"hidden\":\"\"}},[_c('v-main',{class:!this.$vuetify.theme.dark ? 'grey lighten-3' : ''},[_c('router-view',{staticClass:\"mt-n1\"}),_c('support-dialog'),_c('confirm-dialog')],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.supportDialogVisible)?_c('v-dialog',{attrs:{\"max-width\":\"768\",\"persistent\":\"\",\"scrollable\":\"\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_c('v-container',{staticClass:\"ma-0 pa-0\"},[_c('v-row',[_c('v-col',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"d-inline-block align-self-start text-subtitle-1\",staticStyle:{\"width\":\"80%\"}},[_vm._v(\" Support Tips \")]),_c('div',{staticClass:\"d-inline-block text-right align-self-start\",staticStyle:{\"width\":\"20%\"}},[_c('v-icon',{staticClass:\"mt-n2 mr-n2\",on:{\"click\":function($event){return _vm.hideSupportDialog()}}},[_vm._v(\" mdi-close \")])],1)])],1),_c('v-row',[_c('v-col',[_c('v-tabs',{attrs:{\"show-arrows\":\"\",\"light\":\"\",\"background-color\":\"grey lighten-3\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab',[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.searchSymbols'))+\" \")]),_c('v-tab',[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.videoInstructions'))+\" \"),_c('v-icon',{staticStyle:{\"padding-left\":\"2px\",\"padding-top\":\"2px\"},attrs:{\"size\":\"18\"}},[_vm._v(\" mdi-video \")])],1),_c('v-tab',[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.agendaInstructions'))+\" \"),_c('v-icon',{staticStyle:{\"padding-left\":\"2px\",\"padding-top\":\"2px\"},attrs:{\"size\":\"18\"}},[_vm._v(\" mdi-file \")])],1),_c('v-tab',[_vm._v(\" FAQs (9) \")]),_c('v-tab',[_vm._v(\" Contact \")])],1)],1)],1)],1)],1),_c('v-card-text',{staticStyle:{\"height\":\"75vh\"}},[_c('v-tabs-items',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab-item',[_c('div',{staticClass:\"text-container\"},[_c('div',{staticClass:\"boolean-search-syntax\"},[_c('h4',{staticClass:\"boolean-sign\"},[_vm._v(\" + \")]),_c('h4',{staticClass:\"boolean-head\"},[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanAndHead'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanAndExample'))+\" \")]),_c('h4',{staticClass:\"second-sign\"},[_vm._v(\" ~ \")]),_c('p',{staticClass:\"second-head first\"},[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanProximityHead'))+\" \")]),_c('p',{staticClass:\"second-head font-italic\"},[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanProximityExample'))+\" \")])]),_c('div',{staticClass:\"boolean-search-syntax\"},[_c('h4',{staticClass:\"boolean-sign\"},[_vm._v(\" | \")]),_c('h4',{staticClass:\"boolean-head\"},[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanOrHead'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanOrExample'))+\" \")])]),_c('div',{staticClass:\"boolean-search-syntax\"},[_c('h4',{staticClass:\"boolean-sign\"},[_vm._v(\" \\\" \")]),_c('h4',{staticClass:\"boolean-head\"},[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanPhraseHead'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"supportTips.booleanPhraseExample1\"))),_c('br'),_vm._v(_vm._s(_vm.$t(\"supportTips.booleanPhraseExample2\"))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"supportTips.booleanPhraseTip\"))+\" \")])]),_c('div',{staticClass:\"boolean-search-syntax\"},[_c('h4',{staticClass:\"boolean-sign\"},[_vm._v(\" * \")]),_c('h4',{staticClass:\"boolean-head\"},[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanWildcardHead'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanWildcardExample'))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanWildcardTip'))+\" \")])]),_c('div',{staticClass:\"boolean-search-syntax\"},[_c('h4',{staticClass:\"boolean-sign boolean-small\"},[_vm._v(\" ( ) \")]),_c('h4',{staticClass:\"boolean-head\"},[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanGroupingHead'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanGroupingExample'))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanGroupingTip'))+\" \")])]),_c('div',{staticClass:\"boolean-search-syntax\"},[_c('h4',{staticClass:\"boolean-sign\"},[_vm._v(\" - \")]),_c('h4',{staticClass:\"boolean-head\"},[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanNotHead'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanNotTip'))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanNotExample'))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('supportTips.booleanNotExampleExplain'))+\" \")])])])]),_c('v-tab-item',[_c('div',{staticClass:\"text-container\"},[_c('v-subheader',[_vm._v(\"Een Polpo zoekopdracht aanmaken\")]),_c('div',{staticClass:\"video-container\"},[_c('iframe',{attrs:{\"width\":\"720\",\"height\":\"405\",\"src\":\"https://www.youtube.com/embed/OvqzlCzOwzM\",\"title\":\"Een Polpo zoekopdracht aanmaken\",\"frameborder\":\"0\",\"allow\":\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\",\"allowfullscreen\":\"\"}})]),_c('v-subheader',{staticClass:\"mt-2\"},[_vm._v(\"Hoe werkt de Polpo Nieuwsbriefmodule?\")]),_c('div',{staticClass:\"video-container\"},[_c('iframe',{attrs:{\"width\":\"720\",\"height\":\"405\",\"src\":\"https://www.youtube.com/embed/X19QZRTdUpY\",\"title\":\"Hoe werkt de Polpo Nieuwsbriefmodule?\",\"frameborder\":\"0\",\"allow\":\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\",\"allowfullscreen\":\"\"}})]),_c('v-subheader',{staticClass:\"mt-2\"},[_vm._v(\"Polpo agenda dashboard\")]),_c('div',{staticClass:\"video-container\"},[_c('iframe',{attrs:{\"width\":\"720\",\"height\":\"405\",\"src\":\"https://www.youtube.com/embed/LaXACQKVpSY?si=ryLqSTYLwFMjl_hw\",\"title\":\"Polpo agenda dashboard\",\"frameborder\":\"0\",\"allow\":\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\",\"allowfullscreen\":\"\"}})])],1)]),_c('v-tab-item',[_c('div',{staticClass:\"file-container\"},[_c('object',{staticClass:\"instruction-file\",attrs:{\"data\":\"/Polpo%20Agenda%20Synchronisatie%20Instructie.pdf\",\"width\":\"100%\",\"height\":\"840px\"}},[_c('p',[_vm._v(\"Kan PDF-bestand niet weergeven. In plaats daarvan \"),_c('a',{attrs:{\"href\":\"/Polpo%20Agenda%20Synchronisatie%20Instructie.pdf\"}},[_vm._v(\"downloaden.\")])])])])]),_c('v-tab-item',[_c('div',{staticClass:\"text-container\"},[_c('v-expansion-panels',{staticClass:\"faq-container\"},[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" 1. Hoe sla ik een zoekopdracht op? \")]),_c('v-expansion-panel-content',[_c('div',[_c('p',[_vm._v(\"Stap 1: Voer een zoekterm in\")]),_c('p',[_c('i',[_vm._v(\"Bijv. klimaatakkoord\")])]),_c('p',[_vm._v(\"Stap 2: Kies één of meerdere contexten\")]),_c('p',[_c('i',[_vm._v(\"Bijv. Economische Zaken & Klimaat, Landbouw Natuur & Voedselkwaliteit, Infrastructuur en Waterstaat\")])]),_c('p',[_vm._v(\" Stap 3: Klik op het vergrootglas rechts naast de invoerbalk om de zoekopdracht af te vuren. De monitor vult zich meteen. Kijk rechts in je scherm onder kopje ‘niet opgeslagen’ en klik op het groene plusje. \")]),_c('p',[_vm._v(\" Stap 4: Voer een titel in voor je zoekopdracht en kies of je een dagelijkse en/of directe update wilt ontvangen. \")]),_c('p',[_vm._v(\" Stap 5: Klik op opslaan. De zoekopdracht staat nu rechts in je scherm onder je opgeslagen zoekopdrachten \")])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" 2. Hoe pas ik een zoekopdracht aan? \")]),_c('v-expansion-panel-content',[_c('div',[_c('p',[_vm._v(\"Stap 1: Kik op de zoekopdracht die je wil veranderen. \")]),_c('p',[_vm._v(\" Stap 2: Klik op de drie bolletjes om de ‘edit-knoppen’ te openen:\"),_c('br'),(this.$vuetify.theme.dark)?_c('img',{attrs:{\"src\":require(\"../assets/support-savedsearch-dark.png\")}}):_c('img',{attrs:{\"src\":require(\"../assets/support-savedsearch.png\")}})]),_c('p',[_vm._v(\"De ‘edit-knoppen’ zijn nu geopend.\")]),_c('p',[_c('i',[_vm._v(\"Edit-knoppen:\"),_c('br'),_vm._v(\"Rode prullenbak knop → verwijder de zoekopdracht\"),_c('br'),_vm._v(\"Gele potlood knop → wijzig de titel en e-mail notificaties\"),_c('br'),_vm._v(\"Blauwe synchronisatie knop → overschrijf de zoekopdracht met nieuwe instellingen\")])]),_c('p',[_vm._v(\" Stap 3: Pas je zoekopdracht aan. Je kunt de onderwerpen in de zoekbalk aanpassen of de contexten of documenttype filters van je zoekopdracht veranderen. Blij met je aanpassingen? Overschrijf dan je oude zoekopdracht door op de blauwe synchronisatie knop te klikken. \")])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" 3. Hoe zet ik mijn e-mail notificaties uit? \")]),_c('v-expansion-panel-content',[_c('div',[_c('p',[_vm._v(\"Stap 1: Kik op de zoekopdracht waarvan je de notificaties wil uitzetten. \")]),_c('p',[_vm._v(\" Stap 2: Klik op de drie bolletjes om de ‘edit-knoppen’ te openen:\"),_c('br'),(this.$vuetify.theme.dark)?_c('img',{attrs:{\"src\":require(\"../assets/support-savedsearch-dark.png\")}}):_c('img',{attrs:{\"src\":require(\"../assets/support-savedsearch.png\")}})]),_c('p',[_vm._v(\"De ‘edit-knoppen’ zijn nu geopend.\")]),_c('p',[_c('i',[_vm._v(\"Edit-knoppen:\"),_c('br'),_vm._v(\"Rode prullenbak knop → verwijder de zoekopdracht\"),_c('br'),_vm._v(\"Gele potlood knop → wijzig de titel en e-mail notificaties\"),_c('br'),_vm._v(\"Blauwe synchronisatie knop → overschrijf de zoekopdracht met nieuwe instellingen\")])]),_c('p',[_vm._v(\" Stap 3: Klik op de knop met het gele potlood. Nu opent zich een menu met de settings van je zoekopdracht. Vink de e-mail notificaties aan of uit en klik op opslaan. \")])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" 4. Hoe wijzig ik mijn wachtwoord? \")]),_c('v-expansion-panel-content',[_c('div',[_c('p',[_vm._v(\" Stap 1: Klik op je gebruikersnaam en kies ‘uitloggen’:\"),_c('br'),(this.$vuetify.theme.dark)?_c('img',{attrs:{\"src\":require(\"../assets/support-logout-dark.png\")}}):_c('img',{attrs:{\"src\":require(\"../assets/support-logout.png\")}})]),_c('p',[_vm._v(\"Stap 2: Ga naar ‘wachtwoord vergeten’ onderin het loginscherm.\")]),_c('p',[_vm._v(\"Stap 3: Doorloop het proces om een nieuw wachtwoord aan te maken.\")])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" 5. Kan ik bij Polpo ook via zoektekens (boolean operators) zoeken? \")]),_c('v-expansion-panel-content',[_c('div',[_c('p',[_vm._v(\"Ja, dat kan! Bekijk onze uitleg onder ‘Zoektekens’.\")])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" 6. Ik krijg veel meer resultaten dan verwacht, hoe kan dit? \")]),_c('v-expansion-panel-content',[_c('div',[_c('p',[_vm._v(\" Dit kan meerdere oorzaken hebben. Hieronder noemen we twee veel voorkomende oorzaken. Mocht jouw specifieke oorzaak hier niet bij staan, neem dan contact met ons op. \")]),_c('ul',[_c('li',[_vm._v(\" Zoek je op een onderwerp dat erg algemeen is (bijvoorbeeld energie*) dan raden we je aan om je zoekopdracht te verfijnen. Hiermee voorkom je een informatie overload. Kies bijvoorbeeld voor: energie* + woning* \")]),_c('li',[_vm._v(\" Zet specifieke combinaties van woorden die bij elkaar moeten staan, of verbonden zijn via een verbindingsstreepje tussen aanhalingstekentjes (bijv. \\\"Tweede Kamer\\\", \\\"ict-diensten\\\"). Wanneer je dit vergeet leidt dit tot veel meer resultaten dan verwacht. De woorden worden dan allemaal los opgezocht. \")])])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" 7. Kan ik ergens de stakeholderbronnen zien die ik volg? \")]),_c('v-expansion-panel-content',[_c('div',[_c('p',[_vm._v(\" Het is niet mogelijk om in het dashboard een overzicht te bekijken van de stakeholderbronnen die je volgt. \")]),_c('p',[_vm._v(\" Wil je dit overzicht zien? Neem dan contact met ons op, wij sturen je graag een overzicht per mail. \")])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" 8. Ik ga weg en wil mijn account overzetten naar mijn opvolger, kan dat? \")]),_c('v-expansion-panel-content',[_c('div',[_c('p',[_vm._v(\" Dat kan. Maar let op: het overzetten van accounts is nog niet volledig geautomatiseerd. Schakel onze hulp hiervoor in. Wij kunnen helpen bij het handmatig overzetten van jouw zoekopdrachten naar het account van jouw opvolger. \")])])])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_vm._v(\" 9. Hoe kan ik jullie bereiken? \")]),_c('v-expansion-panel-content',[_c('div',[_c('p',[_vm._v(\" Heb je vragen over het gebruik van Polpo?\"),_c('br'),_vm._v(\" Gebruik onze chat of neem contact op met Caspar\"),_c('br'),_vm._v(\" (\"),_c('a',{staticClass:\"text--secondary\",staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"href\":\"mailto:cpille@polpo.nl\"}},[_vm._v(\"cpille@polpo.nl\")]),_vm._v(\", \"),_c('a',{staticClass:\"text--secondary\",staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"href\":\"tel:0641571921\"}},[_vm._v(\"+ 31 6 41 57 19 21\")]),_vm._v(\") \")]),_c('p',[_vm._v(\" Heb je vragen over je Polpo abonnement?\"),_c('br'),_vm._v(\" Neem contact op met Johan\"),_c('br'),_vm._v(\" (\"),_c('a',{staticClass:\"text--secondary\",staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"href\":\"mailto:jvanzaanen@polpo.nl\"}},[_vm._v(\"jvanzaanen@polpo.nl\")]),_vm._v(\", \"),_c('a',{staticClass:\"text--secondary\",staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"href\":\"tel:0618854417\"}},[_vm._v(\"+ 31 6 18 85 44 17\")]),_vm._v(\") \")])])])],1)],1)],1)]),_c('v-tab-item',[_c('div',{staticClass:\"text-container\"},[_c('div',{staticClass:\"support-contact\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"supportTips.contact.infoMain\"))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"supportTips.contact.infoSecondary\"))+\" \"),_c('a',{staticClass:\"text--secondary\",staticStyle:{\"text-decoration\":\"none !important\"},attrs:{\"href\":\"mailto:info@polpo.nl\"}},[_vm._v(\"info@polpo.nl\")]),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"supportTips.contact.infoToolChat\"))+\" \")])])])])],1)],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupportDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupportDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SupportDialog.vue?vue&type=template&id=d50c4898&scoped=true\"\nimport script from \"./SupportDialog.vue?vue&type=script&lang=js\"\nexport * from \"./SupportDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./SupportDialog.vue?vue&type=style&index=0&id=d50c4898&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d50c4898\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.dialogConfirmDialogVisible)?_c('v-dialog',{attrs:{\"max-width\":\"480\"},on:{\"click:outside\":function($event){return _vm.hideForm()}},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_c('v-container',{staticClass:\"ma-0 pa-0\"},[_c('v-row',[_c('v-col',{staticClass:\"d-flex mt-n2\"},[_c('div',{staticClass:\"d-inline-block align-self-start text-subtitle-1\",staticStyle:{\"width\":\"80%\"}},[_vm._v(\" \"+_vm._s(_vm.confirmDialogHeader)+\" \")]),_c('div',{staticClass:\"d-inline-block text-right align-self-start\",staticStyle:{\"width\":\"20%\"}},[_c('v-icon',{staticClass:\"mt-n2 mr-n2\",on:{\"click\":function($event){return _vm.hideForm()}}},[_vm._v(\" mdi-close \")])],1)])],1)],1)],1),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.confirmDialogBody)+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{on:{\"click\":function($event){return _vm.hideForm()}}},[_vm._v(\" \"+_vm._s(_vm.$t('generic.cancel'))+\" \")]),_c('v-btn',{staticClass:\"white--text\",attrs:{\"color\":\"teal lighten-1\"},on:{\"click\":function($event){return _vm.confirmAction()}}},[_vm._v(\" \"+_vm._s(_vm.$t('generic.confirm'))+\" \")])],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=62753e28\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\nexport * from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4dd5ee32\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=4dd5ee32&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from 'axios';\nimport store from '@/store';\nimport i18n from '@/i18n';\nimport router from '../router';\n\n/**\n * Fired before each request, attaches X-auth header\n * to each request when session token is available\n */\naxios.interceptors.request.use((config) => {\n const result = config;\n const sessionToken = store.getters.authSessionToken;\n\n if (sessionToken) {\n result.headers['X-Auth'] = sessionToken;\n }\n\n store.dispatch('setGlobalLoaderBusy', true, { root: true });\n return result;\n});\n\n/**\n * Checks each response for errors. If a 401 is received\n * the user is redirected to the site root\n */\naxios.interceptors.response.use((response) => {\n store.dispatch('setGlobalLoaderBusy', false, { root: false });\n return response;\n}, (error) => {\n let message;\n store.dispatch('setGlobalLoaderBusy', false, { root: false });\n let redirectToLogin = false;\n let redirectToMaintenance = false;\n let afterRedirect;\n\n if (!error.response) {\n message = i18n.t('errorMessage.connectionError');\n } else {\n const { data } = error.response;\n const dataMessage = data.message;\n switch (error.response.status) {\n case 500:\n message = i18n.t('errorMessage.serverError');\n break;\n case 400:\n if (data.errorCode === 'EC-04') {\n const hasAgendaAccess = store.getters.authHasModuleAccess('MC05');\n if (hasAgendaAccess && (router.currentRoute.name !== 'nlDashboard')) {\n message = 'Geen vergaderingen gevonden';\n }\n } else {\n message = dataMessage;\n }\n break;\n case 401:\n // We don't know who you are, loggin in will help.\n redirectToLogin = true;\n message = i18n.t('errorMessage.credentialsError');\n break;\n case 403:\n // We know who you are, but you don't have access,\n // loggin in again will reset your local module cache.\n if (data.errorCode === 'EC-01') {\n message = i18n.t('errorMessage.noPageAccess');\n redirectToLogin = true;\n afterRedirect = 'nlDashboard';\n } else {\n message = dataMessage;\n }\n break;\n case 404:\n message = dataMessage;\n break;\n case 429:\n message = i18n.t('errorMessage.activationEmailAlreadySent');\n break;\n case 503:\n // When maintenance mode is enabled in Heroku it sends a 503-code,\n // then we use the content of heroku's HTML response to distinguish it from\n // a 'normal' 503 from our own backend.\n // Note: This does not work on DEV as it runs into CORS errors since the FE and BE\n // do not share the same domain.\n if (\n typeof error?.response?.data === 'string'\n && error.response.data.includes('Offline for Maintenance')\n ) {\n redirectToMaintenance = true;\n } else {\n message = dataMessage;\n }\n break;\n default:\n break;\n }\n }\n\n if (message) {\n store.dispatch('setMessage', {\n message,\n type: 'info',\n }, { root: true });\n }\n\n if (redirectToMaintenance) {\n router.push({ name: 'MaintenanceNotice' });\n } else if (redirectToLogin) {\n store.dispatch('clearCache');\n router.push({ name: 'login', params: (afterRedirect ? { redirectTo: afterRedirect } : {}) });\n }\n return Promise.reject(error);\n});\n","import 'babel-polyfill';\nimport 'promise-polyfill/src/polyfill';\nimport 'classlist-polyfill';\nimport Vue from 'vue';\nimport VueGtag from 'vue-gtag';\nimport AsyncComputed from 'vue-async-computed';\nimport axios from 'axios';\nimport VueAxios from 'vue-axios';\nimport Moment from 'moment';\nimport { TiptapVuetifyPlugin } from 'tiptap-vuetify';\nimport 'tiptap-vuetify/dist/main.css';\n\nimport App from './App.vue';\nimport vuetify from './plugins/vuetify';\nimport router from './router';\nimport store from './store';\nimport config from './config';\nimport i18n from './i18n';\n\n// The contents of the Interceptors file appends interceptors to the Axios config.\n// Therefore, the act of importing it is enough to \"use\" it.\nimport './api/interceptors';\n\nVue.use(AsyncComputed);\n\nVue.use(VueAxios, axios);\n\nVue.use(TiptapVuetifyPlugin, {\n // the next line is important! You need to provide the Vuetify Object to this place.\n vuetify, // same as \"vuetify: vuetify\"\n // optional, default to 'md' (default vuetify icons before v2.0.0)\n iconsGroup: 'mdi',\n});\n\nMoment.locale(JSON.parse(localStorage.getItem('locale')) || 'nl');\nVue.prototype.$moment = Moment;\n\nVue.config.productionTip = false;\n\nVue.use(VueGtag, {\n config: {\n id: process.env.NODE_ENV !== 'production' ? config.googleAnalyticsDevelopment : config.googleAnalyticsProduction,\n params: {\n send_page_view: false,\n anonymize_ip: true,\n },\n },\n});\n\nnew Vue({\n vuetify,\n router,\n store,\n i18n,\n render: (h) => h(App),\n}).$mount('#app');\n","import polpoApi from '@/api/polpoApi';\n\nexport default {\n checkFile: async (docType, docId, parameters) => polpoApi.getFileMetadata('file/check', docType, docId, parameters),\n getFileInfo: async (docType, docId, parameters) => polpoApi.getFileMetadata('file/info', docType, docId, parameters),\n getFile: async (docType, docId, parameters, timeout) => polpoApi.getFileData('file', docType, docId, parameters, timeout),\n\n // TODO it would be better if getFileStreamUrl is also handled through polpoApi:\n getFileStreamUrl: (docType, docId, parameters) => `${process.env.VUE_APP_HOST}/file/stream/${docType}/${docId}?mimeType=${parameters.mimeType}&filename=${parameters.filename}`,\n};\n","module.exports = __webpack_public_path__ + \"img/support-logout-dark.3e83973a.png\";","import Vue from 'vue';\nimport ServerConfig from '@/config.server';\n\nconst apiUri = ServerConfig.address;\n\n/**\n * Class to manage API requests to the Polpo API endpoint\n *\n * @class PolpoApi\n */\nclass PolpoApi {\n /**\n * Makes a GET request to the server\n *\n * @param {any} controller Controller to handle the request\n * @param {any} parameters Parameters as object\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async get(controller, parameters) {\n const queryString = new URLSearchParams(parameters).toString();\n const request = {\n method: 'GET',\n url: `${apiUri}/${controller}/?${queryString}`,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a POST request to the server\n *\n * @param {any} controller Controller to handle the request\n * @param {any} data Post request data as object\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async post(controller, data) {\n const request = {\n method: 'POST',\n url: `${apiUri}/${controller}`,\n data,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a GET request to the server to retrieve an Excel file\n *\n * @param {any} controller Controller to handle the request\n * @param {any} parameters Parameters as object\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n // https://stackoverflow.com/questions/73550410/download-excel-file-created-in-node-using-sheetjs-xlxs-nodejs-react\n async getExcel(controller, parameters) {\n const queryString = new URLSearchParams(parameters).toString();\n const request = {\n method: 'GET',\n responseType: 'arraybuffer',\n url: `${apiUri}/${controller}/?${queryString}`,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a POST request to the server to retrieve an Excel file\n *\n * @param {any} controller Controller to handle the request\n * @param {any} data Post request data as object\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n // https://stackoverflow.com/questions/73550410/download-excel-file-created-in-node-using-sheetjs-xlxs-nodejs-react\n async postExcel(controller, data) {\n const request = {\n method: 'POST',\n responseType: 'arraybuffer',\n url: `${apiUri}/${controller}`,\n data,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a PUT request to the server\n *\n * @param {any} controller Controller to handle the request\n * @param {any} data Put request data as object\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async put(controller, data) {\n const request = {\n method: 'PUT',\n url: `${apiUri}/${controller}/${data.id}`,\n data,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a PUT request to the server with copyToLists in the data object\n *\n * @param {any} controller Controller to handle the request\n * @param {any} data Put request data as object\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async putCopy(controller, data) {\n const request = {\n method: 'PUT',\n url: `${apiUri}/${controller}/${data.listItem.id}`,\n data,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a PUT request to the server without setting id of object\n *\n * @param {any} controller Controller to handle the request\n * @param {any} data Put request data as object\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async putRaw(controller, data) {\n const request = {\n method: 'PUT',\n url: `${apiUri}/${controller}`,\n data,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a PATCH request to the server without setting id of object\n *\n * @param {any} controller Controller to handle the request\n * @param {any} data Put request data as object\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async patchRaw(controller, data) {\n const request = {\n method: 'PATCH',\n url: `${apiUri}/${controller}`,\n data,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a DELETE request to the server\n *\n * @param {any} controller Controller to handle the request\n * @param {any} id Id of entity to delete\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async delete(controller, data) {\n const request = {\n method: 'DELETE',\n url: `${apiUri}/${controller}/${data.id}`,\n data,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a DELETE request to the server without setting id of object\n *\n * @param {any} controller Controller to handle the request\n * @param {any} id Id of entity to delete\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async deleteRaw(controller, data) {\n const request = {\n method: 'DELETE',\n url: `${apiUri}/${controller}`,\n data,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a GET request for an entitiy to the url specified\n *\n * @param {any} url Url to Polpo endpoint\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async getEntityByUrl(url) {\n const request = {\n method: 'GET',\n url,\n timeout: 10000,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a GET request to the server to a controller and entity id\n *\n * @param {any} controller Controller to handle the request\n * @param {any} id Entity id\n * @param {any} [parameters] Object with querystring parameters\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async getById(controller, id, parameters) {\n let url = `${apiUri}/${controller}/${id}`;\n\n if (parameters) {\n const queryString = new URLSearchParams(parameters).toString();\n url += `?${queryString}`;\n }\n\n const request = {\n method: 'GET',\n url,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a POST request to the server to a controller and entity id\n *\n * @param {any} controller Controller to handle the request\n * @param {any} id Entity id\n * @param {any} [data] Object with body data\n * @returns Promise of the API call\n * @memberof PolpoApi\n */\n async postById(controller, id, data) {\n const url = `${apiUri}/${controller}/${id}`;\n\n const request = {\n method: 'POST',\n url,\n data,\n };\n return this.makeRequest(request);\n }\n\n\n /**\n * Makes a GET request to the server to get metadata of a file / PDF exists for a specific document.\n *\n * @param {String} route - The route on the backend to send the request to\n * @param {String} docType - Type of the document to get metadata of a file / PDF for\n * @param {String} docId - (Internal) document ID of the document to get metadata of a file / PDF for\n * @param {any} [parameters] - Object with querystring parameters\n * @returns Promise of the API call's response\n * @memberof PolpoApi\n */\n async getFileMetadata(route, docType, docId, parameters) {\n const escapedDocType = docType.replaceAll('/', '_slash_'); // POLMONNL-4801\n let url = `${apiUri}/${route}/${encodeURIComponent(escapedDocType)}/${docId}`;\n\n // Parameters can be used to specify a MIME type. If not specified, the backend defaults to PDF.\n // Example for .doc files: { mimeType: 'application/msword' }.\n if (parameters) {\n const queryString = new URLSearchParams(parameters).toString();\n url += `?${queryString}`;\n }\n\n const request = {\n method: 'GET',\n url,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Makes a GET request to the server to retrieve a file / PDF for a specific document.\n *\n * @param {String} route - The route on the backend to send the request to\n * @param {String} docType - Type of the document to retrieve a file / PDF for\n * @param {String} docId - (Internal) document ID of the document to retrieve a file / PDF for\n * @param {any} [parameters] - Object with querystring parameters\n * @returns Promise of the API call's response\n * @memberof PolpoApi\n */\n async getFileData(route, docType, docId, parameters, timeout) {\n const escapedDocType = docType.replaceAll('/', '_slash_'); // POLMONNL-4801\n let url = `${apiUri}/${route}/${encodeURIComponent(escapedDocType)}/${docId}`;\n\n // Parameters can be used to specify a MIME type. If not specified, the backend defaults to PDF.\n // Example for .doc files: { mimeType: 'application/msword' }.\n if (parameters) {\n const queryString = new URLSearchParams(parameters).toString();\n url += `?${queryString}`;\n }\n\n const request = {\n method: 'GET',\n url,\n responseType: 'arraybuffer',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/pdf',\n },\n timeout: timeout ?? 30000,\n };\n return this.makeRequest(request);\n }\n\n /**\n * Handles all requests to the server\n *\n * @param {any} request Axios request object\n * @returns Promise of Axios call\n * @memberof PolpoApi\n */\n async makeRequest(request) {\n // request.timeout = Config.requestTimeout;\n this.request = request;\n try {\n return await Vue.axios(this.request);\n } catch (error) {\n throw error.response;\n }\n }\n}\n\nexport default new PolpoApi();\n","import Vue from 'vue';\n\nconst EventBus = new Vue();\n\nexport { EventBus as default };\n","module.exports = __webpack_public_path__ + \"img/support-savedsearch-dark.66f47f87.png\";","module.exports = __webpack_public_path__ + \"img/support-savedsearch.1bae4ecf.png\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"login-form__container fill-height d-flex justify-center align-center\",class:_vm.$vuetify.breakpoint.lgAndUp ? 'login-form__container' : '',attrs:{\"fluid\":\"\"}},[_c('v-card',{attrs:{\"width\":_vm.$vuetify.breakpoint.smAndDown ? '100vw' : ''}},[_c('v-container',[_c('v-row',[_c('v-col',[_c('div',{staticClass:\"login-form__header\"},[_c('img',{attrs:{\"src\":_vm.logoSrc,\"height\":\"65\"}})])])],1),_c('message-bar'),_c('v-form',{ref:\"loginForm\",attrs:{\"lazy-validation\":\"\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.validate.apply(null, arguments)}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('account.emailAddress'),\"rules\":_vm.emailRules,\"required\":\"\",\"outlined\":\"\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}}),_c('v-text-field',{attrs:{\"append-icon\":_vm.show ? 'mdi-eye' : 'mdi-eye-off',\"label\":_vm.$t('account.password'),\"type\":_vm.show ? 'text' : 'password',\"rules\":_vm.passwordRules,\"required\":\"\",\"outlined\":\"\"},on:{\"click:append\":function($event){_vm.show = !_vm.show}},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('div',{staticClass:\"text-center\"},[_c('v-btn',{attrs:{\"color\":\"teal\",\"height\":\"48\",\"width\":\"200\",\"disabled\":!_vm.valid},on:{\"click\":_vm.validate}},[_vm._v(\" Login \")])],1)],1),_c('div',{staticStyle:{\"padding\":\"20px\",\"text-align\":\"center\"}},[_c('button',{staticStyle:{\"border\":\"none\",\"background\":\"none\",\"padding-right\":\"20px\",\"text-decoration\":\"underline\",\"cursor\":\"pointer\",\"color\":\"#5A738E\"},on:{\"click\":function($event){return _vm.passwordRecoveryUrl()}}},[_vm._v(\" \"+_vm._s(_vm.$t('account.forgotPassword'))+\" \")]),_c('a',{attrs:{\"href\":\"mailto:info@polpo.nl\"}},[_vm._v(_vm._s(_vm.$t('account.supportInformation')))])])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountLogin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountLogin.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountLogin.vue?vue&type=template&id=1a908018&scoped=true\"\nimport script from \"./AccountLogin.vue?vue&type=script&lang=js\"\nexport * from \"./AccountLogin.vue?vue&type=script&lang=js\"\nimport style0 from \"./AccountLogin.vue?vue&type=style&index=0&id=1a908018&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a908018\",\n null\n \n)\n\nexport default component.exports","import store from '@/store';\n\nexport const loginAuthenticate = (to, from, next) => {\n if (store.getters.authIsAuthenticated) {\n if (store.getters.getIsEmailLink) {\n const { getters: { getDocumentId, getHighlightedWord } } = store;\n next(`/document/${getDocumentId}/${getHighlightedWord}`);\n } else {\n next();\n }\n } else {\n next('/login');\n }\n};\n\nexport const ifAuthenticated = (to, from, next) => {\n if (store.getters.authIsAuthenticated) {\n next();\n } else {\n const { params: { documentId, highlightWord } } = to;\n if (documentId !== null && highlightWord !== null) {\n store.dispatch('setDocumentId', documentId);\n store.dispatch('setHighlightedWord', highlightWord);\n store.dispatch('setIsEmailLink', true);\n }\n next('/login');\n }\n};\n\nexport const ifNotAuthenticated = (to, from, next) => {\n if (!store.getters.authIsAuthenticated) {\n next();\n } else {\n next('/dashboard');\n }\n};\n","import LoginForm from './views/AccountLogin.vue';\nimport { ifNotAuthenticated } from '../../router/routing_helpers';\n\nexport default [\n {\n path: '/login',\n name: 'login',\n component: LoginForm,\n beforeEnter: ifNotAuthenticated,\n },\n];\n","import { ifAuthenticated, loginAuthenticate } from '../../router/routing_helpers';\n\nexport default [\n {\n path: '/agenda',\n name: 'agendaDashboard',\n beforeEnter: loginAuthenticate,\n component: () => import(/* webpackChunkName: \"AgendaOverview\" */ './views/AgendaOverview.vue'),\n },\n {\n path: '/agenda/:agendaId',\n name: 'agenda-detail',\n beforeEnter: ifAuthenticated,\n // Lazy loading agenda\n component: () => import(/* webpackChunkName: \"AgendaDetail\" */ './views/AgendaDetail.vue'),\n },\n];\n","import { loginAuthenticate } from '../../router/routing_helpers';\n\nconst genDashboardRoute = (path, code) => ({\n path,\n name: `${code}Dashboard`,\n props: { dashboard: code },\n beforeEnter: loginAuthenticate,\n // Lazy loading document\n component: () => import(/* webpackChunkName: \"DocumentDashboard\" */ './views/DocumentDashboard.vue'),\n});\n\nconst routes = [\n {\n path: '/',\n redirect: { name: 'nlDashboard' },\n },\n {\n path: '/dashboard',\n redirect: { name: 'nlDashboard' },\n },\n];\n\nroutes.push(genDashboardRoute('/nl/dashboard', 'nl'));\nroutes.push(genDashboardRoute('/eu/dashboard', 'eu'));\nroutes.push(genDashboardRoute('/nl-lr/dashboard', 'nlLr'));\nroutes.push(genDashboardRoute('/be-fed/dashboard', 'beFed'));\nroutes.push(genDashboardRoute('/be-flm/dashboard', 'beFlm'));\n\nexport default routes;\n","import { ifAuthenticated } from '../../router/routing_helpers';\n\nconst genDetailRoute = (path, code) => ({\n path,\n name: `${code}Document`,\n props: { dashboard: code },\n beforeEnter: ifAuthenticated,\n // Lazy loading document\n component: () => import(/* webpackChunkName: \"DocumentDetail\" */ './views/DocumentDetail.vue'),\n});\n\nconst routes = [\n {\n path: '/document/:documentId/:highlightWord?',\n redirect: { name: 'nlDocument' },\n },\n];\n\nroutes.push(genDetailRoute('/nl/document/:documentId/:highlightWord?', 'nl'));\nroutes.push(genDetailRoute('/eu/document/:documentId/:highlightWord?', 'eu'));\nroutes.push(genDetailRoute('/nl-lr/document/:documentId/:highlightWord?', 'nlLr'));\nroutes.push(genDetailRoute('/be-fed/document/:documentId/:highlightWord?', 'beFed'));\nroutes.push(genDetailRoute('/be-flm/document/:documentId/:highlightWord?', 'beFlm'));\n\nexport default routes;\n","import { ifAuthenticated } from '../../router/routing_helpers';\n\nexport default [\n {\n path: '/list-manager/:listId?',\n name: 'list-manager',\n beforeEnter: ifAuthenticated,\n // Lazy loading list-manager\n component: () => import(/* webpackChunkName: \"ListManager\" */ './views/ListManager.vue'),\n },\n];\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('article',[_c('div',[_c('h1',[_vm._v(_vm._s(_vm.$t('maintenance.title')))]),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('maintenance.message1')))]),_c('p',[_vm._v(_vm._s(_vm.$t('maintenance.message2')))]),_c('p',[_vm._v(_vm._s(_vm.$t('maintenance.messageQuestions'))+\" \"),_c('a',{attrs:{\"href\":\"mailto:info@polpo.nl\"}},[_vm._v(\"info@polpo.nl\")]),_vm._v(\".\")]),_c('p',[_vm._v(\"— \"+_vm._s(_vm.$t('maintenance.polpoTeam')))]),_c('p',{staticClass:\"text-body-1 text--secondary\"},[_vm._v(_vm._s(_vm.$t('maintenance.reconnect'))+\" \"+_vm._s(_vm.reconnectAfterSeconds)+\"s\")])])]),_c('img',{attrs:{\"src\":\"/logo-no-text-transparant-192x192.png\"}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MaintenanceNotice.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MaintenanceNotice.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MaintenanceNotice.vue?vue&type=template&id=476b0ee4&scoped=true\"\nimport script from \"./MaintenanceNotice.vue?vue&type=script&lang=js\"\nexport * from \"./MaintenanceNotice.vue?vue&type=script&lang=js\"\nimport style0 from \"./MaintenanceNotice.vue?vue&type=style&index=0&id=476b0ee4&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"476b0ee4\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport store from '@/store';\nimport i18n from '@/i18n';\n\nimport accountRoutes from '../modules/account/routes';\nimport agendaDashboardRoutes from '../modules/agendaDashboard/routes';\nimport documentDashboardRoutes from '../modules/documentDashboard/routes';\nimport documentDetailRoutes from '../modules/documentDetail/routes';\nimport listRoutes from '../modules/listManager/routes';\n\nimport MaintenanceNotice from '../views/MaintenanceNotice.vue';\n\n// https://stackoverflow.com/questions/57837758/navigationduplicated-navigating-to-current-location-search-is-not-allowed\nconst originalPush = VueRouter.prototype.push;\nVueRouter.prototype.push = function push(location) {\n return originalPush.call(this, location).catch((err) => err);\n};\n\nVue.use(VueRouter);\n\nconst routes = [\n ...accountRoutes,\n ...agendaDashboardRoutes,\n ...documentDashboardRoutes,\n ...documentDetailRoutes,\n ...listRoutes,\n // Temporary disabled due to mockup data see imports above\n // ...documentFilterRoutes,\n {\n path: '/maintenance',\n name: 'MaintenanceNotice',\n component: MaintenanceNotice,\n },\n { path: '*', redirect: '/' },\n];\n\nconst router = new VueRouter({\n mode: 'history',\n scrollBehavior: (to, from, savedPosition) => {\n if (savedPosition) {\n return savedPosition;\n }\n return {};\n },\n routes,\n});\n\n// We need to weed out all routes that are not authenticated. All\n// routes that are not authenticated will be redirected to login :)\n// When already logged in routes directed to 'login' will be redirected to dashboard.\nconst unauthenticatedRoutes = ['login', 'MaintenanceNotice'];\nrouter.beforeEach((to, from, next) => {\n const routeRequiresAuth = !unauthenticatedRoutes.includes(to.name);\n if (routeRequiresAuth && !store.getters.authIsAuthenticated) next({ name: 'login' });\n else if (to.name === 'nlDashboard') {\n // Guard for if the user has no access to the nl dashboard\n // Note: We are currenlty only using MC11 as a proxy for access to the nlDashboard. However any\n // single document module on this dashboard *should* give access to the dashboard.\n // (DS, DM, SB, etc...)\n if (store.getters.authHasModuleAccess('MC11')) next(); // Don't redirect, actually go to '/nl/dashboard'\n else if (store.getters.authHasModuleAccess('MC13')) next('/nl-lr/dashboard');\n else if (store.getters.authHasModuleAccess('MC07')) next('/eu/dashboard');\n else if (store.getters.authHasModuleAccess('MC17')) next('/be-fed/dashboard');\n else if (store.getters.authHasModuleAccess('MC18')) next('/be-flm/dashboard');\n else {\n // eslint-disable-next-line no-console\n console.error('Account has no access to any standalone dashboard!');\n store.dispatch('logout'); // Immediately log out as the user is not able to log out.\n store.dispatch('setMessage', {\n message: i18n.t('errorMessage.noPolpoAccess'),\n type: 'error',\n }, { root: true });\n next({ name: 'login' });\n }\n } else next();\n});\n\nexport default router;\n","module.exports = __webpack_public_path__ + \"img/polpo-logo-light.87ccd0bf.png\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.messageData)?_c('v-snackbar',{attrs:{\"color\":_vm.messageData.type,\"timeout\":4000,\"multi-line\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function({ attrs }){return [_c('v-btn',_vm._b({attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.showMessage = false}}},'v-btn',attrs,false),[_vm._v(\" \"+_vm._s(_vm.$t('generic.close'))+\" \")])]}}],null,false,3060235991),model:{value:(_vm.showMessage),callback:function ($$v) {_vm.showMessage=$$v},expression:\"showMessage\"}},[_vm._v(\" \"+_vm._s(_vm.messageData ? _vm.messageData.message : '')+\" \")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheMessageBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheMessageBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TheMessageBar.vue?vue&type=template&id=9b4f727a&scoped=true\"\nimport script from \"./TheMessageBar.vue?vue&type=script&lang=js\"\nexport * from \"./TheMessageBar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9b4f727a\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=4dd5ee32&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountLogin.vue?vue&type=style&index=0&id=1a908018&prod&scoped=true&lang=scss\"","module.exports = __webpack_public_path__ + \"img/polpo-logo-dark.badeeefe.png\";","module.exports = __webpack_public_path__ + \"img/support-logout.e2abbb58.png\";","/*\n * This file holds all configurable settings, filters and preferences for the Polpo app\n */\n\nexport default {\n\n googleAnalyticsDevelopment: 'UA-99320682-2',\n googleAnalyticsProduction: 'UA-99320682-3',\n // Todo: only enable production when ready, ask Caspar\n // googleAnalyticsProduction: 'UA-99320682-3',\n\n // Default minimal matching percentage\n defaultMinimalMatchPercentage: 40,\n\n // Default width drawer left\n minDrawerLeftWidth: 128,\n defaultDrawerLeftWidth: 296,\n maxDrawerLeftWidth: 354,\n\n // minimal drawer size on which the NlLr title should be short\n shortNlLrTitleTrigger: 270,\n // minimal drawer size on which the BeFed title should be short\n shortBeFedTitleTrigger: 270, // TODO: POLMONNL-6203 - change as necessary!\n // minimal drawer size on which the BeFlm title should be short\n shortBeFlmTitleTrigger: 270, // TODO: POLMONNL-6203 - change as necessary!\n\n // Datepicker filter offset\n // ms sec min hrs dys months\n dateFilterOffset: 1000 * 60 * 60 * 24 * 30 * 12,\n\n // Maximal number of points to show in trendchart\n trendChartMaxPoints: 250,\n\n // Milliseconds till a request is considered to be timed out\n requestTimeout: 2500,\n\n // Default timeline items page size\n pageSizeTimeline: 30,\n\n // This is related to the height of the trend graph\n infiniteScrollOffsetTimeline: 100,\n\n // Minimal distanse between two highlighted words in a document before a new bookmark is created\n minimalBookmarkDistance: 400,\n\n // Max. number of recent searches to show before the oldest is removed\n maxRecentSearches: 25,\n\n // Minimal number of characters needed for a topic\n minimalQueryLength: 1,\n\n // Maximum length a list name is allowed to have before it is trimmed with ellipsis\n maxListNameLengthBeforeTrim: 50,\n\n // Types of confidentiality\n confidentialityTypes: ['openbaar', 'besloten', 'default'],\n\n // Default items to show in a list. If larger a more/less button is shown\n defaultPageSize: {\n stakeholders: 5,\n trendingTopics: 5,\n agendas: 3,\n },\n\n // Colors used for the trend analysis chart\n chart: {\n pointBackgroundColor: '#38bfa2',\n borderColor: '#38bfa2',\n backgroundColor: '#bce9e0',\n },\n\n agenda: {\n colors: {\n plenair: '#1f90bb',\n commission: '#4aa04d',\n },\n },\n\n // Default stakeholder code\n // Warning: this should always be one of the codes configured for\n // the corresponding dashboard below, but does not need to be the first one.\n nlDefaultAnalyticsCode: 'PER',\n euDefaultAnalyticsCode: 'committees',\n nlLrDefaultAnalyticsCode: 'IG',\n beFedDefaultAnalyticsCode: 'IG',\n beFlmDefaultAnalyticsCode: 'IG',\n\n // Stakeholders codes per dashboard\n // Note: these are in the order they should be in in the dropdown!\n nlAnalyticsCodes: [\n 'PER',\n 'IG',\n 'COM',\n 'TT',\n 'AAA',\n 'JH',\n 'IO',\n 'EU',\n ],\n euAnalyticsCodes: [\n 'committees',\n 'referenceCodes',\n ],\n nlLrAnalyticsCodes: [\n 'IG',\n 'COM',\n 'TT',\n 'AAA',\n 'JH',\n 'IO',\n 'EU',\n ],\n beFedAnalyticsCodes: [\n 'IG',\n 'IO',\n 'EU',\n ],\n beFlmAnalyticsCodes: [\n 'IG',\n 'IO',\n 'EU',\n ],\n\n // TODO: document what these are for - they do not seem to be used anywhere?!\n predefinedColors: [\n ['#ff4500', '#ff8c00'], ['#ffd700', '#90ee90'], ['#00ced1', '#1e90ff'], ['#c71585'],\n ],\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupportDialog.vue?vue&type=style&index=0&id=d50c4898&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MaintenanceNotice.vue?vue&type=style&index=0&id=476b0ee4&prod&scoped=true&lang=css\"","module.exports = __webpack_public_path__ + \"img/logo-transparent-english-small.7e44434e.png\";"],"sourceRoot":""}