@piveau/piveau-hub-ui-modules 4.5.9 → 4.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/configurations/configureModules.mjs +5 -7
  2. package/dist/configurations/configureModules.mjs.map +1 -1
  3. package/dist/data-provider-interface/DPIMenu.vue.d.ts +2 -2
  4. package/dist/datasetDetails/DatasetDetailsDescription.vue.d.ts +1 -1
  5. package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +2 -2
  6. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +2 -2
  7. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +2 -2
  8. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +1 -1
  9. package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.d.ts +1 -1
  10. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +1 -1
  11. package/dist/datasets/Datasets.vue.mjs +87 -87
  12. package/dist/datasets/Datasets.vue.mjs.map +1 -1
  13. package/dist/piveau-hub-ui-modules.css +1 -1
  14. package/package.json +1 -1
  15. package/dist/facets_2.0/Facets.vue.d.ts +0 -19
  16. package/dist/facets_2.0/Facets.vue.mjs +0 -31
  17. package/dist/facets_2.0/Facets.vue.mjs.map +0 -1
  18. package/dist/facets_2.0/Facets.vue2.mjs +0 -5
  19. package/dist/facets_2.0/Facets.vue2.mjs.map +0 -1
  20. package/dist/facets_2.0/facets/DataServicesFacet.vue.d.ts +0 -75
  21. package/dist/facets_2.0/facets/DataServicesFacet.vue.mjs +0 -49
  22. package/dist/facets_2.0/facets/DataServicesFacet.vue.mjs.map +0 -1
  23. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue.d.ts +0 -93
  24. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue.mjs +0 -143
  25. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue.mjs.map +0 -1
  26. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue2.mjs +0 -5
  27. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue2.mjs.map +0 -1
  28. package/dist/facets_2.0/facets/FacetTitle.vue.d.ts +0 -18
  29. package/dist/facets_2.0/facets/FacetTitle.vue.mjs +0 -38
  30. package/dist/facets_2.0/facets/FacetTitle.vue.mjs.map +0 -1
  31. package/dist/facets_2.0/facets/FacetTitle.vue2.mjs +0 -5
  32. package/dist/facets_2.0/facets/FacetTitle.vue2.mjs.map +0 -1
  33. package/dist/facets_2.0/facets/RadioFacet.vue.d.ts +0 -58
  34. package/dist/facets_2.0/facets/RadioFacet.vue.mjs +0 -92
  35. package/dist/facets_2.0/facets/RadioFacet.vue.mjs.map +0 -1
  36. package/dist/facets_2.0/facets/SelectFacetsItem.vue.d.ts +0 -34
  37. package/dist/facets_2.0/facets/SelectFacetsItem.vue.mjs +0 -45
  38. package/dist/facets_2.0/facets/SelectFacetsItem.vue.mjs.map +0 -1
  39. package/dist/facets_2.0/getFacet.mjs +0 -20
  40. package/dist/facets_2.0/getFacet.mjs.map +0 -1
  41. package/dist/facets_2.0/toggleQueryParam.mjs +0 -11
  42. package/dist/facets_2.0/toggleQueryParam.mjs.map +0 -1
  43. package/dist/facets_2.0/useFacets.mjs +0 -14
  44. package/dist/facets_2.0/useFacets.mjs.map +0 -1
@@ -1,11 +1,9 @@
1
- import { configureServices as t } from "./configureServices.mjs";
2
- import { configureComponents as m } from "./configureComponents.mjs";
3
- const u = {};
4
- function v(r, s, e) {
5
- s.$app = r, e && (t(s, e == null ? void 0 : e.serviceParams), m(r, e == null ? void 0 : e.components)), u.customFacets = e == null ? void 0 : e.customFacets;
1
+ import { configureServices as s } from "./configureServices.mjs";
2
+ import { configureComponents as t } from "./configureComponents.mjs";
3
+ function a(r, m, e) {
4
+ m.$app = r, e && (s(m, e == null ? void 0 : e.serviceParams), t(r, e == null ? void 0 : e.components)), e == null || e.customFacets;
6
5
  }
7
6
  export {
8
- v as configureModules,
9
- u as extras
7
+ a as configureModules
10
8
  };
11
9
  //# sourceMappingURL=configureModules.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureModules.mjs","sources":["../../lib/configurations/configureModules.ts"],"sourcesContent":["import { configureServices } from \"./configureServices\";\nimport { ComponentMap, configureComponents } from \"./configureComponents\";\n\ntype ModulesConfig = {\n components: ComponentMap,\n serviceParams: {[key: string]: unknown},\n customFacets: any\n};\n\nexport const extras: {[key:string]: any} = {};\n\nexport function configureModules(app: any, store: any, config?: ModulesConfig) {\n store.$app = app;\n if (config) {\n configureServices(store, config?.serviceParams);\n configureComponents(app, config?.components);\n }\n extras.customFacets = config?.customFacets\n}\n"],"names":["extras","configureModules","app","store","config","configureServices","configureComponents"],"mappings":";;AASO,MAAMA,IAA8B,CAAC;AAE5B,SAAAC,EAAiBC,GAAUC,GAAYC,GAAwB;AAC7E,EAAAD,EAAM,OAAOD,GACTE,MACgBC,EAAAF,GAAOC,KAAA,gBAAAA,EAAQ,aAAa,GAC1BE,EAAAJ,GAAKE,KAAA,gBAAAA,EAAQ,UAAU,IAE7CJ,EAAO,eAAeI,KAAA,gBAAAA,EAAQ;AAChC;"}
1
+ {"version":3,"file":"configureModules.mjs","sources":["../../lib/configurations/configureModules.ts"],"sourcesContent":["import { configureServices } from \"./configureServices\";\nimport { ComponentMap, configureComponents } from \"./configureComponents\";\n\ntype ModulesConfig = {\n components: ComponentMap,\n serviceParams: {[key: string]: unknown},\n customFacets: any\n};\n\nexport const extras: {[key:string]: any} = {};\n\nexport function configureModules(app: any, store: any, config?: ModulesConfig) {\n store.$app = app;\n if (config) {\n configureServices(store, config?.serviceParams);\n configureComponents(app, config?.components);\n }\n extras.customFacets = config?.customFacets\n}\n"],"names":["configureModules","app","store","config","configureServices","configureComponents"],"mappings":";;AAWgB,SAAAA,EAAiBC,GAAUC,GAAYC,GAAwB;AAC7E,EAAAD,EAAM,OAAOD,GACTE,MACgBC,EAAAF,GAAOC,KAAA,gBAAAA,EAAQ,aAAa,GAC1BE,EAAAJ,GAAKE,KAAA,gBAAAA,EAAQ,UAAU,IAEvBA,KAAA,QAAAA,EAAQ;AAChC;"}
@@ -124,11 +124,11 @@ declare const _default: import('vue').DefineComponent<{}, {
124
124
  isLocatedOnAuthorizedDatasetPage(): any;
125
125
  isLocatedOnAuthorizedCatalogPage(): boolean;
126
126
  getUserData: import('vuex').Computed;
127
+ getTitle: import('vuex').Computed;
128
+ getDescription: import('vuex').Computed;
127
129
  getCatalog: import('vuex').Computed;
128
130
  getLoading: import('vuex').Computed;
129
- getDescription: import('vuex').Computed;
130
131
  getID: import('vuex').Computed;
131
- getTitle: import('vuex').Computed;
132
132
  }, {
133
133
  setupKeycloakWatcher(): void;
134
134
  handleConfirm(action: any, argsObj: any, { successMessage, errorMessage }: {
@@ -11,8 +11,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
11
11
  }, {
12
12
  getDatasetDescription(): any;
13
13
  getDatasetDescriptionLength(): any;
14
- getLanguages: import('vuex').Computed;
15
14
  getDescription: import('vuex').Computed;
15
+ getLanguages: import('vuex').Computed;
16
16
  }, {
17
17
  truncate: typeof truncate;
18
18
  toggleDatasetDescription(): void;
@@ -1,15 +1,15 @@
1
1
  import { truncate } from '../../utils/helpers';
2
2
  declare const _default: import('vue').DefineComponent<{
3
3
  embed?: any;
4
- distribution?: any;
5
4
  getDistributionFormat?: any;
5
+ distribution?: any;
6
6
  distributionFormatTruncated?: any;
7
7
  }, {}, {}, {}, {
8
8
  truncate: typeof truncate;
9
9
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
10
10
  embed?: any;
11
- distribution?: any;
12
11
  getDistributionFormat?: any;
12
+ distribution?: any;
13
13
  distributionFormatTruncated?: any;
14
14
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
15
15
  export default _default;
@@ -25,10 +25,10 @@ declare const _default: import('vue').DefineComponent<{
25
25
  };
26
26
  }, {
27
27
  files(): any;
28
- getCatalog: import('vuex').Computed;
29
28
  getDistributions: import('vuex').Computed;
30
- getLanguages: import('vuex').Computed;
31
29
  getTitle: import('vuex').Computed;
30
+ getCatalog: import('vuex').Computed;
31
+ getLanguages: import('vuex').Computed;
32
32
  }, {
33
33
  getTranslationFor: typeof getTranslationFor;
34
34
  fetchDistributionFiles(zip: any, files: any, folder: any, getContentTypeFormat: any): Promise<void>;
@@ -1,6 +1,6 @@
1
1
  declare const _default: import('vue').DefineComponent<{
2
- distribution?: any;
3
2
  getDistributionFormat?: any;
3
+ distribution?: any;
4
4
  isOnlyOneUrl?: any;
5
5
  getDownloadUrl?: any;
6
6
  trackGoto?: any;
@@ -12,8 +12,8 @@ declare const _default: import('vue').DefineComponent<{
12
12
  setClipboard(value: any): void;
13
13
  popupCopyUrlAlert(): void;
14
14
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
15
- distribution?: any;
16
15
  getDistributionFormat?: any;
16
+ distribution?: any;
17
17
  isOnlyOneUrl?: any;
18
18
  getDownloadUrl?: any;
19
19
  trackGoto?: any;
@@ -6,10 +6,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
6
6
  default: () => boolean;
7
7
  };
8
8
  }>, {}, {}, {
9
+ getTitle: import('vuex').Computed;
9
10
  getCatalog: import('vuex').Computed;
10
11
  getLanguages: import('vuex').Computed;
11
12
  getID: import('vuex').Computed;
12
- getTitle: import('vuex').Computed;
13
13
  }, {
14
14
  getTranslationFor: typeof getTranslationFor;
15
15
  isErpdActive(): boolean;
@@ -5,8 +5,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
5
5
  required: true;
6
6
  };
7
7
  }>, {}, {}, {
8
- getLanguages: import('vuex').Computed;
9
8
  getTitle: import('vuex').Computed;
9
+ getLanguages: import('vuex').Computed;
10
10
  }, {
11
11
  getTranslationFor: typeof getTranslationFor;
12
12
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
@@ -18,10 +18,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
18
18
  }, {
19
19
  url(): string;
20
20
  showDQV(): any;
21
+ getTitle: import('vuex').Computed;
21
22
  getLoading: import('vuex').Computed;
22
23
  getLanguages: import('vuex').Computed;
23
24
  getID: import('vuex').Computed;
24
- getTitle: import('vuex').Computed;
25
25
  getIsDQVDataRDFAvailable: import('vuex').Computed;
26
26
  getIsDQVDataTTLAvailable: import('vuex').Computed;
27
27
  getIsDQVDataN3Available: import('vuex').Computed;
@@ -1,15 +1,14 @@
1
- import { mapGetters as f, mapActions as P } from "vuex";
2
- import { debounce as L, isNil as F, isArray as h, has as q } from "lodash-es";
3
- import y from "jquery";
1
+ import { mapGetters as h, mapActions as P } from "vuex";
2
+ import { debounce as L, isNil as F, isArray as f, has as q } from "lodash-es";
3
+ import D from "jquery";
4
4
  import A from "../utils/fileTypes.mjs";
5
- import k from "./datasetsFacets/DatasetsFacets.vue.mjs";
6
- import I from "../widgets/Pagination.vue.mjs";
5
+ import k from "../widgets/Pagination.vue.mjs";
7
6
  import T from "../facets/SelectedFacetsOverview.vue.mjs";
8
- import B from "../widgets/AppLink.vue.mjs";
9
- import { truncate as M, getTranslationFor as N, getImg as _ } from "../utils/helpers.mjs";
10
- import E from "./DatasetsTopControls.vue.mjs";
11
- import G from "./DatasetsFilters.vue.mjs";
12
- import R from "./DatasetList.vue.mjs";
7
+ import I from "../widgets/AppLink.vue.mjs";
8
+ import { truncate as B, getTranslationFor as M, getImg as N } from "../utils/helpers.mjs";
9
+ import _ from "./DatasetsTopControls.vue.mjs";
10
+ import E from "./DatasetsFilters.vue.mjs";
11
+ import G from "./DatasetList.vue.mjs";
13
12
  import "@unhead/vue";
14
13
  import "merge-anything";
15
14
  import "../configurations/config-schema/apiSchema.mjs";
@@ -21,24 +20,24 @@ import "../configurations/config-schema/languagesSchema.mjs";
21
20
  import "../configurations/config-schema/themesSchema.mjs";
22
21
  import "../configurations/config-schema/trackerSchema.mjs";
23
22
  import "../configurations/config-schema/configSchema.mjs";
24
- import { resolveComponent as n, openBlock as r, createElementBlock as l, createVNode as g, createTextVNode as i, createElementVNode as o, renderSlot as p, toDisplayString as d, normalizeClass as j, createCommentVNode as u, withCtx as U, createBlock as D } from "vue";
23
+ import { resolveComponent as n, openBlock as o, createElementBlock as l, createVNode as p, createTextVNode as i, createElementVNode as r, renderSlot as m, toDisplayString as d, createBlock as y, createCommentVNode as c, normalizeClass as R, withCtx as j } from "vue";
25
24
  import "vue-router";
26
- import { useDatasetsHead as Q } from "../composables/head/useDatasetsHead.mjs";
25
+ import { useDatasetsHead as U } from "../composables/head/useDatasetsHead.mjs";
27
26
  import "vue-i18n";
28
- import V from "../facets_2.0/Facets.vue.mjs";
27
+ import Q from "./datasetsFacets/DatasetsFacets.vue.mjs";
29
28
  import "./Datasets.vue2.mjs";
30
- import H from "../_virtual/_plugin-vue_export-helper.mjs";
31
- const W = {
29
+ import V from "../_virtual/_plugin-vue_export-helper.mjs";
30
+ const H = {
32
31
  name: "Datasets",
33
32
  components: {
34
- DatasetsFilters: G,
35
- DatasetsTopControls: E,
36
- appLink: B,
33
+ DatasetsFilters: E,
34
+ DatasetsTopControls: _,
35
+ appLink: I,
37
36
  selectedFacetsOverview: T,
38
- datasetsFacets: k,
39
- pagination: I,
40
- DatasetList: R,
41
- Facets: V
37
+ datasetsFacets: Q,
38
+ pagination: k,
39
+ DatasetList: G
40
+ // Facets
42
41
  },
43
42
  props: {
44
43
  infiniteScrolling: {
@@ -66,10 +65,10 @@ const W = {
66
65
  };
67
66
  },
68
67
  computed: {
69
- ...f("catalogDetails", [
68
+ ...h("catalogDetails", [
70
69
  "getCatalog"
71
70
  ]),
72
- ...f("datasets", [
71
+ ...h("datasets", [
73
72
  "getDatasets",
74
73
  "getDatasetsCount",
75
74
  "getLimit",
@@ -79,7 +78,7 @@ const W = {
79
78
  "getPageCount",
80
79
  "getMinScoring"
81
80
  ]),
82
- ...f("datasets", {
81
+ ...h("datasets", {
83
82
  // Rename getters to something different because we'll perform some modifications on them.
84
83
  // These modifications involve removing catalog related information from facets for fixed catalog filter mode
85
84
  getAllAvailableFacetsOriginal: "getAllAvailableFacets",
@@ -102,11 +101,11 @@ const W = {
102
101
  * @returns {Object}
103
102
  */
104
103
  facets() {
105
- const t = this.$env.content.datasets.facets.defaultFacetOrder, e = this.showCatalogDetails, c = t.reduce((s, a) => (s[a] = e && a === "catalog" && !this.fixedCatalogFilter ? [this.$route.params.ctlg_id || void 0] : this.getUrlFacetsOrDefault(a), s), {});
104
+ const t = this.$env.content.datasets.facets.defaultFacetOrder, e = this.showCatalogDetails, g = t.reduce((s, a) => (s[a] = e && a === "catalog" && !this.fixedCatalogFilter ? [this.$route.params.ctlg_id || void 0] : this.getUrlFacetsOrDefault(a), s), {});
106
105
  return this.fixedCatalogFilter ? {
107
- ...c,
106
+ ...g,
108
107
  superCatalog: [this.fixedCatalogFilter]
109
- } : c;
108
+ } : g;
110
109
  },
111
110
  getAllAvailableFacets() {
112
111
  return this.showCatalogDetails ? this.getAllAvailableFacetsOriginal.filter((t) => t.id !== "catalog") : this.getAllAvailableFacetsOriginal;
@@ -124,7 +123,7 @@ const W = {
124
123
  return this.getMinScoring > 0;
125
124
  },
126
125
  dataScope() {
127
- return this.$route.query.dataScope ? h(this.$route.query.dataScope) && this.$route.query.dataScope.length > 0 ? this.$route.query.dataScope[0] : h(this.$route.query.dataScope) && this.$route.query.dataScope.length === 0 ? null : this.$route.query.dataScope : null;
126
+ return this.$route.query.dataScope ? f(this.$route.query.dataScope) && this.$route.query.dataScope.length > 0 ? this.$route.query.dataScope[0] : f(this.$route.query.dataScope) && this.$route.query.dataScope.length === 0 ? null : this.$route.query.dataScope : null;
128
127
  }
129
128
  },
130
129
  methods: {
@@ -146,10 +145,10 @@ const W = {
146
145
  ]),
147
146
  // The imported Lodash has function. Must be defined in Methods so we can use it in template
148
147
  has: q,
149
- isArray: h,
150
- truncate: M,
151
- getTranslationFor: N,
152
- getImg: _,
148
+ isArray: f,
149
+ truncate: B,
150
+ getTranslationFor: M,
151
+ getImg: N,
153
152
  /**
154
153
  * @description Handler-function for the scroll event.
155
154
  */
@@ -192,8 +191,8 @@ const W = {
192
191
  initFacets() {
193
192
  const t = this.$env.content.datasets.facets.defaultFacetOrder, e = this.facets;
194
193
  this.facetFields.push(...t);
195
- const m = t.filter((s) => !(e[s] && e[s].length > 0) && !this.$route.query[s]).reduce((s, a) => (s[a] = [], s), {});
196
- Object.keys(m) > 0 && this.$router.push({ query: { ...this.$route.query, ...m } }), this.setFacets(e);
194
+ const u = t.filter((s) => !(e[s] && e[s].length > 0) && !this.$route.query[s]).reduce((s, a) => (s[a] = [], s), {});
195
+ Object.keys(u) > 0 && this.$router.push({ query: { ...this.$route.query, ...u } }), this.setFacets(e);
197
196
  },
198
197
  getUrlFacetsOrDefault(t) {
199
198
  const e = this.$route.query[t];
@@ -226,7 +225,7 @@ const W = {
226
225
  this.$nextTick(() => {
227
226
  this.$nextTick(() => {
228
227
  this.$Progress.start(), this.loadDatasets({ locale: this.$route.query.locale }).then(() => {
229
- this.setPageCount(Math.ceil(this.getDatasetsCount / this.getLimit)), this.$Progress.finish(), y('[data-toggle="tooltip"]').tooltip({
228
+ this.setPageCount(Math.ceil(this.getDatasetsCount / this.getLimit)), this.$Progress.finish(), D('[data-toggle="tooltip"]').tooltip({
230
229
  container: "body"
231
230
  });
232
231
  }).catch((t) => {
@@ -270,49 +269,49 @@ const W = {
270
269
  });
271
270
  },
272
271
  beforeUnmount() {
273
- y(".tooltip").remove(), this.infiniteScrolling && window.removeEventListener("scroll", this.onScroll);
272
+ D(".tooltip").remove(), this.infiniteScrolling && window.removeEventListener("scroll", this.onScroll);
274
273
  },
275
274
  setup() {
276
- Q();
275
+ U();
277
276
  }
278
- }, z = { class: "datasets-container d-flex flex-column p-0 bg-transparent" }, J = { class: "container-fluid datasets content" }, K = {
277
+ }, W = { class: "datasets-container d-flex flex-column p-0 bg-transparent" }, z = { class: "container-fluid datasets content" }, J = {
279
278
  key: 0,
280
279
  class: "row col-12 page-title catalog-title text-primary"
281
- }, X = {
280
+ }, K = {
282
281
  key: 1,
283
282
  class: "row col-12 page-title text-primary"
284
- }, Y = { class: "row" }, Z = { class: "col d-flex d-md-none justify-content-end flex-wrap" }, x = {
283
+ }, X = { class: "row" }, Y = { class: "col d-flex d-md-none justify-content-end flex-wrap" }, Z = {
285
284
  key: 0,
286
285
  class: "material-icons small-icon align-bottom"
287
- }, tt = {
286
+ }, x = {
288
287
  key: 1,
289
288
  class: "material-icons small-icon align-bottom"
290
- }, et = { class: "col-md-9 col-12" }, at = {
289
+ }, tt = { class: "col-md-9 col-12" }, et = {
291
290
  key: 0,
292
291
  class: "loading-spinner ml-3"
293
- }, st = {
292
+ }, at = {
294
293
  key: 0,
295
294
  class: "alert alert-warning mt-3 d-flex flex-row"
296
- }, it = {
295
+ }, st = {
297
296
  key: 3,
298
297
  class: "loading-spinner mx-auto mt-3 mb-3"
299
- }, ot = { class: "row" }, rt = { class: "column col-12 col-md-9 offset-md-3" };
300
- function lt(t, e, c, m, s, a) {
301
- const $ = n("datasets-top-controls"), v = n("facets"), C = n("datasets-filters"), S = n("app-link"), b = n("selectedFacetsOverview"), O = n("dataset-list"), w = n("pagination");
302
- return r(), l("div", z, [
303
- g($, {
298
+ }, it = { class: "row" }, ot = { class: "column col-12 col-md-9 offset-md-3" };
299
+ function rt(t, e, g, u, s, a) {
300
+ const S = n("datasets-top-controls"), v = n("datasets-facets"), $ = n("datasets-filters"), C = n("app-link"), b = n("selectedFacetsOverview"), O = n("dataset-list"), w = n("pagination");
301
+ return o(), l("div", W, [
302
+ p(S, {
304
303
  facets: a.facets,
305
304
  getPage: t.getPage,
306
305
  getLimit: t.getLimit,
307
306
  class: "datasets-top-controls"
308
307
  }, null, 8, ["facets", "getPage", "getLimit"]),
309
308
  e[11] || (e[11] = i()),
310
- o("div", J, [
311
- p(t.$slots, "title", {}, () => [
312
- a.showCatalogDetails ? (r(), l("h1", K, d(a.getTranslationFor(t.getCatalog.title, t.$route.query.locale, t.getCatalog.languages)), 1)) : (r(), l("h1", X, d(t.$t("message.header.navigation.data.datasets")), 1))
309
+ r("div", z, [
310
+ m(t.$slots, "title", {}, () => [
311
+ a.showCatalogDetails ? (o(), l("h1", J, d(a.getTranslationFor(t.getCatalog.title, t.$route.query.locale, t.getCatalog.languages)), 1)) : (o(), l("h1", K, d(t.$t("message.header.navigation.data.datasets")), 1))
313
312
  ], !0),
314
313
  e[9] || (e[9] = i()),
315
- p(t.$slots, "content", {
314
+ m(t.$slots, "content", {
316
315
  datasetsCount: t.getDatasetsCount,
317
316
  datasets: t.getDatasets,
318
317
  locale: t.$route.query.locale,
@@ -321,32 +320,33 @@ function lt(t, e, c, m, s, a) {
321
320
  facets: a.getFacets,
322
321
  availableFacets: a.getAllAvailableFacets
323
322
  }, () => [
324
- o("div", Y, [
325
- o("div", Z, [
326
- o("button", {
323
+ r("div", X, [
324
+ r("div", Y, [
325
+ r("button", {
327
326
  class: "btn btn-primary mb-3 text-right text-white",
328
327
  "data-toggle": "collapse",
329
328
  "data-target": "#datasetFacets",
330
329
  "data-cy": "btn-filter-toggle",
331
- onClick: e[0] || (e[0] = (nt) => s.filterCollapsed = !s.filterCollapsed)
330
+ onClick: e[0] || (e[0] = (lt) => s.filterCollapsed = !s.filterCollapsed)
332
331
  }, [
333
- s.filterCollapsed ? (r(), l("i", x, "arrow_drop_up")) : (r(), l("i", tt, "arrow_drop_down"))
332
+ s.filterCollapsed ? (o(), l("i", Z, "arrow_drop_up")) : (o(), l("i", x, "arrow_drop_down"))
334
333
  ])
335
334
  ]),
336
335
  e[7] || (e[7] = i()),
337
- g(v, {
338
- facetsConfig: a.getAllAvailableFacets,
339
- facetsIds: t.$env.content.datasets.facets.defaultFacetOrder,
336
+ s.useDatasetFacets ? (o(), y(v, {
337
+ key: 0,
340
338
  class: "col-md-3 col-12 mb-3 mb-md-0 px-0 collapse",
341
- id: "datasetFacets"
342
- }, null, 8, ["facetsConfig", "facetsIds"]),
339
+ id: "datasetFacets",
340
+ dataScope: a.dataScope,
341
+ "available-facets": a.getAllAvailableFacets
342
+ }, null, 8, ["dataScope", "available-facets"])) : c("", !0),
343
343
  e[8] || (e[8] = i()),
344
- o("section", et, [
345
- p(t.$slots, "datasets-filters", {}, () => [
346
- g(C)
344
+ r("section", tt, [
345
+ m(t.$slots, "datasets-filters", {}, () => [
346
+ p($)
347
347
  ], !0),
348
348
  e[2] || (e[2] = i()),
349
- p(t.$slots, "datasets-found", {
349
+ m(t.$slots, "datasets-found", {
350
350
  data: {
351
351
  loading: t.getLoading,
352
352
  datasetsCount: t.getDatasetsCount,
@@ -355,53 +355,53 @@ function lt(t, e, c, m, s, a) {
355
355
  countMessage: t.$t("message.datasets.countMessage")
356
356
  }
357
357
  }, () => [
358
- o("div", {
359
- class: j(["datasets-found alert alert-primary mt-3 d-flex flex-row", { "alert-danger": t.getDatasetsCount <= 0 && !t.getLoading }]),
358
+ r("div", {
359
+ class: R(["datasets-found alert alert-primary mt-3 d-flex flex-row", { "alert-danger": t.getDatasetsCount <= 0 && !t.getLoading }]),
360
360
  role: "status"
361
361
  }, [
362
- o("div", null, d(t.getLoading ? t.$t("message.datasets.loadingMessage") : `${t.getDatasetsCount.toLocaleString("fi")}
362
+ r("div", null, d(t.getLoading ? t.$t("message.datasets.loadingMessage") : `${t.getDatasetsCount.toLocaleString("fi")}
363
363
  ${t.$t("message.datasets.countMessage")}`), 1),
364
364
  e[1] || (e[1] = i()),
365
- t.getLoading ? (r(), l("div", at)) : u("", !0)
365
+ t.getLoading ? (o(), l("div", et)) : c("", !0)
366
366
  ], 2)
367
367
  ], !0),
368
368
  e[3] || (e[3] = i()),
369
- a.showScoreDisclaimer ? (r(), l("div", st, [
370
- o("span", null, [
369
+ a.showScoreDisclaimer ? (o(), l("div", at, [
370
+ r("span", null, [
371
371
  i(d(t.$t("message.datasets.scoreDisclaimer")) + " ", 1),
372
- g(S, {
372
+ p(C, {
373
373
  path: "/mqa",
374
374
  query: { locale: t.$route.query.locale },
375
375
  target: "_blank"
376
376
  }, {
377
- default: U(() => [
378
- o("span", null, d(t.$t("message.metadata.methodologyPage")), 1)
377
+ default: j(() => [
378
+ r("span", null, d(t.$t("message.metadata.methodologyPage")), 1)
379
379
  ]),
380
380
  _: 1
381
381
  }, 8, ["query"])
382
382
  ])
383
- ])) : u("", !0),
383
+ ])) : c("", !0),
384
384
  e[4] || (e[4] = i()),
385
- a.getFacets ? (r(), D(b, {
385
+ a.getFacets ? (o(), y(b, {
386
386
  key: 1,
387
387
  "selected-facets": a.getFacets,
388
388
  "available-facets": a.getAllAvailableFacets
389
- }, null, 8, ["selected-facets", "available-facets"])) : u("", !0),
389
+ }, null, 8, ["selected-facets", "available-facets"])) : c("", !0),
390
390
  e[5] || (e[5] = i()),
391
- t.getLoading ? u("", !0) : (r(), D(O, {
391
+ t.getLoading ? c("", !0) : (o(), y(O, {
392
392
  key: 2,
393
393
  datasets: t.getDatasets,
394
394
  locale: t.$route.query.locale || "en"
395
395
  }, null, 8, ["datasets", "locale"])),
396
396
  e[6] || (e[6] = i()),
397
- t.getLoading ? (r(), l("div", it)) : u("", !0)
397
+ t.getLoading ? (o(), l("div", st)) : c("", !0)
398
398
  ])
399
399
  ])
400
400
  ], !0),
401
401
  e[10] || (e[10] = i()),
402
- o("div", ot, [
403
- o("div", rt, [
404
- g(w, {
402
+ r("div", it, [
403
+ r("div", ot, [
404
+ p(w, {
405
405
  class: "mt-3",
406
406
  "items-count": t.getDatasetsCount,
407
407
  "items-per-page": t.getLimit,
@@ -414,8 +414,8 @@ function lt(t, e, c, m, s, a) {
414
414
  ])
415
415
  ]);
416
416
  }
417
- const Gt = /* @__PURE__ */ H(W, [["render", lt], ["__scopeId", "data-v-d65adfa9"]]);
417
+ const _t = /* @__PURE__ */ V(H, [["render", rt], ["__scopeId", "data-v-6558a4e6"]]);
418
418
  export {
419
- Gt as default
419
+ _t as default
420
420
  };
421
421
  //# sourceMappingURL=Datasets.vue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Datasets.vue.mjs","sources":["../../lib/datasets/Datasets.vue"],"sourcesContent":["<template>\n <div class=\"datasets-container d-flex flex-column p-0 bg-transparent\">\n <datasets-top-controls\n :facets=\"facets\"\n :getPage=\"getPage\"\n :getLimit=\"getLimit\"\n class=\"datasets-top-controls\"\n />\n <div class=\"container-fluid datasets content\">\n <slot name=\"title\">\n <h1 class=\"row col-12 page-title catalog-title text-primary\" v-if=\"showCatalogDetails\">\n {{ getTranslationFor(getCatalog.title, $route.query.locale, getCatalog.languages) }}</h1>\n <h1 class=\"row col-12 page-title text-primary\" v-else>{{ $t('message.header.navigation.data.datasets') }}</h1>\n </slot>\n <slot\n name=\"content\"\n :datasets-count=\"getDatasetsCount\"\n :datasets=\"getDatasets\"\n :locale=\"$route.query.locale\"\n :loading=\"getLoading\"\n :use-dataset-facets=\"useDatasetFacets\"\n :facets=\"getFacets\"\n :available-facets=\"getAllAvailableFacets\"\n >\n <div class=\"row\">\n <div class=\"col d-flex d-md-none justify-content-end flex-wrap\">\n <button class=\"btn btn-primary mb-3 text-right text-white\" data-toggle=\"collapse\"\n data-target=\"#datasetFacets\" data-cy=\"btn-filter-toggle\"\n @click=\"filterCollapsed = !filterCollapsed\">\n <i class=\"material-icons small-icon align-bottom\" v-if=\"filterCollapsed\">arrow_drop_up</i>\n <i class=\"material-icons small-icon align-bottom\" v-else>arrow_drop_down</i>\n </button>\n </div>\n<!-- <datasets-facets-->\n<!-- v-if=\"useDatasetFacets\"-->\n<!-- class=\"col-md-3 col-12 mb-3 mb-md-0 px-0 collapse\" id=\"datasetFacets\"-->\n<!-- :dataScope=\"dataScope\"-->\n<!-- :available-facets=\"getAllAvailableFacets\"-->\n<!-- ></datasets-facets>-->\n <facets\n :facetsConfig=\"getAllAvailableFacets\"\n :facetsIds=\"$env.content.datasets.facets.defaultFacetOrder\"\n class=\"col-md-3 col-12 mb-3 mb-md-0 px-0 collapse\"\n id=\"datasetFacets\">\n\n </facets>\n <section class=\"col-md-9 col-12\">\n <slot name=\"datasets-filters\">\n <datasets-filters/>\n </slot>\n <slot name=\"datasets-found\" :data=\"{\n loading: getLoading,\n datasetsCount: getDatasetsCount,\n datasetsCountFormatted: getDatasetsCount.toLocaleString('fi'),\n loadingMessage: $t('message.datasets.loadingMessage'),\n countMessage: $t('message.datasets.countMessage'),\n }\">\n <div class=\"datasets-found alert alert-primary mt-3 d-flex flex-row\" role=\"status\"\n :class=\"{ 'alert-danger': getDatasetsCount <= 0 && !getLoading}\">\n <div>\n {{\n getLoading ? $t('message.datasets.loadingMessage') : `${getDatasetsCount.toLocaleString('fi')}\n ${$t('message.datasets.countMessage')}`\n }}\n </div>\n <div class=\"loading-spinner ml-3\" v-if=\"getLoading\"></div>\n </div>\n </slot>\n <div class=\"alert alert-warning mt-3 d-flex flex-row\" v-if=\"showScoreDisclaimer\">\n <span>\n {{ $t(\"message.datasets.scoreDisclaimer\") }}\n <app-link path=\"/mqa\" :query=\"{ locale: $route.query.locale }\" target=\"_blank\">\n <span>{{ $t(\"message.metadata.methodologyPage\") }}</span>\n </app-link>\n </span>\n </div>\n <!--\n <div class=\"alert alert-info mt-3\" v-if=\"getGeoBoundsById('modal-map')\">\n {{`${$t('message.datasets.geoBoundsMessagePre')}`}}<strong>{{getGeoBoundsById('modal-map')}}</strong>{{`. ${$t('message.datasets.geoBoundsMessageRemove')}`}}\n <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\" @click=\"resetGeoBounds('modal-map'); loadDatasets({})\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n -->\n <selectedFacetsOverview\n v-if=\"getFacets\"\n :selected-facets=\"getFacets\"\n :available-facets=\"getAllAvailableFacets\"\n >\n </selectedFacetsOverview>\n <template v-if=\"!getLoading\">\n <dataset-list :datasets=\"getDatasets\" :locale=\"$route.query.locale || 'en'\"></dataset-list>\n </template>\n <div class=\"loading-spinner mx-auto mt-3 mb-3\" v-if=\"getLoading\"></div>\n </section>\n </div>\n </slot>\n <div class=\"row\">\n <div class=\"column col-12 col-md-9 offset-md-3\">\n <pagination class=\"mt-3\"\n :items-count=\"getDatasetsCount\"\n :items-per-page=\"getLimit\"\n :get-page=\"getPage\"\n :get-page-count=\"getPageCount\"\n @setPageLimit=\"setPageLimit\"></pagination>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n /* eslint-disable no-undef */\n import { mapActions, mapGetters } from 'vuex';\n import {\n debounce,\n has,\n groupBy,\n uniqBy,\n toPairs,\n isArray,\n isNil,\n } from 'lodash-es';\n import $ from 'jquery';\n import fileTypes from '../utils/fileTypes';\n import DatasetsFacets from './datasetsFacets/DatasetsFacets.vue';\n import Pagination from '../widgets/Pagination.vue';\n import SelectedFacetsOverview from '../facets/SelectedFacetsOverview';\n import AppLink from '../widgets/AppLink.vue';\n import { getTranslationFor, truncate, getImg } from '../utils/helpers';\n import DatasetsTopControls from \"../datasets/DatasetsTopControls.vue\";\n import DatasetsFilters from \"../datasets/DatasetsFilters.vue\";\n import DatasetList from './DatasetList.vue'\n import { useDatasetsHead } from '../composables/head'\n import Facets from \"../facets_2.0/Facets.vue\"\nexport default {\n name: 'Datasets',\n components: {\n DatasetsFilters,\n DatasetsTopControls,\n appLink: AppLink,\n selectedFacetsOverview: SelectedFacetsOverview,\n datasetsFacets: DatasetsFacets,\n pagination: Pagination,\n DatasetList,\n Facets\n },\n props: {\n infiniteScrolling: {\n type: Boolean,\n default: false,\n },\n /**\n * @description Sets the catalog filter to a fixed catalog id. Disables the catalog facet and hides the facet in the selected facets overview.\n * @dev Use this prop if you want to use this component in a catalog page context where the catalog is already known (e.g., provider's page).\n */\n fixedCatalogFilter: {\n type: String,\n default: '',\n }\n },\n data() {\n return {\n baseUrl: this.$env.api.baseUrl,\n debouncedOnBottomScroll: debounce(this.onBottomScroll, 500),\n facetFields: [],\n lang: this.locale,\n filterCollapsed: true,\n catalogAllowed: false,\n useDatasetFacets: this.$env.content.datasets.facets.useDatasetFacets\n };\n },\n computed: {\n ...mapGetters('catalogDetails', [\n 'getCatalog',\n ]),\n ...mapGetters('datasets', [\n 'getDatasets',\n 'getDatasetsCount',\n 'getLimit',\n 'getLoading',\n 'getOffset',\n 'getPage',\n 'getPageCount',\n 'getMinScoring',\n ]),\n ...mapGetters('datasets', {\n // Rename getters to something different because we'll perform some modifications on them.\n // These modifications involve removing catalog related information from facets for fixed catalog filter mode\n getAllAvailableFacetsOriginal: 'getAllAvailableFacets',\n getFacetsOriginal: 'getFacets',\n }),\n showCatalogDetails() {\n return !isNil(this.$route.params.ctlg_id) || this.fixedCatalogFilter;\n },\n /**\n * @description Returns the current page.\n * @returns {Number}\n *\n * @deprecated use getPage from datasets store instead\n */\n page() {\n return this.$route.query.page;\n },\n /**\n * @description Returns the active facets according to the route parameters.\n * @returns {Object}\n */\n facets() {\n const facetFields = this.$env.content.datasets.facets.defaultFacetOrder;\n const wantsToLoadCatalogByParamOrProp = this.showCatalogDetails;\n\n const facetObj = facetFields.reduce((acc, field) => {\n acc[field] = (wantsToLoadCatalogByParamOrProp && field === 'catalog' && !this.fixedCatalogFilter)\n ? [this.$route.params.ctlg_id || undefined]\n : this.getUrlFacetsOrDefault(field);\n\n return acc;\n }, {});\n\n // if fixedCatalogFilter is set, then set it as superCatalog\n // requirement by bayern\n const facetObjWithMaybeDefaultSuperCatalog = this.fixedCatalogFilter\n ? {\n ...facetObj,\n superCatalog: [this.fixedCatalogFilter],\n }\n : facetObj;\n\n return facetObjWithMaybeDefaultSuperCatalog;\n },\n\n getAllAvailableFacets() {\n return this.showCatalogDetails\n ? this.getAllAvailableFacetsOriginal.filter(facet => facet.id !== 'catalog')\n : this.getAllAvailableFacetsOriginal;\n },\n\n getFacets() {\n // Returns a record of facets with the catalog facet removed if we're in fixed catalog filter mode\n return this.showCatalogDetails\n ? {\n ...this.getFacetsOriginal,\n catalog: []\n }\n : this.getFacetsOriginal;\n },\n\n currentSearchQuery() {\n return this.$route.query.query;\n },\n showScoreDisclaimer() {\n return this.getMinScoring > 0;\n },\n dataScope() {\n if (!this.$route.query.dataScope) return null;\n if (isArray(this.$route.query.dataScope) && this.$route.query.dataScope.length > 0) return this.$route.query.dataScope[0];\n if (isArray(this.$route.query.dataScope) && this.$route.query.dataScope.length === 0) return null;\n return this.$route.query.dataScope;\n },\n },\n methods: {\n isNil,\n ...mapActions('datasets', [\n 'loadDatasets',\n 'loadAdditionalDatasets',\n 'setPage',\n 'addFacet',\n 'removeFacet',\n 'setFacets',\n 'setFacetOperator',\n 'setFacetGroupOperator',\n 'setDataServices',\n 'setPageCount',\n 'setLimit',\n 'setLoading',\n 'setDataScope',\n ]),\n // The imported Lodash has function. Must be defined in Methods so we can use it in template\n has,\n isArray,\n truncate,\n getTranslationFor,\n getImg,\n /**\n * @description Handler-function for the scroll event.\n */\n onScroll() {\n const items = this.$el.querySelectorAll('.dataset');\n const lastItem = items[items.length - 1];\n if (lastItem) {\n const lastItemPos = lastItem.getBoundingClientRect();\n if (lastItemPos.bottom - window.innerHeight <= 0) {\n this.debouncedOnBottomScroll();\n }\n }\n },\n /**\n * @description Handler-function when bottom of the page is reached.\n */\n onBottomScroll() {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadAdditionalDatasets()\n .then(() => {\n this.$Progress.finish();\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n },\n initLimit() {\n const limit = parseInt(this.$route.query.limit, 10);\n if (limit > 0) this.setLimit(limit);\n },\n setPageLimit(value) {\n this.setLimit(value);\n this.initDatasets();\n },\n initDataScope() {\n this.setDataScope(this.dataScope);\n },\n /**\n * @description Determines the current page.\n */\n initPage() {\n const page = parseInt(this.$route.query.page, 10);\n if (page > 0) this.setPage(page);\n else this.setPage(1);\n },\n /**\n * @descritption Initialize the active facets by checking the route parameters\n */\n initFacets() {\n const fields = this.$env.content.datasets.facets.defaultFacetOrder;\n const facetsFromRouteParams = this.facets;\n\n this.facetFields.push(...fields);\n\n // Get fields that don't exist in the router query\n const fieldsNotInRouterQuery = fields.filter(field => {\n const fieldExists = facetsFromRouteParams[field] && facetsFromRouteParams[field].length > 0;\n return !fieldExists && !this.$route.query[field];\n });\n\n // Construct route query parameters to be added\n const routeQueryParamsToBeAdded = fieldsNotInRouterQuery.reduce((acc, field) => {\n acc[field] = [];\n return acc;\n }, {});\n // Add the route query params that are missing\n if (Object.keys(routeQueryParamsToBeAdded) > 0) {\n this.$router.push({query: {...this.$route.query, ...routeQueryParamsToBeAdded}});\n }\n\n this.setFacets(facetsFromRouteParams);\n },\n\n\n getUrlFacetsOrDefault(field) {\n const urlFacets = this.$route.query[field];\n return Array.isArray(urlFacets) ? urlFacets : (urlFacets ? [urlFacets] : []);\n },\n\n initFacetOperator() {\n // Always set facet operator to AND when in catalog details mode\n if (this.showCatalogDetails) this.setFacetOperator('AND');\n else {\n const op = this.$route.query.facetOperator;\n if (op === 'AND' || op === 'OR') this.setFacetOperator(op);\n }\n },\n initFacetGroupOperator() {\n // The facetGroupOperator should be the same as the facetOperator\n // Always set facet operator to AND when\n // in catalog details mode\n if (this.showCatalogDetails) this.setFacetGroupOperator('AND');\n else {\n const op = this.$route.query.facetOperator;\n if (op === 'AND' || op === 'OR') this.setFacetGroupOperator(op);\n }\n },\n /**\n * @descritption Initialize the active data services facet by checking the route parameters\n */\n initDataServices() {\n const ds = this.$route.query.dataServices;\n if (ds === 'true' || ds === 'false') this.setDataServices(ds);\n else {\n this.setDataServices('false');\n }\n },\n initDatasets() {\n this.$nextTick(() => {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadDatasets({locale: this.$route.query.locale})\n .then(() => {\n this.setPageCount(Math.ceil(this.getDatasetsCount / this.getLimit));\n this.$Progress.finish();\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n })\n .catch((error) => {\n console.error(error)\n this.$Progress.fail();\n })\n .finally(() => this.$root.$emit('contentLoaded'));\n });\n });\n },\n initInfiniteScrolling() {\n if (this.infiniteScrolling) window.addEventListener('scroll', this.onScroll);\n },\n getFileTypeColor(format) {\n return fileTypes.getFileTypeColor(format);\n },\n },\n watch: {\n // eslint-disable-next-line object-shorthand\n page(pageStr) {\n const page = parseInt(pageStr, 10);\n if (page > 0) this.setPage(page);\n else this.setPage(1);\n },\n dataScope: {\n handler() {\n this.initDataScope();\n },\n deep: true,\n },\n },\n created() {\n this.initDataScope();\n this.initLimit();\n this.initPage();\n this.initFacetOperator();\n this.initFacetGroupOperator();\n this.initDataServices();\n this.initFacets();\n this.initDatasets();\n this.initInfiniteScrolling();\n },\n mounted() {\n // This is supposed to fix the browser issue (https://gitlab.fokus.fraunhofer.de/piveau/organisation/piveau-scrum-board/-/issues/2344)\n if (this.$route.query.refresh === 'true') {\n this.$nextTick(() => {\n this.$nextTick(() => {\n this.loadDatasets({locale: this.$route.query.locale})\n .then(() => {\n this.$router.push({query: {locale: this.$route.query.locale}});\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n });\n }\n },\n beforeUnmount() {\n $('.tooltip').remove();\n if (this.infiniteScrolling) window.removeEventListener('scroll', this.onScroll);\n },\n setup() {\n useDatasetsHead();\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n\n.alert-primary {\n color: #042648;\n background-color: #cddbe8;\n border-color: #baccdf;\n}\n\n.page-title {\n // maybe we can change custom theme h1 to 3rem\n font-size: 3rem;\n margin-bottom: 15px;\n}\n\n.content {\n padding: 30px 30px 0 30px;\n margin-top: 15px;\n margin-bottom: 15px;\n background-color: white;\n}\n\n.router-link-active {\n color: #175baf !important;\n border: none !important;\n border-bottom: 2px solid #175baf !important;\n}\n\n.router-link-inactive {\n color: rgba(0, 0, 0, 0.7);\n border: none !important;\n\n &:hover {\n color: #175baf;\n }\n}\n\n.material-icons.small-icon {\n font-size: 20px;\n}\n\n@media screen and (min-width: 768px) {\n #datasetFacets {\n display: block\n }\n}\n</style>\n"],"names":["_sfc_main","DatasetsFilters","DatasetsTopControls","AppLink","SelectedFacetsOverview","DatasetsFacets","Pagination","DatasetList","Facets","debounce","mapGetters","isNil","facetFields","wantsToLoadCatalogByParamOrProp","facetObj","acc","field","facet","isArray","mapActions","has","truncate","getTranslationFor","getImg","items","lastItem","limit","value","page","fields","facetsFromRouteParams","routeQueryParamsToBeAdded","urlFacets","op","ds","$","error","format","fileTypes","pageStr","useDatasetsHead","_hoisted_1","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_9","_hoisted_13","_hoisted_14","_openBlock","_createElementBlock","_createVNode","_component_datasets_top_controls","$options","_ctx","_cache","_createTextVNode","_createElementVNode","_renderSlot","_hoisted_3","_toDisplayString","_hoisted_4","$data","$event","_hoisted_7","_hoisted_8","_component_facets","_component_datasets_filters","_normalizeClass","_hoisted_10","_createCommentVNode","_hoisted_11","_component_app_link","_withCtx","_createBlock","_component_selectedFacetsOverview","_component_dataset_list","_hoisted_12","_component_pagination"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuIA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,iBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,SAASC;AAAA,IACT,wBAAwBC;AAAA,IACxB,gBAAgBC;AAAA,IAChB,YAAYC;AAAA,iBACZC;AAAAA,YACAC;AAAAA,EACD;AAAA,EACD,OAAO;AAAA,IACL,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,SAAS,KAAK,KAAK,IAAI;AAAA,MACvB,yBAAyBC,EAAS,KAAK,gBAAgB,GAAG;AAAA,MAC1D,aAAa,CAAE;AAAA,MACf,MAAM,KAAK;AAAA,MACX,iBAAiB;AAAA,MACjB,gBAAgB;AAAA,MAChB,kBAAkB,KAAK,KAAK,QAAQ,SAAS,OAAO;AAAA;EAEvD;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,IACF,CAAC;AAAA,IACD,GAAGA,EAAW,YAAY;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,GAAGA,EAAW,YAAY;AAAA;AAAA;AAAA,MAGxB,+BAA+B;AAAA,MAC/B,mBAAmB;AAAA,IACrB,CAAC;AAAA,IACD,qBAAqB;AACnB,aAAO,CAACC,EAAM,KAAK,OAAO,OAAO,OAAO,KAAK,KAAK;AAAA,IACnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,OAAO;AACL,aAAO,KAAK,OAAO,MAAM;AAAA,IAC1B;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAS;AACR,YAAMC,IAAc,KAAK,KAAK,QAAQ,SAAS,OAAO,mBAChDC,IAAkC,KAAK,oBAEvCC,IAAWF,EAAY,OAAO,CAACG,GAAKC,OACxCD,EAAIC,CAAK,IAAKH,KAAmCG,MAAU,aAAa,CAAC,KAAK,qBAC1E,CAAC,KAAK,OAAO,OAAO,WAAW,MAAS,IACxC,KAAK,sBAAsBA,CAAK,GAE7BD,IACN,CAAE,CAAA;AAWH,aAP2C,KAAK,qBAC9C;AAAA,QACA,GAAGD;AAAA,QACH,cAAc,CAAC,KAAK,kBAAkB;AAAA,MACxC,IACEA;AAAA,IAGL;AAAA,IAED,wBAAwB;AACtB,aAAO,KAAK,qBACR,KAAK,8BAA8B,OAAO,CAAAG,MAASA,EAAM,OAAO,SAAS,IACzE,KAAK;AAAA,IACV;AAAA,IAED,YAAY;AAEV,aAAO,KAAK,qBACR;AAAA,QACA,GAAG,KAAK;AAAA,QACR,SAAS,CAAC;AAAA,MACZ,IACE,KAAK;AAAA,IACV;AAAA,IAED,qBAAqB;AACnB,aAAO,KAAK,OAAO,MAAM;AAAA,IAC1B;AAAA,IACD,sBAAsB;AACpB,aAAO,KAAK,gBAAgB;AAAA,IAC7B;AAAA,IACD,YAAY;AACV,aAAK,KAAK,OAAO,MAAM,YACnBC,EAAQ,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,OAAO,MAAM,UAAU,SAAS,IAAU,KAAK,OAAO,MAAM,UAAU,CAAC,IACpHA,EAAQ,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,OAAO,MAAM,UAAU,WAAW,IAAU,OACtF,KAAK,OAAO,MAAM,YAHgB;AAAA,IAI1C;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,OAAAP;AAAA,IACA,GAAGQ,EAAW,YAAY;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA;AAAA,IAED,KAAAC;AAAA,IACA,SAAAF;AAAA,IACA,UAAAG;AAAA,IACA,mBAAAC;AAAA,IACA,QAAAC;AAAA;AAAA;AAAA;AAAA,IAIA,WAAW;AACT,YAAMC,IAAQ,KAAK,IAAI,iBAAiB,UAAU,GAC5CC,IAAWD,EAAMA,EAAM,SAAS,CAAC;AACvC,MAAIC,KACkBA,EAAS,wBACb,SAAS,OAAO,eAAe,KAC7C,KAAK,wBAAuB;AAAA,IAGjC;AAAA;AAAA;AAAA;AAAA,IAID,iBAAiB;AACf,WAAK,UAAU,MAAM;AACnB,aAAK,UAAU,SACf,KAAK,uBAAuB,EACvB,KAAK,MAAM;AACV,eAAK,UAAU;SAChB,EACA,MAAM,MAAM;AACX,eAAK,UAAU;QACjB,CAAC;AAAA,MACL,CAAC;AAAA,IACF;AAAA,IACD,YAAY;AACV,YAAMC,IAAQ,SAAS,KAAK,OAAO,MAAM,OAAO,EAAE;AAClD,MAAIA,IAAQ,KAAG,KAAK,SAASA,CAAK;AAAA,IACnC;AAAA,IACD,aAAaC,GAAO;AAClB,WAAK,SAASA,CAAK,GACnB,KAAK,aAAY;AAAA,IAClB;AAAA,IACD,gBAAgB;AACd,WAAK,aAAa,KAAK,SAAS;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAID,WAAW;AACT,YAAMC,IAAO,SAAS,KAAK,OAAO,MAAM,MAAM,EAAE;AAChD,MAAIA,IAAO,IAAG,KAAK,QAAQA,CAAI,IAC1B,KAAK,QAAQ,CAAC;AAAA,IACpB;AAAA;AAAA;AAAA;AAAA,IAIF,aAAa;AACZ,YAAMC,IAAS,KAAK,KAAK,QAAQ,SAAS,OAAO,mBAC3CC,IAAwB,KAAK;AAEnC,WAAK,YAAY,KAAK,GAAGD,CAAM;AAS/B,YAAME,IANyBF,EAAO,OAAO,CAAAb,MAEpC,EADac,EAAsBd,CAAK,KAAKc,EAAsBd,CAAK,EAAE,SAAS,MACnE,CAAC,KAAK,OAAO,MAAMA,CAAK,CAChD,EAGwD,OAAO,CAACD,GAAKC,OACpED,EAAIC,CAAK,IAAI,IACND,IACN,CAAE,CAAA;AAEL,MAAI,OAAO,KAAKgB,CAAyB,IAAI,KAC3C,KAAK,QAAQ,KAAK,EAAC,OAAO,EAAC,GAAG,KAAK,OAAO,OAAO,GAAGA,EAAyB,EAAC,CAAC,GAGjF,KAAK,UAAUD,CAAqB;AAAA,IACrC;AAAA,IAGD,sBAAsBd,GAAO;AAC3B,YAAMgB,IAAY,KAAK,OAAO,MAAMhB,CAAK;AACzC,aAAO,MAAM,QAAQgB,CAAS,IAAIA,IAAaA,IAAY,CAACA,CAAS,IAAI,CAAA;AAAA,IAC1E;AAAA,IAED,oBAAoB;AAElB,UAAI,KAAK;AAAoB,aAAK,iBAAiB,KAAK;AAAA,WACnD;AACH,cAAMC,IAAK,KAAK,OAAO,MAAM;AAC7B,SAAIA,MAAO,SAASA,MAAO,SAAM,KAAK,iBAAiBA,CAAE;AAAA,MAC3D;AAAA,IACD;AAAA,IACD,yBAAyB;AAIvB,UAAI,KAAK;AAAoB,aAAK,sBAAsB,KAAK;AAAA,WACxD;AACH,cAAMA,IAAK,KAAK,OAAO,MAAM;AAC7B,SAAIA,MAAO,SAASA,MAAO,SAAM,KAAK,sBAAsBA,CAAE;AAAA,MAChE;AAAA,IACD;AAAA;AAAA;AAAA;AAAA,IAID,mBAAmB;AACjB,YAAMC,IAAK,KAAK,OAAO,MAAM;AAC7B,MAAIA,MAAO,UAAUA,MAAO,UAAS,KAAK,gBAAgBA,CAAE,IAE1D,KAAK,gBAAgB,OAAO;AAAA,IAE/B;AAAA,IACD,eAAe;AACb,WAAK,UAAU,MAAM;AACnB,aAAK,UAAU,MAAM;AACnB,eAAK,UAAU,SACf,KAAK,aAAa,EAAC,QAAQ,KAAK,OAAO,MAAM,OAAM,CAAC,EACjD,KAAK,MAAM;AACV,iBAAK,aAAa,KAAK,KAAK,KAAK,mBAAmB,KAAK,QAAQ,CAAC,GAClE,KAAK,UAAU,UACfC,EAAE,yBAAyB,EAAE,QAAQ;AAAA,cACnC,WAAW;AAAA,YACb,CAAC;AAAA,WACF,EACA,MAAM,CAACC,MAAU;AAChB,oBAAQ,MAAMA,CAAK,GACnB,KAAK,UAAU;WAChB,EACA,QAAQ,MAAM,KAAK,MAAM,MAAM,eAAe,CAAC;AAAA,QACpD,CAAC;AAAA,MACH,CAAC;AAAA,IACF;AAAA,IACD,wBAAwB;AACtB,MAAI,KAAK,qBAAmB,OAAO,iBAAiB,UAAU,KAAK,QAAQ;AAAA,IAC5E;AAAA,IACD,iBAAiBC,GAAQ;AACvB,aAAOC,EAAU,iBAAiBD,CAAM;AAAA,IACzC;AAAA,EACF;AAAA,EACD,OAAO;AAAA;AAAA,IAEL,KAAKE,GAAS;AACZ,YAAMX,IAAO,SAASW,GAAS,EAAE;AACjC,MAAIX,IAAO,IAAG,KAAK,QAAQA,CAAI,IAC1B,KAAK,QAAQ,CAAC;AAAA,IACpB;AAAA,IACD,WAAW;AAAA,MACT,UAAU;AACR,aAAK,cAAa;AAAA,MACnB;AAAA,MACD,MAAM;AAAA,IACP;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,cAAa,GAClB,KAAK,UAAS,GACd,KAAK,SAAQ,GACb,KAAK,kBAAiB,GACtB,KAAK,uBAAsB,GAC3B,KAAK,iBAAgB,GACrB,KAAK,WAAU,GACf,KAAK,aAAY,GACjB,KAAK,sBAAqB;AAAA,EAC3B;AAAA,EACD,UAAU;AAER,IAAI,KAAK,OAAO,MAAM,YAAY,UAChC,KAAK,UAAU,MAAM;AACnB,WAAK,UAAU,MAAM;AACnB,aAAK,aAAa,EAAC,QAAQ,KAAK,OAAO,MAAM,OAAM,CAAC,EAC/C,KAAK,MAAM;AACV,eAAK,QAAQ,KAAK,EAAC,OAAO,EAAC,QAAQ,KAAK,OAAO,MAAM,OAAM,EAAC,CAAC;AAAA,SAC9D,EACA,MAAM,MAAM;AACX,eAAK,UAAU;QACjB,CAAC;AAAA,MACP,CAAC;AAAA,IACH,CAAC;AAAA,EAEJ;AAAA,EACD,gBAAgB;AACd,IAAAO,EAAE,UAAU,EAAE,UACV,KAAK,qBAAmB,OAAO,oBAAoB,UAAU,KAAK,QAAQ;AAAA,EAC/E;AAAA,EACD,QAAQ;AACN,IAAAK;EACF;AACF,GAndOC,IAAA,EAAA,OAAM,2DAA0D,GAO9DC,IAAA,EAAA,OAAM,mCAAkC;EARjD,KAAA;AAAA,EAUY,OAAM;;EAVlB,KAAA;AAAA,EAYY,OAAM;GAYLC,IAAA,EAAA,OAAM,MAAK,GACTC,IAAA,EAAA,OAAM,qDAAoD;EAzBzE,KAAA;AAAA,EA6BiB,OAAM;;EA7BvB,KAAA;AAAA,EA8BiB,OAAM;GAgBJC,KAAA,EAAA,OAAM,kBAAiB;EA9C1C,KAAA;AAAA,EAiEqB,OAAM;;EAjE3B,KAAA;AAAA,EAoEiB,OAAM;;EApEvB,KAAA;AAAA,EA6FiB,OAAM;GAIZC,KAAA,EAAA,OAAM,MAAK,GACTC,KAAA,EAAA,OAAM,qCAAoC;;;AAjGrD,SAAAC,EAAA,GAAAC,EA2GM,OA3GNR,GA2GM;AAAA,IA1GJS,EAKEC,GAAA;AAAA,MAJG,QAAQC,EAAM;AAAA,MACd,SAASC,EAAO;AAAA,MAChB,UAAUA,EAAQ;AAAA,MACnB,OAAM;AAAA;IANdC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAC,EAAA;AAAA,IAQIC,EAmGM,OAnGNd,GAmGM;AAAA,MAlGJe,EAIOJ,uBAJP,MAIO;AAAA,QAH8DD,EAAkB,sBAArFJ,EAAA,GAAAC,EAC2F,MAD3FS,GAC2FC,EAAtFP,EAAiB,kBAACC,aAAW,OAAOA,EAAA,OAAO,MAAM,QAAQA,EAAA,WAAW,SAAS,CAAA,GAAA,CAAA,WAClFJ,EAA8G,MAA9GW,GAA8GD,EAArDN,EAAE,GAAA,yCAAA,CAAA,GAAA,CAAA;AAAA;MAZnEC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,MAcME,EAkFOJ,EAAA,QAAA,WAAA;AAAA,QAhFF,eAAgBA,EAAgB;AAAA,QAChC,UAAUA,EAAW;AAAA,QACrB,QAAQA,EAAA,OAAO,MAAM;AAAA,QACrB,SAASA,EAAU;AAAA,QACnB,kBAAoBQ,EAAgB;AAAA,QACpC,QAAQT,EAAS;AAAA,QACjB,iBAAkBA,EAAqB;AAAA,SAR5C,MAkFO;AAAA,QAxELI,EAuEM,OAvENb,GAuEM;AAAA,UAtEJa,EAOM,OAPNZ,GAOM;AAAA,YANJY,EAKS,UAAA;AAAA,cALD,OAAM;AAAA,cAA6C,eAAY;AAAA,cAC/D,eAAY;AAAA,cAAiB,WAAQ;AAAA,cACpC,SAAKF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,OAAED,EAAe,kBAAA,CAAIA,EAAe;AAAA;cACQA,EAAe,wBAAvEZ,EAA0F,KAA1Fc,GAAyE,eAAa,WACtFd,EAA4E,KAA5Ee,IAAyD,iBAAe;AAAA;;UA9BtFV,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,UAuCUL,EAMSe,GAAA;AAAA,YALJ,cAAcb,EAAqB;AAAA,YACnC,WAAWC,OAAK,QAAQ,SAAS,OAAO;AAAA,YACzC,OAAM;AAAA,YACN,IAAG;AAAA;UA3CjBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,UA8CUC,EAgDU,WAhDVX,IAgDU;AAAA,YA/CRY,EAEOJ,kCAFP,MAEO;AAAA,cADLH,EAAmBgB,CAAA;AAAA;YAhDjCZ,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,YAkDYE,EAiBOJ,EAAA,QAAA,kBAAA;AAAA,cAjBsB,MAAI;AAAA,yBAA2BA,EAAU;AAAA,+BAA+BA,EAAgB;AAAA,gBAAwC,wBAAAA,EAAA,iBAAiB,eAAc,IAAA;AAAA,gCAAsCA,EAAE,GAAA,iCAAA;AAAA,8BAAiEA,EAAE,GAAA,+BAAA;AAAA;eAAvS,MAiBO;AAAA,cAVLG,EASM,OAAA;AAAA,gBATD,OAzDnBW,EAyDyB,CAAA,2DACoB,EAAA,gBAAAd,EAAA,0BAA0BA,EAAU,WAAA,CAAA,CAAA;AAAA,gBADE,MAAK;AAAA;gBAExEG,EAKM,eAHFH,EAAU,aAAGA,KAA2C,iCAAA,IAAA,GAAAA,EAAA,iBAAiB,eAAc,IAAA,CAAA;AAAA,oBAA4BA,EAAE,GAAA,+BAAA,CAAA,EAAA,GAAA,CAAA;AAAA,gBA7DzIC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,gBAiEwDF,EAAU,cAAlDL,KAAAC,EAA0D,OAA1DmB,EAA0D,KAjE1EC,EAAA,IAAA,EAAA;AAAA;;YAAAf,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,YAoEwEH,EAAmB,uBAA/EJ,KAAAC,EAOM,OAPNqB,IAOM;AAAA,cANJd,EAKO,QAAA,MAAA;AAAA,gBA1ErBD,EAsEmBI,EAAAN,EAAA,0CAAyC,KAC5C,CAAA;AAAA,gBAAAH,EAEWqB,GAAA;AAAA,kBAFD,MAAK;AAAA,kBAAQ,OAAiB,EAAA,QAAAlB,EAAA,OAAO,MAAM,OAAM;AAAA,kBAAI,QAAO;AAAA;kBAvEtF,SAAAmB,EAwEkB,MAAyD;AAAA,oBAAzDhB,EAAyD,gBAAhDH,EAAE,GAAA,kCAAA,CAAA,GAAA,CAAA;AAAA;kBAxE7B,GAAA;AAAA;;kBAAAgB,EAAA,IAAA,EAAA;AAAA,YAAAf,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,YAqFoBH,EAAS,kBADjBqB,EAKyBC,GAAA;AAAA,cAzFrC,KAAA;AAAA,cAsFe,mBAAiBtB,EAAS;AAAA,cAC1B,oBAAkBA,EAAqB;AAAA,oEAvFtDiB,EAAA,IAAA,EAAA;AAAA,YAAAf,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,YA0F6BF,EAAU,aA1FvCgB,EAAA,IAAA,EAAA,UA2FcI,EAA2FE,GAAA;AAAA,cA3FzG,KAAA;AAAA,cA2F6B,UAAUtB,EAAW;AAAA,cAAG,QAAQA,EAAA,OAAO,MAAM,UAAM;AAAA;YA3FhFC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,YA6FiEF,EAAU,cAA/DL,KAAAC,EAAuE,OAAvE2B,EAAuE,KA7FnFP,EAAA,IAAA,EAAA;AAAA;;;MAAAf,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAC,EAAA;AAAA,MAiGMC,EASM,OATNV,IASM;AAAA,QARJU,EAOM,OAPNT,IAOM;AAAA,UANJG,EAKsD2B,GAAA;AAAA,YAL1C,OAAM;AAAA,YACL,eAAaxB,EAAgB;AAAA,YAC7B,kBAAgBA,EAAQ;AAAA,YACxB,YAAUA,EAAO;AAAA,YACjB,kBAAgBA,EAAY;AAAA,YAC5B,gBAAcD,EAAY;AAAA;;;;;;;"}
1
+ {"version":3,"file":"Datasets.vue.mjs","sources":["../../lib/datasets/Datasets.vue"],"sourcesContent":["<template>\n <div class=\"datasets-container d-flex flex-column p-0 bg-transparent\">\n <datasets-top-controls\n :facets=\"facets\"\n :getPage=\"getPage\"\n :getLimit=\"getLimit\"\n class=\"datasets-top-controls\"\n />\n <div class=\"container-fluid datasets content\">\n <slot name=\"title\">\n <h1 class=\"row col-12 page-title catalog-title text-primary\" v-if=\"showCatalogDetails\">\n {{ getTranslationFor(getCatalog.title, $route.query.locale, getCatalog.languages) }}</h1>\n <h1 class=\"row col-12 page-title text-primary\" v-else>{{ $t('message.header.navigation.data.datasets') }}</h1>\n </slot>\n <slot\n name=\"content\"\n :datasets-count=\"getDatasetsCount\"\n :datasets=\"getDatasets\"\n :locale=\"$route.query.locale\"\n :loading=\"getLoading\"\n :use-dataset-facets=\"useDatasetFacets\"\n :facets=\"getFacets\"\n :available-facets=\"getAllAvailableFacets\"\n >\n <div class=\"row\">\n <div class=\"col d-flex d-md-none justify-content-end flex-wrap\">\n <button class=\"btn btn-primary mb-3 text-right text-white\" data-toggle=\"collapse\"\n data-target=\"#datasetFacets\" data-cy=\"btn-filter-toggle\"\n @click=\"filterCollapsed = !filterCollapsed\">\n <i class=\"material-icons small-icon align-bottom\" v-if=\"filterCollapsed\">arrow_drop_up</i>\n <i class=\"material-icons small-icon align-bottom\" v-else>arrow_drop_down</i>\n </button>\n </div>\n <datasets-facets\n v-if=\"useDatasetFacets\"\n class=\"col-md-3 col-12 mb-3 mb-md-0 px-0 collapse\" id=\"datasetFacets\"\n :dataScope=\"dataScope\"\n :available-facets=\"getAllAvailableFacets\"\n ></datasets-facets>\n<!-- <facets-->\n<!-- :facetsConfig=\"getAllAvailableFacets\"-->\n<!-- :facetsIds=\"$env.content.datasets.facets.defaultFacetOrder\"-->\n<!-- class=\"col-md-3 col-12 mb-3 mb-md-0 px-0 collapse\"-->\n<!-- id=\"datasetFacets\">-->\n<!-- </facets>-->\n <section class=\"col-md-9 col-12\">\n <slot name=\"datasets-filters\">\n <datasets-filters/>\n </slot>\n <slot name=\"datasets-found\" :data=\"{\n loading: getLoading,\n datasetsCount: getDatasetsCount,\n datasetsCountFormatted: getDatasetsCount.toLocaleString('fi'),\n loadingMessage: $t('message.datasets.loadingMessage'),\n countMessage: $t('message.datasets.countMessage'),\n }\">\n <div class=\"datasets-found alert alert-primary mt-3 d-flex flex-row\" role=\"status\"\n :class=\"{ 'alert-danger': getDatasetsCount <= 0 && !getLoading}\">\n <div>\n {{\n getLoading ? $t('message.datasets.loadingMessage') : `${getDatasetsCount.toLocaleString('fi')}\n ${$t('message.datasets.countMessage')}`\n }}\n </div>\n <div class=\"loading-spinner ml-3\" v-if=\"getLoading\"></div>\n </div>\n </slot>\n <div class=\"alert alert-warning mt-3 d-flex flex-row\" v-if=\"showScoreDisclaimer\">\n <span>\n {{ $t(\"message.datasets.scoreDisclaimer\") }}\n <app-link path=\"/mqa\" :query=\"{ locale: $route.query.locale }\" target=\"_blank\">\n <span>{{ $t(\"message.metadata.methodologyPage\") }}</span>\n </app-link>\n </span>\n </div>\n <!--\n <div class=\"alert alert-info mt-3\" v-if=\"getGeoBoundsById('modal-map')\">\n {{`${$t('message.datasets.geoBoundsMessagePre')}`}}<strong>{{getGeoBoundsById('modal-map')}}</strong>{{`. ${$t('message.datasets.geoBoundsMessageRemove')}`}}\n <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\" @click=\"resetGeoBounds('modal-map'); loadDatasets({})\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n -->\n <selectedFacetsOverview\n v-if=\"getFacets\"\n :selected-facets=\"getFacets\"\n :available-facets=\"getAllAvailableFacets\"\n >\n </selectedFacetsOverview>\n <template v-if=\"!getLoading\">\n <dataset-list :datasets=\"getDatasets\" :locale=\"$route.query.locale || 'en'\"></dataset-list>\n </template>\n <div class=\"loading-spinner mx-auto mt-3 mb-3\" v-if=\"getLoading\"></div>\n </section>\n </div>\n </slot>\n <div class=\"row\">\n <div class=\"column col-12 col-md-9 offset-md-3\">\n <pagination class=\"mt-3\"\n :items-count=\"getDatasetsCount\"\n :items-per-page=\"getLimit\"\n :get-page=\"getPage\"\n :get-page-count=\"getPageCount\"\n @setPageLimit=\"setPageLimit\"></pagination>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n /* eslint-disable no-undef */\n import { mapActions, mapGetters } from 'vuex';\n import {\n debounce,\n has,\n groupBy,\n uniqBy,\n toPairs,\n isArray,\n isNil,\n } from 'lodash-es';\n import $ from 'jquery';\n import fileTypes from '../utils/fileTypes';\n import Pagination from '../widgets/Pagination.vue';\n import SelectedFacetsOverview from '../facets/SelectedFacetsOverview';\n import AppLink from '../widgets/AppLink.vue';\n import { getTranslationFor, truncate, getImg } from '../utils/helpers';\n import DatasetsTopControls from \"../datasets/DatasetsTopControls.vue\";\n import DatasetsFilters from \"../datasets/DatasetsFilters.vue\";\n import DatasetList from './DatasetList.vue'\n import { useDatasetsHead } from '../composables/head'\n // import Facets from \"../facets_2.0/Facets.vue\"\n import DatasetsFacets from './datasetsFacets/DatasetsFacets.vue';\nexport default {\n name: 'Datasets',\n components: {\n DatasetsFilters,\n DatasetsTopControls,\n appLink: AppLink,\n selectedFacetsOverview: SelectedFacetsOverview,\n datasetsFacets: DatasetsFacets,\n pagination: Pagination,\n DatasetList,\n // Facets\n },\n props: {\n infiniteScrolling: {\n type: Boolean,\n default: false,\n },\n /**\n * @description Sets the catalog filter to a fixed catalog id. Disables the catalog facet and hides the facet in the selected facets overview.\n * @dev Use this prop if you want to use this component in a catalog page context where the catalog is already known (e.g., provider's page).\n */\n fixedCatalogFilter: {\n type: String,\n default: '',\n }\n },\n data() {\n return {\n baseUrl: this.$env.api.baseUrl,\n debouncedOnBottomScroll: debounce(this.onBottomScroll, 500),\n facetFields: [],\n lang: this.locale,\n filterCollapsed: true,\n catalogAllowed: false,\n useDatasetFacets: this.$env.content.datasets.facets.useDatasetFacets\n };\n },\n computed: {\n ...mapGetters('catalogDetails', [\n 'getCatalog',\n ]),\n ...mapGetters('datasets', [\n 'getDatasets',\n 'getDatasetsCount',\n 'getLimit',\n 'getLoading',\n 'getOffset',\n 'getPage',\n 'getPageCount',\n 'getMinScoring',\n ]),\n ...mapGetters('datasets', {\n // Rename getters to something different because we'll perform some modifications on them.\n // These modifications involve removing catalog related information from facets for fixed catalog filter mode\n getAllAvailableFacetsOriginal: 'getAllAvailableFacets',\n getFacetsOriginal: 'getFacets',\n }),\n showCatalogDetails() {\n return !isNil(this.$route.params.ctlg_id) || this.fixedCatalogFilter;\n },\n /**\n * @description Returns the current page.\n * @returns {Number}\n *\n * @deprecated use getPage from datasets store instead\n */\n page() {\n return this.$route.query.page;\n },\n /**\n * @description Returns the active facets according to the route parameters.\n * @returns {Object}\n */\n facets() {\n const facetFields = this.$env.content.datasets.facets.defaultFacetOrder;\n const wantsToLoadCatalogByParamOrProp = this.showCatalogDetails;\n\n const facetObj = facetFields.reduce((acc, field) => {\n acc[field] = (wantsToLoadCatalogByParamOrProp && field === 'catalog' && !this.fixedCatalogFilter)\n ? [this.$route.params.ctlg_id || undefined]\n : this.getUrlFacetsOrDefault(field);\n\n return acc;\n }, {});\n\n // if fixedCatalogFilter is set, then set it as superCatalog\n // requirement by bayern\n const facetObjWithMaybeDefaultSuperCatalog = this.fixedCatalogFilter\n ? {\n ...facetObj,\n superCatalog: [this.fixedCatalogFilter],\n }\n : facetObj;\n\n return facetObjWithMaybeDefaultSuperCatalog;\n },\n\n getAllAvailableFacets() {\n return this.showCatalogDetails\n ? this.getAllAvailableFacetsOriginal.filter(facet => facet.id !== 'catalog')\n : this.getAllAvailableFacetsOriginal;\n },\n\n getFacets() {\n // Returns a record of facets with the catalog facet removed if we're in fixed catalog filter mode\n return this.showCatalogDetails\n ? {\n ...this.getFacetsOriginal,\n catalog: []\n }\n : this.getFacetsOriginal;\n },\n\n currentSearchQuery() {\n return this.$route.query.query;\n },\n showScoreDisclaimer() {\n return this.getMinScoring > 0;\n },\n dataScope() {\n if (!this.$route.query.dataScope) return null;\n if (isArray(this.$route.query.dataScope) && this.$route.query.dataScope.length > 0) return this.$route.query.dataScope[0];\n if (isArray(this.$route.query.dataScope) && this.$route.query.dataScope.length === 0) return null;\n return this.$route.query.dataScope;\n },\n },\n methods: {\n isNil,\n ...mapActions('datasets', [\n 'loadDatasets',\n 'loadAdditionalDatasets',\n 'setPage',\n 'addFacet',\n 'removeFacet',\n 'setFacets',\n 'setFacetOperator',\n 'setFacetGroupOperator',\n 'setDataServices',\n 'setPageCount',\n 'setLimit',\n 'setLoading',\n 'setDataScope',\n ]),\n // The imported Lodash has function. Must be defined in Methods so we can use it in template\n has,\n isArray,\n truncate,\n getTranslationFor,\n getImg,\n /**\n * @description Handler-function for the scroll event.\n */\n onScroll() {\n const items = this.$el.querySelectorAll('.dataset');\n const lastItem = items[items.length - 1];\n if (lastItem) {\n const lastItemPos = lastItem.getBoundingClientRect();\n if (lastItemPos.bottom - window.innerHeight <= 0) {\n this.debouncedOnBottomScroll();\n }\n }\n },\n /**\n * @description Handler-function when bottom of the page is reached.\n */\n onBottomScroll() {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadAdditionalDatasets()\n .then(() => {\n this.$Progress.finish();\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n },\n initLimit() {\n const limit = parseInt(this.$route.query.limit, 10);\n if (limit > 0) this.setLimit(limit);\n },\n setPageLimit(value) {\n this.setLimit(value);\n this.initDatasets();\n },\n initDataScope() {\n this.setDataScope(this.dataScope);\n },\n /**\n * @description Determines the current page.\n */\n initPage() {\n const page = parseInt(this.$route.query.page, 10);\n if (page > 0) this.setPage(page);\n else this.setPage(1);\n },\n /**\n * @descritption Initialize the active facets by checking the route parameters\n */\n initFacets() {\n const fields = this.$env.content.datasets.facets.defaultFacetOrder;\n const facetsFromRouteParams = this.facets;\n\n this.facetFields.push(...fields);\n\n // Get fields that don't exist in the router query\n const fieldsNotInRouterQuery = fields.filter(field => {\n const fieldExists = facetsFromRouteParams[field] && facetsFromRouteParams[field].length > 0;\n return !fieldExists && !this.$route.query[field];\n });\n\n // Construct route query parameters to be added\n const routeQueryParamsToBeAdded = fieldsNotInRouterQuery.reduce((acc, field) => {\n acc[field] = [];\n return acc;\n }, {});\n // Add the route query params that are missing\n if (Object.keys(routeQueryParamsToBeAdded) > 0) {\n this.$router.push({query: {...this.$route.query, ...routeQueryParamsToBeAdded}});\n }\n\n this.setFacets(facetsFromRouteParams);\n },\n\n\n getUrlFacetsOrDefault(field) {\n const urlFacets = this.$route.query[field];\n return Array.isArray(urlFacets) ? urlFacets : (urlFacets ? [urlFacets] : []);\n },\n\n initFacetOperator() {\n // Always set facet operator to AND when in catalog details mode\n if (this.showCatalogDetails) this.setFacetOperator('AND');\n else {\n const op = this.$route.query.facetOperator;\n if (op === 'AND' || op === 'OR') this.setFacetOperator(op);\n }\n },\n initFacetGroupOperator() {\n // The facetGroupOperator should be the same as the facetOperator\n // Always set facet operator to AND when\n // in catalog details mode\n if (this.showCatalogDetails) this.setFacetGroupOperator('AND');\n else {\n const op = this.$route.query.facetOperator;\n if (op === 'AND' || op === 'OR') this.setFacetGroupOperator(op);\n }\n },\n /**\n * @descritption Initialize the active data services facet by checking the route parameters\n */\n initDataServices() {\n const ds = this.$route.query.dataServices;\n if (ds === 'true' || ds === 'false') this.setDataServices(ds);\n else {\n this.setDataServices('false');\n }\n },\n initDatasets() {\n this.$nextTick(() => {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadDatasets({locale: this.$route.query.locale})\n .then(() => {\n this.setPageCount(Math.ceil(this.getDatasetsCount / this.getLimit));\n this.$Progress.finish();\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n })\n .catch((error) => {\n console.error(error)\n this.$Progress.fail();\n })\n .finally(() => this.$root.$emit('contentLoaded'));\n });\n });\n },\n initInfiniteScrolling() {\n if (this.infiniteScrolling) window.addEventListener('scroll', this.onScroll);\n },\n getFileTypeColor(format) {\n return fileTypes.getFileTypeColor(format);\n },\n },\n watch: {\n // eslint-disable-next-line object-shorthand\n page(pageStr) {\n const page = parseInt(pageStr, 10);\n if (page > 0) this.setPage(page);\n else this.setPage(1);\n },\n dataScope: {\n handler() {\n this.initDataScope();\n },\n deep: true,\n },\n },\n created() {\n this.initDataScope();\n this.initLimit();\n this.initPage();\n this.initFacetOperator();\n this.initFacetGroupOperator();\n this.initDataServices();\n this.initFacets();\n this.initDatasets();\n this.initInfiniteScrolling();\n },\n mounted() {\n // This is supposed to fix the browser issue (https://gitlab.fokus.fraunhofer.de/piveau/organisation/piveau-scrum-board/-/issues/2344)\n if (this.$route.query.refresh === 'true') {\n this.$nextTick(() => {\n this.$nextTick(() => {\n this.loadDatasets({locale: this.$route.query.locale})\n .then(() => {\n this.$router.push({query: {locale: this.$route.query.locale}});\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n });\n }\n },\n beforeUnmount() {\n $('.tooltip').remove();\n if (this.infiniteScrolling) window.removeEventListener('scroll', this.onScroll);\n },\n setup() {\n useDatasetsHead();\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n\n.alert-primary {\n color: #042648;\n background-color: #cddbe8;\n border-color: #baccdf;\n}\n\n.page-title {\n // maybe we can change custom theme h1 to 3rem\n font-size: 3rem;\n margin-bottom: 15px;\n}\n\n.content {\n padding: 30px 30px 0 30px;\n margin-top: 15px;\n margin-bottom: 15px;\n background-color: white;\n}\n\n.router-link-active {\n color: #175baf !important;\n border: none !important;\n border-bottom: 2px solid #175baf !important;\n}\n\n.router-link-inactive {\n color: rgba(0, 0, 0, 0.7);\n border: none !important;\n\n &:hover {\n color: #175baf;\n }\n}\n\n.material-icons.small-icon {\n font-size: 20px;\n}\n\n@media screen and (min-width: 768px) {\n #datasetFacets {\n display: block\n }\n}\n</style>\n"],"names":["_sfc_main","DatasetsFilters","DatasetsTopControls","AppLink","SelectedFacetsOverview","DatasetsFacets","Pagination","DatasetList","debounce","mapGetters","isNil","facetFields","wantsToLoadCatalogByParamOrProp","facetObj","acc","field","facet","isArray","mapActions","has","truncate","getTranslationFor","getImg","items","lastItem","limit","value","page","fields","facetsFromRouteParams","routeQueryParamsToBeAdded","urlFacets","op","ds","$","error","format","fileTypes","pageStr","useDatasetsHead","_hoisted_1","_hoisted_2","_hoisted_5","_hoisted_6","_hoisted_9","_hoisted_13","_hoisted_14","_openBlock","_createElementBlock","_createVNode","_component_datasets_top_controls","$options","_ctx","_cache","_createTextVNode","_createElementVNode","_renderSlot","_hoisted_3","_toDisplayString","_hoisted_4","$data","$event","_hoisted_7","_hoisted_8","_createBlock","_component_datasets_facets","_createCommentVNode","_component_datasets_filters","_normalizeClass","_hoisted_10","_hoisted_11","_component_app_link","_withCtx","_component_selectedFacetsOverview","_component_dataset_list","_hoisted_12","_component_pagination"],"mappings":"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"}