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

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 (70) hide show
  1. package/dist/composables/useDataInfoBox.mjs +21 -20
  2. package/dist/composables/useDataInfoBox.mjs.map +1 -1
  3. package/dist/configurations/configureModules.d.ts +4 -0
  4. package/dist/configurations/configureModules.mjs +6 -4
  5. package/dist/configurations/configureModules.mjs.map +1 -1
  6. package/dist/data-provider-interface/CatalogueMQA.vue.mjs +221 -157
  7. package/dist/data-provider-interface/CatalogueMQA.vue.mjs.map +1 -1
  8. package/dist/data-provider-interface/DPIMenu.vue.d.ts +2 -2
  9. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs +37 -37
  10. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
  11. package/dist/datasetDetails/DatasetDetailsDescription.vue.d.ts +1 -1
  12. package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +2 -2
  13. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +2 -2
  14. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +2 -2
  15. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +1 -1
  16. package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.d.ts +1 -1
  17. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +1 -1
  18. package/dist/datasets/Datasets.vue.mjs +80 -80
  19. package/dist/datasets/Datasets.vue.mjs.map +1 -1
  20. package/dist/facets_2.0/Facets.vue.d.ts +19 -0
  21. package/dist/facets_2.0/Facets.vue.mjs +31 -0
  22. package/dist/facets_2.0/Facets.vue.mjs.map +1 -0
  23. package/dist/facets_2.0/Facets.vue2.mjs +5 -0
  24. package/dist/facets_2.0/Facets.vue2.mjs.map +1 -0
  25. package/dist/facets_2.0/facets/DataServicesFacet.vue.d.ts +75 -0
  26. package/dist/facets_2.0/facets/DataServicesFacet.vue.mjs +49 -0
  27. package/dist/facets_2.0/facets/DataServicesFacet.vue.mjs.map +1 -0
  28. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue.d.ts +93 -0
  29. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue.mjs +143 -0
  30. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue.mjs.map +1 -0
  31. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue2.mjs +5 -0
  32. package/dist/facets_2.0/facets/ExpandableSelectFacet.vue2.mjs.map +1 -0
  33. package/dist/facets_2.0/facets/FacetTitle.vue.d.ts +18 -0
  34. package/dist/facets_2.0/facets/FacetTitle.vue.mjs +38 -0
  35. package/dist/facets_2.0/facets/FacetTitle.vue.mjs.map +1 -0
  36. package/dist/facets_2.0/facets/FacetTitle.vue2.mjs +5 -0
  37. package/dist/facets_2.0/facets/FacetTitle.vue2.mjs.map +1 -0
  38. package/dist/facets_2.0/facets/RadioFacet.vue.d.ts +58 -0
  39. package/dist/facets_2.0/facets/RadioFacet.vue.mjs +92 -0
  40. package/dist/facets_2.0/facets/RadioFacet.vue.mjs.map +1 -0
  41. package/dist/facets_2.0/facets/SelectFacetsItem.vue.d.ts +34 -0
  42. package/dist/facets_2.0/facets/SelectFacetsItem.vue.mjs +45 -0
  43. package/dist/facets_2.0/facets/SelectFacetsItem.vue.mjs.map +1 -0
  44. package/dist/facets_2.0/getFacet.d.ts +3 -0
  45. package/dist/facets_2.0/getFacet.mjs +20 -0
  46. package/dist/facets_2.0/getFacet.mjs.map +1 -0
  47. package/dist/facets_2.0/toggleQueryParam.d.ts +9 -0
  48. package/dist/facets_2.0/toggleQueryParam.mjs +11 -0
  49. package/dist/facets_2.0/toggleQueryParam.mjs.map +1 -0
  50. package/dist/facets_2.0/types.d.ts +9 -0
  51. package/dist/facets_2.0/useFacets.d.ts +5 -0
  52. package/dist/facets_2.0/useFacets.mjs +14 -0
  53. package/dist/facets_2.0/useFacets.mjs.map +1 -0
  54. package/dist/index.d.ts +3 -2
  55. package/dist/index.mjs +276 -273
  56. package/dist/index.mjs.map +1 -1
  57. package/dist/piveau-hub-ui-modules.css +1 -1
  58. package/dist/search/Search.vue.d.ts +2 -0
  59. package/dist/search/Search.vue.mjs +20 -0
  60. package/dist/search/Search.vue.mjs.map +1 -0
  61. package/dist/services/datasetService.d.ts +5 -0
  62. package/dist/services/datasetService.mjs +2 -1
  63. package/dist/services/datasetService.mjs.map +1 -1
  64. package/dist/store/modules/cataloguesStore.d.ts +6 -0
  65. package/dist/store/modules/cataloguesStore.mjs +10 -4
  66. package/dist/store/modules/cataloguesStore.mjs.map +1 -1
  67. package/dist/store/modules/datasetsStore.d.ts +12 -0
  68. package/dist/store/modules/datasetsStore.mjs +26 -14
  69. package/dist/store/modules/datasetsStore.mjs.map +1 -1
  70. package/package.json +1 -1
@@ -1,15 +1,15 @@
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";
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";
4
4
  import A from "../utils/fileTypes.mjs";
5
5
  import k from "./datasetsFacets/DatasetsFacets.vue.mjs";
6
- import T from "../widgets/Pagination.vue.mjs";
7
- import I from "../facets/SelectedFacetsOverview.vue.mjs";
6
+ import I from "../widgets/Pagination.vue.mjs";
7
+ import T from "../facets/SelectedFacetsOverview.vue.mjs";
8
8
  import B from "../widgets/AppLink.vue.mjs";
9
- import { truncate as M, getTranslationFor as N, getImg as E } from "../utils/helpers.mjs";
10
- import G from "./DatasetsTopControls.vue.mjs";
11
- import R from "./DatasetsFilters.vue.mjs";
12
- import _ from "./DatasetList.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";
13
13
  import "@unhead/vue";
14
14
  import "merge-anything";
15
15
  import "../configurations/config-schema/apiSchema.mjs";
@@ -21,22 +21,24 @@ import "../configurations/config-schema/languagesSchema.mjs";
21
21
  import "../configurations/config-schema/themesSchema.mjs";
22
22
  import "../configurations/config-schema/trackerSchema.mjs";
23
23
  import "../configurations/config-schema/configSchema.mjs";
24
- import { resolveComponent as n, openBlock as o, createElementBlock as l, createVNode as p, createTextVNode as i, createElementVNode as r, renderSlot as m, toDisplayString as c, createBlock as y, createCommentVNode as g, normalizeClass as j, withCtx as U } from "vue";
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";
25
25
  import "vue-router";
26
26
  import { useDatasetsHead as Q } from "../composables/head/useDatasetsHead.mjs";
27
27
  import "vue-i18n";
28
+ import V from "../facets_2.0/Facets.vue.mjs";
28
29
  import "./Datasets.vue2.mjs";
29
- import V from "../_virtual/_plugin-vue_export-helper.mjs";
30
- const H = {
30
+ import H from "../_virtual/_plugin-vue_export-helper.mjs";
31
+ const W = {
31
32
  name: "Datasets",
32
33
  components: {
33
- DatasetsFilters: R,
34
- DatasetsTopControls: G,
34
+ DatasetsFilters: G,
35
+ DatasetsTopControls: E,
35
36
  appLink: B,
36
- selectedFacetsOverview: I,
37
+ selectedFacetsOverview: T,
37
38
  datasetsFacets: k,
38
- pagination: T,
39
- DatasetList: _
39
+ pagination: I,
40
+ DatasetList: R,
41
+ Facets: V
40
42
  },
41
43
  props: {
42
44
  infiniteScrolling: {
@@ -64,10 +66,10 @@ const H = {
64
66
  };
65
67
  },
66
68
  computed: {
67
- ...h("catalogDetails", [
69
+ ...f("catalogDetails", [
68
70
  "getCatalog"
69
71
  ]),
70
- ...h("datasets", [
72
+ ...f("datasets", [
71
73
  "getDatasets",
72
74
  "getDatasetsCount",
73
75
  "getLimit",
@@ -77,7 +79,7 @@ const H = {
77
79
  "getPageCount",
78
80
  "getMinScoring"
79
81
  ]),
80
- ...h("datasets", {
82
+ ...f("datasets", {
81
83
  // Rename getters to something different because we'll perform some modifications on them.
82
84
  // These modifications involve removing catalog related information from facets for fixed catalog filter mode
83
85
  getAllAvailableFacetsOriginal: "getAllAvailableFacets",
@@ -100,11 +102,11 @@ const H = {
100
102
  * @returns {Object}
101
103
  */
102
104
  facets() {
103
- const t = this.$env.content.datasets.facets.defaultFacetOrder, e = this.showCatalogDetails, d = t.reduce((s, a) => (s[a] = e && a === "catalog" && !this.fixedCatalogFilter ? [this.$route.params.ctlg_id || void 0] : this.getUrlFacetsOrDefault(a), s), {});
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
106
  return this.fixedCatalogFilter ? {
105
- ...d,
107
+ ...c,
106
108
  superCatalog: [this.fixedCatalogFilter]
107
- } : d;
109
+ } : c;
108
110
  },
109
111
  getAllAvailableFacets() {
110
112
  return this.showCatalogDetails ? this.getAllAvailableFacetsOriginal.filter((t) => t.id !== "catalog") : this.getAllAvailableFacetsOriginal;
@@ -122,7 +124,7 @@ const H = {
122
124
  return this.getMinScoring > 0;
123
125
  },
124
126
  dataScope() {
125
- 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;
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
128
  }
127
129
  },
128
130
  methods: {
@@ -144,10 +146,10 @@ const H = {
144
146
  ]),
145
147
  // The imported Lodash has function. Must be defined in Methods so we can use it in template
146
148
  has: q,
147
- isArray: f,
149
+ isArray: h,
148
150
  truncate: M,
149
151
  getTranslationFor: N,
150
- getImg: E,
152
+ getImg: _,
151
153
  /**
152
154
  * @description Handler-function for the scroll event.
153
155
  */
@@ -190,8 +192,8 @@ const H = {
190
192
  initFacets() {
191
193
  const t = this.$env.content.datasets.facets.defaultFacetOrder, e = this.facets;
192
194
  this.facetFields.push(...t);
193
- const u = t.filter((s) => !(e[s] && e[s].length > 0) && !this.$route.query[s]).reduce((s, a) => (s[a] = [], s), {});
194
- Object.keys(u) > 0 && this.$router.push({ query: { ...this.$route.query, ...u } }), this.setFacets(e);
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);
195
197
  },
196
198
  getUrlFacetsOrDefault(t) {
197
199
  const e = this.$route.query[t];
@@ -224,7 +226,7 @@ const H = {
224
226
  this.$nextTick(() => {
225
227
  this.$nextTick(() => {
226
228
  this.$Progress.start(), this.loadDatasets({ locale: this.$route.query.locale }).then(() => {
227
- this.setPageCount(Math.ceil(this.getDatasetsCount / this.getLimit)), this.$Progress.finish(), D('[data-toggle="tooltip"]').tooltip({
229
+ this.setPageCount(Math.ceil(this.getDatasetsCount / this.getLimit)), this.$Progress.finish(), y('[data-toggle="tooltip"]').tooltip({
228
230
  container: "body"
229
231
  });
230
232
  }).catch((t) => {
@@ -268,49 +270,49 @@ const H = {
268
270
  });
269
271
  },
270
272
  beforeUnmount() {
271
- D(".tooltip").remove(), this.infiniteScrolling && window.removeEventListener("scroll", this.onScroll);
273
+ y(".tooltip").remove(), this.infiniteScrolling && window.removeEventListener("scroll", this.onScroll);
272
274
  },
273
275
  setup() {
274
276
  Q();
275
277
  }
276
- }, W = { class: "datasets-container d-flex flex-column p-0 bg-transparent" }, z = { class: "container-fluid datasets content" }, J = {
278
+ }, z = { class: "datasets-container d-flex flex-column p-0 bg-transparent" }, J = { class: "container-fluid datasets content" }, K = {
277
279
  key: 0,
278
280
  class: "row col-12 page-title catalog-title text-primary"
279
- }, K = {
281
+ }, X = {
280
282
  key: 1,
281
283
  class: "row col-12 page-title text-primary"
282
- }, X = { class: "row" }, Y = { class: "col d-flex d-md-none justify-content-end flex-wrap" }, Z = {
284
+ }, Y = { class: "row" }, Z = { class: "col d-flex d-md-none justify-content-end flex-wrap" }, x = {
283
285
  key: 0,
284
286
  class: "material-icons small-icon align-bottom"
285
- }, x = {
287
+ }, tt = {
286
288
  key: 1,
287
289
  class: "material-icons small-icon align-bottom"
288
- }, tt = { class: "col-md-9 col-12" }, et = {
290
+ }, et = { class: "col-md-9 col-12" }, at = {
289
291
  key: 0,
290
292
  class: "loading-spinner ml-3"
291
- }, at = {
293
+ }, st = {
292
294
  key: 0,
293
295
  class: "alert alert-warning mt-3 d-flex flex-row"
294
- }, st = {
296
+ }, it = {
295
297
  key: 3,
296
298
  class: "loading-spinner mx-auto mt-3 mb-3"
297
- }, it = { class: "row" }, ot = { class: "column col-12 col-md-9 offset-md-3" };
298
- function rt(t, e, d, u, s, a) {
299
- const S = n("datasets-top-controls"), $ = n("datasets-facets"), v = n("datasets-filters"), C = n("app-link"), b = n("selectedFacetsOverview"), O = n("dataset-list"), w = n("pagination");
300
- return o(), l("div", W, [
301
- p(S, {
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($, {
302
304
  facets: a.facets,
303
305
  getPage: t.getPage,
304
306
  getLimit: t.getLimit,
305
307
  class: "datasets-top-controls"
306
308
  }, null, 8, ["facets", "getPage", "getLimit"]),
307
309
  e[11] || (e[11] = i()),
308
- r("div", z, [
309
- m(t.$slots, "title", {}, () => [
310
- a.showCatalogDetails ? (o(), l("h1", J, c(a.getTranslationFor(t.getCatalog.title, t.$route.query.locale, t.getCatalog.languages)), 1)) : (o(), l("h1", K, c(t.$t("message.header.navigation.data.datasets")), 1))
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))
311
313
  ], !0),
312
314
  e[9] || (e[9] = i()),
313
- m(t.$slots, "content", {
315
+ p(t.$slots, "content", {
314
316
  datasetsCount: t.getDatasetsCount,
315
317
  datasets: t.getDatasets,
316
318
  locale: t.$route.query.locale,
@@ -319,34 +321,32 @@ function rt(t, e, d, u, s, a) {
319
321
  facets: a.getFacets,
320
322
  availableFacets: a.getAllAvailableFacets
321
323
  }, () => [
322
- r("div", X, [
323
- r("div", Y, [
324
- r("button", {
324
+ o("div", Y, [
325
+ o("div", Z, [
326
+ o("button", {
325
327
  class: "btn btn-primary mb-3 text-right text-white",
326
328
  "data-toggle": "collapse",
327
329
  "data-target": "#datasetFacets",
328
330
  "data-cy": "btn-filter-toggle",
329
- onClick: e[0] || (e[0] = (lt) => s.filterCollapsed = !s.filterCollapsed)
331
+ onClick: e[0] || (e[0] = (nt) => s.filterCollapsed = !s.filterCollapsed)
330
332
  }, [
331
- i(c(t.$t("message.datasetFacets.title")) + " ", 1),
332
- s.filterCollapsed ? (o(), l("i", Z, "arrow_drop_up")) : (o(), l("i", x, "arrow_drop_down"))
333
+ s.filterCollapsed ? (r(), l("i", x, "arrow_drop_up")) : (r(), l("i", tt, "arrow_drop_down"))
333
334
  ])
334
335
  ]),
335
336
  e[7] || (e[7] = i()),
336
- s.useDatasetFacets ? (o(), y($, {
337
- key: 0,
337
+ g(v, {
338
+ facetsConfig: a.getAllAvailableFacets,
339
+ facetsIds: t.$env.content.datasets.facets.defaultFacetOrder,
338
340
  class: "col-md-3 col-12 mb-3 mb-md-0 px-0 collapse",
339
- id: "datasetFacets",
340
- dataScope: a.dataScope,
341
- "available-facets": a.getAllAvailableFacets
342
- }, null, 8, ["dataScope", "available-facets"])) : g("", !0),
341
+ id: "datasetFacets"
342
+ }, null, 8, ["facetsConfig", "facetsIds"]),
343
343
  e[8] || (e[8] = i()),
344
- r("section", tt, [
345
- m(t.$slots, "datasets-filters", {}, () => [
346
- p(v)
344
+ o("section", et, [
345
+ p(t.$slots, "datasets-filters", {}, () => [
346
+ g(C)
347
347
  ], !0),
348
348
  e[2] || (e[2] = i()),
349
- m(t.$slots, "datasets-found", {
349
+ p(t.$slots, "datasets-found", {
350
350
  data: {
351
351
  loading: t.getLoading,
352
352
  datasetsCount: t.getDatasetsCount,
@@ -355,53 +355,53 @@ function rt(t, e, d, u, s, a) {
355
355
  countMessage: t.$t("message.datasets.countMessage")
356
356
  }
357
357
  }, () => [
358
- r("div", {
358
+ o("div", {
359
359
  class: j(["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
- r("div", null, c(t.getLoading ? t.$t("message.datasets.loadingMessage") : `${t.getDatasetsCount.toLocaleString("fi")}
362
+ o("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 ? (o(), l("div", et)) : g("", !0)
365
+ t.getLoading ? (r(), l("div", at)) : u("", !0)
366
366
  ], 2)
367
367
  ], !0),
368
368
  e[3] || (e[3] = i()),
369
- a.showScoreDisclaimer ? (o(), l("div", at, [
370
- r("span", null, [
371
- i(c(t.$t("message.datasets.scoreDisclaimer")) + " ", 1),
372
- p(C, {
369
+ a.showScoreDisclaimer ? (r(), l("div", st, [
370
+ o("span", null, [
371
+ i(d(t.$t("message.datasets.scoreDisclaimer")) + " ", 1),
372
+ g(S, {
373
373
  path: "/mqa",
374
374
  query: { locale: t.$route.query.locale },
375
375
  target: "_blank"
376
376
  }, {
377
377
  default: U(() => [
378
- r("span", null, c(t.$t("message.metadata.methodologyPage")), 1)
378
+ o("span", null, d(t.$t("message.metadata.methodologyPage")), 1)
379
379
  ]),
380
380
  _: 1
381
381
  }, 8, ["query"])
382
382
  ])
383
- ])) : g("", !0),
383
+ ])) : u("", !0),
384
384
  e[4] || (e[4] = i()),
385
- a.getFacets ? (o(), y(b, {
385
+ a.getFacets ? (r(), D(b, {
386
386
  key: 1,
387
387
  "selected-facets": a.getFacets,
388
388
  "available-facets": a.getAllAvailableFacets
389
- }, null, 8, ["selected-facets", "available-facets"])) : g("", !0),
389
+ }, null, 8, ["selected-facets", "available-facets"])) : u("", !0),
390
390
  e[5] || (e[5] = i()),
391
- t.getLoading ? g("", !0) : (o(), y(O, {
391
+ t.getLoading ? u("", !0) : (r(), D(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 ? (o(), l("div", st)) : g("", !0)
397
+ t.getLoading ? (r(), l("div", it)) : u("", !0)
398
398
  ])
399
399
  ])
400
400
  ], !0),
401
401
  e[10] || (e[10] = i()),
402
- r("div", it, [
403
- r("div", ot, [
404
- p(w, {
402
+ o("div", ot, [
403
+ o("div", rt, [
404
+ g(w, {
405
405
  class: "mt-3",
406
406
  "items-count": t.getDatasetsCount,
407
407
  "items-per-page": t.getLimit,
@@ -414,8 +414,8 @@ function rt(t, e, d, u, s, a) {
414
414
  ])
415
415
  ]);
416
416
  }
417
- const Et = /* @__PURE__ */ V(H, [["render", rt], ["__scopeId", "data-v-26127e16"]]);
417
+ const Gt = /* @__PURE__ */ H(W, [["render", lt], ["__scopeId", "data-v-d65adfa9"]]);
418
418
  export {
419
- Et as default
419
+ Gt 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 {{ $t('message.datasetFacets.title') }}\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 <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\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 },\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\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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"}
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":"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"}
@@ -0,0 +1,19 @@
1
+ import { FacetsConfig } from './types';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
4
+ facetsConfig: FacetsConfig;
5
+ facetsIds: [String];
6
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
7
+ facetsConfig: FacetsConfig;
8
+ facetsIds: [String];
9
+ }>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
10
+ export default _default;
11
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
+ type __VLS_TypePropsToRuntimeProps<T> = {
13
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
14
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
15
+ } : {
16
+ type: import('vue').PropType<T[K]>;
17
+ required: true;
18
+ };
19
+ };
@@ -0,0 +1,31 @@
1
+ import { defineComponent as d, toRef as p, computed as g, openBlock as o, createElementBlock as n, createElementVNode as C, toDisplayString as _, createTextVNode as v, Fragment as h, renderList as k, createBlock as F, resolveDynamicComponent as y, unref as x } from "vue";
2
+ import { getFacet as B } from "./getFacet.mjs";
3
+ import { useFacets as R } from "./useFacets.mjs";
4
+ import { useRoute as D, useRouter as E } from "vue-router";
5
+ import { toggleQueryParam as I } from "./toggleQueryParam.mjs";
6
+ const N = { style: { width: "25%" } }, V = { class: "mb-3" }, S = /* @__PURE__ */ d({
7
+ __name: "Facets",
8
+ props: {
9
+ facetsConfig: {},
10
+ facetsIds: {}
11
+ },
12
+ setup(i) {
13
+ const r = i, a = D(), l = E(), f = p(r, "facetsConfig"), u = R(f, r.facetsIds), s = g(() => u.value.filter((e) => e.items.length)), m = (e, t) => {
14
+ I(e, t.id, l, a);
15
+ };
16
+ return (e, t) => (o(), n("div", N, [
17
+ C("h1", null, _(s.value.length), 1),
18
+ t[0] || (t[0] = v()),
19
+ (o(!0), n(h, null, k(s.value, (c) => (o(), n("div", V, [
20
+ (o(), F(y(x(B)(c.id)), {
21
+ config: c,
22
+ onFacetClicked: m
23
+ }, null, 40, ["config"]))
24
+ ]))), 256))
25
+ ]));
26
+ }
27
+ });
28
+ export {
29
+ S as default
30
+ };
31
+ //# sourceMappingURL=Facets.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Facets.vue.mjs","sources":["../../lib/facets_2.0/Facets.vue"],"sourcesContent":["<template>\n <div style=\"width:25%\">\n <h1>{{ nonZeroConfig.length }}</h1>\n <div v-for=\"item in nonZeroConfig\" class=\"mb-3\">\n <component\n :is=\"getFacet(item.id)\"\n :config=\"item\"\n @facet-clicked=\"facetClicked\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { getFacet } from \"./getFacet\"\n import {FacetsConfig} from \"./types\";\n import {useFacets} from \"./useFacets\";\n import {computed, toRef} from \"vue\";\n import {useRoute, useRouter} from \"vue-router\";\n import {toggleQueryParam} from \"./toggleQueryParam\";\n\n const props = defineProps<{\n facetsConfig: FacetsConfig\n facetsIds: [String]\n }>();\n\n const route = useRoute();\n const router = useRouter();\n const facetsConfig = toRef(props, 'facetsConfig');\n const config = useFacets(facetsConfig, props.facetsIds, route);\n const nonZeroConfig = computed(() =>\n config.value.filter(element => element.items.length));\n const facetClicked = (facetId, item) => {\n toggleQueryParam(facetId, item.id, router, route);\n }\n</script>\n"],"names":["props","__props","route","useRoute","router","useRouter","facetsConfig","toRef","config","useFacets","nonZeroConfig","computed","element","facetClicked","facetId","item","toggleQueryParam"],"mappings":";;;;;;;;;;;;AAqBE,UAAMA,IAAQC,GAKRC,IAAQC,KACRC,IAASC,KACTC,IAAeC,EAAMP,GAAO,cAAc,GAC1CQ,IAASC,EAAUH,GAAcN,EAAM,SAAgB,GACvDU,IAAgBC,EAAS,MAC3BH,EAAO,MAAM,OAAO,CAAWI,MAAAA,EAAQ,MAAM,MAAM,CAAC,GAClDC,IAAe,CAACC,GAASC,MAAS;AACtC,MAAAC,EAAiBF,GAASC,EAAK,IAAIX,GAAQF,CAAK;AAAA,IAAA;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import f from "./Facets.vue.mjs";
2
+ export {
3
+ f as default
4
+ };
5
+ //# sourceMappingURL=Facets.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Facets.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,75 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ config: ObjectConstructor;
3
+ }>, {}, {
4
+ yes: any;
5
+ no: any;
6
+ property: any;
7
+ title: any;
8
+ toolTipTitle: any;
9
+ }, {
10
+ getDataServices: import('vuex').Computed;
11
+ }, {
12
+ changeDataServices(dataServices: any): void;
13
+ setDataServices: import('vuex').ActionMethod;
14
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
15
+ config: ObjectConstructor;
16
+ }>> & Readonly<{}>, {}, {}, {
17
+ RadioFacet: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
18
+ config: ObjectConstructor;
19
+ property: StringConstructor;
20
+ optionIds: {
21
+ type: ArrayConstructor;
22
+ default: string[];
23
+ };
24
+ optionLabels: {
25
+ type: ArrayConstructor;
26
+ };
27
+ initialOption: StringConstructor;
28
+ change: FunctionConstructor;
29
+ }>, {}, {
30
+ id: string;
31
+ option: string | undefined;
32
+ header: any;
33
+ toolTipTitle: any;
34
+ yes: any;
35
+ no: any;
36
+ }, {
37
+ myId(): string;
38
+ myTitleId(): string;
39
+ }, {
40
+ onChange(id: any): void;
41
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
42
+ config: ObjectConstructor;
43
+ property: StringConstructor;
44
+ optionIds: {
45
+ type: ArrayConstructor;
46
+ default: string[];
47
+ };
48
+ optionLabels: {
49
+ type: ArrayConstructor;
50
+ };
51
+ initialOption: StringConstructor;
52
+ change: FunctionConstructor;
53
+ }>> & Readonly<{}>, {
54
+ optionIds: unknown[];
55
+ }, {}, {
56
+ FacetTitle: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
57
+ title: StringConstructor;
58
+ tooltip: StringConstructor;
59
+ titleId: {
60
+ type: StringConstructor;
61
+ default: null;
62
+ };
63
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
64
+ title: StringConstructor;
65
+ tooltip: StringConstructor;
66
+ titleId: {
67
+ type: StringConstructor;
68
+ default: null;
69
+ };
70
+ }>> & Readonly<{}>, {
71
+ titleId: string;
72
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
73
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
74
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
75
+ export default _default;