{"version":3,"file":"app.4e3544b25ffaef6d.js","mappings":"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","sources":["webpack://tdb2/./src/components/layout/page-content.vue","webpack://tdb2/src/components/layout/page-content.vue","webpack://tdb2/./src/components/layout/page-content.vue?3617","webpack://tdb2/./src/components/layout/page-content.vue?21a4","webpack://tdb2/./src/plugins/bootstrap-vue.js","webpack://tdb2/./src/plugins/vuelidate.js","webpack://tdb2/./src/plugins/icons.js","webpack://tdb2/./src/plugins/leaflet.js","webpack://tdb2/./src/App.vue","webpack://tdb2/./src/components/layout/default.vue","webpack://tdb2/./src/components/layout/main-nav.vue","webpack://tdb2/./src/components/layout/nav-animalkind.vue","webpack://tdb2/src/components/layout/nav-animalkind.vue","webpack://tdb2/./src/components/layout/nav-animalkind.vue?6d5d","webpack://tdb2/./src/components/layout/nav-animalkind.vue?1923","webpack://tdb2/./src/components/layout/main-menu.vue","webpack://tdb2/./src/components/layout/login.vue","webpack://tdb2/src/components/layout/login.vue","webpack://tdb2/./src/components/layout/login.vue?2590","webpack://tdb2/./src/components/layout/login.vue?e968","webpack://tdb2/src/components/layout/main-menu.vue","webpack://tdb2/./src/components/layout/main-menu.vue?a93e","webpack://tdb2/./src/components/layout/main-menu.vue?4561","webpack://tdb2/./src/components/layout/lang-select.vue","webpack://tdb2/src/components/layout/lang-select.vue","webpack://tdb2/./src/components/layout/lang-select.vue?59df","webpack://tdb2/./src/components/layout/lang-select.vue?6ef0","webpack://tdb2/src/components/layout/main-nav.vue","webpack://tdb2/./src/components/layout/main-nav.vue?1f4d","webpack://tdb2/./src/components/layout/main-nav.vue?e36c","webpack://tdb2/./src/components/layout/loading-indicator.vue","webpack://tdb2/src/components/layout/loading-indicator.vue","webpack://tdb2/./src/components/layout/loading-indicator.vue?0300","webpack://tdb2/./src/components/layout/loading-indicator.vue?5cb6","webpack://tdb2/./src/components/layout/notifications.vue","webpack://tdb2/src/components/layout/notifications.vue","webpack://tdb2/./src/components/layout/notifications.vue?0178","webpack://tdb2/./src/components/layout/notifications.vue?10aa","webpack://tdb2/./src/components/layout/main-footer.vue","webpack://tdb2/src/components/layout/main-footer.vue","webpack://tdb2/./src/components/layout/main-footer.vue?8570","webpack://tdb2/./src/components/layout/main-footer.vue?777f","webpack://tdb2/src/components/layout/default.vue","webpack://tdb2/./src/components/layout/default.vue?ebf7","webpack://tdb2/./src/components/layout/default.vue?2b6d","webpack://tdb2/./src/components/layout/maintenance.vue","webpack://tdb2/src/components/layout/maintenance.vue","webpack://tdb2/./src/components/layout/maintenance.vue?c047","webpack://tdb2/./src/components/layout/maintenance.vue?0610","webpack://tdb2/./src/components/layout/country-selection.vue","webpack://tdb2/src/components/layout/country-selection.vue","webpack://tdb2/./src/components/layout/country-selection.vue?68ea","webpack://tdb2/./src/components/layout/country-selection.vue?585f","webpack://tdb2/src/App.vue","webpack://tdb2/./src/App.vue?51dd","webpack://tdb2/./src/App.vue?0e40","webpack://tdb2/./src/router/index.js","webpack://tdb2/./src/util/initialize.js","webpack://tdb2/./src/main.js","webpack://tdb2/./src/plugins/filters.js","webpack://tdb2/./src/assets/translations/index.js","webpack://tdb2/./src/plugins/i18n.js","webpack://tdb2/./src/repository/bbay.js","webpack://tdb2/./src/repository/export.js","webpack://tdb2/./src/repository/localStorage.js","webpack://tdb2/./src/repository/mailer.js","webpack://tdb2/./src/repository/search.js","webpack://tdb2/./src/repository/system.js","webpack://tdb2/./src/repository/tdb.js","webpack://tdb2/./src/store/modules/base.js","webpack://tdb2/./src/repository/auth/accountmanagement.js","webpack://tdb2/./src/store/modules/admin.js","webpack://tdb2/./src/store/modules/upload.js","webpack://tdb2/./src/store/modules/notification.js","webpack://tdb2/./src/repository/auth/account.js","webpack://tdb2/./src/store/modules/auth/token.js","webpack://tdb2/./src/store/modules/auth/account.js","webpack://tdb2/./src/store/modules/auth/user.js","webpack://tdb2/./src/store/modules/auth.js","webpack://tdb2/./src/store/modules/country.js","webpack://tdb2/./src/store/modules/offer/management.js","webpack://tdb2/./src/store/modules/offer/search.js","webpack://tdb2/./src/store/modules/offer.js","webpack://tdb2/./src/store/modules/related.js","webpack://tdb2/./src/repository/geocode.js","webpack://tdb2/./src/store/modules/location.js","webpack://tdb2/./src/store/modules/page.js","webpack://tdb2/./src/store/modules/region.js","webpack://tdb2/./src/store/modules/request/formfield.js","webpack://tdb2/./src/store/modules/request/main.js","webpack://tdb2/./src/store/modules/request/view.js","webpack://tdb2/./src/store/modules/request.js","webpack://tdb2/./src/util/bbay.js","webpack://tdb2/./src/store/modules/bbay.js","webpack://tdb2/./src/store/modules/mailer.js","webpack://tdb2/./src/store/modules/list.js","webpack://tdb2/./src/store/modules/redirect.js","webpack://tdb2/./src/store/modules/i18n.js","webpack://tdb2/./src/store/main.js","webpack://tdb2/./src/store/hooks/offers.js","webpack://tdb2/./src/store/hooks/auth.js","webpack://tdb2/./src/store/hooks/events.js","webpack://tdb2/./src/store/hooks/request.js","webpack://tdb2/./src/store/hooks/language.js","webpack://tdb2/./src/store/index.js","webpack://tdb2/./src/util/array.js","webpack://tdb2/./src/util/document-helper.js","webpack://tdb2/./src/util/env.js","webpack://tdb2/./src/util/eventbus.js","webpack://tdb2/./src/util/form/offer-field.js","webpack://tdb2/./src/util/jwt-cache.js","webpack://tdb2/./src/util/request.js","webpack://tdb2/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://tdb2/webpack/bootstrap","webpack://tdb2/webpack/runtime/chunk loaded","webpack://tdb2/webpack/runtime/compat get default export","webpack://tdb2/webpack/runtime/define property getters","webpack://tdb2/webpack/runtime/ensure chunk","webpack://tdb2/webpack/runtime/get javascript chunk filename","webpack://tdb2/webpack/runtime/get mini-css chunk filename","webpack://tdb2/webpack/runtime/global","webpack://tdb2/webpack/runtime/hasOwnProperty shorthand","webpack://tdb2/webpack/runtime/load script","webpack://tdb2/webpack/runtime/make namespace object","webpack://tdb2/webpack/runtime/node module decorator","webpack://tdb2/webpack/runtime/publicPath","webpack://tdb2/webpack/runtime/css loading","webpack://tdb2/webpack/runtime/jsonp chunk loading","webpack://tdb2/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{domProps:{\"innerHTML\":_vm._s(_vm.content)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./page-content.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./page-content.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./page-content.vue?vue&type=template&id=e6312984&\"\nimport script from \"./page-content.vue?vue&type=script&lang=js&\"\nexport * from \"./page-content.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 Vue from 'vue';\nimport { BootstrapVue, IconsPlugin } from 'bootstrap-vue';\n//*import 'bootstrap/dist/css/bootstrap.min.css';\nimport 'bootstrap-vue/dist/bootstrap-vue.css';\n\nVue.use(BootstrapVue);\nVue.use(IconsPlugin);\n","import Vue from 'vue';\nimport Vuelidate from 'vuelidate';\n\nVue.use(Vuelidate);\n","import Vue from 'vue';\nimport { library } from '@fortawesome/fontawesome-svg-core';\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';\nimport {\n\tfaGlobe,\n\tfaTrash\n} from '@fortawesome/free-solid-svg-icons';\n\n/*\n * add icons here to make them globally available\n */\n\nlibrary.add(\n\tfaGlobe,\n\tfaTrash\n);\n\nVue.component('v-icon', FontAwesomeIcon);\n","import Vue from 'vue';\nimport { LMap, LTileLayer, LMarker, LPopup, LTooltip, LCircleMarker, LIcon } from 'vue2-leaflet';\nimport 'leaflet/dist/leaflet.css';\nimport { Icon } from 'leaflet';\n\nVue.component('l-map', LMap);\nVue.component('l-tile-layer', LTileLayer);\nVue.component('l-marker', LMarker);\nVue.component('l-circle-marker', LCircleMarker);\nVue.component('l-popup', LPopup);\nVue.component('l-tooltip', LTooltip);\nVue.component('l-icon', LIcon);\n\n//webpack workaround\ndelete Icon.Default.prototype._getIconUrl;\nIcon.Default.mergeOptions({\n\ticonRetinaUrl: require('leaflet/dist/images/marker-icon-2x.png'),\n\ticonUrl: require('leaflet/dist/images/marker-icon.png'),\n\tshadowUrl: require('leaflet/dist/images/marker-shadow.png'),\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[(_vm.isMaintenance)?_c('LayoutMaintenance'):(_vm.isCountrySelected)?_c('LayoutDefaut'):_c('LayoutCountrySelect')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-container',{staticClass:\"no-padding\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"nav-wrapper\"},[_c('b-container',[_c('Notifications'),_c('b-row',{attrs:{\"no-gutters\":\"\"}},[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('MainNav')],1)],1)],1)],1),_c('LoadingIndicator'),_c('router-view'),_c('MainFooter')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"main-nav\"}},[_c('b-navbar',{attrs:{\"toggleable\":\"sm\",\"type\":\"dark\"}},[_c('b-navbar-brand',{attrs:{\"to\":{ name: 'Home' }}},[(_vm.$t('header.logo') === 'organicXlivestock')?_c('b-img',{attrs:{\"src\":require(\"@/assets/logo-w.png\"),\"height\":\"34\",\"alt\":_vm.$t('altText.home.logo')}}):_c('b-nav-text',[_vm._v(\" \"+_vm._s(_vm.$t('header.logo'))+\" \")])],1),_c('b-nav-text',[_vm._v(\" \"+_vm._s(_vm.$t('header.title'))+\" - \"+_vm._s(_vm._f(\"toLocale\")(_vm.countryLabels))+\" - \"+_vm._s(_vm.$t('common.role.'+_vm.role))+\" \")]),_c('b-navbar-nav',{staticClass:\"ml-auto\"},[_c('lang-select'),_c('main-menu')],1)],1),_c('NavAnimalkind')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-nav',{staticClass:\"select-animal\",attrs:{\"pills\":\"\"}},[_vm._l((_vm.animalmenusTopLevel),function(top){return [(_vm.componentType(top) === 'b-nav-item')?_c('b-nav-item',{key:top.id,attrs:{\"to\":{ name: 'OfferSearch', params: { id: top.data.animalkind } }}},[_vm._v(\" \"+_vm._s(_vm.topMenuLabel(top))+\" \")]):_vm._e(),(_vm.componentType(top) === 'b-nav-item-dropdown')?_c('b-nav-item-dropdown',{key:top.id,class:_vm.animalkindLabelWhenSubmenu(_vm.$route.params.id, top) ? 'dropdown-link-active' : null,attrs:{\"text\":_vm.topMenuLabel(top)}},_vm._l((_vm.toMenuIds(top.data.submenuItems)),function(entry){return _c('b-dropdown-item',{key:entry.id,attrs:{\"to\":{ name: 'OfferSearch', params: { id: entry.data.animalkind } }}},[_vm._v(\" \"+_vm._s(_vm._f(\"toLocale\")(entry.data.labels))+\" \")])}),1):_vm._e(),(_vm.componentType(top) === 'b-nav-text')?_c('b-nav-text',{key:top.id},[_vm._v(\" \"+_vm._s(_vm.topMenuLabel(top))+\" \")]):_vm._e()]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./nav-animalkind.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./nav-animalkind.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./nav-animalkind.vue?vue&type=template&id=6214b972&\"\nimport script from \"./nav-animalkind.vue?vue&type=script&lang=js&\"\nexport * from \"./nav-animalkind.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-nav-item-dropdown',{attrs:{\"text\":_vm.$t('navigation.menu'),\"right\":\"\"}},[(!_vm.adminParty)?_c('login'):_vm._e(),_c('b-dropdown-divider'),_vm._l((_vm.groups),function(group){return _c('b-dropdown-group',{key:group,attrs:{\"header\":_vm.$t('menu.group.'+group)}},_vm._l((_vm.links(group)),function(link){return _c('b-dropdown-item',{key:JSON.stringify({ route: link.route, params: link.params }),attrs:{\"active\":_vm.$route.path === link.path,\"to\":{ name: link.route, params: link.params }}},[_vm._v(\" \"+_vm._s(link.tl)+\" \")])}),1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-dropdown-group',{attrs:{\"header\":_vm.$t('menu.user')}},[(_vm.isLoggedIn)?[_c('b-dropdown-text',[_vm._v(\" \"+_vm._s(_vm.accountName)+\" \"),(_vm.userDeactivated(_vm.accountDetails))?[_vm._v(\" \"+_vm._s(_vm.$t('menu.accountDeactivated'))+\" \")]:_vm._e()],2),(_vm.showProfile)?_c('b-dropdown-item',{attrs:{\"to\":{ name: 'Profile' }}},[_c('b-icon-gear-fill',{attrs:{\"scale\":\"0.8\"}}),_vm._v(\" \"+_vm._s(_vm.$t('menu.profile'))+\" \")],1):_vm._e(),_c('b-dropdown-item',{on:{\"click\":_vm.gotoSsoCredentialsPage}},[_c('b-icon-lock-fill',{attrs:{\"scale\":\"0.8\"}}),_vm._v(\" \"+_vm._s(_vm.$t('menu.sso'))+\" \")],1),_c('b-dropdown-item-button',{attrs:{\"variant\":\"secondary\"},on:{\"click\":_vm.logout}},[_c('b-icon-door-closed',{attrs:{\"scale\":\"0.9\"}}),_vm._v(\" \"+_vm._s(_vm.$t('menu.logout'))+\" \")],1),(_vm.switchableAccounts.length > 0)?_c('b-dropdown-group',{attrs:{\"header\":_vm.$t('menu.switchTo')}},_vm._l((_vm.switchableAccounts),function(acc){return _c('b-dropdown-item',{key:acc.id,on:{\"click\":function($event){return _vm.switchAccount(acc)}}},[_vm._v(\" \"+_vm._s(_vm.toAccountName(acc))+\" (\"+_vm._s(acc.data.staticData.role)+\") \"),(_vm.userDeactivated(acc.data))?[_vm._v(\" \"+_vm._s(_vm.$t('menu.accountDeactivated'))+\" \")]:_vm._e()],2)}),1):_vm._e()]:_c('b-dropdown-item-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.gotoLogin}},[_vm._v(\" \"+_vm._s(_vm.$t('menu.loginText'))+\" \")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=796e3315&\"\nimport script from \"./login.vue?vue&type=script&lang=js&\"\nexport * from \"./login.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./main-menu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./main-menu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main-menu.vue?vue&type=template&id=4f54a6ec&\"\nimport script from \"./main-menu.vue?vue&type=script&lang=js&\"\nexport * from \"./main-menu.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.country.data.languages.length > 1)?_c('b-nav-item-dropdown',{attrs:{\"text\":_vm.$t('navigation.language'),\"right\":\"\"}},_vm._l((_vm.country.data.languages),function(lang,i){return _c('b-dropdown-item',{key:i + lang,attrs:{\"active\":lang === _vm.$store.state.base.uiLocale},on:{\"click\":function($event){return _vm.selectLang(lang)}}},[_vm._v(\" \"+_vm._s(_vm.$t(`default.language.${lang}`))+\" \")])}),1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./lang-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./lang-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./lang-select.vue?vue&type=template&id=543093f8&\"\nimport script from \"./lang-select.vue?vue&type=script&lang=js&\"\nexport * from \"./lang-select.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./main-nav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./main-nav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main-nav.vue?vue&type=template&id=7ba1a9bb&\"\nimport script from \"./main-nav.vue?vue&type=script&lang=js&\"\nexport * from \"./main-nav.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"spinner-container d-flex justify-content-center\"},[(_vm.opacity > 0)?_c('b-spinner',{staticStyle:{\"padding-top\":\"3rem\",\"width\":\"5rem\",\"height\":\"5rem\"},attrs:{\"id\":\"PageLoadingIndicator\",\"label\":_vm.$t('loadingIndicatorLabel'),\"variant\":\"primary\"}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./loading-indicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./loading-indicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./loading-indicator.vue?vue&type=template&id=ae325a6e&scoped=true&\"\nimport script from \"./loading-indicator.vue?vue&type=script&lang=js&\"\nexport * from \"./loading-indicator.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ae325a6e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./notifications.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./notifications.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./notifications.vue?vue&type=template&id=3304033e&\"\nimport script from \"./notifications.vue?vue&type=script&lang=js&\"\nexport * from \"./notifications.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer-wrapper\"},[_c('b-container',[_c('PageContent',{attrs:{\"usage\":\"footer\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./main-footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./main-footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main-footer.vue?vue&type=template&id=31494bdc&\"\nimport script from \"./main-footer.vue?vue&type=script&lang=js&\"\nexport * from \"./main-footer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./default.vue?vue&type=template&id=939d8268&scoped=true&\"\nimport script from \"./default.vue?vue&type=script&lang=js&\"\nexport * from \"./default.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"939d8268\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-jumbotron',{staticClass:\"m-5\",attrs:{\"header\":\"Tiermittel-Datenbank\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('maintenanceText')))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./maintenance.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./maintenance.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./maintenance.vue?vue&type=template&id=4b077c2e&\"\nimport script from \"./maintenance.vue?vue&type=script&lang=js&\"\nexport * from \"./maintenance.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-jumbotron',{staticClass:\"m-5\",attrs:{\"header\":_vm.$t('countrySelection.tdb')}},[_c('Notifications'),_c('LoadingIndicator'),_c('p',[_vm._v(_vm._s(_vm.$t('countrySelection.select')))]),_c('b-list-group',_vm._l((_vm.countries),function(country){return _c('b-list-group-item',{key:country.id},[_c('b-link',{on:{\"click\":function($event){return _vm.select(country)}}},[_vm._v(\" \"+_vm._s(_vm._f(\"toLocale\")(country.data.labels))+\" \")])],1)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./country-selection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./country-selection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./country-selection.vue?vue&type=template&id=130ab3b0&scoped=true&\"\nimport script from \"./country-selection.vue?vue&type=script&lang=js&\"\nexport * from \"./country-selection.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"130ab3b0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=785789cb&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/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 Vue from 'vue';\nimport VueRouter from 'vue-router';\n\nimport Store from '../store/index.js';\nimport EventHub from '@/util/eventbus.js';\nimport { EtrackerCode } from '@/util/env.js';\n\nVue.use(VueRouter);\n\n\nlet waitForUserLoaded = new Promise(res => {\n\tStore.watch(() => Store.getters['auth/user/isLoaded'], a => {\n\t\tif (a) res();\n\t});\n});\n\nexport async function createRouter(prefix, admin) {\n\tlet routes = [];\n\tif (admin) {\n\t\tlet adminRoutes = await import(/* webpackChunkName: \"admin\" */ './admin.js');\n\t\troutes = adminRoutes.default;\n\t} else {\n\t\troutes = await Promise.all([\n\t\t\timport(/* webpackChunkName: \"user\" */ './guest.js'),\n\t\t\timport(/* webpackChunkName: \"user\" */ './user.js')\n\t\t]).then(list => {\n\t\t\treturn list.flatMap(e => e.default);\n\t\t});\n\t}\n\t// console.log('routes', routes);\n\tconst router = new VueRouter({\n\t\troutes,\n\t\tmode: 'history',\n\t\tbase: prefix\n\t});\n\trouter.beforeEach((to, from, next) => {\n\t\tif (!to.meta || !to.meta.roles) return next();\n\t\treturn waitForUserLoaded.then(() => {\n\t\t\tfor (let role of to.meta.roles) {\n\t\t\t\tif (Store.getters['auth/user/hasRole'](role)) return next();\n\t\t\t}\n\t\t\treturn next({ name: 'Home' });\n\t\t});\n\t});\n\trouter.beforeEach((to, from, next) => {\n\t\tEventHub.$emit('page.change', { from, to });\n\t\treturn next();\n\t});\n\trouter.afterEach((to) => {\n\t\tif (typeof _etracker === 'object') {\n\t\t\t// eslint-disable-next-line no-undef, camelcase\n\t\t\tif (EtrackerCode) et_eC_Wrapper({ et_et: EtrackerCode });\n\t\t}\n\t});\n\treturn router;\n}\n","import EventBus from '@/util/eventbus.js';\nimport { AdminParty, CommitSha } from './env.js';\nimport store from '@/store';\nimport Vue from 'vue';\nimport { i18n } from '@/plugins/i18n';\nimport { log } from './request';\nimport * as LocalStorage from '@/repository/localStorage.js';\n\nfunction checkForMaintenance(e) {\n\tif (!e || !e.message) return false;\n\tif (e.message.includes('service is currently not available. check back later') || e.message.includes('Failed to fetch')) {\n\t\tstore.commit('base/setIsMaintenance');\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction getExtraLogData() {\n\treturn {\n\t\tua: navigator.userAgent,\n\t\tlang: navigator.language,\n\t\tplat: navigator.platform,\n\t\tloc: window.location.href,\n\t\tsx: screen.width,\n\t\tsy: screen.height,\n\t\tapp: 'tdb',\n\t\tbuild: CommitSha\n\t};\n}\n\nasync function logError(data) {\n\ttry {\n\t\tawait log({ ...data, ...getExtraLogData() });\n\t} catch (e) {\n\t\tconsole.log('error during error logging', e);\n\t}\n}\n\nexport async function initialize() {\n\n\twindow.onerror = function(message, source, lineno, colno, error) {\n\t\tconsole.log('window.onerror', error);\n\t\tEventBus.$emit('error', error);\n\t\tlet maintenance = checkForMaintenance(error);\n\t\tif (!maintenance) {\n\t\t\tlogError({ message, source, lineno, colno, error });\n\t\t}\n\t};\n\n\t// notification handling\n\tEventBus.$on('error', (error, title) => {\n\t\tstore.commit('notification/add', {\n\t\t\ttype: 'error',\n\t\t\ttitle: title || 'Error',\n\t\t\tbody: error.message ? error.message : JSON.stringify(error),\n\t\t\ttime: Date.now(),\n\t\t});\n\t\tconsole.log(error);\n\t});\n\tEventBus.$on('warning', (title, body) => {\n\t\tstore.commit('notification/add', {\n\t\t\ttype: 'warning',\n\t\t\ttitle,\n\t\t\tbody,\n\t\t\ttime: Date.now(),\n\t\t});\n\t\tconsole.log(title, '|', body);\n\t});\n\tEventBus.$on('message', (title, body) => {\n\t\tstore.commit('notification/add', {\n\t\t\ttype: 'message',\n\t\t\ttitle,\n\t\t\tbody,\n\t\t\ttime: Date.now(),\n\t\t});\n\t\tconsole.log(title, '|', body);\n\t});\n\tEventBus.$on('success', (title, body) => {\n\t\tstore.commit('notification/add', {\n\t\t\ttype: 'success',\n\t\t\ttitle,\n\t\t\tbody,\n\t\t\ttime: Date.now(),\n\t\t});\n\t\tconsole.log(title, '|', body);\n\t});\n\n\t// error handling\n\tif (process.env.NODE_ENV === 'production') {\n\t\tVue.config.errorHandler = function(error) {\n\t\t\tcheckForMaintenance(error);\n\t\t\tconsole.log('vue.errorHandler', error);\n\t\t\tEventBus.$emit('error', error);\n\t\t};\n\t\tVue.config.warnHandler = function(error) {\n\t\t\tcheckForMaintenance(error);\n\t\t\tconsole.log('vue.warnHandler', error);\n\t\t\tEventBus.$emit('warning', error);\n\t\t};\n\t\twindow.addEventListener('unhandledrejection', event => {\n\t\t\tcheckForMaintenance(event.reason);\n\t\t});\n\t}\n\n\n\n\n\n\tstore.dispatch('auth/token/initApp')\n\t.then(() => {\n\t\tif (!AdminParty && store.getters['auth/token/isLoggedIn']) {\n\t\t\tstore.dispatch('auth/user/loadAvailableAccounts');\n\t\t\tstore.dispatch('auth/user/loadAccountData');\n\t\t}\n\t}).catch(err => console.log(err));\n\ti18n.locale = store.state.base.uiLocale;\n\ttry {\n\t\tawait store.dispatch('country/init');\n\t\tawait store.dispatch('i18n/loadLanguage', { language: store.state.base.uiLocale });\n\t} catch (e) {\n\t\tif (!checkForMaintenance(e)) throw e;\n\t}\n\n\tLocalStorage.cleanRequestFormDrafts();\n\n\tdocument.title = i18n.t('document.title');\n}\n","// import '@babel/polyfill';\nimport 'mutationobserver-shim';\nimport Vue from 'vue';\nimport './plugins/bootstrap-vue';\nimport './plugins/vuelidate';\nimport './plugins/icons';\nimport './plugins/filters';\nimport './plugins/leaflet';\nimport './plugins/module-css';\nimport { i18n } from './plugins/i18n';\nimport '@/assets/scss/custom.scss';\nimport App from './App.vue';\nimport { createRouter } from './router';\nimport store from './store';\nimport { initialize } from '@/util/initialize.js';\nimport EventHub from '@/util/eventbus.js';\n\ninitialize()\n\t.then(() => {\n\t\tlet prefix = store.getters['country/urlPrefix'];\n\t\tlet admin = store.getters['country/isAdmin'];\n\t\treturn createRouter(prefix, admin);\n\t}).then(router => {\n\t\tEventHub.$on('navigate', route => {\n\t\t\trouter.push(route);\n\t\t});\n\t\tnew Vue({\n\t\t\trouter,\n\t\t\tstore,\n\t\t\trender: h => h(App),\n\t\t\ti18n\n\t\t}).$mount('#app');\n\t});\n\nVue.config.productionTip = false;\n","import Vue from 'vue';\nimport moment from 'moment';\nimport Store from '@/store/index.js';\nimport { i18n } from './i18n';\nimport * as Common from 'tdbcommon';\n\n/*\n * common filters that can be used in vue-templates as 'var | filter'\n * or used directly in code if exported here\n */\n\nexport function toDate(dateString) {\n\treturn moment(dateString);\n}\n\nexport function toTimeFormat(date) {\n\tif (!date) return '';\n\tconst format = Store.state.base.userTimeFormat;\n\treturn moment(date).format(format);\n}\n\nexport function toDateFormat(date) {\n\tif (!date) return '';\n\tconst locale = window.navigator.language;\n\treturn moment(date).locale(locale).format('L');\n}\n\nexport function toDateTimeFormat(obj) {\n\tif (!obj) return '';\n\tconst format = `L ${Store.state.base.userTimeFormat}`;\n\tconst locale = window.navigator.language;\n\treturn moment(obj).locale(locale).format(format);\n}\n\nexport function toDayMonth(date) {\n\tif (!date) return '';\n\treturn moment(date).format('DD.MM.');\n}\n\nexport function toCalendarWeek(date) {\n\tif (!date) return '';\n\treturn moment(date).isoWeek();\n}\nexport function toCalendarWeekFromTo(date) {\n\tif (!date) return '';\n\tlet locale = window.navigator.language;\n\tlet d = moment(date);\n\tlet from = d.startOf('isoWeek').locale(locale).format('L');\n\tlet to = d.endOf('isoWeek').locale(locale).format('L');\n\treturn `${from} - ${to}`;\n}\n\nexport function toAccountAddress(obj) {\n\tlet data = obj.data || obj;\n\tif (data.userData?.address) {\n\t\treturn data.userData.address;\n\t}\n\tif (data.userData?.contact) {\n\t\treturn data.userData.contact;\n\t}\n\tif (data.userData?.supData?.length) {\n\t\tlet sd = data.userData.supData.find(c => c.country === Store.state.country.currentCountry.id);\n\t\tif (sd) {\n\t\t\tlet result = sd.locationsOfSale.find(los => los.default);\n\t\t\tresult = result || sd.locationsOfSale[0];\n\t\t\treturn result.address;\n\t\t}\n\t}\n\treturn null;\n}\n\nexport function toAccountName(obj) {\n\tlet data = obj.data || obj;\n\tif (data.staticData?.name) {\n\t\treturn data.staticData.name;\n\t}\n\tif (data.userData?.address?.name) {\n\t\treturn data.userData.address.name;\n\t}\n\tif (data.userData?.contact?.name) {\n\t\treturn data.userData.contact.name;\n\t}\n\tif (data.userData?.controlNumber) {\n\t\treturn data.userData.controlNumber;\n\t}\n\treturn toLosName(data);\n}\n\nexport function idToAccountName(id, list) {\n\tlet found = list.find(e => e.id === id);\n\treturn found ? toAccountName(found) : '?';\n}\n\nexport function toLosName(obj) {\n\tlet data = obj.data || obj;\n\tif (data.userData?.supData?.length) {\n\t\tlet sd = data.userData.supData.find(c => c.counrty === Store.state.country.currentCountry.id);\n\t\tif (!sd) sd = data.userData.supData[0];\n\t\tlet result = sd.locationsOfSale.find(los => los.default);\n\t\tresult = result || sd.locationsOfSale[0];\n\t\treturn result.address?.name || i18n.t('menu.noname');\n\t}\n\t// console.warn('unable to find name in ', JSON.stringify(obj));\n\treturn i18n.t('menu.noname');\n}\n\nexport function idToLosName(id, list) {\n\tlet found = list.find(e => e.id === id);\n\treturn found ? toLosName(found) : '?';\n}\n\nVue.filter('dateFormat', toDateFormat);\nVue.filter('timeFormat', toTimeFormat);\nVue.filter('dateTimeFormat', toDateTimeFormat);\nVue.filter('dayMonth', toDayMonth);\nVue.filter('calendarWeek', toCalendarWeek);\nVue.filter('calendarWeekFromTo', toCalendarWeekFromTo);\nVue.filter('toAccountName', toAccountName);\nVue.filter('idToAccountName', (id, list) => {\n\tif (Array.isArray(id)) {\n\t\tlet labels = id.map(e => {\n\t\t\treturn idToAccountName(e, list);\n\t\t});\n\t\tif (labels.length === 0) {\n\t\t\treturn '---';\n\t\t}\n\t\treturn labels.join(', ');\n\t}\n\treturn idToAccountName(id, list);\n});\n\nexport function toLocaleNoFallbackIfExists(obj) {\n\tif (!obj) return null;\n\tlet r = toLocaleNoFallback(obj);\n\tif (r === '---') return '';\n\treturn r;\n}\nexport function toLocaleIfExists(obj) {\n\tif (!obj) return null;\n\tlet r = toLocale(obj);\n\tif (r === '---') return '';\n\treturn r;\n}\nexport function toLocaleNoFallback(obj) {\n\tif (!obj) return '---';\n\tif (typeof obj === 'string') return obj;\n\tif (typeof obj === 'undefined') return '---';\n\tif (typeof obj === 'boolean') return booleanDisplay(obj);\n\tif (!Array.isArray(obj)) return '-?-';\n\tlet best = getLocaleEntry(obj, Store.state.base.uiLocale);\n\tif (best) return best;\n\treturn '---';\n}\nexport function toLocale(obj) {\n\tif (!obj) return '---';\n\tif (typeof obj === 'string') return obj;\n\tif (typeof obj === 'undefined') return '---';\n\tif (typeof obj === 'boolean') return booleanDisplay(obj);\n\tif (!Array.isArray(obj)) return '-?-';\n\tlet toCheck = Common.Config.Languages.getLanguagePriority(Store.state.base.uiLocale, Store.state.base.fallbackLocale);\n\tfor (let lang of toCheck) {\n\t\tlet val = getLocaleEntry(obj, lang);\n\t\tif (val) return val;\n\t}\n\tif (obj.length > 0) return obj[0].label;\n\treturn '---';\n}\nfunction getLocaleEntry(arr, lang) {\n\tlet entry = arr.find(e => e.lang === lang);\n\treturn entry ? entry.label : null;\n}\n\nVue.filter('toLocaleIfExists', toLocaleIfExists);\nVue.filter('toLocale', toLocale);\n\nexport function booleanDisplay(value) {\n\treturn i18n.t(value ? 'default.common.yes' : 'default.common.no');\n}\n\nVue.filter('toBooleanDisplay', booleanDisplay);\n\nVue.filter('toNumberFormat', val => {\n\tif (typeof val !== 'number') return val;\n\tlet formatter = new Intl.NumberFormat(Store.state.base.uiLocale.replace('_', '-'), {\n\t\tstyle: 'percent',\n\t\tminimumFractionDigits: 3\n\t});\n\treturn formatter.format(val / 100.0);\n});\n\nVue.filter('idToLabel', (id, list) => {\n\tif (Array.isArray(id)) {\n\t\tlet labels = id.map(e => {\n\t\t\treturn idToLabel(e, list);\n\t\t});\n\t\tif (labels.length === 0) {\n\t\t\treturn '---';\n\t\t}\n\t\treturn labels.join(', ');\n\t}\n\treturn idToLabel(id, list);\n});\n\nexport function idToLabel(id, list) {\n\tlet found = list.find(e => e.id === id);\n\treturn found ? toLocale(found.data.labels) : '?';\n}\n\nexport function formatHid(hid) {\n\tlet b = `${hid}`;\n\treturn `${b.substr(0, 3)}-${b.substr(3, 3)}-${b.substr(6, 4)}`;\n}\n\nVue.filter('hid', formatHid);\n\nexport function parseHid(string) {\n\tlet ret = string.replace(/\\D/gu, '');\n\tif (ret) return parseInt(ret.substring(0, 10));\n\treturn '';\n}\n","import de_DE from './de_DE.json';\nimport da_DK from './da_DK.json';\nimport en_GB from './en_GB.json';\nimport fr_FR from './fr_FR.json';\nimport sv_SE from './sv_SE.json';\nimport de_LU from './de_LU.json';\nimport lt_LT from './lt_LT.json';\nimport en_IE from './en_IE.json';\nimport nl_NL from './nl_NL.json';\nimport en_XI from './en_XI.json';\n\nexport const languages = {\n\tde_DE,\n\tda_DK,\n\ten_GB,\n\tfr_FR,\n\tsv_SE,\n\tde_LU,\n\tlt_LT,\n\ten_IE,\n\ten_XI,\n\tnl_NL\n};\n","import VueI18n from 'vue-i18n';\nimport Vue from 'vue';\nimport { languages } from '@/assets/translations/index.js';\nimport Common from 'tdbcommon';\n\n/*\n * translation setup\n */\n\nVue.use(VueI18n);\n\nconst fallbackTree = {};\nCommon.Config.Languages.List.forEach(lang => {\n\tlet list = Common.Config.Languages.getLanguagePriority(lang);\n\tlist.shift();\t//remove lang\n\tfallbackTree[lang] = list;\n});\n\nexport const i18n = new VueI18n({\n\tlocale: 'de_DE',\n\tfallbackLocale: fallbackTree,\n\tmessages: { ...languages }\n});\n\nexport default i18n;\n","import { get as _get, post } from '@/util/request.js';\n\nexport function create({ name, alias, paths, rules }) {\n\treturn post('bbay/ruleset/create', { name, alias, paths, rules });\n}\n\nexport function update({ id, name, paths, rules }) {\n\treturn post('bbay/ruleset/update', { id, name, paths, rules });\n}\n\nexport function get({ id, alias }) {\n\tif (id) return post('bbay/ruleset/get', { id });\n\telse if (alias) return post('bbay/ruleset/get', { alias });\n\tthrow new Error('no id or alias');\n}\n\nexport function list() {\n\treturn _get('bbay/ruleset/list');\n}\n\nexport function run({ ruleset, facts }) {\n\treturn post('bbay/evaluator/run', { ruleset, facts });\n}\n\nexport function test({ rules, facts }) {\n\treturn post('bbay/evaluator/test', { rules, facts });\n}\n","import { get, post } from '@/util/request.js';\n\nexport function getConfig(payload) {\n\treturn get('export/config/get', payload);\n}\n\nexport function createJob({ config, searchFilter, runParams, customColumnHeaders }) {\n\treturn post('export/job/create', {\n\t\tconfig, runParams, searchFilter, customColumnHeaders\n\t});\n}\n\n\nexport function getJob({ id }) {\n\treturn post('export/job/get', { id });\n}\n\nexport async function pollUntilJobComplete(jobId, wait, max) {\n\tlet res;\n\tlet success = await waitUntilTrue(async() => {\n\t\tres = await getJob({ id: jobId });\n\t\treturn res.status === 'complete';\n\t}, wait, max);\n\tif (success) return res;\n\telse throw new Error('timeout');\n}\n\nfunction wait(ms, rej) {\n\treturn new Promise(function(resolve, reject) {\n\t\tsetTimeout(rej ? reject : resolve, ms);\n\t});\n}\n\nasync function waitUntilTrue(fn, retry, max) {\n\tif (!max) max = 2000;\n\tif (!retry) retry = 100;\n\tlet start = Date.now();\n\tdo {\n\t\tlet res = await fn();\n\t\tif (res) return true;\n\t\tawait wait(retry);\n\t\t// console.log(Date.now() - start);\n\t} while (Date.now() - start < max);\n\treturn false;\n}\n","import { DOMAIN } from '../util/env';\nconst storage = window.localStorage;\n\nexport function getLastImportJob() {\n\treturn storage.getItem(`${DOMAIN}_last_import_id`);\n}\n\nexport function setLastImportId(id) {\n\tstorage.setItem(`${DOMAIN}_last_import_id`, id);\n}\n\nexport function saveRequestFormDraft(processId, data) {\n\tlet dataKey = `${DOMAIN}_rfdd_${processId}`;\n\tlet expiresKey = `${DOMAIN}_rfdt_${processId}`;\n\tif (data) {\n\t\tstorage.setItem(dataKey, JSON.stringify(data));\n\t\tstorage.setItem(expiresKey, Date.now() + 1000 * 60 * 60 * 24 * 8);\n\t} else {\n\t\tstorage.removeItem(dataKey);\n\t\tstorage.removeItem(expiresKey);\n\t}\n}\n\nexport function getRequestFormDraft(processId) {\n\tlet dataKey = `${DOMAIN}_rfdd_${processId}`;\n\tlet str = storage.getItem(dataKey);\n\tif (!str) return null;\n\ttry {\n\t\treturn JSON.parse(str);\n\t} catch (e) {\n\t\tconsole.warn(e);\n\t\treturn null;\n\t}\n}\n\nexport function cleanRequestFormDrafts() {\n\tconst now = Date.now();\n\tlet checkKey = `${DOMAIN}_rfdt_`;\n\tfor (let i=0; i now) continue;\n\t\tlet processId = key.split('_')[1];\n\t\tlet dataKey = `${DOMAIN}_rfdd_${processId}`;\n\t\tstorage.removeItem(dataKey);\n\t}\n}\n\nexport function setLastUsedAccountId(country, id) {\n\tstorage.setItem(`${DOMAIN}_last_account_${country}`, id);\n}\n\nexport function getLastUsedAccountId(country) {\n\treturn storage.getItem(`${DOMAIN}_last_account_${country}`);\n}\n","import { post } from '@/util/request.js';\n\nexport function getEmailVerificationStatus(email) {\n\treturn post('mailer/verification/check', { email });\n}\n\nexport function requestVerification(data) {\n\treturn post('mailer/verification/request', data);\n}\n\nexport function completeVerification(data) {\n\treturn post('mailer/verification/complete', data);\n}\n\nexport function ssoVerification(data) {\n\treturn post('mailer/verification/sso', data);\n}\n\nexport function templateList() {\n\treturn post('mailer/template/list');\n}\n\nexport function templateSet({ name, template, language, type }) {\n\treturn post('mailer/template/set', { name, template, language, type });\n}\n\nexport function templateGet({ template, language }) {\n\treturn post('mailer/template/get', { template, language });\n}\n","import LRU from 'lru-cache';\nimport { search } from './system.js';\nimport { post } from '@/util/request.js';\n\nconst cache = new LRU({\n\tmax: 50,\n\tmaxAge: 1000 * 60 * 10\n});\n\nexport function cachedSearch(ec, filter) {\n\tlet key = `${ec}_${JSON.stringify(filter)}`;\n\tif (!cache.has(key)) {\n\t\tlet p = search(ec, filter, { start: 0, limit: 1000 });\n\t\tcache.set(key, p);\n\t\treturn p;\n\t} else {\n\t\treturn cache.get(key);\n\t}\n}\n\nexport function runAggregateQuery(ec, filter, aggregate) {\n\treturn post('search/aggregate/run', {\n\t\tentityClass: ec,\n\t\tattributeFilter: filter,\n\t\taggregate\n\t});\n}\n","import { get, post } from '@/util/request.js';\nimport { createPatch } from 'rfc6902';\nimport LRU from 'lru-cache';\n\nconst asCache = new Map();\nlet ecListPromise;\n\nfunction getEntityclassList() {\n\treturn get('eav/entityclass/list');\n}\n\nexport async function getEntityclassByExternalId(extId) {\n\tif (!ecListPromise) {\n\t\tecListPromise = getEntityclassList();\n\t}\n\tlet list = await ecListPromise;\n\tlet ec = list.find(e => e.externalId === extId);\n\tif (!ec) throw new Error(`ec not found: ${extId}`);\n\treturn ec;\n}\n\nexport async function getAttributesetByExternalId(extId) {\n\tif (!asCache.has(extId)) {\n\t\tlet ec = await get('eav/attribute/getbyexternalid', extId);\n\t\tasCache.set(extId, ec);\n\t}\n\treturn asCache.get(extId);\n}\n\nexport function genericEntityUpdate(oldEntity, newData, changeset, surpressError) {\n\tif (!oldEntity) {\n\t\treturn null;\n\t}\n\tconst patch = createPatch(oldEntity.data, newData);\n\tif (patch.length === 0) {\n\t\treturn oldEntity;\n\t}\n\tlet payload = {\n\t\tid: oldEntity.id,\n\t\trev: oldEntity.rev,\n\t\tpatch\n\t};\n\tif (changeset && changeset !== oldEntity.attributeset) {\n\t\tpayload.changeset = changeset;\n\t}\n\treturn post('eav/entity/updatefrompatch', payload, null, surpressError);\n}\n\nexport function genericEntityCreate(entityclass, attributeset, data) {\n\treturn post('eav/entity/create', {\n\t\tentityclass,\n\t\tattributeset,\n\t\tdata\n\t});\n}\n\nexport function genericEntityDelete(id) {\n\treturn post('eav/entity/delete', { id });\n}\n\nexport function search(entityclass, filter, pagination, sorting) {\n\treturn _search(entityclass, filter, 'search/search/execute', pagination, sorting);\n}\n\nexport const searchWindow = 200;\n\nexport async function _search(entityclass, filter, endpoint, pagination, sorting) {\n\tlet result = [];\n\tlet searchRequest = {\n\t\tpagination: {\n\t\t\tstart: 0,\n\t\t\tlimit: searchWindow\n\t\t}\n\t};\n\tif (entityclass) searchRequest.entityClass = entityclass;\n\tif (filter) searchRequest.attributeFilter = filter;\n\tif (pagination) searchRequest.pagination = pagination;\n\tif (sorting) searchRequest.sorting = sorting;\n\n\tlet temp;\n\tdo {\n\t\ttemp = await post(endpoint, searchRequest);\n\t\tresult = result.concat(temp);\n\t\tif (!pagination) {\n\t\t\tsearchRequest.pagination.start += searchWindow;\n\t\t}\n\t} while (!pagination && temp && temp.length >= searchWindow);\n\n\treturn result;\n}\n\nexport async function countEntries(entityClass, filter) {\n\tconst endpoint = 'search/search/count';\n\tlet searchRequest = {\n\t\tentityClass\n\t};\n\tif (filter) searchRequest.attributeFilter = filter;\n\tlet result = await post(endpoint, searchRequest);\n\treturn result;\n}\n\nexport async function exists(entityClass, attributeFilter) {\n\tlet searchRequest = {\n\t\tentityClass,\n\t\tattributeFilter,\n\t\tpagination: {\n\t\t\tstart: 0,\n\t\t\tlimit: 1\n\t\t}\n\t};\n\tlet result = await post('search/search/execute', searchRequest);\n\treturn !!result.length;\n}\n\nconst entitycache = new LRU({\n\tmax: 500,\n\tmaxAge: 1000 * 60 * 60\n});\n\nexport function getEntityByIdRev(id, rev) {\n\tlet key = `${id}_${rev}`;\n\tlet p = entitycache.get(key);\n\tif (!p) {\n\t\tp = get(`eav/entity/link/${id}/${rev}`, {});\n\t\tentitycache.set(key, p);\n\t}\n\treturn p;\n}\nexport function getEntityByIdDate(id, date) {\n\tlet key = `${id}_${date}`;\n\tlet p = entitycache.get(key);\n\tif (!p) {\n\t\tp = get(`eav/entity/get`, { id, date });\n\t\tentitycache.set(key, p);\n\t}\n\treturn p;\n}\nexport async function getEntityById(id) {\n\tlet list = await getEntitiesById([id]);\n\tif (list.length === 0) throw new Error(`entity not found: ${id}`); // never possible?! so no translation\n\treturn list[0];\n}\nexport function getEntitiesById(ids) {\n\treturn post('search/search/ids', { ids });\n}\n\nexport function getDomain() {\n\treturn get('eav/domain/getbyurl');\n}\n\nexport function getEntityTimeline(id) {\n\treturn get('eav/entity/gettimeline', id);\n}\n","import { get, post } from '@/util/request.js';\nimport { getEntityByIdRev, getEntityById } from './system.js';\nimport { Request } from 'tdbcommon';\n\nexport function setSettings(data) {\n\treturn post('tdb/settings/update', data);\n}\n\nexport function getSettings() {\n\treturn get('tdb/settings/get');\n}\n\nexport function refreshAso() {\n\treturn get('tdb/user/refreshaso');\n}\n\nexport function notifyMissingOffergroup(name, animalkind) {\n\treturn post('tdb/notify/missingoffergroup', { name, animalkind });\n}\n\nexport function contactPageRequest(name, email, phone, controlNumber, subject, message, country) {\n\treturn post('tdb/notify/contactrequest', { name, email, phone, controlNumber, subject, message, country });\n}\n\nexport function registerAgr(data) {\n\treturn post('tdb/register/agr', data);\n}\n\nexport function requestInit(data) {\n\treturn post('tdb/request/initrequest', data);\n}\n\nexport function requestFill(data) {\n\treturn post('tdb/request/fillform', data);\n}\nexport function requestRemove(data) {\n\treturn post('tdb/request/remove', data);\n}\n\nexport function retractProcess(data) {\n\treturn post('tdb/request/retractrequest', data);\n}\n\nexport async function loadFieldForPackage(pkg) {\n\tlet list = pkg.getSteps().flatMap(step => step.getFields())\n\t\t.filter(function(value, index, self) {\n\t\t\tlet exists = self.find(e => e.id === value.id && e.rev === value.rev);\n\t\t\treturn self.indexOf(exists) === index;\n\t\t});\n\tlet res = await Promise.all(list.map(e => getEntityByIdRev(e.id, e.rev)));\n\tres = res.map(e => {\n\t\tlet f = new Request.RequestFormField();\n\t\tf.fromStorage(e);\n\t\treturn f;\n\t});\n\tpkg.getSteps().forEach(step => {\n\t\tstep.setFieldsLoaded(res);\n\t});\n}\n\nexport async function loadPackage(id, rev) {\n\tlet entity = await getEntityByIdRev(id, rev);\n\tlet pkg = new Request.RequestPackage();\n\tpkg.fromStorage(entity);\n\tawait loadFieldForPackage(pkg);\n\treturn pkg;\n}\n\n\nexport async function loadProcess(id) {\n\tlet entity = await getEntityById(id);\n\tlet process = new Request.RequestProcess();\n\tprocess.fromStorage(entity);\n\tlet pkg = await loadPackage(process.package.id, process.package.rev);\n\tprocess.setPackage(pkg);\n\treturn process;\n}\n\nexport function updateGeoPosition(data) {\n\treturn post('tdb/user/updategeoposition', data);\n}\n\nexport function setUserAgreement(data) {\n\treturn post('tdb/user/setuseragreement', data);\n}\n\nexport function setRequestStatus({ process, editorName, inProgress, statusLabel }) {\n\treturn post('tdb/request/setstatus', { process, editorName, inProgress, statusLabel });\n}\n","import * as Common from 'tdbcommon';\nimport { i18n } from '@/plugins/i18n';\n\nconst state = {\n\n\tuiLocale: 'de_DE',\n\tfallbackLocale: 'de_DE',\n\tlanguages: Common.Config.Languages.List,\n\tuserRoles: Common.Config.Users.Roles,\n\tuserTimeFormat: 'H:mm:ss',\n\tuserDateFormat: 'DD.MM.YY',\n\tCmsUsage: Common.Config.CmsUsage,\n\tmaintenanceMode: false\n\n};\n\nconst getters = {\n\tlanguages: () => {\n\t\treturn state.languages;\n\t},\n\tCmsUsage: () => {\n\t\treturn state.CmsUsage;\n\t}\n};\n\nconst actions = {\n\n};\n\nconst mutations = {\n\n\tsetUiLocale(state, lang) {\n\t\tif (!state.languages.includes(lang)) throw new Error(`invalid lang: ${lang}`);\n\t\tstate.uiLocale = lang;\n\t\ti18n.locale = lang;\n\t\tdocument.querySelector('html').setAttribute('lang', lang.substring(0, 2));\n\t},\n\n\tsetIsMaintenance(state) {\n\t\tstate.maintenanceMode = true;\n\t},\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import { post } from '@/util/request.js';\nimport { getToken } from '@/util/jwt-cache.js';\n\nexport function createAccount({ registrationName, requiresConfirmation, userData, staticData }) {\n\treturn post('auth/accountmanage/createaccount', {\n\t\tregistrationName, requiresConfirmation, userData, staticData\n\t});\n}\n\nexport function updateAccount({ active, account, userData, staticData, maxUsers }) {\n\treturn post('auth/accountmanage/updateaccount', {\n\t\tactive, account, userData, staticData, maxUsers\n\t});\n}\n\nexport function removeAccount({ account }) {\n\treturn post('auth/accountmanage/removeaccount', {\n\t\taccount\n\t});\n}\n\nexport async function unregisterAccount(account, ssoUser) {\n\treturn post('auth/accountmanage/unlinkaccount', { account, ssoUser }, await getToken());\n}\n\nexport async function createAccountInvite({ account }) {\n\tlet { inviteId } = await post('auth/accountmanage/createaccountinvite', {\n\t\taccount\n\t}, await getToken());\n\treturn inviteId;\n}\n","import {\n\tsearch, getEntityclassByExternalId, getAttributesetByExternalId, getEntityTimeline,\n\tgenericEntityCreate, genericEntityUpdate, getEntitiesById, countEntries, exists, getEntityByIdRev\n} from '@/repository/system.js';\nimport { createAccount, updateAccount } from '@/repository/auth/accountmanagement.js';\nimport { setSettings, getSettings } from '@/repository/tdb.js';\nimport LRU from 'lru-cache';\n\nconst state = {\n\tentityclasses: {\n\t\tanimalkind: null\n\t},\n\tattributesets: {\n\t\tanimalkind: null\n\t},\n\tsettings: null,\n};\n\nconst getters = {\n\tlistcache: () => type => {\n\t\treturn listcache.get(type);\n\t}\n};\n\nconst entitycache = new LRU({\n\tmax: 500,\n\tmaxAge: 1000 * 5\n});\nconst listcache = new LRU({\n\tmax: 500,\n\tmaxAge: 1000 * 60\n});\nconst timelineCache = new LRU({\n\tmax: 500,\n\tmaxAge: 1000 * 60\n});\nconst agrControlNumberFreeCache = new LRU({\n\tmax: 500,\n\tmaxAge: 1000 * 60\n});\n\nconst actions = {\n\t/* loads everything in an entityclass */\n\tloadList({ state, dispatch }, { type }) {\n\t\tlet p = listcache.get(type);\n\t\tif (!p) {\n\t\t\tp = dispatch('loadEntityclass', type);\n\t\t\tp = p.then((ec) => search(ec));\n\t\t\tlistcache.set(type, p);\n\t\t\t// console.log('listcache.set', type, listcache.length);\n\t\t} else {\n\t\t\t// console.log('listcache.got', type);\n\t\t}\n\t\treturn p;\n\t},\n\n\tasync loadEntityclass(_, name) {\n\t\tlet ec = await getEntityclassByExternalId(name);\n\t\treturn ec.id;\n\t},\n\n\tloadEntity(_, { id, rev }) {\n\t\tlet key = `${id}#${rev || 'latest'}`;\n\t\tlet e = entitycache.get(key);\n\t\tif (e) return e;\n\t\tlet prom = (rev ? getEntityByIdRev(id, rev) : getEntitiesById([id]))\n\t\t\t.then(list => {\n\t\t\t\tlet entity = 'data' in list ? list : list[0];\n\t\t\t\tif (!entity) throw new Error(`entity ${id} not found`);\n\t\t\t\tif (!rev) {\n\t\t\t\t\tentitycache.set(`${id}#${entity.rev}`, prom);\n\t\t\t\t}\n\t\t\t\treturn entity;\n\t\t\t});\n\t\tentitycache.set(key, prom);\n\t\t// console.log('entitycache.set', id, entitycache.length);\n\t\treturn prom;\n\t},\n\n\tclearCache() {\n\t\tentitycache.reset();\n\t\tlistcache.reset();\n\t},\n\n\tloadEntities(_, { ids, throwIfNotAllFound }) {\n\t\tlet notCached = [];\n\t\tlet cached = [];\n\t\tids.forEach(id => {\n\t\t\tlet e = entitycache.get(id);\n\t\t\tif (e) cached.push(e);\n\t\t\telse notCached.push(id);\n\t\t});\n\t\tlet all = cached.slice(0);\n\t\tif (notCached.length > 0) {\n\t\t\tlet baseProm = getEntitiesById(notCached);\n\t\t\tnotCached.forEach(id => {\n\t\t\t\tlet eProm = baseProm.then(list => {\n\t\t\t\t\tlet e = list.find(e => e.id === id);\n\t\t\t\t\tif (throwIfNotAllFound && !e) throw new Error(`entity with id ${id} not found`);\n\t\t\t\t\treturn e;\n\t\t\t\t});\n\t\t\t\tall.push(eProm);\n\t\t\t\tentitycache.set(id, eProm);\n\t\t\t});\n\t\t}\n\t\treturn Promise.all(all);\n\t},\n\t/* creates or updated an entity. entityclass and attributeset must have same externalId */\n\tasync saveEntry({ state, commit, dispatch }, { entity, newData, type }) {\n\t\tlet ec = await dispatch('loadEntityclass', type);\n\t\tif (!state.attributesets[type]) {\n\t\t\tlet as = await getAttributesetByExternalId(type);\n\t\t\tcommit('setAttributeset', { type, value: as.id });\n\t\t}\n\t\tlet res;\n\t\tif (entity) {\n\t\t\tres = await genericEntityUpdate(entity, newData, state.attributesets[type]);\n\t\t\tlet tl = timelineCache.get(entity.id);\n\t\t\tif (tl) {\n\t\t\t\ttl.push({ rev: res.rev, updated: res.updated });\n\t\t\t}\n\t\t} else {\n\t\t\tres = await genericEntityCreate(ec, state.attributesets[type], newData);\n\t\t}\n\t\treturn res;\n\t},\n\n\tasync loadOffergroups({ dispatch }, { start, limit, sorting, attributeFilter }) {\n\t\tconst type = 'offergroup';\n\t\tlet ec = await dispatch('loadEntityclass', type);\n\t\tlet count = await countEntries(ec, attributeFilter);\n\t\tlet list = await search(ec, attributeFilter, { start, limit }, sorting);\n\t\treturn { count, list };\n\t},\n\n\tasync loadUsers({ dispatch }, { start, limit, sorting, attributeFilter }) {\n\t\tconst type = 'account';\n\t\tlet ec = await dispatch('loadEntityclass', type);\n\t\tlet count = await countEntries(ec, attributeFilter);\n\t\tlet list = await search(ec, attributeFilter, { start, limit }, sorting);\n\t\treturn { count, list };\n\t},\n\n\tasync countEntries({ dispatch }, { attributeFilter, type }) {\n\t\tlet ec = await dispatch('loadEntityclass', type);\n\t\tlet count = await countEntries(ec, attributeFilter);\n\t\treturn count;\n\t},\n\n\tcreateAccount(_, { registrationName, requiresConfirmation=false, userData, staticData }) {\n\t\treturn createAccount({ registrationName, requiresConfirmation, userData, staticData });\n\t},\n\n\tupdateAccount(_, { active, account, userData, staticData, maxUsers }) {\n\t\treturn updateAccount({ active, account, userData, staticData, maxUsers });\n\t},\n\n\tasync setSettings({ commit }, { data, persist }) {\n\t\tif (persist) await setSettings(data);\n\t\tcommit('setSettings', data);\n\t},\n\n\tasync getSettings({ commit, state }) {\n\t\tif (state.settings === null) {\n\t\t\tlet settings = await getSettings();\n\t\t\tcommit('setSettings', settings);\n\t\t}\n\t\treturn state.settings;\n\t},\n\n\tasync getRulesetForKey({ dispatch }, { key }) {\n\t\tlet settings = await dispatch('getSettings');\n\t\tif (!settings.rulesets) return null;\n\t\tlet rs = settings.rulesets.find(e => e.key === key);\n\t\tif (!rs) return null;\n\t\treturn { id: rs.id, rev: rs.rev };\n\t},\n\n\tasync loadEntityTimeline(_, { id }) {\n\t\tlet res = timelineCache.get(id);\n\t\tif (!res) {\n\t\t\tres = await getEntityTimeline(id);\n\t\t\ttimelineCache.set(id, res);\n\t\t}\n\t\treturn res;\n\t},\n\n\tasync checkAgrControlNumberIsFree(_, controlNumber) {\n\t\tlet res = agrControlNumberFreeCache.get(controlNumber);\n\t\tif (typeof res !== 'boolean') {\n\t\t\tlet ec = await getEntityclassByExternalId('account');\n\t\t\tlet attributeFilter = { $and: [{\n\t\t\t\tfield: '/data/staticData/role',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: 'AGR'\n\t\t\t}, {\n\t\t\t\tfield: '/data/userData/controlNumber',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: controlNumber\n\t\t\t}] };\n\t\t\tres = await exists(ec.id, attributeFilter);\n\t\t\tres = !res;\n\t\t\tagrControlNumberFreeCache.set(controlNumber, res);\n\t\t}\n\t\treturn res;\n\t}\n};\n\nconst mutations = {\n\n\tsetAttributeset(state, { type, value }) {\n\t\tstate.attributesets[type] = value;\n\t},\n\n\tsetSettings(state, settings) {\n\t\tstate.settings = settings;\n\t},\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import {\n\tgetEntityclassByExternalId,\n\tgetAttributesetByExternalId,\n\tgenericEntityUpdate,\n\tgenericEntityCreate,\n\tcountEntries,\n\tsearch\n} from '@/repository/system.js';\nimport { get, post } from '@/util/request.js';\n\nconst state = {\n\tentityclass: null,\n\tattributeset: null,\n\tofferEntityclass: null,\n\tofferAttributeset: null\n};\n\nconst getters = {\n};\n\nconst actions = {\n\n\tasync loadEntity(_, { id }) {\n\t\tlet tmp = await post('search/search/ids', { ids: [id] });\n\t\treturn tmp[0];\n\t},\n\tloadEntities(_, { ids }) {\n\t\treturn post('search/search/ids', { ids });\n\t},\n\n\t/* creates or updated an entity. entityclass and attributeset must have same externalId */\n\tasync saveEntry({ state, commit }, { entity, newData }) {\n\t\tif (!state.entityclass) {\n\t\t\tlet ec = await getEntityclassByExternalId('upload');\n\t\t\tcommit('setEntityclass', { value: ec.id });\n\t\t}\n\t\tif (!state.attributeset) {\n\t\t\tlet as = await getAttributesetByExternalId('upload');\n\t\t\tcommit('setAttributeset', { value: as.id });\n\t\t}\n\t\tlet res;\n\t\tif (entity) {\n\t\t\tres = await genericEntityUpdate(entity, newData, state.attributeset);\n\t\t} else {\n\t\t\tres = await genericEntityCreate(state.entityclass, state.attributeset, newData);\n\t\t}\n\t\treturn res;\n\t},\n\n\tasync createAttachment({ dispatch }, { newData, attachment }) {\n\t\tlet entity = await dispatch('saveEntry', { newData });\n\t\treturn post('eav/entity/setattachment', { rev: entity.rev, id: entity.id, attachment });\n\t},\n\n\tsetAttachment(_, { rev, id, attachment }) {\n\t\treturn post('eav/entity/setattachment', { rev, id, attachment });\n\t},\n\n\tgetAttachment(_, { id }) {\n\t\treturn get('eav/entity/getattachment', { id });\n\t},\n\n\tasync loadList({ commit, state }, { start, limit, sorting, attributeFilter }) {\n\t\tif (!state.entityclass) {\n\t\t\tlet ec = await getEntityclassByExternalId('upload');\n\t\t\tcommit('setEntityclass', { value: ec.id });\n\t\t}\n\t\tlet count = await countEntries(state.entityclass, attributeFilter);\n\t\tlet list = await search(state.entityclass, attributeFilter, { start, limit }, sorting);\n\t\treturn { count, list };\n\t},\n\n\tasync deleteEntity({ dispatch }, { id }) {\n\t\tlet ret = await post('eav/entity/delete', { id });\n\t\tlet offers = [];\n\t\tlet errors = [];\n\t\ttry {\n\t\t\toffers = await dispatch('_searchOffersWithUpload', { id });\n\t\t} catch (error) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`attachment deleted, but could not search for offers to remove attachment '${id}'.`, error);\n\t\t\tthrow new Error(`Attachment deleted, but could not search for offers to remove attachment '${id}': ${error}`);\n\t\t}\n\t\tfor (let offer of offers) {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait dispatch('_removeAttachmentFromOffer', { id, offer });\n\t\t\t} catch (err) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`attachment deleted, but could not remove it '${id}' from offer '${offer.id}'.`, err);\n\t\t\t\terrors.push({ offerId: offer.id, error: `${err.name}: ${err.message}` });\n\t\t\t}\n\t\t}\n\t\tif (errors.length) {\n\t\t\tthrow new Error(`Attachment '${id}' deleted, but could not remove it from offer: ${JSON.stringify(errors)}`);\n\t\t}\n\t\treturn ret;\n\t},\n\n\tdeleteLogo(_, { id }) {\n\t\treturn post('eav/entity/delete', { id });\n\t},\n\n\tasync _searchOffersWithUpload({ commit, state }, { id }) {\n\t\tif (!state.offerEntityclass) {\n\t\t\tlet ec = await getEntityclassByExternalId('offer');\n\t\t\tcommit('setOfferEntityclass', { value: ec.id });\n\t\t}\n\t\tlet attributeFilter = {\n\t\t\tfield: '/data/attachment',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: id\n\t\t};\n\t\treturn search(state.offerEntityclass, attributeFilter);\n\t},\n\tasync _removeAttachmentFromOffer({ commit, state }, { id, offer }) {\n\t\tlet newData = JSON.parse(JSON.stringify(offer.data));\n\t\tif (newData.attachment.length > 1) newData.attachment = offer.data.attachment.filter(e => e !== id);\n\t\telse delete newData.attachment;\n\t\tif (!state.offerAttributeset) {\n\t\t\tlet as = await getAttributesetByExternalId('offer');\n\t\t\tcommit('setOfferAttributeset', { value: as.id });\n\t\t}\n\t\tlet res = await genericEntityUpdate(offer, newData, state.offerAttributeset);\n\t\treturn res;\n\t}\n};\n\nconst mutations = {\n\n\tsetEntityclass(state, { value }) {\n\t\tstate.entityclass = value;\n\t},\n\tsetAttributeset(state, { value }) {\n\t\tstate.attributeset = value;\n\t},\n\tsetOfferEntityclass(state, { value }) {\n\t\tstate.offerEntityclass = value;\n\t},\n\tsetOfferAttributeset(state, { value }) {\n\t\tstate.offerAttributeset = value;\n\t}\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","const LIMIT = 10; // how many notifications are saved, 0 for no limitation\n\nconst state = {\n\tnotifications: [],\n\tnotificationsToShow: [],\n};\n\nconst getters = {\n\tget: (state) => {\n\t\treturn state.notifications;\n\t},\n\tgetNotShown: (state) => {\n\t\treturn state.notificationsToShow;\n\t},\n};\n\nconst mutations = {\n\tadd(state, notification) {\n\t\tstate.notifications.push(notification);\n\t\tstate.notificationsToShow.push(notification);\n\t\tlet len = state.notifications.length;\n\t\tif (LIMIT && len > LIMIT) {\n\t\t\tstate.notifications = state.notifications.slice(len-LIMIT, len);\n\t\t}\n\t},\n\tshiftToShow() {\n\t\tstate.notificationsToShow = state.notificationsToShow.slice(1);\n\t},\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tmutations,\n};\n","import { get, post } from '@/util/request.js';\nimport { getToken } from '@/util/jwt-cache.js';\n\nexport async function listAccountsForUser() {\n\tlet auth = await getToken();\n\tif (!auth) return [];\n\tlet list = await get('auth/domain/listaccounts', null, auth);\n\treturn list;\n}\n\nexport async function registerWithDomainByInvite(inviteId, registrationName, token) {\n\tconst payload = {\n\t\tinviteId,\n\t\tregistrationName,\n\t\tuserData: {},\n\t\ttoken\n\t};\n\tlet { account } = await post('auth/domain/register', payload);\n\treturn account;\n}\n\nexport async function refreshToken() {\n\treturn post('auth/account/refreshtoken', null, await getToken());\n}\n\nexport async function getAccountDetails() {\n\treturn get('auth/account/getaccount', null, await getToken());\n}\n\nexport async function unregisterAccount(account) {\n\treturn post('auth/account/unregisterwithaccount', { account }, await getToken());\n}\n\nexport async function updateAccount(data, surpressError) {\n\treturn post('auth/account/updateaccount', data, await getToken(), surpressError);\n}\n\nexport async function loginToDomain(token, useAccount) {\n\tlet p = { token };\n\tif (useAccount) p.useAccount = useAccount;\n\ttry {\n\t\treturn await post('auth/domain/login', p);\n\t} catch (e) {\n\t\tif (e.message.includes('unable to choose account') && useAccount) {\n\t\t\treturn loginToDomain(token);\n\t\t} else {\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n","import jwtDecode from 'jwt-decode';\nimport { DOMAIN, KeycloakInfo } from '@/util/env.js';\nimport { setToken } from '@/util/jwt-cache.js';\nimport { loginToDomain } from '@/repository/auth/account.js';\nimport Keycloak from 'keycloak-js';\nimport * as LocalStorage from '@/repository/localStorage.js';\n\nconst keycloak = new Keycloak(KeycloakInfo);\n\nlet initPromise;\nlet isInit = false;\n\nconst state = {\n\tmain: {\n\t\ttoken: null,\n\t\texpires: 0,\n\t\taccount: null\n\t},\n\tssoToken: null,\n\tssoRefreshToken: null,\n\tssoParsed: null\n};\n\nconst getters = {\n\n\taccount: (state) => {\n\t\treturn state.main.account;\n\t},\n\n\tisLoggedIn: (state) => {\n\t\tlet ts = ~~(Date.now()/1000);\n\t\treturn state.main.expires > ts\n\t\t\t&& state.main.token !== null;\n\t},\n\n\tcurrentToken: (state) => {\n\t\treturn state.main.token;\n\t},\n\n\thasAccountSelected: (state) => {\n\t\treturn state.main.account !== null;\n\t},\n\n\tgetValidTokenForAccount: (state) => (accountId) => {\n\t\tlet ts = ~~(Date.now()/1000);\n\t\tif (state.main.account === accountId && state.main.expires > ts) {\n\t\t\treturn state.main.token;\n\t\t}\n\t\treturn null;\n\t},\n\n\thasSsoLogin: (state) => {\n\t\treturn state.ssoParsed && state.ssoParsed.exp > Date.now()/1000;\n\t},\n\n\tssoProfileLink: () => keycloak.createAccountUrl(),\n\n\tssoToken: (state) => state.ssoToken,\n\n\tssoUserId: (state) => {\n\t\treturn state.ssoParsed?.sub;\n\t}\n};\n\nconst actions = {\n\n\t/**\n\t * should be called once at the start\n\t **/\n\tasync initApp({ dispatch, state }) {\n\t\tif (!initPromise) {\n\t\t\tlet opts = {\n\t\t\t\tsilentCheckSsoFallback: false,\n\t\t\t\tcheckLoginIframe: false\n\t\t\t};\n\t\t\tif (state.ssoToken && state.ssoRefreshToken) {\n\t\t\t\topts.idToken = opts.token = state.ssoToken;\n\t\t\t\topts.refreshToken = state.ssoRefreshToken;\n\t\t\t}\n\t\t\t// console.log('keycloak init', opts);\n\t\t\tinitPromise = keycloak.init(opts);\n\t\t}\n\t\tlet auth = await initPromise;\n\t\tif (isInit) return;\n\t\tisInit = true;\n\t\tsetToken(() => dispatch('getOrCreateZdbToken'));\n\t\tconsole.log('init', auth, keycloak);\n\t\tif (auth) {\n\t\t\tif (keycloak.refreshToken) {\n\t\t\t\ttry {\n\t\t\t\t\tawait keycloak.updateToken(65);\n\t\t\t\t} catch (e) {\n\t\t\t\t\t//refresh token expired\n\t\t\t\t\tconsole.log('refresh failed', e);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait dispatch('authenticate');\n\t\t}\n\t},\n\n\t/**\n\t * call to log in the user\n\t **/\n\tasync authenticate({ commit, dispatch, state, rootState, rootGetters }) {\n\t\t// console.log('authenticate', keycloak);\n\t\tif (!keycloak.token) {\n\t\t\tlet locale = rootState.base.uiLocale.substr(0, 2);\n\t\t\tlet country = rootGetters['country/currentCountry'];\n\t\t\tconst idpHint = new URL(document.location.href).searchParams.get('idpHint') || country.data.ssoIdpHint;\n\t\t\tlet params = {\n\t\t\t\tredirectUri: document.location.href,\n\t\t\t\tlocale,\n\t\t\t\tidpHint\n\t\t\t};\n\t\t\tlet url = await keycloak.createLoginUrl(params);\n\t\t\twindow.location.href = url;\n\t\t\treturn;\n\t\t}\n\t\tcommit('setSsoToken', keycloak);\n\t\tlet data = await loginToDomain(state.ssoToken, state.main.account);\n\t\tcommit('login', data.jwt);\n\t\tawait dispatch('auth/user/switchToFirstAvailableAccount', null, { root: true });\n\t},\n\n\tasync register({ rootState, rootGetters }) {\n\t\tlet locale = rootState.base.uiLocale.substr(0, 2);\n\t\tlet country = rootGetters['country/currentCountry'];\n\t\tlet params = {\n\t\t\tredirectUri: document.location.href,\n\t\t\tlocale,\n\t\t\tidpHint: country.data.ssoIdpHint\n\t\t};\n\t\tlet url = await keycloak.createRegisterUrl(params);\n\t\twindow.location.href = url;\n\t},\n\n\t/**\n\t * call to log out the user\n\t **/\n\tasync logout({ commit }) {\n\t\tcommit('logout');\n\t\tawait keycloak.logout();\n\t},\n\n\t/**\n\t * switch zdb accounts\n\t **/\n\tasync switchAccountAndLogin({ commit, dispatch, getters, state, rootGetters }, accountId) {\n\t\t// errors in this function are never displayed to user? not translated for now\n\t\tif (!accountId) throw new Error('no accountId specified');\n\t\tif (accountId === state.main.account) return;\n\t\tdispatch('redirect/runHook', { trigger: 'afterAccountSwitch' }, { root: true });\n\t\tlet existing = getters.getValidTokenForAccount(accountId);\n\t\tif (existing) {\n\t\t\tcommit('login', existing);\n\t\t} else {\n\t\t\tawait dispatch('getSsoToken');\n\t\t\tlet data = await loginToDomain(state.ssoToken, accountId);\n\t\t\tif (!data) throw new Error('Could not switch account.');\n\t\t\tcommit('login', data.jwt);\n\t\t}\n\t\tlet country = rootGetters['country/currentCountry'].id;\n\t\tLocalStorage.setLastUsedAccountId(country, accountId);\n\t\tawait dispatch('auth/user/loadAccountData', null, { root: true });\n\t},\n\n\tgetSsoCredentialsLink() {\n\t\treturn (\n\t\t\tkeycloak.createAccountUrl({\n\t\t\t\tredirectUri: document.location.href,\n\t\t\t}) + '#/credentials'\n\t\t);\n\t},\n\n\tssoIsValid({ state }) {\n\t\treturn !!(state.ssoToken && (state.ssoParsed?.exp || 0) > Math.floor(Date.now() / 1000));\n\t},\n\n\tasync getSsoToken({ dispatch, commit }) {\n\t\tlet valid = await dispatch('ssoIsValid');\n\t\tif (!valid) {\n\t\t\tawait keycloak.updateToken(10);\n\t\t\tcommit('setSsoToken', keycloak);\n\t\t}\n\t\treturn state.ssoToken;\n\t},\n\n\tasync getOrCreateZdbToken({ state, dispatch, commit }) {\n\t\tconst now = Math.floor(Date.now() / 1000);\n\t\t// console.debug('getOrCreateZdbToken', state.main.expires - now);\n\t\tif (!state.ssoToken || !state.ssoRefreshToken) return;\n\t\tawait dispatch('getSsoToken');\n\t\tif (dispatch('ssoIsValid') && state.main.expires && state.main.expires < now) {\n\t\t\tlet accountId = state.main.lastAccount;\n\t\t\tconsole.debug('getting fresh token for account', accountId);\n\t\t\tif (!accountId) return undefined;\n\t\t\tconst data = await loginToDomain(state.ssoToken, accountId);\n\t\t\tif (!data) throw new Error('Could not switch account.');\n\t\t\tcommit('login', data.jwt);\n\t\t}\n\t\treturn state.main.token;\n\t},\n};\n\nconst mutations = {\n\n\tlogin(state, jwt) {\n\t\t// errors in this function are never displayed to user? not translated for now\n\t\tlet { aud, sub, exp } = jwtDecode(jwt);\n\t\tif (aud !== DOMAIN) {\n\t\t\tthrow new Error(`token expected for ${DOMAIN} but received for ${aud}`);\n\t\t}\n\t\tlet expDate = new Date(exp * 1000);\n\t\tif (expDate < new Date()) {\n\t\t\tthrow new Error('token is expired');\n\t\t}\n\t\tif (!sub) sub = null;\n\t\tstate.main.token = jwt;\n\t\tstate.main.expires = exp;\n\t\tstate.main.account = sub;\n\t},\n\n\tlogout(state) {\n\t\tstate.main.token = null;\n\t\tstate.main.account = null;\n\t\tstate.main.expires = 0;\n\t\tstate.ssoToken = null;\n\t\tstate.ssoParsed = null;\n\t},\n\n\tsetSsoToken(state, { token, tokenParsed, refreshToken }) {\n\t\tstate.ssoToken = token;\n\t\tstate.ssoParsed = tokenParsed;\n\t\tstate.ssoRefreshToken = refreshToken;\n\t}\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import { createAccountInvite, unregisterAccount } from '@/repository/auth/accountmanagement.js';\n\nconst state = {\n\n};\n\nconst getters = {\n};\n\nconst actions = {\n\tcreateInvite(_, { accountId }) {\n\t\treturn createAccountInvite({ account: accountId });\n\t},\n\tunregisterAccount(_, { account, ssoUser }) {\n\t\treturn unregisterAccount(account, ssoUser);\n\t}\n};\n\nconst mutations = {\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import { getAccountDetails, listAccountsForUser, unregisterAccount, updateAccount, registerWithDomainByInvite } from '@/repository/auth/account.js';\nimport { getEntitiesById } from '@/repository/system.js';\nimport { toAccountName } from '@/plugins/filters.js';\nimport { EtrackerCode } from '@/util/env.js';\nimport * as TdbRepo from '@/repository/tdb.js';\nimport * as LocalStorage from '@/repository/localStorage.js';\n\n/*\n * everything for your own current user\n */\n\nconst state = {\n\tdetails: {},\n\tloaded: false,\n\tavailableAccounts: []\n};\n\nconst getters = {\n\tdetails: state => {\n\t\treturn state.details;\n\t},\n\tavailableAccounts: (state, getters, rootState, rootGetters) => {\n\t\tlet isAdmin = rootGetters['country/isAdmin'];\n\t\treturn state.availableAccounts.filter(a => (a.data.registrationOptionName === 'adm' ? isAdmin : !isAdmin));\n\t},\n\taccountName: (state) => {\n\t\treturn toAccountName(state.details);\n\t},\n\tsupData: (state) => {\n\t\treturn state.details?.userData?.supData || [];\n\t},\n\tinsData: (state) => {\n\t\treturn state.details?.userData?.insData || [];\n\t},\n\trole: (state) => {\n\t\treturn state.details?.staticData?.role || 'GUEST';\n\t},\n\tofferAutApproval: (state) => {\n\t\treturn state.details?.staticData?.autApprovalForCountry || null;\n\t},\n\troleSupportsProfile: (state) => (func) => {\n\t\tlet role = state.details?.staticData?.role;\n\t\tif (func === 'logo') return ['SUP'].includes(role);\n\t\tif (func === 'email') return ['ASO', 'AUT', 'INS', 'SUP'].includes(role);\n\t\tif (func === 'animalkindsSold') return ['AGR', 'SUP'].includes(role);\n\t\tif (func === 'locationsOfSale') return ['AGR', 'SUP'].includes(role);\n\t\tif (func === 'confirmedAllLocationsOfSale') return ['AGR'].includes(role);\n\t\tif (func === 'requestFolders') return ['AGR', 'ASO', 'SUP', 'INS', 'AUT'].includes(role);\n\t\treturn false;\n\t},\n\troleSupportsProfileSupData: (state) => {\n\t\tlet role = state.details?.staticData?.role;\n\t\tswitch (role) {\n\t\t\tcase 'AGR':\n\t\t\t\treturn 1;\n\t\t\tcase 'SUP':\n\t\t\t\treturn 20;\n\t\t\tdefault:\n\t\t\t\treturn 0;\n\t\t}\n\t},\n\tisLoaded: (state) => {\n\t\treturn state.loaded;\n\t},\n\temail: (state) => {\n\t\treturn state.details.userData.address?.email;\n\t},\n\thasRole: (state, getters) => (role) => {\n\t\tlet baseRole = getters.role;\n\t\tif (role === 'AGR' && baseRole === role) {\n\t\t\treturn true;\t//don't check for active ins. this is mainly used for nav menu, and inactive agr can still see requests\n\t\t}\n\t\tif (baseRole === role) return true;\n\t\tif (role === 'SUP' && baseRole === 'AGR') {\n\t\t\treturn getters.isActiveSup;\n\t\t}\n\t\treturn false;\n\t},\n\tisDeactivatedAgr: (state, getters) => {\n\t\treturn getters.role === 'AGR' && (state.details?.userData?.insData?.filter(e => !e.deactivatedOn).length || 0) === 0;\n\t},\n\tisActiveSup: (state, getters) => {\n\t\treturn ['AGR', 'SUP'].includes(getters.role) && getters.hasAcceptedTos;\n\t},\n\tisActiveAgr: (state, getters) => {\n\t\tlet insData = state.details?.userData?.insData;\n\t\treturn getters.role === 'AGR' && insData && insData.filter(e => !e.deactivatedOn).length > 0;\n\t},\n\thasActiveAso: (state, getters) => {\n\t\tlet asoData = state.details?.userData?.asoData;\n\t\treturn getters.role === 'AGR' && asoData && asoData.filter(e => !e.deactivatedOn).length > 0;\n\t},\n\tsupHasAllGeoPos: (state) => {\n\t\tlet account = state.details;\n\t\tif (!account) return false;\n\t\tfor (let supData of account.userData.supData) {\n\t\t\tfor (let los of supData.locationsOfSale) {\n\t\t\t\tlet pos = los.address.geoPosition;\n\t\t\t\tif (!(pos && pos.lat && pos.lon)) return false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t},\n\tsupHasAllMailOrPhone: () => {\n\t\tlet account = state.details;\n\t\tif (!account) return false;\n\t\tlet atLeastOneLos = false;\n\t\tfor (let supData of account.userData.supData) {\n\t\t\tfor (let los of supData.locationsOfSale) {\n\t\t\t\tif (!(los.address.phone || los.address.email)) return false;\n\t\t\t\tatLeastOneLos = true;\n\t\t\t}\n\t\t}\n\t\treturn atLeastOneLos;\n\t},\n\tsupIsReadyToSell: (state, getters) => {\n\t\treturn getters.supHasAllGeoPos && getters.supHasAllMailOrPhone;\n\t},\n\thasAcceptedTos: (state) => {\n\t\treturn !!state.details?.userData?.supExtra?.tosAcceptedOn;\n\t},\n\tactiveInsOptions: (state) => {\n\t\tlet insData = state.details?.userData?.insData;\n\t\tif (!insData) return [];\n\t\treturn insData.filter(e => !e.deactivatedOn);\n\t},\n\tactiveAsoOptions: (state) => {\n\t\tlet asoData = state.details?.userData?.asoData;\n\t\tif (!asoData) return [];\n\t\treturn asoData.filter(e => !e.deactivatedOn);\n\t}\n};\n\nconst actions = {\n\n\tasync loadAccountData({ commit, rootGetters }) {\n\t\tlet accountDetails = {};\n\t\tif (rootGetters['auth/token/account']) {\n\t\t\taccountDetails = await getAccountDetails();\n\t\t}\n\t\tcommit('setDetails', accountDetails);\n\t},\n\n\tasync loadAvailableAccounts({ commit }) {\n\t\tlet list = await listAccountsForUser();\n\t\tif (list.length === 0) return;\n\t\tlet entities = await getEntitiesById(list);\n\t\tcommit('setAvailableAccounts', entities);\n\t},\n\n\tasync switchToFirstAvailableAccount({ dispatch, getters, rootGetters }) {\n\t\tawait dispatch('loadAvailableAccounts');\n\t\tif (getters.availableAccounts.length > 0) {\n\t\t\tlet country = rootGetters['country/currentCountry']?.id;\n\t\t\tlet lastAccount = LocalStorage.getLastUsedAccountId(country);\n\t\t\tif (rootGetters['auth/token/account'] && getters.availableAccounts.find(a => a.id === rootGetters['auth/token/account'])) {\n\t\t\t\tawait dispatch('loadAccountData');\n\t\t\t} else if (lastAccount && getters.availableAccounts.find(a => a.id === lastAccount)) {\n\t\t\t\tawait dispatch('auth/token/switchAccountAndLogin', lastAccount, { root: true });\n\t\t\t} else {\n\t\t\t\tawait dispatch('auth/token/switchAccountAndLogin', getters.availableAccounts[0].id, { root: true });\n\t\t\t}\n\t\t\tif (typeof _etracker === 'object' && EtrackerCode) {\n\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\t_etracker.sendEvent(new et_UserDefinedEvent('role', 'login', '', getters.role));\n\t\t\t}\n\t\t}\n\t},\n\n\tasync unregisterFromAccount({ rootGetters, dispatch }, account) {\n\t\tif (!account) account = rootGetters['auth/token/account'];\n\t\tif (!account) throw new Error('no account is selected');\n\t\tawait unregisterAccount(account);\n\t\t// commit('auth/token/logout', null, { root: true });\n\t\tdispatch('switchToFirstAvailableAccount');\n\t},\n\n\tasync updateUserData({ state, commit }, { userData, surpressError }) {\n\t\tlet accountData = await updateAccount(userData, surpressError);\n\t\tlet details = JSON.parse(JSON.stringify(state.details));\n\t\tdetails.userData = accountData.userData;\n\t\tcommit('setDetails', details);\n\t},\n\n\tasync updateUserGeoPos({ state, dispatch }, { userId, countryId, locationOfSale, geoPosition }) {\n\t\tif (userId) {\n\t\t\tawait TdbRepo.updateGeoPosition({ userId, countryId, locationOfSale, geoPosition });\n\t\t\tawait dispatch('admin/clearCache', null, { root: true });\n\t\t\tawait dispatch('request/main/loadAgrData', null, { root: true });\n\t\t} else { // add to current user\n\t\t\tlet userData = JSON.parse(JSON.stringify(state.details.userData));\n\t\t\tuserData.supData.find(e => e.country === countryId).locationsOfSale\n\t\t\t\t.find(el => el.id === locationOfSale).address.geoPosition = geoPosition;\n\t\t\tawait dispatch('updateUserData', { userData });\n\t\t\tawait dispatch('request/main/init', null, { root: true });\n\n\t\t}\n\t},\n\n\tasync registerWithInvite({ dispatch, rootState }, { inviteId, registrationName }) {\n\t\tawait dispatch('auth/token/initApp', null, { root: true });\n\t\tlet token = rootState.auth.token.ssoToken;\n\t\tlet accountId = await registerWithDomainByInvite(inviteId, registrationName, token);\n\t\tawait dispatch('auth/token/switchAccountAndLogin', accountId, { root: true });\n\t}\n};\n\nconst mutations = {\n\n\tsetDetails(state, details) {\n\t\tstate.details = details;\n\t\tstate.loaded = true;\n\t},\n\n\tsetAsoData(state, asoData) {\n\t\tstate.details.userData.asoData = asoData;\n\t},\n\n\tsetAvailableAccounts(state, list) {\n\t\tstate.availableAccounts = list;\n\t}\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import token from './auth/token.js';\nimport account from './auth/account.js';\nimport user from './auth/user.js';\n\nexport default {\n\tnamespaced: true,\n\tmodules: {\n\t\ttoken,\n\t\taccount,\n\t\tuser\n\t}\n};\n","import { search, getEntityclassByExternalId } from '@/repository/system.js';\nimport * as Common from 'tdbcommon';\n\nconst state = {\n\n\tentityclass: null,\n\tcurrentCountry: null,\n\tcountrySelection: [],\n\turlPrefix: '/',\n\tlist: []\n\n};\n\nfunction findCountryByUrl(countries) {\n\tlet url = document.location.host + document.location.pathname;\n\t// console.log('find domain for ', url);\n\tfor (let country of countries) {\n\t\tif (!country.data.domains) continue;\n\t\tfor (let domain of country.data.domains) {\n\t\t\tif (url.substr(0, domain.length) === domain) {\n\t\t\t\treturn { country, domain };\n\t\t\t}\n\t\t}\n\t}\n\treturn {};\n}\n\nconst getters = {\n\n\tisAdmin: (state) => {\n\t\treturn state.currentCountry?.data.isAdmin;\n\t},\n\n\tcountryLabels: (state) => {\n\t\treturn state.currentCountry ? state.currentCountry.data.labels : [];\n\t},\n\n\tisCountrySelected: (state) => {\n\t\treturn !!state.currentCountry;\n\t},\n\n\tcountriesForSelection: (state) => {\n\t\treturn state.countrySelection;\n\t},\n\n\tcurrentCountry: (state) => {\n\t\treturn state.currentCountry;\n\t},\n\n\turlPrefix: (state) => {\n\t\treturn state.urlPrefix;\n\t},\n\n\tusesRequestSystem: state => {\n\t\treturn state.currentCountry?.data.usesRequestSystem;\n\t},\n\n\tusesSso: state => {\n\t\treturn state.currentCountry?.data.registrationProcedure !== 'apiagencybiofr';\n\t},\n\n\tcountriesForOptions: state => {\n\t\treturn state.list.filter(c => !c.data.isAdmin);\n\t},\n\n\tbyId: state => id => {\n\t\treturn state.list.find(c => c.id === id);\n\t}\n};\n\nconst actions = {\n\n\tasync loadCurrentCountry({ commit, state, dispatch, rootState }) {\n\t\tawait dispatch('loadEntityclass');\n\t\tlet filter = {\n\t\t\t$or: [{\n\t\t\t\tfield: '/data/enabledForWebsite',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: true\n\t\t\t}, {\n\t\t\t\tfield: '/data/isAdmin',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: true\n\t\t\t}]\n\t\t};\n\t\tlet res = await search(state.entityclass, filter);\n\t\tlet { country, domain } = findCountryByUrl(res);\n\t\tif (!country && res.length === 1) {\n\t\t\tcountry = res[0];\n\t\t\tdomain = country.data.domains[0];\n\t\t}\n\t\tif (country) {\n\t\t\tif (country.data.isAdmin) {\n\t\t\t\tcountry.data.languages = Common.Config.Languages.List;\n\t\t\t}\n\t\t\tlet url = new URL(`http://${domain}`);\n\t\t\t// console.log('setting current domain', url);\n\t\t\tcommit('setCountry', { country, prefix: url.pathname });\n\t\t\tif (country.data.languages.length === 1 ||\n\t\t\t\tcountry.data.languages.length > 0 && !country.data.languages.includes(rootState.base.uiLocale)) {\n\t\t\t\tcommit('base/setUiLocale', country.data.languages[0], { root: true });\n\t\t\t}\n\t\t}\n\t},\n\n\tasync loadCountrySelection({ commit, state, dispatch }) {\n\t\tawait dispatch('loadEntityclass');\n\t\tlet filter = {\n\t\t\tfield: '/data/enabledForWebsite',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: true\n\t\t};\n\t\tlet res = await search(state.entityclass, filter);\n\t\tcommit('setCountries', res);\n\t},\n\n\tasync init({ state, dispatch }) {\n\t\tawait dispatch('loadCurrentCountry');\n\t\tif (!state.currentCountry) {\n\t\t\tawait dispatch('loadCountrySelection');\n\t\t}\n\t},\n\n\tasync loadEntityclass({ state, commit }) {\n\t\tif (!state.entityclass) {\n\t\t\tlet ec = await getEntityclassByExternalId('country');\n\t\t\tcommit('setEntityclass', ec);\n\t\t}\n\t},\n\n\tasync loadAll({ state, dispatch, commit }) {\n\t\tif (state.list.length > 0) return;\n\t\tawait dispatch('loadCurrentCountry');\n\t\tlet res = await search(state.entityclass);\n\t\tcommit('setAll', res);\n\t}\n\n};\n\nconst mutations = {\n\n\tsetEntityclass(state, { id }) {\n\t\tstate.entityclass = id;\n\t},\n\n\tsetCountry(state, { country, prefix }) {\n\t\tstate.currentCountry = country;\n\t\tstate.urlPrefix = prefix;\n\t},\n\n\tsetCountries(state, list) {\n\t\tstate.countrySelection = list;\n\t},\n\n\tsetAll(state, list) {\n\t\tstate.list = list;\n\t},\n\n\taddAll(state, list) {\n\t\tlist.forEach(c => {\n\t\t\tif (!state.list.find(e => e.id === c.id)) {\n\t\t\t\tstate.list.push(c);\n\t\t\t}\n\t\t});\n\t}\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import { search, getEntityclassByExternalId, getAttributesetByExternalId,\n\tgenericEntityCreate, genericEntityUpdate, countEntries } from '@/repository/system.js';\nimport { notifyMissingOffergroup } from '@/repository/tdb.js';\nimport store from '@/store/index.js';\n\nconst state = {\n\n\tentityclass: '',\n\tattributeset: '',\n\tactivtyConfirmedFor: []\n\n};\n\nconst getters = {\n\n\tcountryFilter: (state, getters) => (country) => {\n\t\treturn country.data.enabledForWebsite &&\n\t\t\tgetters.supDataCountries.includes(country.id);\n\t},\n\n\tsupDataCountries: (state, getters) => {\n\t\treturn getters.supData.map(data => data.country);\n\t},\n\n\tsupData: (state, getters, rootState, rootGetters) => {\n\t\tlet sup = rootGetters['auth/user/supData'];\n\t\treturn sup || [];\n\t},\n\n};\n\nconst actions = {\n\n\tasync loadOffers({ commit, state }, { start, limit, sorting, attributeFilter }) {\n\t\tconst type = 'offer';\n\t\tif (!state.entityclass) {\n\t\t\tlet ec = await getEntityclassByExternalId(type);\n\t\t\tcommit('setEntityclass', { value: ec.id });\n\t\t}\n\t\tlet count = await countEntries(state.entityclass, attributeFilter);\n\t\tlet list = await search(state.entityclass, attributeFilter, { start, limit }, sorting);\n\t\treturn { count, list };\n\t},\n\n\tasync saveOffer({ rootState, state, commit, dispatch }, { entity, newData, updateActivity = true }) {\n\t\tconst type = 'offer';\n\t\tif (!state.entityclass) {\n\t\t\tlet ec = await getEntityclassByExternalId(type);\n\t\t\tcommit('setEntityclass', { value: ec.id });\n\t\t}\n\t\tif (!state.attributeset) {\n\t\t\tlet as = await getAttributesetByExternalId(type);\n\t\t\tcommit('setAttributeset', {value: as.id });\n\t\t}\n\t\tif (!newData.autApproval && store.getters['country/currentCountry'].data.offerAutApproval) {\n\t\t\tnewData.autApproval = 'pending';\n\t\t}\n\t\tif (!entity) {\n\t\t\tnewData.history = [];\n\t\t}\n\t\tif (!newData.indexData) {\n\t\t\tnewData.indexData = {\n\t\t\t\tageCategory: [],\n\t\t\t\tcategory1: []\n\t\t\t};\n\t\t}\n\t\tlet res;\n\t\tif (entity) {\n\t\t\tres = await genericEntityUpdate(entity, newData, state.attributeset);\n\t\t} else {\n\t\t\tres = await genericEntityCreate(state.entityclass, state.attributeset, newData);\n\t\t}\n\t\tif (updateActivity) await dispatch('updateActivity', { countryId: newData.country });\n\t\tif (res.data.status !== 'archived' &&\n\t\t['AGR', 'SUP'].includes(rootState.auth.user.details.staticData.role)) {\n\t\t\tlet { animalkind, country } = res.data;\n\t\t\tawait dispatch('updateAnimalkindsSold', { animalkind, country });\n\t\t}\n\t\treturn res;\n\t},\n\n\tasync updateActivity({ dispatch, rootState, state, commit }, { countryId }) {\n\t\tif (state.activtyConfirmedFor.includes(countryId)) return;\n\t\tlet now = new Date().toJSON();\n\t\tlet userData = JSON.parse(JSON.stringify(rootState.auth.user.details.userData));\n\t\tlet e = userData.supData.find(r => r.country === countryId);\n\t\te.activityConfirmedOn = now;\n\t\te.activityWarningsMailsSent = 0;\n\t\tawait dispatch('auth/user/updateUserData', { userData }, { root: true });\n\t\tcommit('setActivityConfirmedFor', countryId);\n\t},\n\n\tasync updateAnimalkindsSold({ dispatch, rootState }, { animalkind, country }) {\n\t\tlet userData = JSON.parse(JSON.stringify(rootState.auth.user.details.userData));\n\t\tlet e = userData.supData.find(r => r.country === country);\n\t\tif (!e.animalkindsSold || !e.animalkindsSold.includes(animalkind)) {\n\t\t\t// eslint-disable-next-line no-negated-condition\n\t\t\tif (!e.animalkindsSold) e.animalkindsSold = [animalkind];\n\t\t\telse e.animalkindsSold.push(animalkind);\n\t\t\tawait dispatch('auth/user/updateUserData', { userData }, { root: true });\n\t\t}\n\t},\n\n\tnotifyMissingOffergroup(_, { name, animalkind }) {\n\t\treturn notifyMissingOffergroup(name, animalkind);\n\t}\n\n\n};\n\nconst mutations = {\n\n\tsetEntityclass(state, { value }) {\n\t\tstate.entityclass = value;\n\t},\n\tsetAttributeset(state, { value }) {\n\t\tstate.attributeset = value;\n\t},\n\tsetActivityConfirmedFor(state, countryId) {\n\t\tstate.activtyConfirmedFor.push(countryId);\n\t}\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import { search, getEntityclassByExternalId, getEntityByIdDate } from '@/repository/system.js';\nimport { cachedSearch, runAggregateQuery } from '@/repository/search.js';\nimport { inputTypeMap } from '@/util/form/offer-field.js';\nimport EventBus from '@/util/eventbus.js';\nimport moment from 'moment';\nimport { toLocale } from '@/plugins/filters.js';\nimport Vue from 'vue';\n\nconst state = {\n\tmodus: 'default',\n\tspotMarketSwitch: false,\n\trequestMode: false,\n\tfilterExport: false,\n\tanimalmenus: [],\n\toffergroupOptions: [],\n\tanimalusageOptions: [],\n\tanimalusagePool: [],\n\tanimalkindOptions: null,\n\tageCategoryOptions: null,\n\tcategory1Options: [],\n\tcategory2Options: null,\n\tasoOptions: [],\n\trequestOptionsFilter: null,\n\tdynamicFields: [],\n\tdefaultLocationGeoRadius: 200,\n\tgeoRadiusByRegion: {},\n\tfilter: {\n\t\tanimalkind: null,\n\t\tanimalusage: [],\n\t\tlocation: null,\n\t\tlocationGeoRadius: 200,\n\t\toffergroup: null,\n\t\tofferspec: null,\n\t\tgender: null,\n\t\tageCategory: null,\n\t\tcategory1: [],\n\t\tamount: null,\n\t\tamountComparison: null,\n\t\taso: [],\n\t\tstatusWeekly: null,\n\t\tshowUnavailable: false,\n\t\tcategory2: null,\n\t\thistory: null,\n\t\thistoryTill: null,\n\t\tdynamic: []\n\t},\n\tfilterVisible: {},\n\tfilterMandatory: {},\n\tofferListGrouped: [],\n\tofferGroupsOpen: [],\n\tcalendarSettings: {},\n\tloaded: false,\n\tamountComparisonOptions: [{\n\t\tkey: 'gte',\n\t\tlabel: '>',\n\t\tlabelLong: '>',\n\t}, {\n\t\tkey: 'lte',\n\t\tlabel: '<',\n\t\tlabelLong: '<',\n\t}, {\n\t\tkey: 'eq',\n\t\tlabel: '=',\n\t\tlabelLong: '=',\n\t}],\n\tdisplayHints: {},\n\tallowTransnationalSearch: false\n};\n\nconst getters = {\n\n\tanimalmenus: (state, _, rootState) => {\n\t\t// todo: do not load every animalmenu, but only the ones from currentcountry; check if countryswitch still works with it tho\n\t\treturn state.animalmenus.filter(e => e.data.countries.includes(rootState.country.currentCountry.id));\n\t},\n\n\tanimalkindOptions: (state) => {\n\t\treturn state.animalkindOptions || [];\n\t},\n\n\tanimalusageOptions: (state) => {\n\t\treturn state.animalusageOptions || [];\n\t},\n\n\toffergroupOptions: (state) => {\n\t\treturn state.offergroupOptions || [];\n\t},\n\n\toffergroupSpecOptions: (state, getters, rootState, rootGetters) => {\n\t\tif (!state.filter.offergroup) return [];\n\t\tlet countryId = rootGetters['country/currentCountry'].id;\n\t\treturn state.filter.offergroup.data.offerSpecifications.filter(e => e.activeInCountries.includes(countryId)) || [];\n\t},\n\n\tageCategoryOptions: (state) => {\n\t\treturn state.ageCategoryOptions || [];\n\t},\n\n\tcategory1Options: (state) => {\n\t\treturn state.category1Options || [];\n\t},\n\n\tcategory2Options: (state) => {\n\t\treturn state.category2Options || [];\n\t},\n\n\tasoOptions: (state) => {\n\t\treturn state.asoOptions || [];\n\t},\n\n\tofferGroupKeys: (state) => {\n\t\tif (!state.loaded) return [];\n\t\tlet base = new Set(Object.keys(state.offerListGrouped));\n\t\tif (state.requestMode) {\n\t\t\tif (state.filter.offergroup) {\n\t\t\t\tbase.add(state.filter.offergroup.id);\n\t\t\t} else {\n\t\t\t\tstate.offergroupOptions.forEach(e => {\n\t\t\t\t\tbase.add(e.id);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn Array.from(base.values());\n\t},\n\n\tisOfferGroupOpen: (state) => (groupId) => {\n\t\treturn state.offerGroupsOpen.includes(groupId);\n\t},\n\n\toffersFromOpenGroups: (state, getters) => {\n\t\treturn Object.entries(state.offerListGrouped)\n\t\t\t.filter((e) => getters.isOfferGroupOpen(e[0]))\n\t\t\t.map(e => e[1].offers)\n\t\t\t.flat();\n\t},\n\n\tusesPoultrySystem: (state, _, rootState) => {\n\t\tif (!rootState.country || !state.filter.animalkind) return null;\n\t\tlet { animalkindsUsingPoultrySystem } = rootState.country.currentCountry.data;\n\t\treturn animalkindsUsingPoultrySystem.includes(state.filter.animalkind);\n\t},\n\n\tallowTransnationalSearch: (state) => {\n\t\treturn state.allowTransnationalSearch;\n\t},\n\n\tstartOfIsoWeek() {\n\t\treturn moment().startOf('isoWeek').format('YYYY-MM-DD');\n\t},\n\n\tdynamicFieldValue: (state) => (fieldId) => {\n\t\tlet entry = state.filter.dynamic.find(e => e.id === fieldId);\n\t\treturn entry ? entry.value : null;\n\t},\n\n\tisFilterVisible: (state) => (fieldId) => {\n\t\tif (fieldId in state.filterVisible) return state.filterVisible[fieldId];\n\t\tif (state.filterVisible.dynamic && fieldId in state.filterVisible.dynamic) return state.filterVisible.dynamic[fieldId];\n\t\treturn false;\n\t},\n\n\tisFilterMandatory: (state) => (fieldId) => {\n\t\tif (fieldId in state.filterMandatory) return state.filterMandatory[fieldId];\n\t\tif (state.filterMandatory.dynamic && fieldId in state.filterMandatory.dynamic) return state.filterMandatory.dynamic[fieldId];\n\t\treturn false;\n\t},\n\n\tgetCalendarMin: state => {\n\t\tlet cat2 = state.filter.category2;\n\t\tif (cat2 && cat2.id in state.calendarSettings && 'min' in state.calendarSettings[cat2.id]) {\n\t\t\treturn state.calendarSettings[cat2.id].min;\n\t\t}\n\t\tlet min;\n\t\tlet check = (cat1) => {\n\t\t\tif (!(cat1.id in state.calendarSettings) || !('min' in state.calendarSettings[cat1.id])) return;\n\t\t\tlet num = state.calendarSettings[cat1.id].min;\n\t\t\tif (isNaN(min)) {\n\t\t\t\tmin = num;\n\t\t\t} else {\n\t\t\t\tmin = Math.min(min, num);\n\t\t\t}\n\t\t};\n\t\tif (Array.isArray(state.filter.category1)) {\n\t\t\tstate.filter.category1.forEach(check);\n\t\t} else if (state.filter.category1) {\n\t\t\tcheck(state.filter.category1);\n\t\t}\n\t\treturn min;\n\t},\n\n\tgetCalendarMax: state => {\n\t\tlet cat2 = state.filter.category2;\n\t\tif (cat2 && cat2.id in state.calendarSettings && 'max' in state.calendarSettings[cat2.id]) {\n\t\t\treturn state.calendarSettings[cat2.id].max;\n\t\t}\n\t\tlet max;\n\t\tlet check = (cat1) => {\n\t\t\tif (!(cat1.id in state.calendarSettings) || !('max' in state.calendarSettings[cat1.id])) return;\n\t\t\tlet num = state.calendarSettings[cat1.id].max;\n\t\t\tif (isNaN(max)) {\n\t\t\t\tmax = num;\n\t\t\t} else {\n\t\t\t\tmax = Math.max(max, num);\n\t\t\t}\n\t\t};\n\t\tif (Array.isArray(state.filter.category1)) {\n\t\t\tstate.filter.category1.forEach(check);\n\t\t} else if (state.filter.category1) {\n\t\t\tcheck(state.filter.category1);\n\t\t}\n\t\treturn max;\n\t},\n\n\tallMandatoryFiltersSet: (state, getters) => {\n\t\tfor (let key of Object.keys(state.filterMandatory)) {\n\t\t\tif (getters.isFilterMandatory(key)) {\n\t\t\t\tif (key === 'dynamic') {\n\t\t\t\t\tfor (let fieldId of Object.keys(state.filterMandatory.dynamic)) {\n\t\t\t\t\t\tlet value = getters.dynamicFieldValue(fieldId);\n\t\t\t\t\t\tif (!value || Array.isArray(value) && value.length === 0) return false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (key === 'calendarweek') key = 'statusWeekly';\n\t\t\t\t\telse if (key === 'agegroup') key = 'ageCategory';\n\t\t\t\t\tlet value = state.filter[key];\n\t\t\t\t\tif (!value || Array.isArray(value) && value.length === 0) return false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t},\n\n\tgeoRadius: (state, getters, rootState, rootGetters) => {\n\t\tif (state.modus !== 'request') return state.filter.locationGeoRadius;\n\t\tlet region = rootGetters['request/main/getRegion'];\n\t\treturn region && region in state.geoRadiusByRegion ? state.geoRadiusByRegion[region].requestGeoRadius : state.defaultLocationGeoRadius;\n\t},\n\n\tattributeFilter: (state, getters, rootState) => {\n\t\tif (!state.filter.animalkind) throw new Error('animalkind not set');\n\t\tlet $and = [];\n\t\tif (!getters.allowTransnationalSearch || getters.allowTransnationalSearch && !state.filter.location) {\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/country',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: rootState.country.currentCountry.id\n\t\t\t});\n\t\t}\n\t\tif (state.modus === 'poultry-spot') {\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/spotMarket',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: true\n\t\t\t});\n\t\t} else {\n\t\t\t$and.push({\n\t\t\t\t$or: [{\n\t\t\t\t\tfield: '/data/spotMarket',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: false,\n\t\t\t\t}, {\n\t\t\t\t\t$not: {\n\t\t\t\t\t\tfield: '/data',\n\t\t\t\t\t\tcomparison: 'exists',\n\t\t\t\t\t\tvalue: 'spotMarket',\n\t\t\t\t\t},\n\t\t\t\t}],\n\t\t\t});\n\t\t}\n\t\t$and.push({\n\t\t\tfield: '/data/animalkind',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: state.filter.animalkind\n\t\t});\n\t\tif (state.filter.animalusage) {\n\t\t\tif (Array.isArray(state.filter.animalusage)) {\n\t\t\t\tlet $or = state.filter.animalusage.map(e => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tfield: '/data/animalusage',\n\t\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\t\tvalue: e.id\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\t$and.push({ $or });\n\t\t\t} else {\n\t\t\t\t$and.push({\n\t\t\t\t\tfield: '/data/animalusage',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: state.filter.animalusage.id\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (state.filter.location && state.filter.location.geoPosition && getters.geoRadius) {\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/geoPosition',\n\t\t\t\tcomparison: 'geoRadius',\n\t\t\t\tvalue: {\n\t\t\t\t\tdistance: `${getters.geoRadius}km`,\n\t\t\t\t\tlocation: state.filter.location.geoPosition,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (state.filter.offergroup) {\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/offergroup',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: state.filter.offergroup.id\n\t\t\t});\n\t\t}\n\t\tif (state.filter.offerspec) {\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/offerspecification',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: state.filter.offerspec.id,\n\t\t\t});\n\t\t}\n\t\tif (state.filter.gender) {\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/gender',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: state.filter.gender\n\t\t\t});\n\t\t}\n\t\tif (state.filter.ageCategory) {\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/indexData/ageCategory',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: state.filter.ageCategory.id,\n\t\t\t});\n\t\t}\n\t\tif (state.filter.category1 && (!Array.isArray(state.filter.category1) || state.filter.category1.length > 0)) {\n\t\t\tlet val = Array.isArray(state.filter.category1) ? state.filter.category1 : [state.filter.category1];\n\t\t\tlet $or = val.map(e => {\n\t\t\t\treturn {\n\t\t\t\t\tfield: '/data/indexData/category1',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: e.id,\n\t\t\t\t};\n\t\t\t});\n\t\t\tif ($or.length) $and.push({ $or });\n\t\t}\n\t\tif (state.filter.amount && state.filter.amount > 0 && state.filter.amountComparison && (!state.requestMode || state.filterExport)) {\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/amount',\n\t\t\t\tcomparison: state.filter.amountComparison.key,\n\t\t\t\tvalue: parseInt(state.filter.amount),\n\t\t\t});\n\t\t}\n\t\tif (state.filter.history) {\n\t\t\tif (state.filter.historyTill) {\n\t\t\t\t$and.push({\n\t\t\t\t\t$nested: {\n\t\t\t\t\t\tpath: '/data/history',\n\t\t\t\t\t\tmatch: {\n\t\t\t\t\t\t\t$or: [{\n\t\t\t\t\t\t\t\t$and: [{\n\t\t\t\t\t\t\t\t\tfield: '/data/history/begin',\n\t\t\t\t\t\t\t\t\tcomparison: 'lte',\n\t\t\t\t\t\t\t\t\tvalue: state.filter.historyTill,\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tfield: '/data/history/end',\n\t\t\t\t\t\t\t\t\tcomparison: 'gte',\n\t\t\t\t\t\t\t\t\tvalue: state.filter.history,\n\t\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t$and: [{\n\t\t\t\t\t\t\t\t\tfield: '/data/history/begin',\n\t\t\t\t\t\t\t\t\tcomparison: 'lte',\n\t\t\t\t\t\t\t\t\tvalue: state.filter.historyTill,\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\t$not: {\n\t\t\t\t\t\t\t\t\t\tfield: '/data/history',\n\t\t\t\t\t\t\t\t\t\tcomparison: 'exists',\n\t\t\t\t\t\t\t\t\t\tvalue: 'end',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t$and.push({\n\t\t\t\t\t$nested: {\n\t\t\t\t\t\tpath: '/data/history',\n\t\t\t\t\t\tmatch: {\n\t\t\t\t\t\t\t$or: [{\n\t\t\t\t\t\t\t\t$and: [{\n\t\t\t\t\t\t\t\t\tfield: '/data/history/begin',\n\t\t\t\t\t\t\t\t\tcomparison: 'lte',\n\t\t\t\t\t\t\t\t\tvalue: state.filter.history,\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tfield: '/data/history/end',\n\t\t\t\t\t\t\t\t\tcomparison: 'gte',\n\t\t\t\t\t\t\t\t\tvalue: state.filter.history,\n\t\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t$and: [{\n\t\t\t\t\t\t\t\t\tfield: '/data/history/begin',\n\t\t\t\t\t\t\t\t\tcomparison: 'lte',\n\t\t\t\t\t\t\t\t\tvalue: state.filter.history,\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\t$not: {\n\t\t\t\t\t\t\t\t\t\tfield: '/data/history',\n\t\t\t\t\t\t\t\t\t\tcomparison: 'exists',\n\t\t\t\t\t\t\t\t\t\tvalue: 'end',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (state.filter.statusWeekly) {\n\t\t\tif (getters.isFilterVisible('calendarweek')) {\n\t\t\t\tconst $or = [];\n\t\t\t\tlet add = (wk) => {\n\t\t\t\t\t$or.push({\n\t\t\t\t\t\tfield: '/data/statusWeekly/week',\n\t\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\t\tvalue: wk,\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\tadd(state.filter.statusWeekly);\t//the chosen week must always be first for request-init\n\t\t\t\tif (state.calendarSettings.weeksBefore) {\n\t\t\t\t\tlet base = new Date(state.filter.statusWeekly);\n\t\t\t\t\tfor (let i=1; i<=state.calendarSettings.weeksBefore; i++) {\n\t\t\t\t\t\tlet d = new Date(base.getTime());\n\t\t\t\t\t\td.setDate(d.getDate()-(i*7));\n\t\t\t\t\t\tadd(d.toJSON().substr(0, 10));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (state.calendarSettings.weeksAfter) {\n\t\t\t\t\tlet base = new Date(state.filter.statusWeekly);\n\t\t\t\t\tfor (let i=1; i<=state.calendarSettings.weeksAfter; i++) {\n\t\t\t\t\t\tlet d = new Date(base.getTime());\n\t\t\t\t\t\td.setDate(d.getDate()+(i*7));\n\t\t\t\t\t\tadd(d.toJSON().substr(0, 10));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$and.push({\n\t\t\t\t\t$or: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$nested: {\n\t\t\t\t\t\t\t\tpath: '/data/statusWeekly',\n\t\t\t\t\t\t\t\tmatch: {\n\t\t\t\t\t\t\t\t\t$or: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t\t\t\t\t{ $or },\t//request-init is dependent on this structure\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: '/data/statusWeekly/available',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$not: {\n\t\t\t\t\t\t\t\t$nested: {\n\t\t\t\t\t\t\t\t\tpath: '/data/statusWeekly',\n\t\t\t\t\t\t\t\t\tmatch: { $or },\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\t\t\t$and.push({\n\t\t\t\t$not: {\n\t\t\t\t\tfield: '/data/status',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: 'archived',\n\t\t\t\t},\n\t\t\t});\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/ownerActive',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: true\n\t\t\t});\n\t\t} else if (state.filter.showUnavailable) {\n\t\t\t$and.push({\n\t\t\t\t$or: [{\n\t\t\t\t\tfield: '/data/status',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: 'available',\n\t\t\t\t}, {\n\t\t\t\t\tfield: '/data/status',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: 'unavailable',\n\t\t\t\t}, {\n\t\t\t\t\tfield: '/data/ownerActive',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: true\n\t\t\t\t}],\n\t\t\t});\n\t\t} else {\n\t\t\t$and.push({\n\t\t\t\t$or: [{\n\t\t\t\t\tfield: '/data/status',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: 'available'\n\t\t\t\t}, {\n\t\t\t\t\t$and: [{\n\t\t\t\t\t\tfield: '/data/status',\n\t\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\t\tvalue: 'unavailable'\n\t\t\t\t\t}, {\n\t\t\t\t\t\tfield: '/data',\n\t\t\t\t\t\tcomparison: 'exists',\n\t\t\t\t\t\tvalue: 'availableFrom'\n\t\t\t\t\t}],\n\t\t\t\t}],\n\t\t\t});\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/ownerActive',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: true\n\t\t\t});\n\t\t}\n\t\tif (state.filter.category2) {\n\t\t\t$and.push({\n\t\t\t\tfield: '/data/category2',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: state.filter.category2.id,\n\t\t\t});\n\t\t}\n\t\tif (state.filter.aso.length) {\n\t\t\tlet $or = state.filter.aso.map(e => {\n\t\t\t\treturn {\n\t\t\t\t\tfield: '/data/associations',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: e.id,\n\t\t\t\t};\n\t\t\t});\n\t\t\t$and.push({ $or });\n\t\t}\n\t\tlet dynamic = state.filter.dynamic.map(({ id, value }) => {\n\t\t\tlet field = state.dynamicFields.find(e => e.id === id);\n\t\t\tif (!field) throw new Error(`unknown field: ${id}`);\n\t\t\tlet inputType = inputTypeMap[field.data.type];\n\t\t\tlet $or = [];\n\t\t\tlet parsed = typeof value === 'object' && value.id ? value.id : value;\n\t\t\tlet fieldComparison = {\n\t\t\t\tfield: '/data/dynamicFields/field',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: id\n\t\t\t};\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tif (value.length === 0) return null;\n\t\t\t\tvalue.forEach(element => {\n\t\t\t\t\tparsed = typeof element === 'object' && element.id ? element.id : element;\n\t\t\t\t\t$or.push({ $and: [\n\t\t\t\t\t\tfieldComparison, {\n\t\t\t\t\t\t\tfield: `/data/dynamicFields/${inputType}`,\n\t\t\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\t\t\tvalue: parsed\n\t\t\t\t\t\t}\n\t\t\t\t\t] });\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t$or.push({ $and: [\n\t\t\t\t\tfieldComparison, {\n\t\t\t\t\t\tfield: `/data/dynamicFields/${inputType}`,\n\t\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\t\tvalue: parsed\n\t\t\t\t\t}\n\t\t\t\t] });\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t$nested: {\n\t\t\t\t\tpath: '/data/dynamicFields',\n\t\t\t\t\tmatch: {\n\t\t\t\t\t\t$or\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}).filter(e => !!e);\n\t\t$and = $and.concat(dynamic);\n\t\treturn { $and };\n\t},\n\n\tamountComparisonOptions: (state, getters) => {\n\t\tif (state.modus === 'request' && getters.usesPoultrySystem) {\n\t\t\treturn state.amountComparisonOptions.slice(0, 1);\n\t\t}\n\t\tif (state.modus === 'request' && !getters.usesPoultrySystem) {\n\t\t\treturn state.amountComparisonOptions.slice(2, 3);\n\t\t}\n\t\treturn state.amountComparisonOptions.slice(0, 2);\n\t}\n\n\n};\n\nconst actions = {\n\n\tasync loadOfferSummary({ commit, getters, rootGetters, state }) {\n\t\tif (!state.filter.animalkind) return;\n\t\tlet { requestMode } = state;\n\t\tlet ec = await getEntityclassByExternalId('offer');\n\t\tlet query = {\n\t\t\tfield: '/data/offergroup',\n\t\t\ttype: 'term',\n\t\t\tkey: 'groups',\n\t\t\tsub: [{\n\t\t\t\tfield: '/data/amount',\n\t\t\t\ttype: 'sum',\n\t\t\t\tkey: 'amount'\n\t\t\t}, {\n\t\t\t\tfield: '/data/owner',\n\t\t\t\ttype: 'term',\n\t\t\t\tkey: 'owners'\n\t\t\t}]\n\t\t};\n\t\tlet attributeFilter = filterAutApproval(getters.attributeFilter, rootGetters);\n\t\tlet res = await runAggregateQuery(ec.id, attributeFilter, query);\n\t\tlet grouped = {};\n\t\tif (res.aggregations) res.aggregations.groups.buckets.forEach(group => {\n\t\t\tgrouped[group.key] = {\n\t\t\t\tid: group.key,\n\t\t\t\tcount: group.doc_count,\n\t\t\t\tsups: group.owners.buckets.length,\n\t\t\t\tamount: group.amount.value,\n\t\t\t\toffers: []\n\t\t\t};\n\t\t});\n\t\tif (requestMode === state.requestMode) {\n\t\t\tcommit('setGroupedResult', grouped);\n\t\t\tEventBus.$emit('offer-search-reset');\n\t\t\twindow.scrollTo(0, 0);\n\t\t}\n\t},\n\n\tasync loadOffers({ commit, getters, state, rootGetters }, { groupId }) {\n\t\tif (!state.filter.animalkind) return;\n\t\tlet after = state.offerListGrouped[groupId].offers.length;\n\t\tif (after >= state.offerListGrouped[groupId].count) return;\n\t\tlet attributeFilter = filterAutApproval(getters.attributeFilter, rootGetters);\n\t\tif (!state.filter.offergroup) {\n\t\t\tattributeFilter.$and.push({\n\t\t\t\tfield: '/data/offergroup',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: groupId\n\t\t\t});\n\t\t}\n\t\tlet ec = await getEntityclassByExternalId('offer');\n\t\tlet offers = await search(ec.id, attributeFilter, { start: after, limit: 50 });\n\t\tcommit('addLoadedOffers', { groupId, after, offers });\n\t},\n\n\tasync setOffergroupOptions({ commit, state, rootState }) {\n\t\tif (!state.filter.animalkind || !rootState.country.currentCountry) return;\n\t\tlet country = rootState.country.currentCountry.id;\n\t\tlet animalkind = state.filter.animalkind;\n\t\tlet attributeFilter = { $and: [] };\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/activeInCountries',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: country\n\t\t});\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/animalkind',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: animalkind\n\t\t});\n\t\tlet ec = await getEntityclassByExternalId('offergroup');\n\t\t//will cache the search and only run it once even if 2 parallel requests come\n\t\tlet list = await cachedSearch(ec.id, attributeFilter);\n\t\tlist = list.sort((a, b) => {\n\t\t\tlet localeA = toLocale(a.data.labels).toLowerCase();\n\t\t\tlet localeB = toLocale(b.data.labels).toLowerCase();\n\t\t\tif (localeA < localeB) return -1;\n\t\t\telse if (localeA > localeB) return 1;\n\t\t\treturn 0; // equal\n\t\t});\n\t\tcommit('setOptions', { name: 'offergroup', list });\n\t\t//update current filter\n\t\tlet currentFilter = state.filter.offergroup;\n\t\tif (currentFilter && !list.find(e => e.id === currentFilter.id)) {\n\t\t\tcommit('setFilter', { name: 'offergroup', filter: null });\n\t\t\tif (state.filter.offerspec) {\n\t\t\t\tcommit('setFilter', { name: 'offerspec', filter: null });\n\t\t\t}\n\t\t}\n\t},\n\n\tcheckOfferSpecifications({ commit, state, getters }) {\n\t\tif (getters.offergroupSpecOptions &&\n\t\t\tstate.filter.offerspec &&\n\t\t\t!getters.offergroupSpecOptions.find(e => e.id === state.filter.offerspec.id)\n\t\t) {\n\t\t\tcommit('setFilter', { name: 'offerspec', filter: null });\n\t\t}\n\t},\n\n\tasync getAnimalkindOptions({ rootState, state, dispatch, commit }) {\n\t\tlet country = rootState.country.currentCountry;\n\t\tif (state.animalkindOptions) return;\n\t\tlet ids = country.data.enabledAnimals;\n\t\tlet list = await dispatch('admin/loadEntities', { ids, throwIfNotAllFound: true }, { root: true });\n\t\tcommit('setOptions', { name: 'animalkind', list });\n\t},\n\n\tasync getAnimalmenus({ rootState, state, commit }) {\n\t\tif (state.animalmenus.length) return;\n\t\tlet attributeFilter = { $and: [] };\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/countries',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: rootState.country.currentCountry.id\n\t\t});\n\t\tlet ec = await getEntityclassByExternalId('animalmenu');\n\t\tlet list = await search(ec.id, attributeFilter);\n\t\tcommit('setState', { name: 'animalmenus', list });\n\t},\n\n\tasync setAnimalusageOptions({ state, commit, rootState }) {\n\t\tif (!state.filter.animalkind || !rootState.country.currentCountry) return;\n\t\tlet country = rootState.country.currentCountry.id;\n\t\tlet animalkind = state.filter.animalkind;\n\t\tlet attributeFilter = { $and: [] };\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/countries',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: country\n\t\t});\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/animalkinds',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: animalkind\n\t\t});\n\t\tlet ec = await getEntityclassByExternalId('animalusage');\n\t\t//will cache the search and only run it once even if 2 parallel requests come\n\t\tlet list = await cachedSearch(ec.id, attributeFilter);\n\t\tcommit('setOptions', { name: 'animalusage', list });\n\t\t//update current filter\n\t\tlet currentFilter = state.filter.animalusage;\n\t\tif (Array.isArray(currentFilter)) {\n\t\t\tlet filtered = currentFilter.filter(e => list.find(o => o.id === e.id));\n\t\t\tif (filtered.length < currentFilter.length) commit('setOptions', { name: 'animalusage', filtered });\n\t\t}\n\t},\n\n\tasync setAgeCategoryOptions({ state, commit, rootState }) {\n\t\tif (!state.filter.animalkind || !rootState.country.currentCountry) return;\n\t\tlet animalkind = state.filter.animalkind;\n\t\tlet attributeFilter = { $and: [] };\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/animalkinds',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: animalkind,\n\t\t});\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/country',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: rootState.country.currentCountry.id,\n\t\t});\n\t\tlet ec = await getEntityclassByExternalId('agecategory');\n\t\t// will cache the search and only run it once even if 2 parallel requests come\n\t\tlet list = await cachedSearch(ec.id, attributeFilter);\n\t\tlist.sort((a, b) => a.data.sorting - b.data.sorting);\n\t\tcommit('setOptions', { name: 'ageCategory', list });\n\t\t// update current filter\n\t\tlet currentFilter = state.filter.ageCategory;\n\t\tif (currentFilter && !list.find(e => e.id === currentFilter.id)) {\n\t\t\tcommit('setFilter', { name: 'ageCategory', filter: null });\n\t\t}\n\t},\n\n\tasync setCategory2Options({ state, commit, rootState }) {\n\t\tif (!state.filter.animalkind || !rootState.country.currentCountry) return;\n\t\tlet country = rootState.country.currentCountry.id;\n\t\tlet animalkind = state.filter.animalkind;\n\t\tlet attributeFilter = { $and: [] };\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/animalkinds',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: animalkind,\n\t\t});\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/countries',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: country,\n\t\t});\n\t\tlet ec = await getEntityclassByExternalId('category2');\n\t\t// will cache the search and only run it once even if 2 parallel requests come\n\t\tlet list = await cachedSearch(ec.id, attributeFilter);\n\t\tcommit('setOptions', { name: 'category2', list });\n\t\t// update current filter\n\t\tlet currentFilter = state.filter.category2;\n\t\tif (currentFilter && !list.find(e => e.id === currentFilter.id)) {\n\t\t\tcommit('setFilter', { name: 'category2', filter: null });\n\t\t}\n\t},\n\n\tasync setCategory1Options({ state, commit, rootState }) {\n\t\tif (!state.filter.animalkind || !rootState.country.currentCountry) return;\n\t\tlet country = rootState.country.currentCountry.id;\n\t\tlet animalkind = state.filter.animalkind;\n\t\tlet attributeFilter = { $and: [] };\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/animalkinds',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: animalkind,\n\t\t});\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/country',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: country,\n\t\t});\n\t\tlet ec = await getEntityclassByExternalId('category1');\n\t\t// will cache the search and only run it once even if 2 parallel requests come\n\t\tlet list = await cachedSearch(ec.id, attributeFilter);\n\t\tcommit('setOptions', { name: 'category1', list });\n\t\t// update current filter\n\t\tlet currentFilter = state.filter.category1;\n\t\tif (currentFilter) {\n\t\t\tlet filtered = currentFilter.filter(e => list.find(o => o.id === e.id));\n\t\t\tif (filtered.length < currentFilter.length) commit('setOptions', { name: 'category1', filtered });\n\t\t}\n\t},\n\n\tasync setAsoOptions({ state, commit, rootState, rootGetters }) {\n\t\tif (!state.filter.animalkind || !rootState.country.currentCountry) return;\n\t\tlet attributeFilter = { $and: [] };\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/staticData/role',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: 'ASO',\n\t\t});\n\t\tattributeFilter.$and.push({\n\t\t\tfield: '/data/staticData/country',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: rootGetters['country/currentCountry'].id,\n\t\t});\n\t\tlet ec = await getEntityclassByExternalId('account');\n\t\t// will cache the search and only run it once even if 2 parallel requests come\n\t\tlet list = await cachedSearch(ec.id, attributeFilter);\n\t\tcommit('setOptions', { name: 'aso', list });\n\t\t// update current filter\n\t\tlet currentFilter = state.filter.aso;\n\t\tif (currentFilter) {\n\t\t\tlet filtered = currentFilter.filter(e => list.find(o => o.id === e.id));\n\t\t\tif (filtered.length < currentFilter.length) commit('setOptions', { name: 'aso', filtered });\n\t\t}\n\t},\n\n\tasync setDynamicFields({ commit, rootState }) {\n\t\tif (!rootState.country.currentCountry) return;\n\t\tlet country = rootState.country.currentCountry.id;\n\t\tlet attributeFilter = { $and: [] };\n\t\tattributeFilter = {\n\t\t\tfield: '/data/availableInCountries',\n\t\t\tcomparison: 'eq',\n\t\t\tvalue: country\n\t\t};\n\t\tlet ec = await getEntityclassByExternalId('offerfield');\n\t\tlet list = await cachedSearch(ec.id, attributeFilter);\n\t\tcommit('setDynamicFields', list);\n\t},\n\n\tasync runFilterRules({ dispatch, rootGetters, rootState, state, commit }) {\n\t\tlet rs = await dispatch('admin/getRulesetForKey', { key: 'search_fields' }, { root: true });\n\t\tif (!rs) return;\n\t\tlet facts = await dispatch('bbay/evaluate', {\n\t\t\tid: rs.id,\n\t\t\trev: rs.rev,\n\t\t\tfacts: {\n\t\t\t\tenv: {\n\t\t\t\t\tcountry: rootGetters['country/currentCountry'].id,\n\t\t\t\t\tmodus: state.modus,\n\t\t\t\t\tanimalkind: state.filter.animalkind,\n\t\t\t\t\tuser: rootGetters['auth/user/role'].toLowerCase()\n\t\t\t\t},\n\t\t\t\tinput: {\n\t\t\t\t\trequestType: rootState.request.main.selectedType\n\t\t\t\t},\n\t\t\t\tvisible: {},\n\t\t\t\tmandatory: {},\n\t\t\t\tcalendar: {},\n\t\t\t\tlocation: {},\n\t\t\t\tsearchfilter: {},\n\t\t\t\tdisplayHint: {}\n\t\t\t}\n\t\t}, { root: true });\n\t\tif (facts.visible.showhistory) {\n\t\t\tfacts.visible.history = facts.visible.showhistory;\n\t\t\tdelete facts.visible.showhistory;\n\t\t}\n\t\tcommit('setFilterVisible', facts.visible || {});\n\t\tcommit('setFilterMandatory', facts.mandatory || {});\n\t\tcommit('setCalendarSettings', facts.calendar);\n\t\tObject.entries(facts.searchfilter).forEach(e => {\n\t\t\tlet val = e[0] === 'gender' ? e[1].value : { id: e[1].value };\n\t\t\tcommit('setFilter', { name: e[0], filter: val });\n\t\t});\n\t\tcommit('setDisplayHints', facts.displayHint);\n\t\tif ('requestGeoRadius' in facts.location) commit('setDefaultLocationGeoRadius', facts.location.requestGeoRadius);\n\t\tcommit('setGeoRadiusByRegion', facts.location);\n\t\tcommit('setRequestOptionsFilter', facts.options);\n\t\tcommit('setGeneralFilterOptions', facts);\n\t},\n\n\tasync switchOfferToHistory({ commit }, { groupId, offerId, historyDate }) {\n\t\tlet historic = null;\n\t\tif (historyDate) {\n\t\t\thistoric = await getEntityByIdDate(offerId, `${historyDate} 23:59:59`);\t//is already cached\n\t\t}\n\t\tcommit('setOfferHistoric', { groupId, offerId, historic });\n\t},\n\n\tasync init({ commit, state, getters, dispatch }) {\n\t\tlet currentModus = state.modus;\n\t\tcommit('resetAllFilters');\n\t\tlet newModus = state.requestMode ? 'request'\n\t\t\t: !getters.usesPoultrySystem ? 'default'\n\t\t\t\t: state.spotMarketSwitch ? 'poultry-spot'\n\t\t\t\t\t: 'poultry-guest';\n\t\tif (currentModus !== newModus) {\n\t\t\tcommit('setModus', newModus);\n\t\t}\n\t\tif (getters.usesPoultrySystem && newModus !== 'poultry-spot') {\n\t\t\tcommit('setFilter', {\n\t\t\t\tname: 'statusWeekly',\n\t\t\t\tfilter: getters.startOfIsoWeek,\n\t\t\t});\n\t\t}\n\t\tcommit('setFilter', {\n\t\t\tname: 'amountComparison',\n\t\t\tfilter: getters.amountComparisonOptions[0]\n\t\t});\n\t\tawait dispatch('runFilterRules');\n\t\tif (state.modus !== 'request') await dispatch('loadOfferSummary');\n\t}\n\n};\n\nconst mutations = {\n\n\tsetOptions(state, { name, list }) {\n\t\tlet key = `${name}Options`;\n\t\tif (key in state) {\n\t\t\tstate[key] = list;\n\t\t} else {\n\t\t\tthrow new Error(`unknown options: ${name}`);\n\t\t}\n\t},\n\n\tsetState(state, { name, list }) {\n\t\tif (name in state) {\n\t\t\tstate[name] = list;\n\t\t} else {\n\t\t\tthrow new Error(`unknown state: ${name}`);\n\t\t}\n\t},\n\n\tsetFilter(state, { name, filter }) {\n\t\tif (name in state.filter) {\n\t\t\tstate.filter[name] = filter;\n\t\t\tstate.loaded = false;\n\t\t\tif (name === 'offergroup') {\n\t\t\t\tif (filter && filter.data.category2) {\n\t\t\t\t\tlet opt = state.category2Options.find(e => e.id === filter.data.category2) || null;\n\t\t\t\t\tstate.filter.category2 = opt;\n\t\t\t\t} else {\n\t\t\t\t\tstate.filter.category2 = null;\n\t\t\t\t}\n\t\t\t} else if (name === 'history' && filter && state.filter.historyTill) {\n\t\t\t\tlet from = new Date(filter);\n\t\t\t\tlet till = new Date(state.filter.historyTill);\n\t\t\t\tif (from > till) state.filter.historyTill = null;\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(`unknown filter: ${name}`);\n\t\t}\n\t},\n\n\tresetFilter(state, name) {\n\t\tif (name in state.filter) {\n\t\t\tlet val = state.filter[name];\n\t\t\tif (Array.isArray(val)) {\n\t\t\t\tif (val.length > 0) state.filter[name] = [];\n\t\t\t} else if (val) state.filter[name] = null;\n\t\t} else {\n\t\t\tlet existing = state.filter.dynamic.findIndex(e => e.id === name);\n\t\t\tif (existing > -1) state.filter.dynamic.splice(existing, 1);\n\t\t}\n\t\tstate.loaded = false;\n\t},\n\n\tsetLocation(state, location) {\n\t\tstate.filter.location = location;\n\t},\n\n\tsetGroupedResult(state, res) {\n\t\tstate.offerListGrouped = res;\n\t\tstate.loaded = true;\n\t},\n\n\taddLoadedOffers(state, { groupId, offers }) {\n\t\tlet arr = state.offerListGrouped[groupId].offers;\n\t\tstate.offerListGrouped[groupId].offers = arr.concat(offers);\n\t},\n\n\tsetOfferHistoric(state, { groupId, offerId, historic }) {\n\t\tconst offers = state.offerListGrouped[groupId].offers;\n\t\tconst offer = offers.find(o => o.id === offerId);\n\t\tif (!offer) throw new Error('unable to find offer with grp: '+groupId+' / id: '+offerId);\n\t\tif (!offer.historic && historic) {\n\t\t\tVue.set(offer, 'historic', historic);\n\t\t}\n\t\tVue.set(offer, 'showHistoric', !!historic);\n\t},\n\n\tsetAnimalkind(state, ak) {\n\t\tif (!ak) throw new Error('animalkind cannot be undefined');\n\t\tstate.filter.animalkind = ak;\n\t\tstate.offerListGrouped = [];\n\t\tstate.loaded = false;\n\t},\n\n\tsetDynamicFields(state, list) {\n\t\tstate.dynamicFields = list;\n\t},\n\n\tsetDynamicFieldValue(state, { id, value }) {\n\t\tlet existing = state.filter.dynamic.findIndex(e => e.id === id);\n\t\tif (existing > -1) {\n\t\t\tif (typeof value === 'undefined' || value === null) {\n\t\t\t\tstate.filter.dynamic.splice(existing, 1);\n\t\t\t} else {\n\t\t\t\tstate.filter.dynamic[existing].value = value;\n\t\t\t}\n\t\t\tstate.loaded = false;\n\t\t} else {\n\t\t\tstate.filter.dynamic.push({ id, value });\n\t\t}\n\t},\n\n\tsetModus(state, modus) {\n\t\tstate.modus = modus;\n\t},\n\n\tsetSpotMarketSwitch(state, sw) {\n\t\tstate.spotMarketSwitch = sw;\n\t},\n\n\tsetRequestModus(state, m) {\n\t\tstate.requestMode = m;\n\t},\n\n\tresetAllFilters(state) {\n\t\tObject.keys(state.filter).forEach(key => {\n\t\t\tif (['animalkind', 'locationGeoRadius', 'amountComparison'].includes(key)) return;\n\t\t\tif (key === 'location' && state.requestMode) return;\n\t\t\tlet val = state.filter[key];\n\t\t\tif (Array.isArray(val)) {\n\t\t\t\tif (val.length > 0) state.filter[key] = [];\n\t\t\t} else if (val) state.filter[key] = null;\n\t\t});\n\t\tstate.loaded = false;\n\t\tstate.offerListGrouped = [];\n\t},\n\n\tresetMode(state) {\n\t\tstate.requestMode = false;\n\t\tstate.spotMarketSwitch = false;\n\t},\n\n\tsetFilterVisible(state, filter) {\n\t\tstate.filterVisible = filter;\n\t},\n\n\tsetFilterMandatory(state, filter) {\n\t\tstate.filterMandatory = filter;\n\t},\n\n\tsetCalendarSettings(state, settings) {\n\t\tstate.calendarSettings = settings;\n\t},\n\n\tsetDisplayHints(state, hints) {\n\t\tstate.displayHints = hints;\n\t},\n\n\tsetDefaultLocationGeoRadius(state, radius) {\n\t\tstate.defaultLocationGeoRadius = radius;\n\t},\n\n\tsetGeoRadiusByRegion(state, regions) {\n\t\tstate.geoRadiusByRegion = regions;\n\t},\n\n\tsetRequestOptionsFilter(state, options) {\n\t\tstate.requestOptionsFilter = options;\n\t},\n\n\tsetFilterExport(state, ex) {\n\t\tstate.filterExport = !!ex;\n\t},\n\n\tsetGeneralFilterOptions(state, facts) {\n\t\tstate.allowTransnationalSearch = facts.transnational && facts.transnational.enabled;\n\t},\n\n\tsetOfferGroupOpen(state, { group, open }) {\n\t\tif (open) {\n\t\t\tif (!state.offerGroupsOpen.includes(group)) {\n\t\t\t\tstate.offerGroupsOpen.push(group);\n\t\t\t}\n\t\t} else {\n\t\t\tlet idx = state.offerGroupsOpen.indexOf(group);\n\t\t\tif (idx > -1) {\n\t\t\t\tstate.offerGroupsOpen.splice(idx, 1);\n\t\t\t}\n\t\t}\n\t},\n\n\tresetOfferGroupsOpen(state) {\n\t\tstate.offerGroupsOpen = [];\n\t}\n\n};\n\nfunction filterAutApproval(attributeFilter, rootGetters) {\n\tlet filter = JSON.parse(JSON.stringify(attributeFilter));\n\tif (rootGetters['country/currentCountry'].data.offerAutApproval) {\n\t\tfilter.$and.push({\n\t\t\t$not: {\n\t\t\t\tfield: '/data/autApproval',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: 'pending',\n\t\t\t},\n\t\t}, {\n\t\t\t$not: {\n\t\t\t\tfield: '/data/autApproval',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: 'rejected',\n\t\t\t},\n\t\t});\n\t}\n\treturn filter;\n}\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import management from './offer/management.js';\nimport search from './offer/search.js';\n\nexport default {\n\tnamespaced: true,\n\tmodules: {\n\t\tmanagement,\n\t\tsearch\n\t}\n};\n","import debounce from 'debounce';\n\nconst state = {\n\n\tidsWanted: [],\n\tidsUnavailable: [],\n\tentities: []\n\n};\n\n\nconst getters = {\n\n\tbyId: state => id => {\n\t\treturn state.entities.find(e => e && e.id === id);\n\t}\n\n};\n\nconst actions = {\n\n\taddRequiredEntity({ state, commit, dispatch }, { id }) {\n\t\tif (state.idsWanted.includes(id) ||\n\t\t\tstate.idsUnavailable.includes(id) ||\n\t\t\tstate.entities.find(e => e.id === id)) return;\n\t\tcommit('addId', id);\n\t\tdispatch('debouncedLoad');\n\t},\n\n\tdebouncedLoad: debounce(async function loadRelated({ state, commit, dispatch }) {\n\t\tlet ids = JSON.parse(JSON.stringify(state.idsWanted));\n\t\tif (ids.length === 0) return;\n\t\tlet res = await dispatch('admin/loadEntities', { ids, throwIfNotAllFound: false }, { root: true });\n\t\tlet unavailable = [];\n\t\tres = res.filter((e, i) => {\n\t\t\tif (!e) {\n\t\t\t\tunavailable.push(ids[i]);\n\t\t\t}\n\t\t\treturn !!e;\n\t\t});\n\t\tif (unavailable.length > 0) {\n\t\t\tcommit('addUnavailable', unavailable);\n\t\t}\n\t\tcommit('clearIds', ids);\n\t\tcommit('addEntities', res);\n\t}, 20)\n\n};\n\nconst mutations = {\n\n\taddId(state, id) {\n\t\tstate.idsWanted.push(id);\n\t},\n\taddEntities(state, entities) {\n\t\tstate.entities = state.entities.concat(entities);\n\t},\n\tclearIds(state, ids) {\n\t\tstate.idsWanted = state.idsWanted.filter(id => !ids.includes(id));\n\t},\n\tclearAllIds(state) {\n\t\tstate.idsWanted = [];\n\t},\n\tclearEntities(state) {\n\t\tstate.entities = [];\n\t},\n\taddUnavailable(state, ids) {\n\t\tstate.idsUnavailable = state.idsUnavailable.concat(ids);\n\t}\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import LRU from 'lru-cache';\nimport { post } from '@/util/request.js';\n\nconst cache = new LRU({\n\tmax: 200,\n\tmaxAge: 1000 * 60 * 60,\n});\n\nexport async function getCity({ countrycode, citycode, cityname }) {\n\tlet key = `${countrycode}_${citycode}_${cityname}`;\n\tif (cache.has(key)) {\n\t\treturn cache.get(key);\n\t}\n\tlet p;\n\tp = await post('geocode/get/city', {\n\t\tcountrycode,\n\t\tcitycode,\n\t\tcityname,\n\t});\n\tcache.set(key, p);\n\treturn p;\n}\n\nexport async function getCityList({ countrycode, citycode, cityname, usefuzzy }) {\n\tlet key = `list_${countrycode}_${citycode}_${cityname}_${usefuzzy?'F':'0'}`;\n\tif (cache.has(key)) {\n\t\treturn cache.get(key);\n\t}\n\tlet p;\n\tlet params = {\n\t\tcountrycode,\n\t\tusefuzzy\n\t};\n\tif (citycode) params.citycode = citycode;\n\tif (cityname) params.cityname = cityname;\n\tif (!cityname && !citycode) throw new Error('must specify cityname or citycode');\n\tp = await post('geocode/list/city', params);\n\tcache.set(key, p);\n\treturn p;\n}\n","import * as GeoRepo from '@/repository/geocode.js';\n\nconst actions = {\n\n\tasync getLocationCity({ dispatch, rootState, rootGetters }, { countryId, citycode, cityname, usefuzzy = true }) {\n\t\tlet countrycode;\n\t\tif (countryId && countryId !== rootState.country.currentCountry.id) {\n\t\t\tif (!rootState.country.list.length) await dispatch('country/loadAll', null, { root: true });\n\t\t\tlet country = rootGetters['country/byId'](countryId);\n\t\t\tif (!country) throw new Error(`missing country '${countryId}'`);\n\t\t\tcountrycode = country.data.code;\n\t\t} else {\n\t\t\tcountrycode = rootState.country.currentCountry.data.code;\n\t\t}\n\t\tlet list = await GeoRepo.getCityList({ countrycode, citycode, cityname, usefuzzy });\n\t\treturn list;\n\t}\n};\n\nexport default {\n\tnamespaced: true,\n\tactions,\n};\n","import { getEntityById, getEntityclassByExternalId, search } from '@/repository/system.js';\n\nconst state = {\n\tpages: [],\n\tecId: null\n};\n\nconst getters = {\n\tpage: (state) => (id) => {\n\t\tlet page = state.pages.find(e => e.id === id);\n\t\tif (!page) {\n\t\t\treturn null;\n\t\t}\n\t\treturn page;\n\t},\n\tusage: (state) => (usage) => {\n\t\tlet page = state.pages.find(e => e.data.usage === usage);\n\t\tif (!page) {\n\t\t\treturn null;\n\t\t}\n\t\treturn page;\n\t}\n};\n\nconst actions = {\n\tasync loadPage({ commit, getters }, { id }) {\n\t\tif (getters.page(id)) return;\n\t\tlet page = await getEntityById(id);\n\t\tcommit('addPage', page);\n\t},\n\tasync loadUsage({ commit, state, getters }, { usage }) {\n\t\tif (!state.ecId) {\n\t\t\tlet ec = await getEntityclassByExternalId('cmspage');\n\t\t\tcommit('setEcId', ec);\n\t\t}\n\t\tif (getters.usage(usage)) return;\n\t\tlet filter = {\n\t\t\t$and: [{\n\t\t\t\tfield: '/data/usage',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: usage\n\t\t\t}]\n\t\t};\n\t\tlet res = await search(state.ecId, filter);\n\t\tres.forEach(page => {\n\t\t\tcommit('addPage', page);\n\t\t});\n\t}\n};\n\nconst mutations = {\n\taddPage(state, page) {\n\t\tstate.pages = state.pages.filter(p => p.id !== page.id);\n\t\tstate.pages.push(page);\n\t},\n\tsetEcId(state, { id }) {\n\t\tstate.ecId = id;\n\t}\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import { search, getEntityclassByExternalId } from '@/repository/system.js';\n\nconst state = {\n\n\tregions: []\n\n};\n\n\nconst getters = {\n\n\tall: (state) => {\n\t\treturn state.regions;\n\t},\n\n\tforCurrentCountry: (state, getters, rootState, rootGetters) => {\n\t\treturn state.regions.filter(e => e.data.country === rootGetters['country/currentCountry'].id);\n\t},\n\n\tforCountry: state => countryId => {\n\t\treturn state.regions.filter(e => e.data.country === countryId);\n\t}\n};\n\nconst actions = {\n\n\tasync loadAll({ commit }) {\n\t\tlet ec = await getEntityclassByExternalId('region');\n\t\tlet res = await search(ec.id);\n\t\tcommit('setRegions', res);\n\t},\n\n\tasync loadForCurrentCountry({ commit, rootGetters }) {\n\t\tlet ec = await getEntityclassByExternalId('region');\n\t\tlet attributeFilter = {\n\t\t\t$and: [{\n\t\t\t\tfield: '/data/country',\n\t\t\t\tcomparison: 'eq',\n\t\t\t\tvalue: rootGetters['country/currentCountry'].id\n\t\t\t}]\n\t\t};\n\t\tlet res = await search(ec.id, attributeFilter);\n\t\tcommit('setRegions', res);\n\t},\n\n\tasync init({ state, dispatch }) {\n\t\tif (!state.regions.length) {\n\t\t\tawait dispatch('loadAll');\n\t\t}\n\t}\n\n};\n\nconst mutations = {\n\n\tsetRegions(state, list) {\n\t\tstate.regions = list;\n\t}\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import { search, getEntityclassByExternalId } from '@/repository/system.js';\n\nconst state = {\n\n\tlist: []\n\n};\n\nconst getters = {\n\n\tbyId: (state) => (id) => {\t//latest rev\n\t\treturn state.list.filter(e => e.id === id).sort((a, b) => b.rev - a.rev)[0];\n\t},\n\n\tbyIdRev: (state) => (id, rev) => {\n\t\treturn state.list.find(e => e.id === id && e.rev === rev);\n\t},\n\n\tlatestRevs: (state) => {\n\t\tlet ids = new Set();\n\t\treturn state.list.slice(0).sort((a, b) => b.rev - a.rev).filter(e => {\n\t\t\tif (ids.has(e.id)) return false;\n\t\t\tids.add(e.id);\n\t\t\treturn true;\n\t\t});\n\t}\n\n};\n\nconst actions = {\n\n\tasync loadAll({ state, dispatch, commit }) {\n\t\tif (state.list.length > 0) return;\n\t\tlet ec = await getEntityclassByExternalId('requestformfield');\n\t\tlet res = await search(ec.id);\n\t\tcommit('setAll', res);\n\t},\n\n\tasync get({ state, dispatch, commit }, { id, rev }) {\n\t\tlet existing = id && rev ? state.list.find(e => e.id === id && e.rev === rev) : null;\n\t\tif (existing) return existing;\n\t\tlet entity = await dispatch('admin/loadEntity', { id, rev }, { root: true });\n\t\tcommit('addToList', entity);\n\t\treturn entity;\n\t},\n\n\tgetFromStep({ dispatch }, { fields }) {\n\t\treturn Promise.all(fields.map(f => dispatch('get', f)));\n\t}\n\n};\n\nconst mutations = {\n\n\tsetAll(state, list) {\n\t\tstate.list = list;\n\t},\n\n\taddToList(state, entity) {\n\t\tlet exists = state.list.find(e => e.id === entity.id && e.rev === entity.rev);\n\t\tif (exists) return;\n\t\tstate.list.push(entity);\n\t}\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import {\n\tsearch,\n\tgetEntityclassByExternalId,\n\tcountEntries\n} from '@/repository/system.js';\nimport * as TdbRepo from '@/repository/tdb.js';\nimport { Request } from 'tdbcommon';\n\nconst state = {\n\tpackages: [],\n\tprocesses: [],\n\n\tselectedType: null,\n\tselectedFilters: {},\n\tallAvailableOffers: [],\n\n\tpkgForClassifications: {},\t// { [classid]: { id, rev } }\n\n\tasoSelected: null,\n\tinsSelected: null,\n\tagrSelected: null,\n\tlosSelected: null,\n\tnoGeoPos: null,\n\tregion: null,\n\thints: {},\n\tagrData: null\n};\n\n\nconst getters = {\n\n\tgetPackageForClassification: (state) => (classificationId, count) => {\n\t\tif (count > 0 && state.pkgForClassifications.withOffers\n\t\t\t&& state.pkgForClassifications.withOffers[classificationId]) {\n\t\t\treturn state.pkgForClassifications.withOffers[classificationId];\n\t\t}\n\t\tif (!state.pkgForClassifications.base) return null;\n\t\treturn state.pkgForClassifications.base[classificationId];\n\t},\n\n\tcanCreateRequest: (state, getters, rootState) => {\n\t\treturn state.selectedType &&\n\t\t\t(state.insSelected || state.agrSelected) &&\n\t\t\trootState.offer.search.modus === 'request' &&\n\t\t\tstate.losSelected &&\n\t\t\t!state.noGeoPos;\n\t},\n\n\trequestMode: (state, getters, rootState) => {\n\t\treturn rootState.offer.search.requestMode;\n\t},\n\n\tavailableRequestTypes: (state, getters, rootState) => {\n\t\tlet types = [];\n\t\tif (getters.getAsoId) {\n\t\t\ttypes.push(Request.RequestConstants.TYPE_ASO);\n\t\t}\n\t\tif (getters.getInsId) {\n\t\t\ttypes.push(Request.RequestConstants.TYPE_INS);\n\t\t\ttypes.push(Request.RequestConstants.TYPE_RESTRICTEDVET);\n\t\t}\n\t\tlet animalkind = rootState.offer.search.filter.animalkind;\n\t\tlet country = rootState.country.currentCountry;\n\t\tif (country.data.animalkindsUsingLowhatchRequests?.includes(animalkind) &&\n\t\t\tstate.agrData?.staticData.eggBreeder\n\t\t) {\n\t\t\ttypes.push(Request.RequestConstants.TYPE_LOWHATCH);\n\t\t}\n\t\tconsole.log('availableTypes', types, state.agrData);\n\t\tif (state.agrData) {\n\t\t\ttypes = types.filter(e => state.agrData?.staticData.canRequest?.includes(e));\n\t\t}\n\t\treturn types;\n\t},\n\n\tgetAgrId: (state, getters, rootState, rootGetters) => {\n\t\treturn rootGetters['auth/user/role'] === 'AGR' ? rootGetters['auth/token/account'] : state.agrSelected;\n\t},\n\n\tgetInsId: (state, getters, rootState, rootGetters) => {\t//CONTINUE HERE\n\t\treturn rootGetters['auth/user/role'] === 'INS' ? rootGetters['auth/token/account'] : state.insSelected;\n\t},\n\n\tgetAsoId: (state, getters, rootState, rootGetters) => {\n\t\treturn rootGetters['auth/user/role'] === 'ASO' ? rootGetters['auth/token/account'] : state.asoSelected;\n\t},\n\n\tgetRegion: (state) => {\n\t\treturn state.region;\n\t},\n\n\tshowHint: state => name => {\n\t\tif (name in state.hints) return state.hints[name];\n\t\treturn false;\n\t},\n};\n\n\nconst actions = {\n\n\tasync loadPackages({ commit }) {\n\t\tlet packageEc = await getEntityclassByExternalId('requestpackage');\n\t\tlet res = await search(packageEc.id);\n\t\tcommit('setPackages', res);\n\t},\n\n\tasync init({ state, dispatch, rootGetters, commit }) {\n\t\tif (!state.packages.length) {\n\t\t\tawait dispatch('loadPackages');\n\t\t}\n\t\tif (rootGetters['auth/user/role'] === 'AGR') {\n\t\t\tcommit('setAgrData', rootGetters['auth/user/details']);\n\t\t}\n\t},\n\n\tasync loadAgrData({ commit, getters, dispatch, rootGetters }) {\t//CONTINUE HERE. not used\n\t\tif (rootGetters['auth/user/role'] === 'AGR' || !getters.getAgrId) return;\n\t\tlet agrData = await dispatch('admin/loadEntity', { id: getters.getAgrId }, { root: true });\n\t\tcommit('setAgrData', agrData.data);\n\t},\n\n\tasync initRequest({ rootGetters, state, commit, getters }, { offergroup, pkg, sup }) {\n\t\tif (!pkg.rev) {\n\t\t\tlet pkg2 = rootGetters['related/byId'](pkg.id);\n\t\t\tpkg.rev = pkg2.rev;\n\t\t}\n\t\tcommit('offer/search/setFilterExport', true, { root: true });\n\t\tlet env = {\n\t\t\toffergroup,\n\t\t\tcountry: rootGetters['country/currentCountry'].id,\n\t\t\tagr: getters.getAgrId,\n\t\t\tins: getters.getInsId,\n\t\t\tagrSite: state.losSelected,\n\t\t\tpackage: { id: pkg.id, rev: pkg.rev },\n\t\t\trequestType: state.selectedType,\n\t\t\tsearchFilter: rootGetters['offer/search/attributeFilter']\n\t\t};\n\t\tcommit('offer/search/setFilterExport', false, { root: true });\n\t\tif (sup) env.sup = sup;\n\t\tif (getters.getAsoId) {\n\t\t\tenv.aso = getters.getAsoId;\n\t\t}\n\t\tlet res = await TdbRepo.requestInit(env);\n\t\tcommit('reset');\n\t\tcommit('offer/search/resetAllFilters', null, { root: true });\n\t\treturn res;\n\t},\n\tasync initFollowupRequest({ rootGetters, dispatch }, { process }) {\n\t\tlet pkg = JSON.parse(JSON.stringify(process.followupRequest));\n\t\tif (!pkg.rev) {\n\t\t\tlet tmp = rootGetters['related/byId'](pkg.id);\n\t\t\tif (!tmp) {\n\t\t\t\ttmp = await dispatch('admin/loadEntity', { id: pkg.id }, { root: true });\n\t\t\t}\n\t\t\tpkg.rev = tmp.rev;\n\t\t}\n\t\tif (!process.getId()) throw new Error('no process id found');\n\t\tlet agr = process.getMembersWithRole().find(e => e.role === 'agr').id;\n\t\tlet ins = process.getMembersWithRole().find(e => e.role === 'ins').id;\n\t\tlet env = {\n\t\t\tfollowupFor: process.getId(),\n\t\t\toffergroup: process.offergroup.id,\n\t\t\tcountry: rootGetters['country/currentCountry'].id,\n\t\t\tagr,\n\t\t\tins,\n\t\t\tagrSite: process.agrAddress.siteId,\n\t\t\tpackage: { id: pkg.id, rev: pkg.rev },\n\t\t\trequestType: process.type,\n\t\t\tsearchFilter: process.searchFilter\n\t\t};\n\t\tlet res = await TdbRepo.requestInit(env);\n\t\treturn res;\n\t},\n\n\tasync getFollowupProcesses(_, { ids }) {\n\t\tlet processEc = await getEntityclassByExternalId('request-process');\n\t\tlet attributeFilter = {\n\t\t\t$or: ids.map(id => {\n\t\t\t\treturn {\n\t\t\t\t\t'field': '/data/isFollowupFor',\n\t\t\t\t\t'comparison': 'eq',\n\t\t\t\t\t'value': id\n\t\t\t\t};\n\t\t\t})\n\t\t};\n\t\tlet result = await search(processEc.id, attributeFilter, { start: 0, limit: ids.length });\n\t\treturn result;\n\t},\n\n\tasync loadProcesses(_, { start, limit, sorting, attributeFilter }) {\n\t\tlet processEc = await getEntityclassByExternalId('request-process');\n\t\tlet count = await countEntries(processEc.id, attributeFilter);\n\t\tif (count === 0) {\n\t\t\treturn { count, list: [] };\n\t\t}\n\t\tlet list = await search(processEc.id, attributeFilter, { start, limit }, sorting);\n\t\tlet wait = list.map(p => {\n\t\t\treturn TdbRepo.loadPackage(p.data.package.id, p.data.package.rev);\n\t\t});\n\t\tlet packages = await Promise.all(wait);\n\t\t// console.log('packages', packages);\n\t\tlist = list.map(p => {\n\t\t\tlet process = new Request.RequestProcess();\n\t\t\tprocess.fromStorage(p);\n\t\t\tlet pkg = packages.find(pkg => pkg.getId() === process.package.id && pkg.getRev() === process.package.rev);\n\t\t\tif (!pkg) throw new Error(`cannot find pkg: ${process.package.id} / ${process.package.rev}`);\n\t\t\tprocess.setPackage(pkg);\n\t\t\treturn process;\n\t\t});\n\t\treturn { count, list };\n\t},\n\n\tasync loadProcess(_, { id }) {\n\t\tawait getEntityclassByExternalId('request-process');\n\t\treturn TdbRepo.loadProcess(id);\n\t},\n\n\tasync loadFieldForPackage(_, { pkg }) {\n\t\tlet ret = await TdbRepo.loadFieldForPackage(pkg);\n\t\treturn ret;\n\t},\n\n\tasync fillProcessForm(_, { process, fieldData, attachments, owner, pkg }) {\n\t\t// returns process but missing some things like _meta, that are not available from TdbRepo.requestFill\n\t\tlet entity = {};\n\t\tentity.data = await TdbRepo.requestFill({\n\t\t\tprocess, fieldData, attachments, owner\n\t\t});\n\t\tlet requestProcess = new Request.RequestProcess();\n\t\trequestProcess.fromStorage(entity);\n\t\trequestProcess.setPackage(pkg);\n\t\treturn requestProcess;\n\t},\n\n\tasync retractProcess(_, { process }) {\n\t\tlet entity = {};\n\t\tentity.data = await TdbRepo.retractProcess({ process: process.getId() });\n\t\tlet requestProcess = new Request.RequestProcess();\n\t\trequestProcess.fromStorage(entity);\n\t\treturn requestProcess;\n\t},\n\n\tasync runClassifications({ state, getters, rootState, dispatch, rootGetters, commit }) {\n\t\tlet rs = await dispatch('admin/getRulesetForKey', { key: 'request_classifications' }, { root: true });\n\t\tconsole.log('request_classifications', rs);\n\t\tif (!rs) return;\n\t\tconst genderMap = { 1: 'f', 2: 'm' };\n\t\tconst input = {\n\t\t\tenv: {\n\t\t\t\tcountry: rootGetters['country/currentCountry'].id,\n\t\t\t\tanimalkind: rootState.offer.search.filter.animalkind,\n\t\t\t\tuserHasActiveAso: getters.availableRequestTypes.includes(Request.RequestConstants.TYPE_ASO),\n\t\t\t\tuserHasActiveIns: getters.availableRequestTypes.includes(Request.RequestConstants.TYPE_INS)\n\t\t\t},\n\t\t\tinput: {\n\t\t\t\trequestType: state.selectedType,\n\t\t\t\tanimalusage: rootState.offer.search.filter.animalusage?.id,\n\t\t\t\tanimalgender: genderMap[rootState.offer.search.filter.gender],\n\t\t\t},\n\t\t\thints: {},\n\t\t\trequest: {},\n\t\t\trequestWithOffers: {}\n\t\t};\n\t\tif (getters.getInsId) {\n\t\t\tinput.env.userIns = getters.getInsId;\n\t\t\ttry {\n\t\t\t\tlet aut = await dispatch('getAutForAgr', { agr: getters.getAgrId, agrSite: state.losSelected });\n\t\t\t\tinput.env.userAut = aut.id;\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('trying to find aut for ins: ', e);\n\t\t\t}\n\t\t}\n\t\tif (getters.getAsoId) {\n\t\t\tinput.env.userAso = getters.getAsoId;\n\t\t}\n\t\tlet facts = await dispatch('bbay/evaluate', {\n\t\t\tid: rs.id,\n\t\t\trev: rs.rev,\n\t\t\tfacts: input\n\t\t}, { root: true });\n\t\tcommit('setRequestPackageForClassifications', {\n\t\t\tbase: facts.request,\n\t\t\twithOffers: facts.requestWithOffers\n\t\t});\n\t\tcommit('setShowHints', facts.hints);\n\t},\n\n\tasync getAutForAgr({ dispatch }, { agr, agrSite }) {\n\t\tlet agrData = await dispatch('admin/loadEntity', { id: agr }, { root: true });\n\t\tlet allLos = agrData.data.userData.supData.flatMap(s => s.locationsOfSale);\n\t\tlet los = allLos.find(e => e && e.id === agrSite);\n\t\tif (!los) throw new Error(`location of sale not found: ${agrSite}`);\n\t\tlet region = los.address.region;\t//@TODO change\n\t\tif (!region) throw new Error('no region specified');\n\t\tlet { list } = await dispatch('admin/loadUsers', {\n\t\t\tstart: 0,\n\t\t\tlimit: 1,\n\t\t\tattributeFilter: {\n\t\t\t\t$and: [{\n\t\t\t\t\tfield: '/data/registrationOptionName',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: 'aut'\n\t\t\t\t}, {\n\t\t\t\t\tfield: '/data/staticData/responsibleForRegions',\n\t\t\t\t\tcomparison: 'eq',\n\t\t\t\t\tvalue: region\n\t\t\t\t}]\n\t\t\t}\n\t\t}, { root: true });\n\t\tif (!list.length) throw new Error(`no aut found for region ${region}`);\n\t\tlet aut = list[0];\n\t\treturn aut;\n\t}\n};\n\n\nconst mutations = {\n\n\treset(state) {\n\t\tstate.asoSelected = null;\n\t\tstate.insSelected = null;\n\t\tstate.agrSelected = null;\n\t\tstate.losSelected = null;\n\t\tstate.selectedType = null;\n\t\tstate.noGeoPos = null;\n\t\tstate.region = null;\n\t},\n\n\tsetPackages(state, list) {\n\t\tstate.packages = list;\n\t},\n\n\tsetSelectedAso(state, val) {\n\t\tstate.asoSelected = val;\n\t},\n\n\tsetSelectedIns(state, val) {\n\t\tstate.insSelected = val;\n\t},\n\n\tsetSelectedAgr(state, val) {\n\t\tstate.agrSelected = val;\n\t},\n\n\tsetSelectedLos(state, { site, region }) {\n\t\tstate.losSelected = site;\n\t\tstate.region = region;\n\t},\n\n\tsetSelectedType(state, val) {\n\t\tstate.selectedType = val;\n\t},\n\n\tsetNoGeoPos(state, val) {\n\t\tstate.noGeoPos = val;\n\t},\n\n\tsetRequestPackageForClassifications(state, r) {\n\t\tstate.pkgForClassifications = r;\n\t},\n\n\tsetAgrData(state, data) {\n\t\tstate.agrData = data;\n\t},\n\n\tsetShowHints(state, hints) {\n\t\tstate.hints = hints;\n\t}\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import LRU from 'lru-cache';\nimport * as ExportRepo from '@/repository/export';\nimport * as TdbRepo from '@/repository/tdb';\nimport * as DlHelper from '@/util/document-helper.js';\nimport i18n from '@/plugins/i18n.js';\nimport { Request } from 'tdbcommon';\n\nconst viewcache = new LRU({\n\tmax: 10,\n\tmaxAge: 1000 * 10\n});\n\nconst requestStatusLabels = {\n\t'10000d95-7d41-48e8-ba20-2273dc7cbd5d': 'none',\n\t'200001e9-ff8c-468b-a68b-b44ca2fa7deb': 'archived'\n};\n\nconst state = {\n\texportRunning: false,\n\texportType: ''\n};\n\nconst getters = {\n\tavailableStatusLabels: (s, g, rs, rg) => {\n\t\tlet base = Object.entries(requestStatusLabels).map(([k, v]) => ({ value: k, text: i18n.t(`request.userStatus.${v}`) }));\n\t\tlet user = rg['auth/user/details'];\n\t\tlet folders = [];\n\t\tif (user.userData.requestFolders) {\n\t\t\tfolders = user.userData.requestFolders.map(e => ({ value: e.id, text: e.label }));\n\t\t}\n\t\treturn base.concat(folders);\n\t}\n};\n\nconst actions = {\n\n\tsetViewCache(_, { id, value }) {\n\t\tif (!value || !id) throw new Error('id and value must be set');\n\t\tif (!(value instanceof Request.RequestProcess)) {\n\t\t\tthrow new Error('must be a RequestProcess class');\n\t\t}\n\t\tviewcache.set(id, value);\n\t},\n\n\tgetViewCache(_, { id }) {\n\t\treturn viewcache.get(id);\n\t},\n\n\tasync updateExportType({ commit, rootGetters, dispatch }) {\n\t\tlet rs = await dispatch('admin/getRulesetForKey', { key: 'exports' }, { root: true });\n\t\tif (!rs) return;\n\t\tlet facts = await dispatch('bbay/evaluate', {\n\t\t\tid: rs.id,\n\t\t\trev: rs.rev,\n\t\t\tfacts: {\n\t\t\t\tenv: {\n\t\t\t\t\tcountry: rootGetters['country/currentCountry'].id,\n\t\t\t\t\trole: rootGetters['auth/user/role'].toLowerCase(),\n\t\t\t\t\tuser: rootGetters['auth/token/account']\n\t\t\t\t},\n\t\t\t\texport: 'requests-external'\n\t\t\t}\n\t\t}, { root: true });\n\t\tcommit('setExportType', facts.export);\n\t},\n\n\tasync runExport({ state, commit, rootState, dispatch }, { attributeFilter, language }) {\n\t\tif (state.exportRunning) throw new Error('export already running');\n\t\ttry {\n\t\t\tcommit('setRunning', true);\n\t\t\tif (!state.exportType) await dispatch('updateExportType');\n\t\t\tif (!language) language = rootState.base.uiLocale;\n\t\t\tlet config = await ExportRepo.getConfig({ alias: state.exportType });\n\t\t\tlet jobParams = {\n\t\t\t\tconfig: config.id,\n\t\t\t\tcustomColumnHeaders: [],\n\t\t\t\trunParams: {\n\t\t\t\t\tlanguage,\n\t\t\t\t\tfallbackLanguage: rootState.base.fallbackLocale,\n\t\t\t\t\ttl: {\n\t\t\t\t\t\t'gender.mixed': i18n.t('offermanagement.search.mixed', language),\n\t\t\t\t\t\t'gender.female': i18n.t('offermanagement.search.female', language),\n\t\t\t\t\t\t'gender.male': i18n.t('offermanagement.search.male', language),\n\t\t\t\t\t\t'status.open': i18n.t('request.status.open', language),\n\t\t\t\t\t\t'status.closed': i18n.t('request.status.closed', language),\n\t\t\t\t\t\t'status.accepted': i18n.t('request.status.accepted', language),\n\t\t\t\t\t\t'status.rejected': i18n.t('request.status.rejected', language)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tsearchFilter: attributeFilter\n\t\t\t};\n\t\t\tconst cols = [\n\t\t\t\t'agrName',\n\t\t\t\t'agrStreet',\n\t\t\t\t'agrCitycode',\n\t\t\t\t'agrCity',\n\t\t\t\t'aut',\n\t\t\t\t'ins',\n\t\t\t\t'aso',\n\t\t\t\t'packageName',\n\t\t\t\t'status',\n\t\t\t\t'animalkind',\n\t\t\t\t'offergroup',\n\t\t\t\t'animalsRequired',\n\t\t\t\t'reason',\n\t\t\t\t'reason_text_agr',\n\t\t\t\t'reason_text_aut',\n\t\t\t\t'reason_text_ins',\n\t\t\t\t'reason_text_aso',\n\t\t\t\t'filterGender',\n\t\t\t\t'ageGroup',\n\t\t\t\t'category1',\n\t\t\t\t'category2',\n\t\t\t\t'createdDate',\n\t\t\t\t'updatedDate',\n\t\t\t\t'controlNumber',\n\t\t\t\t'hid',\n\t\t\t\t'agr_reason',\n\t\t\t\t'species_name',\n\t\t\t\t'vvvnr',\n\t\t\t\t'exception_1344',\n\t\t\t\t'animal_ident_method',\n\t\t\t\t'detailed_description',\n\t\t\t\t'current_animal_count',\n\t\t\t\t'animal_noneco_count_12mo',\n\t\t\t\t'main_answer_ins',\n\t\t\t\t'main_answer_aut',\n\t\t\t\t'reason_dehorning',\n\t\t\t\t'ear_tag_number',\n\t\t\t\t'weightClass',\n\t\t\t\t'access_date',\n\t\t\t\t'birth_date',\n\t\t\t\t'sperm_separation',\n\t\t\t\t'embryo_transfer'\n\t\t\t];\n\t\t\tcols.forEach(col => {\n\t\t\t\tlet tl = i18n.t(`request.export.header.${col}`, language);\n\t\t\t\tlet def = {\n\t\t\t\t\tkey: col\n\t\t\t\t};\n\t\t\t\tif (tl && tl !== `request.export.header.${col}`) def.label = tl;\n\t\t\t\tjobParams.customColumnHeaders.push(def);\n\t\t\t});\n\t\t\tlet job = await ExportRepo.createJob(jobParams);\n\t\t\tjob = await ExportRepo.pollUntilJobComplete(job.id, 2000, 1000 * 60 * 30);\n\t\t\tlet blob = DlHelper.dataUriToBlob(job.result);\n\t\t\tlet fileName = `export.${config.exportFileType}`;\n\t\t\tDlHelper.downloadUpload(blob, fileName);\n\t\t\tcommit('setRunning', false);\n\t\t} catch (e) {\n\t\t\tcommit('setRunning', false);\n\t\t\tconsole.error(e);\n\t\t\tthrow e;\n\t\t}\n\t},\n\n\tsaveInProcess(_, { process, editorName, inProgress, statusLabel }) {\n\t\treturn TdbRepo.setRequestStatus({ process, editorName, inProgress, statusLabel });\n\t},\n\n};\n\nconst mutations = {\n\tsetRunning(state, running) {\n\t\tstate.exportRunning = running;\n\t},\n\tsetExportType(state, type) {\n\t\tstate.exportType = type;\n\t}\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import formfield from './request/formfield.js';\nimport main from './request/main.js';\nimport view from './request/view.js';\n\nexport default {\n\tnamespaced: true,\n\tmodules: {\n\t\tformfield,\n\t\tmain,\n\t\tview\n\t}\n};\n","import Store from '@/store/index.js';\nimport { toLocale, toAccountName } from '@/plugins/filters.js';\nimport { search } from '@/repository/system.js';\n\nfunction loadList(entityclass, attributeFilter) {\n\tif (attributeFilter) {\n\t\treturn Store.dispatch('admin/loadEntityclass', entityclass)\n\t\t\t.then(ec => {\n\t\t\t\treturn search(ec, attributeFilter);\n\t\t\t}).then(list => {\n\t\t\t\treturn {\n\t\t\t\t\tentityclass,\n\t\t\t\t\tattributeFilter,\n\t\t\t\t\tlist\n\t\t\t\t};\n\t\t\t});\n\t} else {\n\t\treturn Store.dispatch('admin/loadList', { type: entityclass })\n\t\t\t.then(list => {\n\t\t\t\treturn {\n\t\t\t\t\tentityclass,\n\t\t\t\t\tlist\n\t\t\t\t};\n\t\t\t});\n\t}\n}\n\nexport function getCachedOptionKey({ entityclass, attributeFilter }) {\n\treturn `${entityclass}${attributeFilter ? JSON.stringify(attributeFilter) : ''}`;\n}\n\nexport async function loadEcForPath(paths) {\n\tlet promises = [];\n\tfor (let e of paths) {\n\t\tif (e.keys) {\n\t\t\tfor (let key of Object.keys(e.keys)) {\n\t\t\t\tif (e.keys[key].entityclass) {\n\t\t\t\t\tpromises.push(loadList(e.keys[key].entityclass));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (e.options) {\n\t\t\tif (e.options.entityclass) {\n\t\t\t\tpromises.push(loadList(e.options.entityclass, e.options.attributeFilter));\n\t\t\t}\n\t\t}\n\t}\n\tlet res = await Promise.all(promises);\n\treturn res.reduce((c, { entityclass, attributeFilter, list }) => {\n\t\tlet key = getCachedOptionKey({ entityclass, attributeFilter });\n\t\tc[key] = list;\n\t\treturn c;\n\t}, {});\n}\n\nexport function calculatePathOptions(paths, pathOptionsEc) {\n\tlet ret = [];\n\tpaths.forEach(e => {\n\t\tif (e.options && e.options.entityclass) {\n\t\t\tlet ecKey = getCachedOptionKey(e.options);\n\t\t\tif (!(ecKey in pathOptionsEc)) {\n\t\t\t\tconsole.log('ecKey missing', ecKey, pathOptionsEc);\n\t\t\t}\n\t\t\te.options.loaded = pathOptionsEc[ecKey];\n\t\t}\n\t\tif (e.keys) {\n\t\t\tconst keys = buildKeys(e, pathOptionsEc);\n\t\t\tcartesianProduct(keys).forEach(elem => {\n\t\t\t\tlet path = e.path;\n\t\t\t\tlet name = `${e.name} (`;\n\t\t\t\tlet nameAfter = '';\n\t\t\t\tlet variables = [];\n\t\t\t\tlet filterable = {};\n\t\t\t\telem.forEach(el => {\n\t\t\t\t\tif (el.filter) Object.assign(filterable, el.filter);\n\t\t\t\t\tfor (let [key, val] of Object.entries(el)) {\n\t\t\t\t\t\t// replace '.../:key/...' with '.../value/...' and '.../:key' with '.../value'\n\t\t\t\t\t\tlet regex = new RegExp(`/:${key}(/)|/:${key}$`, 'gu');\n\t\t\t\t\t\tpath = path.replace(regex, `/${val}$1`);\n\t\t\t\t\t\tname += `${nameAfter}${el.label}`;\n\t\t\t\t\t\tnameAfter = ', ';\n\t\t\t\t\t\tvariables.push(val);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tname += ')';\n\t\t\t\tret.push({ path, name, opt: e.options, variables, filterable });\n\t\t\t});\n\t\t} else {\n\t\t\tret.push({ path: e.path, json: { var: e.path }, name: e.name, opt: e.options });\n\t\t}\n\t});\n\treturn ret;\n}\n\nfunction cartesianProduct(arr) {\n\tlet ret = [];\n\tif (!arr || arr.length === 0) return arr;\n\tlet arr1 = arr.splice(0, 1)[0];\n\tarr = cartesianProduct(arr);\n\tfor (let i = 0, { length } = arr1; i < length; i++) {\n\t\tif (arr && arr.length) {\n\t\t\tfor (let j = 0, len = arr.length; j < len; j++) {\n\t\t\t\tret.push([arr1[i]].concat(arr[j]));\n\t\t\t}\n\t\t} else {\n\t\t\tret.push([arr1[i]]);\n\t\t}\n\t}\n\treturn ret;\n}\n\nfunction buildKeys(e, pathOptionsEc) {\n\tlet keys = [];\n\tfor (let key of Object.keys(e.keys)) {\n\t\tlet regex = new RegExp(`/:${key}/|/:${key}$`, 'gu');\n\t\tif (regex.test(e.path)) {\n\t\t\tif (e.keys[key].enum) {\n\t\t\t\tkeys.push(buildEnumKey(e.keys[key].enum, key));\n\t\t\t} else if (e.keys[key].entityclass) {\n\t\t\t\tlet ecKey = getCachedOptionKey(e.keys[key]);\n\t\t\t\tif (pathOptionsEc[ecKey]) {\n\t\t\t\t\tkeys.push(buildListKey(key, pathOptionsEc[ecKey]));\n\t\t\t\t}\n\t\t\t} else if (e.keys[key].numRange) {\n\t\t\t\tkeys.push(buildRangeKey(e.keys[key].numRange, key));\n\t\t\t}\n\t\t}\n\t}\n\treturn keys;\n}\n\nfunction buildEnumKey(en, key) {\n\treturn en.map(map => {\n\t\tlet e = { [key]: map };\n\t\tObject.defineProperty(e, 'label', {\n\t\t\tenumerable: false,\n\t\t\tvalue: map\n\t\t});\n\t\treturn e;\n\t});\n}\n\nfunction buildListKey(key, options) {\n\treturn options.map(obj => {\n\t\tlet e = { [key]: obj.id };\n\t\tlet label = '';\n\t\tif (obj.data.labels && obj.data.labels.length) label = toLocale(obj.data.labels);\n\t\telse if (obj.data.internalName) label = obj.data.internalName;\n\t\telse if (obj.data.registrationOptionName) label = toAccountName(obj.data);\n\t\tif (!label) {\n\t\t\tconsole.log('unable to find label', obj);\n\t\t\tlabel = obj.id;\n\t\t}\n\t\tlet filter = {};\n\t\tlet addToFilter = (key, val) => {\n\t\t\tif (Array.isArray(val)) {\n\t\t\t\treturn val.forEach(v => addToFilter(key, v));\n\t\t\t}\n\t\t\tif (!(key in filter)) {\n\t\t\t\tfilter[key] = [];\n\t\t\t}\n\t\t\tif (!filter[key].includes(val)) {\n\t\t\t\tfilter[key].push(val);\n\t\t\t}\n\t\t};\n\t\tif (obj.data.country) {\n\t\t\taddToFilter('country', obj.data.country);\n\t\t}\n\t\tif (obj.data.countries) {\n\t\t\taddToFilter('country', obj.data.countries);\n\t\t}\n\t\tif (obj.data.animalkind) {\n\t\t\taddToFilter('animalkind', obj.data.animalkind);\n\t\t}\n\t\tif (obj.data.animalkinds) {\n\t\t\taddToFilter('animalkind', obj.data.animalkinds);\n\t\t}\n\t\tif (obj.data.availableInCountries) {\n\t\t\taddToFilter('country', obj.data.availableInCountries);\n\t\t}\n\t\tObject.defineProperties(e, {\n\t\t\tlabel: {\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: label\n\t\t\t},\n\t\t\tfilter: {\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: filter\n\t\t\t}\n\t\t});\n\t\treturn e;\n\t});\n}\n\nfunction buildRangeKey(numRange, key) {\n\tlet min = numRange.minimum || 0;\n\tlet max = numRange.maximum || 10;\n\tlet vals = [];\n\tfor (let i=min; i<=max; i++) {\n\t\tlet e = { [key]: i };\n\t\tObject.defineProperty(e, 'label', {\n\t\t\tenumerable: false,\n\t\t\tvalue: i\n\t\t});\n\t\tvals.push(e);\n\t}\n\treturn vals;\n}\n","import { create, update, get, list, run, test } from '@/repository/bbay.js';\nimport { calculatePathOptions, loadEcForPath } from '@/util/bbay.js';\nimport moment from 'moment';\n\n\nconst state = {\n\n\trulesets: [],\n\tinitialized: false,\n\tcurrentId: null,\n\tpathOptions: [],\n\tchanged: false,\n\tsortRules: {\n\t\tattribute: 'updated',\n\t\tdirection: 'desc'\n\t},\n\tcache: [],\n\toptions: {\n\t\tagecategory: null,\n\t\tcategory1: null,\n\t\tcategory2: null\n\t}\n};\n\n\nconst getters = {\n\n\trulesets: (state) => {\n\t\treturn state.rulesets;\n\t},\n\n\tcurrentId: (state) => {\n\t\treturn state.currentId;\n\t},\n\n\truleset: (state) => {\n\t\tlet id = state.currentId;\n\t\tif (!state.initialized || !id) return null;\n\t\treturn state.rulesets.find(elem => elem.id === id);\n\t},\n\n\tchanged: (state) => {\n\t\treturn state.changed;\n\t},\n\n\tcachedDecision: (state) => (key) => {\n\t\treturn state.cache.find(e => e.key === key)?.output;\n\t},\n\n\tsortRules: (state) => {\n\t\treturn state.sortRules;\n\t},\n\n\tbyId: (state) => (id) => {\n\t\treturn state.rulesets.find(e => e.id === id);\n\t},\n\n\tfilteredPathOptions: (state) => (ctx) => {\n\t\t// console.log('filtered options for', ctx);\n\t\treturn state.pathOptions.filter(e => {\n\t\t\t// if (e.filterable) console.log(JSON.stringify(e.filterable));\n\t\t\tif (e.filterable) {\n\t\t\t\tfor (let [key, val, negated] of ctx) {\n\t\t\t\t\tif (!e.filterable[key]) continue;\n\t\t\t\t\tlet res = e.filterable[key].includes(val);\n\t\t\t\t\tif (res === negated) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t}\n};\n\nconst actions = {\n\n\tasync getAll({ commit }) {\n\t\tlet res = await list();\n\t\tcommit('setRulesets', res);\n\t},\n\n\tasync init({ commit, state, dispatch }) {\n\t\tif (state.initialized) return;\n\t\tcommit('initialized');\n\t\tlet options = {};\n\t\toptions.agecategory = await dispatch('admin/loadList', { type: 'agecategory' }, { root: true });\n\t\toptions.category1 = await dispatch('admin/loadList', { type: 'category1' }, { root: true });\n\t\toptions.category2 = await dispatch('admin/loadList', { type: 'category2' }, { root: true });\n\t\toptions.animalusage = await dispatch('admin/loadList', { type: 'animalusage' }, { root: true });\n\t\toptions.formfields = await dispatch('admin/loadList', { type: 'requestformfield' }, { root: true });\n\t\tcommit('setOptions', options);\n\t\tawait dispatch('getAll');\n\t},\n\n\tasync update({ commit, state, getters }) {\n\t\tlet r = getters.ruleset;\n\t\tlet rules = r.rules.map(e => {\n\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\tlet { updated, ...rest } = e; // remove updated\n\t\t\treturn rest;\n\t\t});\n\t\tlet ruleset = await update({ id: state.currentId, name: r.name, rules });\n\t\tcommit('setRuleset', ruleset);\n\t},\n\n\tasync setCurrentId({ commit, getters }, { id }) {\n\t\tlet rs = getters.byId(id);\n\t\tlet pathOptionsEc = await loadEcForPath(rs.paths);\n\t\tlet pathOptions = calculatePathOptions(rs.paths, pathOptionsEc);\n\t\tcommit('setOpenRuleset', { id, pathOptions });\n\t},\n\n\tasync evaluate({ commit, getters }, { id, alias, rev, facts }) {\n\t\tlet inputKey = JSON.stringify({ id, alias, rev, facts });\n\t\tlet output = getters.cachedDecision(inputKey);\n\t\tif (!output) {\n\t\t\tlet res = await run({ ruleset: { id, rev, alias }, facts });\n\t\t\tconsole.log('bbay eval', { id, alias, rev, facts, output, res });\n\t\t\toutput = res.facts;\n\t\t\tcommit('addToResultCache', { key: inputKey, output });\n\t\t}\n\t\treturn output;\n\t}\n\n};\n\nconst mutations = {\n\n\tsetRulesets(state, rulesets) {\n\t\tstate.rulesets = rulesets;\n\t\tthis.commit('bbay/sortRules');\n\t},\n\n\tsetRuleset(state, ruleset) {\n\t\t//will always exist because we never create new ones\n\t\tlet index = state.rulesets.findIndex(elem => elem.id === state.currentId);\n\t\tstate.rulesets.splice(index, 1, ruleset);\n\t\tthis.commit('bbay/sortRules');\n\t},\n\n\tsetRule(state, { ruleIndex, rule }) {\n\t\tlet index = state.rulesets.findIndex(elem => elem.id === state.currentId);\n\t\tstate.rulesets[index].rules.splice(ruleIndex, 1, rule);\n\t\tthis.commit('bbay/sortRules');\n\t},\n\n\tdeleteRule(state, ruleIndex) {\n\t\tlet index = state.rulesets.findIndex(elem => elem.id === state.currentId);\n\t\tstate.rulesets[index].rules.splice(ruleIndex, 1);\n\t},\n\n\tsetOpenRuleset(state, { id, pathOptions }) {\n\t\tstate.currentId = id;\n\t\tstate.pathOptions = pathOptions;\n\t\tthis.commit('bbay/sortRules');\n\t},\n\n\tinitialized(state) {\n\t\tstate.initialized = true;\n\t},\n\n\tchanged(state, changed = true) {\n\t\tstate.changed = changed;\n\t},\n\n\taddToResultCache(state, { key, output }) {\n\t\tstate.cache.push({ key, output });\n\t\tif (state.cache.length > 50) state.cache.shift();\n\t},\n\n\tsetSortRules(state, { attribute, direction }) {\n\t\tlet sort = {};\n\t\tsort.attribute = attribute || state.sortRules.attribute;\n\t\tsort.direction = direction || state.sortRules.direction;\n\t\tstate.sortRules = sort;\n\t\tthis.commit('bbay/sortRules');\n\t},\n\n\tsortRules(state) {\n\t\tlet index = state.rulesets.findIndex(elem => elem.id === state.currentId);\n\t\tif (index > -1) {\n\t\t\tlet smaller = state.sortRules.direction === 'desc' ? -1 : 1;\n\t\t\tlet bigger = smaller * -1;\n\t\t\tstate.rulesets[index].rules = state.rulesets[index].rules.sort((el1, el2) => {\n\t\t\t\tif (state.sortRules.attribute === 'name') {\n\t\t\t\t\tlet name1 = el1.name.toUpperCase();\n\t\t\t\t\tlet name2 = el2.name.toUpperCase();\n\t\t\t\t\tif (name1 < name2) return smaller;\n\t\t\t\t\tif (name1 > name2) return bigger;\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tif (moment(el1.updated).isSame(el2.updated)) return 0;\n\t\t\t\tif (moment(el1.updated).isBefore(el2.updated)) return smaller;\n\t\t\t\treturn bigger;\n\t\t\t});\n\t\t}\n\t},\n\n\tsetOptions(state, opts) {\n\t\tObject.keys(opts).forEach(key => {\n\t\t\tstate.options[key] = opts[key];\n\t\t});\n\t}\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import * as MailerRepo from '@/repository/mailer';\n\nconst state = {\n\n\temailStatusCache: []\n\n};\n\nconst getters = {\n\tgetCachedVerficationStatus: state => email => {\n\t\treturn state.emailStatusCache.find(e => e.email === email);\n\t},\n\tgetSsoVerifiedEmail: (state, getters, rootState) => {\n\t\treturn rootState.auth.token.ssoParsed?.email;\n\t}\n};\n\nconst actions = {\n\n\tasync getEmailVerificationStatus({ state, commit, getters, dispatch }, email) {\n\t\tlet cached = state.emailStatusCache.find(e => e.email === email);\n\t\tif (cached) return cached.status;\n\t\tif (email === getters.getSsoVerifiedEmail) {\n\t\t\tawait dispatch('verifyViaSsoEmail');\n\t\t\tlet { status } = getters.getCachedVerficationStatus(email);\n\t\t\treturn status;\n\t\t}\n\t\tlet { status, expired } = await MailerRepo.getEmailVerificationStatus(email);\n\t\tcommit('setVerificationStatus', { email, status, expired });\n\t\treturn status;\n\t},\n\n\tasync requestVerification({ commit }, { email }) {\n\t\tlet success = await MailerRepo.requestVerification({ email });\n\t\tif (success) commit('setVerificationStatus', { email, status: 'pending' });\n\t},\n\n\tasync completeVerification({ commit }, { email, code }) {\n\t\tlet success = await MailerRepo.completeVerification({ email, code, accepted: true });\n\t\tif (success) commit('setVerificationStatus', { email, status: 'verified' });\n\t},\n\n\tasync verifyViaSsoEmail({ getters, rootState, commit }) {\n\t\tlet email = getters.getSsoVerifiedEmail;\n\t\tif (!email || getters.getCachedVerficationStatus(email)?.status === 'verified') return;\n\t\tlet status = await MailerRepo.ssoVerification({ token: rootState.auth.token.ssoToken });\n\t\tcommit('setVerificationStatus', { email, status });\n\t},\n\n\tasync checkForUnverifiedMails({ dispatch, rootState }) {\n\t\tconst accountDetails = rootState.auth.user.details;\n\t\tlet emails = new Set();\n\t\tif (accountDetails.userData.supData) {\n\t\t\taccountDetails.userData.supData.forEach(sd => {\n\t\t\t\tsd.locationsOfSale.forEach(los => {\n\t\t\t\t\tif (los.address && los.address.email) {\n\t\t\t\t\t\temails.add(los.address.email);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\tif (accountDetails.userData.address && accountDetails.userData.address.email) {\n\t\t\taccountDetails.userData.address.email.split(' ').forEach(e => {\n\t\t\t\temails.add(e);\n\t\t\t});\n\t\t}\n\t\tfor (let e of Array.from(emails)) {\n\t\t\tlet status = await dispatch('getEmailVerificationStatus', e);\n\t\t\tif (status !== 'verified') return true;\n\t\t}\n\t\treturn false;\n\t}\n\n};\n\nconst mutations = {\n\n\tsetVerificationStatus(state, { email, status, expired }) {\n\t\tlet entry = state.emailStatusCache.find(e => e.email === email);\n\t\tif (entry) {\n\t\t\tentry.status = status;\n\t\t\tentry.expired = !!expired;\n\t\t} else {\n\t\t\tstate.emailStatusCache.push({ email, status, expired });\n\t\t}\n\t}\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","\nconst state = {\n\tsettings: []\n};\n\nconst getters = {\n\tget: (state) => ({ list, key, def }) => {\n\t\tlet row = state.settings.find(e => e.list === list && e.key === key);\n\t\treturn row ? row.value : def;\n\t},\n};\n\nconst mutations = {\n\tset(state, { list, key, value }) {\n\t\tlet row = state.settings.find(e => e.list === list && e.key === key);\n\t\tif (row) {\n\t\t\trow.value = value;\n\t\t} else {\n\t\t\tstate.settings.push({\n\t\t\t\tlist, key, value\n\t\t\t});\n\t\t}\n\t},\n\treset(state) {\n\t\tstate.settings = [];\n\t}\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tmutations,\n};\n","import EventHub from '@/util/eventbus.js';\n\nconst state = {\n\thooks: [{\n\t\ttrigger: 'afterAccountSwitch',\n\t\troute: { name: 'Home' },\n\t\tonetime: false,\n\t\tsurpressOnce: false\n\t}],\n\tknownTriggers: [\n\t\t'afterAccountSwitch',\n\t\t'afterRegistration',\n\t\t'afterProfileUpdate',\n\t\t'afterOfferTosAccept'\n\t]\n};\n\nconst getters = {\n\tget: (state) => ({ list, key, def }) => {\n\t\tlet row = state.settings.find(e => e.list === list && e.key === key);\n\t\treturn row ? row.value : def;\n\t},\n};\n\nconst actions = {\n\trunHook({ state, commit }, { trigger }) {\n\t\tif (!state.knownTriggers.includes(trigger)) throw new Error(`unknown trigger: ${trigger}`);\n\t\tlet hook = state.hooks.find(e => e.trigger === trigger);\n\t\tconsole.log('runHook', { trigger, hook: hook ? JSON.parse(JSON.stringify(hook)): 'none' });\n\t\tif (!hook) return false;\n\t\tif (hook.surpressOnce) {\n\t\t\tcommit('setHook', { trigger, surpressOnce: false });\n\t\t\treturn false;\n\t\t}\n\t\tif (hook.onetime) {\n\t\t\tcommit('removeHook', { trigger });\n\t\t}\n\t\tlet route = hook.route;\n\t\tEventHub.$emit('navigate', route);\n\t\treturn true;\n\t},\n\tsurpressAccountSwitchHook({ commit }) {\n\t\tcommit('setHook', { trigger: 'afterAccountSwitch', surpressOnce: true });\n\t}\n};\n\nconst mutations = {\n\tsetHook(state, params) {\n\t\tif (!state.knownTriggers.includes(params.trigger)) throw new Error(`unknown trigger: ${params.trigger}`);\n\t\tlet existing = state.hooks.find(h => h.trigger === params.trigger);\n\t\tif (!existing) {\n\t\t\tif (!params.route) throw new Error('cannot create route hook, no route given');\n\t\t\texisting = params;\n\t\t\tstate.hooks.push(existing);\n\t\t} else {\n\t\t\t['route', 'onetime', 'surpressOnce'].forEach(key => {\n\t\t\t\tif (typeof params[key] !== 'undefined') {\n\t\t\t\t\texisting[key] = params[key];\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tremoveHook(state, { trigger }) {\n\t\tif (!state.knownTriggers.includes(trigger)) throw new Error(`unknown trigger: ${trigger}`);\n\t\tstate.hooks = state.hooks.filter(e => e.trigger !== trigger);\n\t},\n\tremoveAllHooks(state) {\n\t\tstate.hooks = [];\n\t}\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations,\n};\n","import { search } from '@/repository/system.js';\nimport { createPatch } from 'rfc6902';\n\nconst state = {\n\n\tloaded: []\n\n};\n\nconst getters = {\n\n\tlabel: (state, getters, rootState) => (key) => {\n\t\tlet lang = rootState.base.uiLocale;\n\t\treturn getters.labelForLang(key, lang);\n\t},\n\n\tlabelForLang: (state) => (key, lang) => {\n\t\tlet pkg = state.loaded.find(e => e.data.language === lang);\n\t\tif (!pkg) return '';\n\t\tlet items = pkg.data.entries;\n\t\tlet item = items.find(e => e.key === key);\n\t\tif (!item) return '';\n\t\treturn item.label;\n\t},\n\n\thasChanged: (state) => ({ language, entries }) => {\n\t\tlet oldPkg = state.loaded.find(e => e.data.language === language);\n\t\tif (!oldPkg) return entries.length > 0;\n\t\tlet patch = createPatch(oldPkg.data, { language, entries });\n\t\treturn patch.length > 0;\n\t},\n\n\tlanguagesLoaded: (state) => {\n\t\treturn state.loaded.map(e => e.data.language);\n\t},\n\n\tknownKeys: (state) => {\n\t\treturn Array.from(new Set(state.loaded.map(e => {\n\t\t\treturn e.data.entries.map(ee => ee.key);\n\t\t}).flat()));\n\t}\n\n};\n\nconst actions = {\n\n\tasync loadLanguage({ commit, dispatch }, { language }) {\n\t\tif (state.loaded.find(e => e.data.language === language)) return;\n\t\tlet ec = await dispatch('admin/loadEntityclass', 'i18nlabels', { root: true });\n\t\tlet list = await search(ec, { field: '/data/language', comparison: 'eq', value: language }, { limit: 1 });\n\t\tcommit('addData', list);\n\t},\n\n\tasync loadAllLanguages({ commit, dispatch }) {\n\t\tlet ec = await dispatch('admin/loadEntityclass', 'i18nlabels', { root: true });\n\t\tlet list = await search(ec, null, { limit: 100 });\n\t\tcommit('addData', list);\n\t},\n\n\tasync save({ commit, state, dispatch }, { language, entries }) {\n\t\tlet oldPkg = state.loaded.find(e => e.data.language === language);\n\t\tlet res = await dispatch('admin/saveEntry', { entity: oldPkg, newData: { language, entries }, type: 'i18nlabels' }, { root: true });\n\t\tif (res) commit('addData', [res]);\n\t},\n\n\n\n};\n\nconst mutations = {\n\n\taddData(state, packages) {\n\t\tfor (let pkg of packages) {\n\t\t\tlet exists = state.loaded.findIndex(e => e.data.language === pkg.data.language);\n\t\t\tif (exists > -1) {\n\t\t\t\tstate.loaded.splice(exists, 1);\n\t\t\t}\n\t\t\tstate.loaded.push(pkg);\n\t\t}\n\t}\n\n};\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tgetters,\n\tactions,\n\tmutations\n};\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport { DOMAIN, ADMIN } from '../util/env';\nimport createPersistedState from 'vuex-persistedstate';\n\nimport base from './modules/base.js';\nimport admin from './modules/admin.js';\nimport upload from './modules/upload.js';\nimport notification from './modules/notification.js';\nimport auth from './modules/auth.js';\nimport country from './modules/country.js';\nimport offer from './modules/offer.js';\nimport related from './modules/related.js';\nimport location from './modules/location.js';\nimport page from './modules/page.js';\nimport region from './modules/region.js';\nimport request from './modules/request.js';\nimport bbay from './modules/bbay.js';\nimport mailer from './modules/mailer.js';\nimport list from './modules/list.js';\nimport redirect from './modules/redirect.js';\nimport i18n from './modules/i18n.js';\n\nVue.use(Vuex);\n\n/* saves state in localStorage. path does not yet exist */\nconst persistence = createPersistedState({\n\tkey: `${DOMAIN}_${ADMIN?'ADMIN':'USER'}_auth_locale`,\n\tstorage: window.localStorage,\n\t// WARNING: getter on rehydrated properties are WRONG (do not update) -> use $store.state.[...]\n\tpaths: ['auth.token', 'base.uiLocale', 'list'],\n\t// rehydrated(rehydratedState) {\n\t// }\n});\nconst logger = store => {\n\t// called when the store is initialized\n\tstore.subscribe((mutation) => {\n\t\tconsole.debug('mutation: ', mutation);\n\t});\n};\n\nconst plugins = process.env.NODE_ENV === 'development'\n\t? [ persistence, logger ]\n\t: [ persistence ];\n\nexport default new Vuex.Store({\n\tstrict: true,\n\tplugins,\n\tmodules: {\n\t\tbase,\n\t\tadmin,\n\t\tupload,\n\t\tnotification,\n\t\tauth,\n\t\tcountry,\n\t\toffer,\n\t\trelated,\n\t\tlocation,\n\t\tpage,\n\t\tregion,\n\t\trequest,\n\t\tmailer,\n\t\tredirect,\n\t\tlist,\n\t\ti18n,\n\t\tbbay\n\t}\n});\n","import Store from '@/store/main.js';\n\nStore.watch(\n\t() => Store.state.offer.search.filter.animalkind,\n\t() => {\n\t\tStore.dispatch('offer/search/setAnimalusageOptions');\n\t\tStore.dispatch('offer/search/setOffergroupOptions');\n\t\tStore.dispatch('offer/search/setAgeCategoryOptions');\n\t\tStore.dispatch('offer/search/setCategory1Options');\n\t\tStore.dispatch('offer/search/setCategory2Options');\n\t\tStore.dispatch('offer/search/setAsoOptions');\n\n\t\tStore.commit('request/main/setSelectedType', null);\n\t}\n);\n\nStore.watch(\n\t() => Store.state.offer.search.filter.offergroup,\n\t() => {\n\t\tStore.dispatch('offer/search/checkOfferSpecifications');\n\t}\n);\n\nStore.watch(\n\t() => Store.state.offer.search.spotMarketSwitch,\n\t() => {\n\t\tStore.dispatch('offer/search/init');\n\t}\n);\n","import Store from '@/store/main.js';\n\nStore.watch(\n\t() => Store.getters['auth/token/account'],\n\t() => {\n\t\tStore.commit('offer/search/resetAllFilters');\n\t\tStore.commit('request/main/reset');\n\t\tStore.commit('offer/search/resetMode');\n\t\tStore.commit('list/reset');\n\t\tStore.commit('request/view/setExportType', '');\n\t}\n);\n","import Store from '@/store/main.js';\nimport EventHub from '@/util/eventbus.js';\n\nEventHub.$on('page.change', ({ from, to }) => {\n\t// console.log('page.change', { from, to });\n\tif (from.name === to.name) return;\n\tStore.commit('related/clearEntities');\n\tStore.commit('related/clearAllIds');\n\tStore.dispatch('admin/clearCache');\n});\n","import Store from '@/store/main.js';\n\nStore.watch(\n\t() => Store.state.request.main.agrSelected,\n\t() => {\n\t\tStore.dispatch('request/main/loadAgrData');\n\t}\n);\n","import Store from '@/store/main.js';\n\nStore.watch(\n\t() => Store.state.base.uiLocale,\n\t() => {\n\t\tStore.dispatch('i18n/loadLanguage', { language: Store.state.base.uiLocale });\n\t}\n);\n\n","import store from './main.js';\nimport './hooks/offers.js';\nimport './hooks/auth.js';\nimport './hooks/events.js';\nimport './hooks/request.js';\nimport './hooks/language.js';\n\nexport default store;\n","/*\n * array utility functions\n */\n\n/* use as [].filter to create unique items */\nexport function onlyUnique(value, index, self) {\n\treturn self.indexOf(value) === index;\n}\n\nexport function alphanumericSort(a, b) {\n\tif (a.text < b.text) return -1;\n\tif (a.text > b.text) return 1;\n\treturn 0;\n}\n","import { saveAs } from 'file-saver';\nimport { i18n } from '@/plugins/i18n';\n\nexport function base64EncodeFile(file) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.readAsDataURL(file);\n\t\treader.onload = () => resolve(reader.result);\n\t\treader.onerror = error => reject(error);\n\t});\n}\n\nexport function base64DecodeFile(encodedFile, fileName) {\n\tlet dataUrlParts = encodedFile.split(',');\n\n\tlet mimeType;\n\tlet decoded;\n\n\tif (dataUrlParts.length > 1) {\n\t\tmimeType = dataUrlParts[0].match(/:(?:.*?);/u)[1];\n\t\tdecoded = atob(dataUrlParts[1]);\n\t} else {\n\t\tdecoded = atob(dataUrlParts[0]);\n\t}\n\n\tlet bits = new Uint8Array(decoded.length);\n\n\tfor (let i = 0; i < decoded.length; i++) {\n\t\tbits[i] = decoded.charCodeAt(i);\n\t}\n\n\tconst options = {};\n\tif (mimeType) {\n\t\toptions.type = mimeType;\n\t}\n\n\treturn new File([bits], fileName, options);\n}\n\nexport function dataUriToBlob(dataURI) {\n\t// convert base64 to raw binary data held in a string\n\t// doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\n\tlet mime = 'application/octet-stream';\n\tlet content;\n\tif (dataURI.substr(0, 5) === 'data:') {\n\t\tlet match = dataURI.match(/^data:(?[\\w/\\-.]+)(;(?\\w+))?,(?.*$)/s);\n\t\tif (!match) throw new Error(i18n.t('util.invalidDataUri'));\n\t\tcontent = match.groups.encoding === 'base64' ? atob(match.groups.data) : match.groups.data;\n\t\tmime = match.groups.mime;\n\t} else {\n\t\tcontent = dataURI;\n\t}\n\t// write the bytes of the string to an ArrayBuffer\n\tlet ab = new ArrayBuffer(content.length);\n\t// create a view into the buffer\n\tlet ia = new Uint8Array(ab);\n\t// set the bytes of the buffer to the correct values\n\tfor (let i = 0; i < content.length; i++) {\n\t\tia[i] = content.charCodeAt(i);\n\t}\n\t// write the ArrayBuffer to a blob, and you're done\n\tlet blob = new Blob([ab], { type: mime });\n\treturn blob;\n}\n\nexport function downloadUpload(blob, name) {\n\ttry {\n\t\tlet isFileSaverSupported = !!new Blob();\n\t} catch {\n\t\tconsole.log(i18n.t('util.noFileSaverSupport'));\n\t\treturn;\n\t}\n\tsaveAs(blob, name);\n}\n","/*\n * central place to import env vars and add default value to them\n */\nconst trueWords = [ 'yes', '1', 'ja', 'on' ];\n\nexport const BaseUrl = process.env.VUE_APP_BASE_URL || 'http://localhost/tdbdev/';\nexport const LogUrl = process.env.VUE_APP_LOG_URL || 'http://localhost/csp/';\nexport const AdminParty = trueWords.includes(process.env.VUE_APP_ADMIN_PARTY);\nexport const IsLive = BaseUrl.includes('api.fibl-services.org');\nexport const EtrackerCode = process.env.VUE_APP_ETRACKER_CODE || null;\nexport const CommitSha = process.env.VUE_APP_COMMIT_SHA || 'dev';\n\nlet tmp = BaseUrl.replace(/\\/$/, '');\nexport const DOMAIN = tmp.substr(tmp.lastIndexOf('/') + 1);\nexport const ADMIN = document.location.pathname.includes('/admin') || document.location.hostname.includes('admin');\n\nexport const KeycloakInfo = process.env.VUE_APP_KEYCLOAK_INFO\n\t? JSON.parse(process.env.VUE_APP_KEYCLOAK_INFO)\n\t: {\n\t\t'realm': 'zdb',\n\t\t'url': 'http://localhost/auth/',\n\t\t'clientId': 'zdb'\n\t};\n","/*\n * eventbus singleton to distribute events across the whole app\n */\nimport Vue from 'vue';\n\nconst bus = new Vue();\n\nexport default bus;\n","import { toLocale } from '@/plugins/filters.js';\nimport { i18n } from '@/plugins/i18n';\n\nexport const offerFieldComponent = {\n\t'select': {\n\t\ttype: 'multi-select-wrap',\n\t\toptions: {\n\t\t\t'group-values': 'group',\n\t\t\t'group-label': 'groupLabel',\n\t\t\t'track-by': 'id',\n\t\t\t'label': 'label',\n\t\t},\n\t},\n\t'multiselect': {\n\t\ttype: 'multi-select-wrap',\n\t\toptions: {\n\t\t\t'multiple': true,\n\t\t\t'group-values': 'group',\n\t\t\t'group-label': 'groupLabel',\n\t\t\t'track-by': 'id',\n\t\t\t'label': 'label',\n\t\t},\n\t},\n\t'singleline-textfield': { type: 'b-form-input' },\n\t'textfield': { type: 'b-form-textarea' },\n\t'multitext': { type: 'multi-text', options: { multiline: true }},\n\t'singleline-multitext': { type: 'multi-text' },\n\t'checkbox': { type: 'b-form-checkbox' },\n\t'datefield': { type: 'b-form-datepicker', options: i18n.t('datepicker') },\n\t'numberfield': { type: 'b-form-input', options: { type: 'number', min: 0 }},\n};\n\nexport const inputTypeMap = {\n\t'select': 'selectValue',\n\t'multiselect': 'multiselectValue',\n\t'multitext': 'multitextValue',\n\t'singleline-multitext': 'multitextValue',\n\t'singleline-textfield': 'stringValue',\n\t'textfield': 'stringValue',\n\t'checkbox': 'booleanValue',\n\t'datefield': 'dateValue',\n\t'numberfield': 'numberValue'\n};\n\nexport function getDynamicFieldOptions(field) {\n\tlet options = field.data.options;\n\tlet groups = field.data.groups;\n\toptions = options.filter(x => x.enabled);\n\tlet usedGroups = [];\n\tlet ungrouped;\n\toptions.forEach(opt => {\n\t\tif (opt.group && !usedGroups.includes(opt.group)) {\n\t\t\tusedGroups.push(opt.group);\n\t\t} else if (!opt.group) ungrouped = true;\n\t});\n\tlet ret = [];\n\tusedGroups.forEach(grp => {\n\t\tlet group = options.filter(opt => opt.group === grp);\n\t\tlet groupLabel = toLocale(groups?.filter(x => x.id === grp)[0].labels);\n\t\tgroup = group.map(g => ({ id: g.id, label: toLocale(g.labels) }));\n\t\tret.push({ groupLabel, group });\n\t});\n\tif (ungrouped) {\n\t\tlet group = options.filter(opt => !opt.group);\n\t\tgroup = group.map(g => ({ id: g.id, label: toLocale(g.labels) }));\n\t\tret.push({ groupLabel: '-', group });\n\t}\n\treturn ret;\n}\n","import { AdminParty } from './env.js';\n/*\n * extra cache for setting the current JWT\n * needed because the request.js cannot require the store\n * without creating a recursive dependency\n */\nlet currentToken = null;\n\nexport function getToken() {\n\tif (AdminParty || !currentToken) return null;\n\t// console.log('getToken', currentToken && currentToken.length > 0);\n\treturn currentToken();\n}\n\nexport function setToken(t) {\n\t// console.log('setToken', t);\n\tcurrentToken = t;\n}\n","import EventBus from '@/util/eventbus.js';\nimport { BaseUrl, IsLive, LogUrl } from './env.js';\nimport { getToken } from './jwt-cache.js';\nimport i18n from '@/plugins/i18n.js';\n\n/*\n * all requests to the server flow through here\n * this should only be called from a /repository/\n */\n\nlet backoffTimer = 0;\nconst backoffInterval = 500;\n\nasync function request(path, data, post, auth, surpressError, allowEmptyPayload, hideProgress, retries) {\n\tif (!data && !allowEmptyPayload) data = {};\n\tif (isNaN(retries)) retries = 0;\n\tlet url = BaseUrl + path;\n\tlet opts = {};\n\topts.mode = 'cors';\n\t// opts.cache = 'no-cache';\n\topts.headers = { 'Content-Type': 'application/json' };\n\topts.redirect = 'follow';\n\tif (auth) {\n\t\topts.headers.Authorization = `Bearer ${auth}`;\n\t}\n\tif (!post) {\n\t\topts.method = 'GET';\n\t\tif (typeof payload === 'undefined') {\n\t\t\turl += `?__payload=${JSON.stringify(data)}`;\n\t\t}\n\t} else {\n\t\topts.method = 'POST';\n\t\topts.body = JSON.stringify(data);\n\t}\n\tEventBus.$emit('request.start', { url, opts, hideProgress });\n\tconst res = await global.fetch(url, opts);\n\tif (res.status === 429) {\t//too many requests\n\t\tif (retries > 5) {\n\t\t\tconst error = new Error('failed after 5 retries');\n\t\t\terror.url = url;\n\t\t\tEventBus.$emit('error', error);\n\t\t\tEventBus.$emit('request.end', { url, opts, error });\n\t\t\tthrow error;\n\t\t}\n\t\treturn retry(path, data, post, auth, surpressError, allowEmptyPayload, true, retries+1);\n\t}\n\ttry {\n\t\tif (res.status > 299) throw new Error(`http status ${res.status}`);\n\t\tlet ct = res.headers.get('Content-Type');\n\t\tif (!ct.includes('application/json')) throw new Error(`invalid content-type was returned: ${ct}`);\n\t\tconst json = await res.json();\n\t\tif (!json.ok) {\n\t\t\tlet error = new Error();\n\t\t\terror.message = json.message ? json.message : 'unknown error';\n\t\t\tif (error.message.includes('Invalid authentication header')) {\n\t\t\t\terror.message = i18n.t('default.common.error.invalidAuth');\n\t\t\t}\n\t\t\tif (!json.message) console.error('unknown error', json);\n\t\t\tif (json.details) error.message += `\\n - ${json.details}`;\n\t\t\tif (json.previous) error.previous = json.previous;\n\t\t\tif (json.stack) error.servicestack = json.stack;\n\t\t\terror.code = json.code;\n\t\t\terror.reqId = json.id;\n\t\t\terror.url = url;\n\t\t\tthrow error;\n\t\t}\n\t\tEventBus.$emit('request.end', { url, opts, json });\n\t\tif (backoffTimer > 0) backoffTimer -= backoffInterval;\n\t\treturn json.data;\n\t} catch (error) {\n\t\tif (!surpressError && !IsLive) {\n\t\t\tif (!error.url) error.url = url;\n\t\t\tEventBus.$emit('error', error);\n\t\t}\n\t\tEventBus.$emit('request.end', { url, opts, error });\n\t\tthrow error;\n\t}\n}\n\nasync function retry(path, data, post, auth, surpressError, allowEmptyPayload, hideProgress, retries) {\n\tbackoffTimer += backoffInterval;\n\tawait sleep(backoffTimer);\n\treturn request(path, data, post, auth, surpressError, allowEmptyPayload, hideProgress, retries);\n}\n\nfunction sleep(ms) {\n\treturn new Promise(function(resolve) {\n\t\tsetTimeout(resolve, ms);\n\t});\n}\n\nexport async function get(path, data, auth, supe) {\n\tif (!auth) auth = await getToken();\n\treturn request(path, data, false, auth, supe);\n}\n\nexport async function post(path, data, auth, supe, emptyPayload, hideProgress) {\n\tif (!auth) auth = await getToken();\n\treturn request(path, data, true, auth, supe, emptyPayload, hideProgress);\n}\n\nexport function log(data) {\n\tglobal.fetch(LogUrl, {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-type': 'application/json'\n\t\t},\n\t\tbody: JSON.stringify(data)\n\t});\n}\n","var map = {\n\t\"./af\": 2496,\n\t\"./af.js\": 2496,\n\t\"./ar\": 186,\n\t\"./ar-dz\": 6881,\n\t\"./ar-dz.js\": 6881,\n\t\"./ar-kw\": 6265,\n\t\"./ar-kw.js\": 6265,\n\t\"./ar-ly\": 451,\n\t\"./ar-ly.js\": 451,\n\t\"./ar-ma\": 8625,\n\t\"./ar-ma.js\": 8625,\n\t\"./ar-sa\": 8819,\n\t\"./ar-sa.js\": 8819,\n\t\"./ar-tn\": 7092,\n\t\"./ar-tn.js\": 7092,\n\t\"./ar.js\": 186,\n\t\"./az\": 4421,\n\t\"./az.js\": 4421,\n\t\"./be\": 7067,\n\t\"./be.js\": 7067,\n\t\"./bg\": 3871,\n\t\"./bg.js\": 3871,\n\t\"./bm\": 4242,\n\t\"./bm.js\": 4242,\n\t\"./bn\": 8189,\n\t\"./bn-bd\": 2507,\n\t\"./bn-bd.js\": 2507,\n\t\"./bn.js\": 8189,\n\t\"./bo\": 5799,\n\t\"./bo.js\": 5799,\n\t\"./br\": 7803,\n\t\"./br.js\": 7803,\n\t\"./bs\": 8434,\n\t\"./bs.js\": 8434,\n\t\"./ca\": 4581,\n\t\"./ca.js\": 4581,\n\t\"./cs\": 8004,\n\t\"./cs.js\": 8004,\n\t\"./cv\": 4464,\n\t\"./cv.js\": 4464,\n\t\"./cy\": 163,\n\t\"./cy.js\": 163,\n\t\"./da\": 803,\n\t\"./da.js\": 803,\n\t\"./de\": 233,\n\t\"./de-at\": 7607,\n\t\"./de-at.js\": 7607,\n\t\"./de-ch\": 6777,\n\t\"./de-ch.js\": 6777,\n\t\"./de.js\": 233,\n\t\"./dv\": 6969,\n\t\"./dv.js\": 6969,\n\t\"./el\": 9618,\n\t\"./el.js\": 9618,\n\t\"./en-au\": 9245,\n\t\"./en-au.js\": 9245,\n\t\"./en-ca\": 5036,\n\t\"./en-ca.js\": 5036,\n\t\"./en-gb\": 1438,\n\t\"./en-gb.js\": 1438,\n\t\"./en-ie\": 6053,\n\t\"./en-ie.js\": 6053,\n\t\"./en-il\": 134,\n\t\"./en-il.js\": 134,\n\t\"./en-in\": 847,\n\t\"./en-in.js\": 847,\n\t\"./en-nz\": 1363,\n\t\"./en-nz.js\": 1363,\n\t\"./en-sg\": 9022,\n\t\"./en-sg.js\": 9022,\n\t\"./eo\": 8990,\n\t\"./eo.js\": 8990,\n\t\"./es\": 9817,\n\t\"./es-do\": 8155,\n\t\"./es-do.js\": 8155,\n\t\"./es-mx\": 952,\n\t\"./es-mx.js\": 952,\n\t\"./es-us\": 9358,\n\t\"./es-us.js\": 9358,\n\t\"./es.js\": 9817,\n\t\"./et\": 5396,\n\t\"./et.js\": 5396,\n\t\"./eu\": 4338,\n\t\"./eu.js\": 4338,\n\t\"./fa\": 7030,\n\t\"./fa.js\": 7030,\n\t\"./fi\": 2292,\n\t\"./fi.js\": 2292,\n\t\"./fil\": 3578,\n\t\"./fil.js\": 3578,\n\t\"./fo\": 8900,\n\t\"./fo.js\": 8900,\n\t\"./fr\": 6067,\n\t\"./fr-ca\": 8362,\n\t\"./fr-ca.js\": 8362,\n\t\"./fr-ch\": 9404,\n\t\"./fr-ch.js\": 9404,\n\t\"./fr.js\": 6067,\n\t\"./fy\": 6742,\n\t\"./fy.js\": 6742,\n\t\"./ga\": 8152,\n\t\"./ga.js\": 8152,\n\t\"./gd\": 6920,\n\t\"./gd.js\": 6920,\n\t\"./gl\": 7234,\n\t\"./gl.js\": 7234,\n\t\"./gom-deva\": 2759,\n\t\"./gom-deva.js\": 2759,\n\t\"./gom-latn\": 7054,\n\t\"./gom-latn.js\": 7054,\n\t\"./gu\": 8166,\n\t\"./gu.js\": 8166,\n\t\"./he\": 8927,\n\t\"./he.js\": 8927,\n\t\"./hi\": 2153,\n\t\"./hi.js\": 2153,\n\t\"./hr\": 9329,\n\t\"./hr.js\": 9329,\n\t\"./hu\": 2782,\n\t\"./hu.js\": 2782,\n\t\"./hy-am\": 5023,\n\t\"./hy-am.js\": 5023,\n\t\"./id\": 6655,\n\t\"./id.js\": 6655,\n\t\"./is\": 0,\n\t\"./is.js\": 0,\n\t\"./it\": 5107,\n\t\"./it-ch\": 3045,\n\t\"./it-ch.js\": 3045,\n\t\"./it.js\": 5107,\n\t\"./ja\": 9175,\n\t\"./ja.js\": 9175,\n\t\"./jv\": 4853,\n\t\"./jv.js\": 4853,\n\t\"./ka\": 8684,\n\t\"./ka.js\": 8684,\n\t\"./kk\": 312,\n\t\"./kk.js\": 312,\n\t\"./km\": 1271,\n\t\"./km.js\": 1271,\n\t\"./kn\": 7256,\n\t\"./kn.js\": 7256,\n\t\"./ko\": 4833,\n\t\"./ko.js\": 4833,\n\t\"./ku\": 5258,\n\t\"./ku.js\": 5258,\n\t\"./ky\": 3430,\n\t\"./ky.js\": 3430,\n\t\"./lb\": 7665,\n\t\"./lb.js\": 7665,\n\t\"./lo\": 2238,\n\t\"./lo.js\": 2238,\n\t\"./lt\": 920,\n\t\"./lt.js\": 920,\n\t\"./lv\": 8769,\n\t\"./lv.js\": 8769,\n\t\"./me\": 818,\n\t\"./me.js\": 818,\n\t\"./mi\": 5722,\n\t\"./mi.js\": 5722,\n\t\"./mk\": 7117,\n\t\"./mk.js\": 7117,\n\t\"./ml\": 9904,\n\t\"./ml.js\": 9904,\n\t\"./mn\": 8590,\n\t\"./mn.js\": 8590,\n\t\"./mr\": 9544,\n\t\"./mr.js\": 9544,\n\t\"./ms\": 176,\n\t\"./ms-my\": 8850,\n\t\"./ms-my.js\": 8850,\n\t\"./ms.js\": 176,\n\t\"./mt\": 291,\n\t\"./mt.js\": 291,\n\t\"./my\": 4830,\n\t\"./my.js\": 4830,\n\t\"./nb\": 4893,\n\t\"./nb.js\": 4893,\n\t\"./ne\": 8782,\n\t\"./ne.js\": 8782,\n\t\"./nl\": 8337,\n\t\"./nl-be\": 2297,\n\t\"./nl-be.js\": 2297,\n\t\"./nl.js\": 8337,\n\t\"./nn\": 8272,\n\t\"./nn.js\": 8272,\n\t\"./oc-lnc\": 277,\n\t\"./oc-lnc.js\": 277,\n\t\"./pa-in\": 6198,\n\t\"./pa-in.js\": 6198,\n\t\"./pl\": 5231,\n\t\"./pl.js\": 5231,\n\t\"./pt\": 3141,\n\t\"./pt-br\": 9626,\n\t\"./pt-br.js\": 9626,\n\t\"./pt.js\": 3141,\n\t\"./ro\": 2797,\n\t\"./ro.js\": 2797,\n\t\"./ru\": 48,\n\t\"./ru.js\": 48,\n\t\"./sd\": 23,\n\t\"./sd.js\": 23,\n\t\"./se\": 7339,\n\t\"./se.js\": 7339,\n\t\"./si\": 2851,\n\t\"./si.js\": 2851,\n\t\"./sk\": 9764,\n\t\"./sk.js\": 9764,\n\t\"./sl\": 646,\n\t\"./sl.js\": 646,\n\t\"./sq\": 1751,\n\t\"./sq.js\": 1751,\n\t\"./sr\": 9016,\n\t\"./sr-cyrl\": 1368,\n\t\"./sr-cyrl.js\": 1368,\n\t\"./sr.js\": 9016,\n\t\"./ss\": 1943,\n\t\"./ss.js\": 1943,\n\t\"./sv\": 5095,\n\t\"./sv.js\": 5095,\n\t\"./sw\": 6014,\n\t\"./sw.js\": 6014,\n\t\"./ta\": 1571,\n\t\"./ta.js\": 1571,\n\t\"./te\": 4819,\n\t\"./te.js\": 4819,\n\t\"./tet\": 8646,\n\t\"./tet.js\": 8646,\n\t\"./tg\": 8641,\n\t\"./tg.js\": 8641,\n\t\"./th\": 5714,\n\t\"./th.js\": 5714,\n\t\"./tk\": 7082,\n\t\"./tk.js\": 7082,\n\t\"./tl-ph\": 9830,\n\t\"./tl-ph.js\": 9830,\n\t\"./tlh\": 8757,\n\t\"./tlh.js\": 8757,\n\t\"./tr\": 3571,\n\t\"./tr.js\": 3571,\n\t\"./tzl\": 6785,\n\t\"./tzl.js\": 6785,\n\t\"./tzm\": 4924,\n\t\"./tzm-latn\": 9126,\n\t\"./tzm-latn.js\": 9126,\n\t\"./tzm.js\": 4924,\n\t\"./ug-cn\": 2134,\n\t\"./ug-cn.js\": 2134,\n\t\"./uk\": 3350,\n\t\"./uk.js\": 3350,\n\t\"./ur\": 3397,\n\t\"./ur.js\": 3397,\n\t\"./uz\": 8556,\n\t\"./uz-latn\": 3562,\n\t\"./uz-latn.js\": 3562,\n\t\"./uz.js\": 8556,\n\t\"./vi\": 7751,\n\t\"./vi.js\": 7751,\n\t\"./x-pseudo\": 1505,\n\t\"./x-pseudo.js\": 1505,\n\t\"./yo\": 5943,\n\t\"./yo.js\": 5943,\n\t\"./zh-cn\": 4186,\n\t\"./zh-cn.js\": 4186,\n\t\"./zh-hk\": 2243,\n\t\"./zh-hk.js\": 2243,\n\t\"./zh-mo\": 5437,\n\t\"./zh-mo.js\": 5437,\n\t\"./zh-tw\": 3843,\n\t\"./zh-tw.js\": 3843\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 = 6700;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"328\":\"admin\",\"378\":\"user\"}[chunkId] || chunkId) + \".\" + {\"328\":\"1fbb9f1c\",\"378\":\"e4a01ffb\",\"423\":\"5f00c26f\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + {\"328\":\"admin\",\"378\":\"user\"}[chunkId] + \".\" + {\"328\":\"9a916012\",\"378\":\"ee86d829\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"tdb2:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"328\":1,\"378\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunktdb2\"] = self[\"webpackChunktdb2\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2544); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","domProps","_s","content","staticRenderFns","name","components","filters","props","usage","type","String","required","computed","language","$store","state","base","uiLocale","languageFallback","fallbackLocale","p","getters","page","data","ret","find","e","lang","console","log","$t","watch","mounted","loadContent","methods","dispatch","component","Vue","use","BootstrapVue","IconsPlugin","Vuelidate","library","add","faGlobe","faTrash","FontAwesomeIcon","LMap","LTileLayer","LMarker","LCircleMarker","LPopup","LTooltip","LIcon","Icon","Default","prototype","_getIconUrl","mergeOptions","iconRetinaUrl","require","iconUrl","shadowUrl","attrs","isMaintenance","isCountrySelected","staticClass","_v","_f","countryLabels","role","_l","animalmenusTopLevel","top","componentType","key","id","params","animalkind","topMenuLabel","_e","class","animalkindLabelWhenSubmenu","$route","toMenuIds","submenuItems","entry","labels","subMenus","animalkindOptions","animalkinds","animals","JSON","parse","stringify","sort","a","b","localeA","toLocale","toLowerCase","localeB","animalmenus","filter","includes","sorting","created","buildNav","toLocaleFn","forEach","concat","onlyUnique","menu","label","animalLabel","ids","map","submenu","el","ak","adminParty","groups","group","links","link","route","path","tl","isLoggedIn","accountName","userDeactivated","accountDetails","showProfile","on","gotoSsoCredentialsPage","logout","switchableAccounts","length","acc","$event","switchAccount","toAccountName","staticData","gotoLogin","hasAccount","account","unregister","userData","insData","deactivatedOn","document","location","href","registrationOptionName","ins","address","Login","AdminParty","MenuConfig","groupKey","country","excludeRoles","countryHas","rule","accountNeedsOfferAutApproval","roles","localeCompare","languages","i","selectLang","commit","MainMenu","LangSelect","NavAnimalkind","opacity","staticStyle","loading","reductionPerTick","onStart","EventBus","$on","onEnd","tick","beforeDestroy","$off","Math","min","window","requestAnimationFrame","notificationsToShow","showStoreEvent","addNotification","title","body","variant","tmp","isStatus","$bvToast","toast","toaster","autoHideDelay","PageContent","MainNav","LoadingIndicator","Notifications","MainFooter","countries","select","nv","getBestUrl","list","domains","current","hostname","filtered","protocol","hash","url","LayoutDefaut","LayoutCountrySelect","LayoutMaintenance","maintenanceMode","checkDownload","checkLogin","query","logmein","$router","resolve","history","pushState","confirm","substring","idAndName","newRoute","replace","re","test","dlConfirm","message","options","okVariant","okTitle","cancelTitle","$bvModal","msgBoxConfirm","attachment","blob","base64DecodeFile","downloadUpload","VueRouter","waitForUserLoaded","Promise","res","Store","async","createRouter","prefix","admin","routes","adminRoutes","default","all","then","flatMap","router","mode","beforeEach","to","from","next","meta","EventHub","$emit","afterEach","_etracker","EtrackerCode","et_eC_Wrapper","et_et","checkForMaintenance","store","getExtraLogData","ua","navigator","userAgent","plat","platform","loc","sx","screen","width","sy","height","app","build","CommitSha","logError","initialize","onerror","source","lineno","colno","error","maintenance","time","Date","now","config","errorHandler","warnHandler","addEventListener","event","reason","catch","err","i18n","locale","LocalStorage","t","push","h","App","$mount","productionTip","toTimeFormat","date","format","userTimeFormat","moment","toDateFormat","toDateTimeFormat","obj","toDayMonth","toCalendarWeek","isoWeek","toCalendarWeekFromTo","d","startOf","endOf","toAccountAddress","contact","supData","sd","c","currentCountry","result","locationsOfSale","los","controlNumber","toLosName","idToAccountName","found","counrty","idToLosName","toLocaleNoFallbackIfExists","r","toLocaleNoFallback","toLocaleIfExists","booleanDisplay","Array","isArray","best","getLocaleEntry","toCheck","Common","Languages","getLanguagePriority","val","arr","value","idToLabel","formatHid","hid","substr","parseHid","string","parseInt","join","formatter","Intl","NumberFormat","style","minimumFractionDigits","de_DE","da_DK","en_GB","fr_FR","sv_SE","de_LU","lt_LT","en_IE","en_XI","nl_NL","VueI18n","fallbackTree","List","shift","messages","update","paths","rules","post","_get","run","ruleset","facts","getConfig","payload","get","createJob","searchFilter","runParams","customColumnHeaders","getJob","pollUntilJobComplete","jobId","wait","max","success","waitUntilTrue","status","Error","ms","rej","reject","setTimeout","fn","retry","start","storage","localStorage","getLastImportJob","getItem","DOMAIN","setLastImportId","setItem","saveRequestFormDraft","processId","dataKey","expiresKey","removeItem","getRequestFormDraft","str","warn","cleanRequestFormDrafts","checkKey","startsWith","expires","split","setLastUsedAccountId","getLastUsedAccountId","getEmailVerificationStatus","email","requestVerification","completeVerification","ssoVerification","templateList","templateSet","template","cache","LRU","maxAge","cachedSearch","ec","has","search","limit","set","runAggregateQuery","aggregate","entityClass","attributeFilter","asCache","Map","ecListPromise","getEntityclassList","getEntityclassByExternalId","extId","externalId","getAttributesetByExternalId","genericEntityUpdate","oldEntity","newData","changeset","surpressError","patch","createPatch","rev","attributeset","genericEntityCreate","entityclass","pagination","_search","searchWindow","endpoint","temp","searchRequest","countEntries","exists","entitycache","getEntityByIdRev","getEntityByIdDate","getEntityById","getEntitiesById","getDomain","getEntityTimeline","setSettings","getSettings","refreshAso","notifyMissingOffergroup","contactPageRequest","phone","subject","registerAgr","requestInit","requestFill","requestRemove","retractProcess","loadFieldForPackage","pkg","getSteps","step","getFields","index","self","indexOf","f","Request","RequestFormField","fromStorage","setFieldsLoaded","loadPackage","entity","RequestPackage","loadProcess","process","RequestProcess","package","setPackage","updateGeoPosition","setUserAgreement","setRequestStatus","editorName","inProgress","statusLabel","userRoles","Users","Roles","userDateFormat","CmsUsage","actions","mutations","setUiLocale","querySelector","setAttribute","setIsMaintenance","namespaced","createAccount","registrationName","requiresConfirmation","updateAccount","active","maxUsers","unregisterAccount","ssoUser","getToken","createAccountInvite","inviteId","entityclasses","attributesets","settings","listcache","timelineCache","agrControlNumberFreeCache","loadList","loadEntityclass","_","loadEntity","prom","clearCache","reset","loadEntities","throwIfNotAllFound","notCached","cached","slice","baseProm","eProm","saveEntry","as","updated","loadOffergroups","count","loadUsers","persist","getRulesetForKey","rulesets","rs","loadEntityTimeline","checkAgrControlNumberIsFree","$and","field","comparison","setAttributeset","offerEntityclass","offerAttributeset","createAttachment","setAttachment","getAttachment","deleteEntity","offers","errors","offer","offerId","deleteLogo","_searchOffersWithUpload","_removeAttachmentFromOffer","setEntityclass","setOfferEntityclass","setOfferAttributeset","LIMIT","notifications","getNotShown","notification","len","shiftToShow","listAccountsForUser","auth","registerWithDomainByInvite","token","getAccountDetails","loginToDomain","useAccount","keycloak","Keycloak","KeycloakInfo","initPromise","isInit","main","ssoToken","ssoRefreshToken","ssoParsed","ts","currentToken","hasAccountSelected","getValidTokenForAccount","accountId","hasSsoLogin","exp","ssoProfileLink","createAccountUrl","ssoUserId","sub","initApp","opts","silentCheckSsoFallback","checkLoginIframe","idToken","refreshToken","init","setToken","updateToken","authenticate","rootState","rootGetters","idpHint","URL","searchParams","ssoIdpHint","redirectUri","createLoginUrl","jwt","root","register","createRegisterUrl","switchAccountAndLogin","trigger","existing","getSsoCredentialsLink","ssoIsValid","floor","getSsoToken","valid","getOrCreateZdbToken","lastAccount","debug","login","aud","jwtDecode","expDate","setSsoToken","tokenParsed","createInvite","details","loaded","availableAccounts","isAdmin","offerAutApproval","autApprovalForCountry","roleSupportsProfile","func","roleSupportsProfileSupData","isLoaded","hasRole","baseRole","isActiveSup","isDeactivatedAgr","hasAcceptedTos","isActiveAgr","hasActiveAso","asoData","supHasAllGeoPos","pos","geoPosition","lat","lon","supHasAllMailOrPhone","atLeastOneLos","supIsReadyToSell","supExtra","tosAcceptedOn","activeInsOptions","activeAsoOptions","loadAccountData","loadAvailableAccounts","entities","switchToFirstAvailableAccount","sendEvent","et_UserDefinedEvent","unregisterFromAccount","updateUserData","accountData","updateUserGeoPos","userId","countryId","locationOfSale","TdbRepo","registerWithInvite","setDetails","setAsoData","setAvailableAccounts","modules","user","countrySelection","urlPrefix","findCountryByUrl","host","pathname","domain","countriesForSelection","usesRequestSystem","usesSso","registrationProcedure","countriesForOptions","byId","loadCurrentCountry","$or","loadCountrySelection","loadAll","setCountry","setCountries","setAll","addAll","activtyConfirmedFor","countryFilter","enabledForWebsite","supDataCountries","sup","loadOffers","saveOffer","updateActivity","autApproval","indexData","ageCategory","category1","toJSON","activityConfirmedOn","activityWarningsMailsSent","updateAnimalkindsSold","animalkindsSold","setActivityConfirmedFor","modus","spotMarketSwitch","requestMode","filterExport","offergroupOptions","animalusageOptions","animalusagePool","ageCategoryOptions","category1Options","category2Options","asoOptions","requestOptionsFilter","dynamicFields","defaultLocationGeoRadius","geoRadiusByRegion","animalusage","locationGeoRadius","offergroup","offerspec","gender","amount","amountComparison","aso","statusWeekly","showUnavailable","category2","historyTill","dynamic","filterVisible","filterMandatory","offerListGrouped","offerGroupsOpen","calendarSettings","amountComparisonOptions","labelLong","displayHints","allowTransnationalSearch","offergroupSpecOptions","offerSpecifications","activeInCountries","offerGroupKeys","Set","Object","keys","values","isOfferGroupOpen","groupId","offersFromOpenGroups","entries","flat","usesPoultrySystem","animalkindsUsingPoultrySystem","startOfIsoWeek","dynamicFieldValue","fieldId","isFilterVisible","isFilterMandatory","getCalendarMin","cat2","check","cat1","num","isNaN","getCalendarMax","allMandatoryFiltersSet","geoRadius","region","requestGeoRadius","$not","distance","$nested","match","wk","weeksBefore","getTime","setDate","getDate","weeksAfter","inputType","inputTypeMap","parsed","fieldComparison","element","loadOfferSummary","filterAutApproval","grouped","aggregations","buckets","doc_count","sups","owners","scrollTo","after","setOffergroupOptions","currentFilter","checkOfferSpecifications","getAnimalkindOptions","enabledAnimals","getAnimalmenus","setAnimalusageOptions","o","setAgeCategoryOptions","setCategory2Options","setCategory1Options","setAsoOptions","setDynamicFields","runFilterRules","env","input","requestType","request","selectedType","visible","mandatory","calendar","searchfilter","displayHint","showhistory","switchOfferToHistory","historyDate","historic","currentModus","newModus","setOptions","setState","setFilter","opt","till","resetFilter","findIndex","splice","setLocation","setGroupedResult","addLoadedOffers","setOfferHistoric","setAnimalkind","setDynamicFieldValue","setModus","setSpotMarketSwitch","sw","setRequestModus","m","resetAllFilters","resetMode","setFilterVisible","setFilterMandatory","setCalendarSettings","setDisplayHints","hints","setDefaultLocationGeoRadius","radius","setGeoRadiusByRegion","regions","setRequestOptionsFilter","setFilterExport","ex","setGeneralFilterOptions","transnational","enabled","setOfferGroupOpen","open","idx","resetOfferGroupsOpen","management","idsWanted","idsUnavailable","addRequiredEntity","debouncedLoad","debounce","unavailable","addId","addEntities","clearIds","clearAllIds","clearEntities","addUnavailable","getCityList","countrycode","citycode","cityname","usefuzzy","getLocationCity","code","GeoRepo","pages","ecId","loadPage","loadUsage","addPage","setEcId","forCurrentCountry","forCountry","loadForCurrentCountry","setRegions","byIdRev","latestRevs","getFromStep","fields","addToList","packages","processes","selectedFilters","allAvailableOffers","pkgForClassifications","asoSelected","insSelected","agrSelected","losSelected","noGeoPos","agrData","getPackageForClassification","classificationId","withOffers","canCreateRequest","availableRequestTypes","types","getAsoId","RequestConstants","TYPE_ASO","getInsId","TYPE_INS","TYPE_RESTRICTEDVET","animalkindsUsingLowhatchRequests","eggBreeder","TYPE_LOWHATCH","canRequest","getAgrId","getRegion","showHint","loadPackages","packageEc","loadAgrData","initRequest","pkg2","agr","agrSite","initFollowupRequest","followupRequest","getId","getMembersWithRole","followupFor","agrAddress","siteId","getFollowupProcesses","processEc","loadProcesses","getRev","fillProcessForm","fieldData","attachments","owner","requestProcess","runClassifications","genderMap","userHasActiveAso","userHasActiveIns","animalgender","requestWithOffers","userIns","aut","userAut","userAso","getAutForAgr","allLos","s","setPackages","setSelectedAso","setSelectedIns","setSelectedAgr","setSelectedLos","site","setSelectedType","setNoGeoPos","setRequestPackageForClassifications","setAgrData","setShowHints","viewcache","requestStatusLabels","exportRunning","exportType","availableStatusLabels","g","rg","k","v","text","folders","requestFolders","setViewCache","getViewCache","updateExportType","export","runExport","ExportRepo","alias","jobParams","fallbackLanguage","cols","col","def","job","DlHelper","fileName","exportFileType","saveInProcess","setRunning","running","setExportType","formfield","view","getCachedOptionKey","loadEcForPath","promises","reduce","calculatePathOptions","pathOptionsEc","ecKey","buildKeys","cartesianProduct","elem","nameAfter","variables","filterable","assign","regex","RegExp","json","var","arr1","j","enum","buildEnumKey","buildListKey","numRange","buildRangeKey","en","defineProperty","enumerable","internalName","addToFilter","availableInCountries","defineProperties","minimum","maximum","vals","initialized","currentId","pathOptions","changed","sortRules","attribute","direction","agecategory","cachedDecision","output","filteredPathOptions","ctx","negated","getAll","formfields","rest","setCurrentId","evaluate","inputKey","setRulesets","setRuleset","setRule","ruleIndex","deleteRule","setOpenRuleset","addToResultCache","setSortRules","smaller","bigger","el1","el2","name1","toUpperCase","name2","isSame","isBefore","emailStatusCache","getCachedVerficationStatus","getSsoVerifiedEmail","expired","MailerRepo","accepted","verifyViaSsoEmail","checkForUnverifiedMails","emails","setVerificationStatus","row","hooks","onetime","surpressOnce","knownTriggers","runHook","hook","surpressAccountSwitchHook","setHook","removeHook","removeAllHooks","labelForLang","items","item","hasChanged","oldPkg","languagesLoaded","knownKeys","ee","loadLanguage","loadAllLanguages","save","addData","Vuex","persistence","createPersistedState","ADMIN","plugins","strict","upload","related","mailer","redirect","bbay","base64EncodeFile","file","reader","FileReader","readAsDataURL","onload","encodedFile","mimeType","decoded","dataUrlParts","atob","bits","Uint8Array","charCodeAt","File","dataUriToBlob","dataURI","mime","encoding","ab","ArrayBuffer","ia","Blob","saveAs","trueWords","BaseUrl","LogUrl","VUE_APP_ADMIN_PARTY","IsLive","VUE_APP_COMMIT_SHA","lastIndexOf","bus","offerFieldComponent","multiline","getDynamicFieldOptions","x","ungrouped","usedGroups","grp","groupLabel","backoffTimer","backoffInterval","allowEmptyPayload","hideProgress","retries","headers","Authorization","method","global","fetch","ct","ok","previous","stack","servicestack","reqId","sleep","supe","emptyPayload","webpackContext","req","webpackContextResolve","__webpack_require__","module","exports","__webpack_module_cache__","moduleId","cachedModule","undefined","__webpack_modules__","call","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","n","getter","__esModule","definition","chunkId","u","miniCssF","globalThis","Function","prop","hasOwnProperty","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","src","onScriptComplete","prev","clearTimeout","doneFns","parentNode","removeChild","bind","target","head","appendChild","Symbol","toStringTag","nmd","children","createStylesheet","fullhref","oldTag","linkTag","rel","onLinkComplete","errorType","realHref","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}