@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.
- package/dist/configurations/configureModules.mjs +5 -7
- package/dist/configurations/configureModules.mjs.map +1 -1
- package/dist/data-provider-interface/DPIMenu.vue.d.ts +2 -2
- package/dist/datasetDetails/DatasetDetailsDescription.vue.d.ts +1 -1
- package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +2 -2
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +2 -2
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +2 -2
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.d.ts +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +1 -1
- package/dist/datasets/Datasets.vue.mjs +87 -87
- package/dist/datasets/Datasets.vue.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/package.json +1 -1
- package/dist/facets_2.0/Facets.vue.d.ts +0 -19
- package/dist/facets_2.0/Facets.vue.mjs +0 -31
- package/dist/facets_2.0/Facets.vue.mjs.map +0 -1
- package/dist/facets_2.0/Facets.vue2.mjs +0 -5
- package/dist/facets_2.0/Facets.vue2.mjs.map +0 -1
- package/dist/facets_2.0/facets/DataServicesFacet.vue.d.ts +0 -75
- package/dist/facets_2.0/facets/DataServicesFacet.vue.mjs +0 -49
- package/dist/facets_2.0/facets/DataServicesFacet.vue.mjs.map +0 -1
- package/dist/facets_2.0/facets/ExpandableSelectFacet.vue.d.ts +0 -93
- package/dist/facets_2.0/facets/ExpandableSelectFacet.vue.mjs +0 -143
- package/dist/facets_2.0/facets/ExpandableSelectFacet.vue.mjs.map +0 -1
- package/dist/facets_2.0/facets/ExpandableSelectFacet.vue2.mjs +0 -5
- package/dist/facets_2.0/facets/ExpandableSelectFacet.vue2.mjs.map +0 -1
- package/dist/facets_2.0/facets/FacetTitle.vue.d.ts +0 -18
- package/dist/facets_2.0/facets/FacetTitle.vue.mjs +0 -38
- package/dist/facets_2.0/facets/FacetTitle.vue.mjs.map +0 -1
- package/dist/facets_2.0/facets/FacetTitle.vue2.mjs +0 -5
- package/dist/facets_2.0/facets/FacetTitle.vue2.mjs.map +0 -1
- package/dist/facets_2.0/facets/RadioFacet.vue.d.ts +0 -58
- package/dist/facets_2.0/facets/RadioFacet.vue.mjs +0 -92
- package/dist/facets_2.0/facets/RadioFacet.vue.mjs.map +0 -1
- package/dist/facets_2.0/facets/SelectFacetsItem.vue.d.ts +0 -34
- package/dist/facets_2.0/facets/SelectFacetsItem.vue.mjs +0 -45
- package/dist/facets_2.0/facets/SelectFacetsItem.vue.mjs.map +0 -1
- package/dist/facets_2.0/getFacet.mjs +0 -20
- package/dist/facets_2.0/getFacet.mjs.map +0 -1
- package/dist/facets_2.0/toggleQueryParam.mjs +0 -11
- package/dist/facets_2.0/toggleQueryParam.mjs.map +0 -1
- package/dist/facets_2.0/useFacets.mjs +0 -14
- package/dist/facets_2.0/useFacets.mjs.map +0 -1
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { configureServices as
|
|
2
|
-
import { configureComponents as
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
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":["
|
|
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
|
|
2
|
-
import { debounce as L, isNil as F, isArray as
|
|
3
|
-
import
|
|
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 "
|
|
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
|
|
9
|
-
import { truncate as
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
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
|
|
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
|
|
25
|
+
import { useDatasetsHead as U } from "../composables/head/useDatasetsHead.mjs";
|
|
27
26
|
import "vue-i18n";
|
|
28
|
-
import
|
|
27
|
+
import Q from "./datasetsFacets/DatasetsFacets.vue.mjs";
|
|
29
28
|
import "./Datasets.vue2.mjs";
|
|
30
|
-
import
|
|
31
|
-
const
|
|
29
|
+
import V from "../_virtual/_plugin-vue_export-helper.mjs";
|
|
30
|
+
const H = {
|
|
32
31
|
name: "Datasets",
|
|
33
32
|
components: {
|
|
34
|
-
DatasetsFilters:
|
|
35
|
-
DatasetsTopControls:
|
|
36
|
-
appLink:
|
|
33
|
+
DatasetsFilters: E,
|
|
34
|
+
DatasetsTopControls: _,
|
|
35
|
+
appLink: I,
|
|
37
36
|
selectedFacetsOverview: T,
|
|
38
|
-
datasetsFacets:
|
|
39
|
-
pagination:
|
|
40
|
-
DatasetList:
|
|
41
|
-
Facets
|
|
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
|
-
...
|
|
68
|
+
...h("catalogDetails", [
|
|
70
69
|
"getCatalog"
|
|
71
70
|
]),
|
|
72
|
-
...
|
|
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
|
-
...
|
|
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,
|
|
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
|
-
...
|
|
106
|
+
...g,
|
|
108
107
|
superCatalog: [this.fixedCatalogFilter]
|
|
109
|
-
} :
|
|
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 ?
|
|
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:
|
|
150
|
-
truncate:
|
|
151
|
-
getTranslationFor:
|
|
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
|
|
196
|
-
Object.keys(
|
|
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(),
|
|
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
|
-
|
|
272
|
+
D(".tooltip").remove(), this.infiniteScrolling && window.removeEventListener("scroll", this.onScroll);
|
|
274
273
|
},
|
|
275
274
|
setup() {
|
|
276
|
-
|
|
275
|
+
U();
|
|
277
276
|
}
|
|
278
|
-
},
|
|
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
|
-
},
|
|
280
|
+
}, K = {
|
|
282
281
|
key: 1,
|
|
283
282
|
class: "row col-12 page-title text-primary"
|
|
284
|
-
},
|
|
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
|
-
},
|
|
286
|
+
}, x = {
|
|
288
287
|
key: 1,
|
|
289
288
|
class: "material-icons small-icon align-bottom"
|
|
290
|
-
},
|
|
289
|
+
}, tt = { class: "col-md-9 col-12" }, et = {
|
|
291
290
|
key: 0,
|
|
292
291
|
class: "loading-spinner ml-3"
|
|
293
|
-
},
|
|
292
|
+
}, at = {
|
|
294
293
|
key: 0,
|
|
295
294
|
class: "alert alert-warning mt-3 d-flex flex-row"
|
|
296
|
-
},
|
|
295
|
+
}, st = {
|
|
297
296
|
key: 3,
|
|
298
297
|
class: "loading-spinner mx-auto mt-3 mb-3"
|
|
299
|
-
},
|
|
300
|
-
function
|
|
301
|
-
const
|
|
302
|
-
return
|
|
303
|
-
|
|
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
|
-
|
|
311
|
-
|
|
312
|
-
a.showCatalogDetails ? (
|
|
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
|
-
|
|
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
|
-
|
|
325
|
-
|
|
326
|
-
|
|
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] = (
|
|
330
|
+
onClick: e[0] || (e[0] = (lt) => s.filterCollapsed = !s.filterCollapsed)
|
|
332
331
|
}, [
|
|
333
|
-
s.filterCollapsed ? (
|
|
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
|
-
|
|
338
|
-
|
|
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
|
-
|
|
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
|
-
|
|
345
|
-
|
|
346
|
-
|
|
344
|
+
r("section", tt, [
|
|
345
|
+
m(t.$slots, "datasets-filters", {}, () => [
|
|
346
|
+
p($)
|
|
347
347
|
], !0),
|
|
348
348
|
e[2] || (e[2] = i()),
|
|
349
|
-
|
|
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
|
-
|
|
359
|
-
class:
|
|
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
|
-
|
|
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 ? (
|
|
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 ? (
|
|
370
|
-
|
|
369
|
+
a.showScoreDisclaimer ? (o(), l("div", at, [
|
|
370
|
+
r("span", null, [
|
|
371
371
|
i(d(t.$t("message.datasets.scoreDisclaimer")) + " ", 1),
|
|
372
|
-
|
|
372
|
+
p(C, {
|
|
373
373
|
path: "/mqa",
|
|
374
374
|
query: { locale: t.$route.query.locale },
|
|
375
375
|
target: "_blank"
|
|
376
376
|
}, {
|
|
377
|
-
default:
|
|
378
|
-
|
|
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
|
-
])) :
|
|
383
|
+
])) : c("", !0),
|
|
384
384
|
e[4] || (e[4] = i()),
|
|
385
|
-
a.getFacets ? (
|
|
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"])) :
|
|
389
|
+
}, null, 8, ["selected-facets", "available-facets"])) : c("", !0),
|
|
390
390
|
e[5] || (e[5] = i()),
|
|
391
|
-
t.getLoading ?
|
|
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 ? (
|
|
397
|
+
t.getLoading ? (o(), l("div", st)) : c("", !0)
|
|
398
398
|
])
|
|
399
399
|
])
|
|
400
400
|
], !0),
|
|
401
401
|
e[10] || (e[10] = i()),
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
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
|
|
417
|
+
const _t = /* @__PURE__ */ V(H, [["render", rt], ["__scopeId", "data-v-6558a4e6"]]);
|
|
418
418
|
export {
|
|
419
|
-
|
|
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\">×</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\">×</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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"}
|