- add vue-facing-decorator (replace vue-class-component and vue-property-decorator)
- npm updates (stabele axios version) + adaption in axios config - remove maps route from src/router/index.ts
This commit is contained in:
parent
82872bf3fb
commit
5603614045
2697
package-lock.json
generated
2697
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
|
@ -11,7 +11,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-free": "^6.1.1",
|
"@fortawesome/fontawesome-free": "^6.1.1",
|
||||||
"@openfonts/open-sans_all": "^1.44.2",
|
"@openfonts/open-sans_all": "^1.44.2",
|
||||||
"axios": "^0.27.2",
|
"axios": "^1.2.2",
|
||||||
"class-transformer": "^0.5.1",
|
"class-transformer": "^0.5.1",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
"dayjs": "^1.10.7",
|
"dayjs": "^1.10.7",
|
||||||
|
@ -19,11 +19,9 @@
|
||||||
"qs": "^6.10.1",
|
"qs": "^6.10.1",
|
||||||
"rxjs": "^7.5.5",
|
"rxjs": "^7.5.5",
|
||||||
"vue": "^3.0.0",
|
"vue": "^3.0.0",
|
||||||
"vue-class-component": "^8.0.0-0",
|
"vue-facing-decorator": "^2.1.13",
|
||||||
"vue-matomo": "^4.1.0",
|
"vue-matomo": "^4.1.0",
|
||||||
"vue-property-decorator": "^9.1.2",
|
|
||||||
"vue-router": "^4.0.12",
|
"vue-router": "^4.0.12",
|
||||||
"xml2js": "^0.4.23",
|
|
||||||
"xslt3": "^2.4.0"
|
"xslt3": "^2.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { AxiosRequestConfig } from "axios";
|
||||||
import * as qs from "qs";
|
import * as qs from "qs";
|
||||||
|
|
||||||
export const axiosRequestConfiguration: AxiosRequestConfig = {
|
export const axiosRequestConfiguration: AxiosRequestConfig = {
|
||||||
responseType: "text",
|
// responseType: "text",
|
||||||
headers: {
|
headers: {
|
||||||
// "Content-Type": "text/plain",
|
// "Content-Type": "text/plain",
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
|
@ -11,5 +11,13 @@ export const axiosRequestConfiguration: AxiosRequestConfig = {
|
||||||
// "Access-Control-Allow-Credentials": "true",
|
// "Access-Control-Allow-Credentials": "true",
|
||||||
// "Access-Control-Allow-Origin": "*",
|
// "Access-Control-Allow-Origin": "*",
|
||||||
},
|
},
|
||||||
paramsSerializer: (params) => qs.stringify(params, { arrayFormat: "repeat" }),
|
// paramsSerializer: {
|
||||||
|
// indexes: null, // by default: false
|
||||||
|
// },
|
||||||
|
|
||||||
|
paramsSerializer: {
|
||||||
|
serialize: (params: Record<string, number>) => {
|
||||||
|
return qs.stringify(params, { arrayFormat: "repeat" });
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Watch } from "vue-facing-decorator";
|
||||||
import { Watch } from "vue-property-decorator";
|
|
||||||
// import { RouteLocation } from "vue-router";
|
// import { RouteLocation } from "vue-router";
|
||||||
import HelloWorld from "./components/HelloWorld/HelloWorld.vue";
|
import HelloWorld from "./components/HelloWorld/HelloWorld.vue";
|
||||||
import HomeViewComponent from "./views/home-view/home-view-component.vue";
|
import HomeViewComponent from "./views/home-view/home-view-component.vue";
|
||||||
|
@ -26,7 +25,7 @@ import { VUE_APP_PORTAL } from "./constants";
|
||||||
// import { ActiveFilterCategories } from "@/models/solr";
|
// import { ActiveFilterCategories } from "@/models/solr";
|
||||||
|
|
||||||
// https://devsoniq.com/how-to-toggle-bulma-css-navbar-in-your-vue-js-project/
|
// https://devsoniq.com/how-to-toggle-bulma-css-navbar-in-your-vue-js-project/
|
||||||
@Options({
|
@Component({
|
||||||
components: {
|
components: {
|
||||||
HelloWorld,
|
HelloWorld,
|
||||||
HomeViewComponent,
|
HomeViewComponent,
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Watch } from "vue-facing-decorator";
|
||||||
import { Watch } from "vue-property-decorator";
|
|
||||||
// import { RouteLocation } from "vue-router";
|
// import { RouteLocation } from "vue-router";
|
||||||
import HelloWorld from "./components/HelloWorld/HelloWorld.vue";
|
import HelloWorld from "./components/HelloWorld/HelloWorld.vue";
|
||||||
import HomeViewComponent from "./views/home-view/home-view-component.vue";
|
import HomeViewComponent from "./views/home-view/home-view-component.vue";
|
||||||
|
@ -25,7 +24,7 @@ import { APP_URL, VUE_APP_PORTAL } from "./constants";
|
||||||
// import { ActiveFilterCategories } from "@/models/solr";
|
// import { ActiveFilterCategories } from "@/models/solr";
|
||||||
|
|
||||||
// https://devsoniq.com/how-to-toggle-bulma-css-navbar-in-your-vue-js-project/
|
// https://devsoniq.com/how-to-toggle-bulma-css-navbar-in-your-vue-js-project/
|
||||||
@Options({
|
@Component({
|
||||||
components: {
|
components: {
|
||||||
HelloWorld,
|
HelloWorld,
|
||||||
HomeViewComponent,
|
HomeViewComponent,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Prop } from "vue-facing-decorator";
|
||||||
import { Prop } from "vue-property-decorator";
|
// import { Prop } from "vue-property-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "HelloWorld",
|
name: "HelloWorld",
|
||||||
})
|
})
|
||||||
export default class HelloWorld extends Vue {
|
export default class HelloWorld extends Vue {
|
||||||
|
|
|
@ -1,16 +1,22 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Prop, Emit } from "vue-facing-decorator";
|
||||||
import { Prop, Emit } from "vue-property-decorator";
|
// import { Prop, Emit } from "vue-property-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "ActiveFacetCategory",
|
name: "ActiveFacetCategory",
|
||||||
})
|
})
|
||||||
export default class ActiveFacetCategory extends Vue {
|
export default class ActiveFacetCategory extends Vue {
|
||||||
bar = "";
|
bar = "";
|
||||||
|
|
||||||
@Prop([Array])
|
// @Prop([Array])
|
||||||
|
@Prop({
|
||||||
|
type: Array<string>,
|
||||||
|
})
|
||||||
filterItems!: string[];
|
filterItems!: string[];
|
||||||
|
|
||||||
@Prop([String])
|
// @Prop([String])
|
||||||
|
@Prop({
|
||||||
|
type: String,
|
||||||
|
})
|
||||||
categoryName!: string;
|
categoryName!: string;
|
||||||
|
|
||||||
// @Prop([String])
|
// @Prop([String])
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { FacetItem } from "@/models/headers";
|
import { FacetItem } from "@/models/headers";
|
||||||
// import { FilterItem } from "@/models/solr";
|
// import { FilterItem } from "@/models/solr";
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Prop, Emit } from "vue-facing-decorator";
|
||||||
import { Prop, Emit } from "vue-property-decorator";
|
// import { Prop, Emit } from "vue-property-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "FacetCategory",
|
name: "FacetCategory",
|
||||||
})
|
})
|
||||||
export default class FacetCategory extends Vue {
|
export default class FacetCategory extends Vue {
|
||||||
|
@ -14,7 +14,10 @@ export default class FacetCategory extends Vue {
|
||||||
@Prop()
|
@Prop()
|
||||||
facetItems!: Array<FacetItem>;
|
facetItems!: Array<FacetItem>;
|
||||||
|
|
||||||
@Prop([String])
|
// @Prop([String])
|
||||||
|
@Prop({
|
||||||
|
type: String,
|
||||||
|
})
|
||||||
filterName!: string;
|
filterName!: string;
|
||||||
|
|
||||||
get alias(): string {
|
get alias(): string {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Prop } from "vue-facing-decorator";
|
||||||
// import { Prop, Emit } from "vue-property-decorator";
|
// import { Prop, Emit } from "vue-property-decorator";
|
||||||
import { Prop } from "vue-property-decorator";
|
// import { Prop } from "vue-property-decorator";
|
||||||
import { LatLng, LatLngBounds, Map, MapOptions, Rectangle, tileLayer, TileLayer, CRS } from "leaflet";
|
import { LatLng, LatLngBounds, Map, MapOptions, Rectangle, tileLayer, TileLayer, CRS } from "leaflet";
|
||||||
// import { LayerOptions } from "./map-options";
|
// import { LayerOptions } from "./map-options";
|
||||||
// import DatasetService from "../../services/dataset.service";
|
// import DatasetService from "../../services/dataset.service";
|
||||||
|
@ -11,7 +11,7 @@ const DEFAULT_BASE_LAYER_NAME = "BaseLayer";
|
||||||
// const DEFAULT_BASE_LAYER_URL = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";
|
// const DEFAULT_BASE_LAYER_URL = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";
|
||||||
const DEFAULT_BASE_LAYER_ATTRIBUTION = '© <a href="http://basemap.at" target="_blank">Basemap.at</a>, <a href="http://www.geologie.ac.at" target="_blank">Geologie.ac.at</a>';
|
const DEFAULT_BASE_LAYER_ATTRIBUTION = '© <a href="http://basemap.at" target="_blank">Basemap.at</a>, <a href="http://www.geologie.ac.at" target="_blank">Geologie.ac.at</a>';
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
// selector: "app-map",
|
// selector: "app-map",
|
||||||
// templateUrl: "map.component.html",
|
// templateUrl: "map.component.html",
|
||||||
name: "MapComponent",
|
name: "MapComponent",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "SimpleSearchComponent",
|
name: "SimpleSearchComponent",
|
||||||
})
|
})
|
||||||
export default class SimpleSearchComponent extends Vue {
|
export default class SimpleSearchComponent extends Vue {
|
||||||
|
|
|
@ -1,16 +1,15 @@
|
||||||
// import Vue from "vue";
|
// import Vue from "vue";
|
||||||
// import { Component, Prop } from 'vue-property-decorator';
|
|
||||||
// import debounce from 'lodash/debounce';
|
// import debounce from 'lodash/debounce';
|
||||||
// import { DatasetService } from "../../services/dataset.service";
|
// import { DatasetService } from "../../services/dataset.service";
|
||||||
import DatasetService from "../../services/dataset.service";
|
import DatasetService from "../../services/dataset.service";
|
||||||
import { SolrSettings } from "@/models/solr";
|
import { SolrSettings } from "@/models/solr";
|
||||||
// import { ref } from "vue";
|
// import { ref } from "vue";
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Prop, Emit } from "vue-facing-decorator";
|
||||||
import { Prop, Emit } from "vue-property-decorator";
|
// import { Prop, Emit } from "vue-property-decorator";
|
||||||
import { Dataset, Suggestion, SearchType } from "@/models/dataset";
|
import { Dataset, Suggestion, SearchType } from "@/models/dataset";
|
||||||
import { SOLR_HOST, SOLR_CORE } from "@/constants";
|
import { SOLR_HOST, SOLR_CORE } from "@/constants";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "VsInput",
|
name: "VsInput",
|
||||||
})
|
})
|
||||||
export default class VsInput extends Vue {
|
export default class VsInput extends Vue {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { Dataset } from "@/models/dataset";
|
import { Dataset } from "@/models/dataset";
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Prop } from "vue-facing-decorator";
|
||||||
import { Prop } from "vue-property-decorator";
|
// import { Prop } from "vue-property-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "VsResult",
|
name: "VsResult",
|
||||||
})
|
})
|
||||||
export default class VsResult extends Vue {
|
export default class VsResult extends Vue {
|
||||||
|
|
|
@ -139,3 +139,18 @@ https://prettier.io/docs/en/cli.html
|
||||||
|
|
||||||
=================================== xslt3
|
=================================== xslt3
|
||||||
npm install xslt3 --save
|
npm install xslt3 --save
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=================================== vue-facing-decorator
|
||||||
|
npm install --save vue-facing-decorator
|
||||||
|
|
||||||
|
npm uninstall --save vue-class-component
|
||||||
|
package.json:
|
||||||
|
"vue-class-component": "^8.0.0-0",
|
||||||
|
|
||||||
|
npm uninstall --save vue-property-decorator
|
||||||
|
package.json:
|
||||||
|
"vue-property-decorator": "^9.1.2",
|
||||||
|
|
||||||
|
npm uninstall --save xml2js
|
|
@ -1,7 +1,7 @@
|
||||||
import { createWebHistory, createRouter } from "vue-router";
|
import { createWebHistory, createRouter } from "vue-router";
|
||||||
import HomeViewComponent from "@/views/home-view/home-view-component.vue";
|
import HomeViewComponent from "@/views/home-view/home-view-component.vue";
|
||||||
import HelpViewComponent from "@/views/help-view/help-view-component.vue";
|
import HelpViewComponent from "@/views/help-view/help-view-component.vue";
|
||||||
import MapViewComponent from "@/views/map-view/map-view.component.vue";
|
// import MapViewComponent from "@/views/map-view/map-view.component.vue";
|
||||||
import SearchViewComponent from "@/views/search-view/search-view-component";
|
import SearchViewComponent from "@/views/search-view/search-view-component";
|
||||||
import ServiceViewComponent from "@/views/services-view/service-view-component.vue";
|
import ServiceViewComponent from "@/views/services-view/service-view-component.vue";
|
||||||
import OaiViewComponent from "@/views/oai-view/oai-view-component.vue";
|
import OaiViewComponent from "@/views/oai-view/oai-view-component.vue";
|
||||||
|
@ -22,11 +22,11 @@ const routes = [
|
||||||
name: "Help",
|
name: "Help",
|
||||||
component: HelpViewComponent,
|
component: HelpViewComponent,
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
path: "/map",
|
// path: "/map",
|
||||||
name: "Map",
|
// name: "Map",
|
||||||
component: MapViewComponent,
|
// component: MapViewComponent,
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
path: "/search/:display?/:type?",
|
path: "/search/:display?/:type?",
|
||||||
name: "Search",
|
name: "Search",
|
||||||
|
|
|
@ -9,8 +9,8 @@ import { VUE_APP_PORTAL } from "@/constants";
|
||||||
// import { deserialize, instanceToInstance } from "class-transformer";
|
// import { deserialize, instanceToInstance } from "class-transformer";
|
||||||
import { deserialize } from "class-transformer";
|
import { deserialize } from "class-transformer";
|
||||||
// import { OAI_DATASETS } from "./mock-oai-datasets";
|
// import { OAI_DATASETS } from "./mock-oai-datasets";
|
||||||
import { OaiDataset, OaiPerson } from "@/models/oai";
|
// import { OaiDataset, OaiPerson } from "@/models/oai";
|
||||||
import xml2js from "xml2js";
|
// import xml2js from "xml2js";
|
||||||
|
|
||||||
class DatasetService {
|
class DatasetService {
|
||||||
// for the autocomplete search
|
// for the autocomplete search
|
||||||
|
@ -183,132 +183,132 @@ class DatasetService {
|
||||||
return dataset;
|
return dataset;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getOaiDatasets(): Observable<OaiDataset[]> {
|
// public getOaiDatasets(): Observable<OaiDataset[]> {
|
||||||
const apiUrl = "https://data.tethys.at/oai?verb=ListRecords&metadataPrefix=oai_datacite";
|
// const apiUrl = "https://data.tethys.at/oai?verb=ListRecords&metadataPrefix=oai_datacite";
|
||||||
const oaiDatasets = api.get<string>(apiUrl).pipe(
|
// const oaiDatasets = api.get<string>(apiUrl).pipe(
|
||||||
map(
|
// map(
|
||||||
(response: string) => {
|
// (response: string) => {
|
||||||
// const parser = new DOMParser();
|
// // const parser = new DOMParser();
|
||||||
// const xmlDoc: XMLDocument = parser.parseFromString(response, "application/xml");
|
// // const xmlDoc: XMLDocument = parser.parseFromString(response, "application/xml");
|
||||||
|
|
||||||
// const xslDoc = parser.parseFromString(this.xsl, "application/xml");
|
// // const xslDoc = parser.parseFromString(this.xsl, "application/xml");
|
||||||
// const xsltProcessor = new XSLTProcessor();
|
// // const xsltProcessor = new XSLTProcessor();
|
||||||
// xsltProcessor.importStylesheet(xslDoc);
|
// // xsltProcessor.importStylesheet(xslDoc);
|
||||||
// console.log(xmlDoc);
|
// // console.log(xmlDoc);
|
||||||
// const xmlDom = xsltProcessor.transformToDocument(xmlDoc);
|
// // const xmlDom = xsltProcessor.transformToDocument(xmlDoc);
|
||||||
|
|
||||||
// const serializer = new XMLSerializer();
|
// // const serializer = new XMLSerializer();
|
||||||
// const html = serializer.serializeToString(xmlDom.documentElement);
|
// // const html = serializer.serializeToString(xmlDom.documentElement);
|
||||||
// console.log(html);
|
// // console.log(html);
|
||||||
|
|
||||||
// const arrOai = new Array<OaiDataset>();
|
// // const arrOai = new Array<OaiDataset>();
|
||||||
// return arrOai;
|
// // return arrOai;
|
||||||
const arrOai = this.parseXML(response);
|
// const arrOai = this.parseXML(response);
|
||||||
return arrOai;
|
// return arrOai;
|
||||||
// .then((data) => {
|
// // .then((data) => {
|
||||||
// return data;
|
// // return data;
|
||||||
// });
|
// // });
|
||||||
},
|
// },
|
||||||
// (error: string) => this.errorHandler(error),
|
// // (error: string) => this.errorHandler(error),
|
||||||
),
|
// ),
|
||||||
);
|
// );
|
||||||
// const oaiDatasets = of(OAI_DATASETS);
|
// // const oaiDatasets = of(OAI_DATASETS);
|
||||||
|
|
||||||
// this.messageService.add('HeroService: fetched heroes');
|
// // this.messageService.add('HeroService: fetched heroes');
|
||||||
return oaiDatasets;
|
// return oaiDatasets;
|
||||||
}
|
// }
|
||||||
|
|
||||||
private parseXML(xmlStr: string): Array<OaiDataset> {
|
// private parseXML(xmlStr: string): Array<OaiDataset> {
|
||||||
// let k = "";
|
// // let k = "";
|
||||||
const arr: OaiDataset[] = [];
|
// const arr: OaiDataset[] = [];
|
||||||
const domParser = new DOMParser();
|
// const domParser = new DOMParser();
|
||||||
const doc = domParser.parseFromString(xmlStr, "application/xml");
|
// const doc = domParser.parseFromString(xmlStr, "application/xml");
|
||||||
const records = doc.getElementsByTagName("ListRecords")[0];
|
// const records = doc.getElementsByTagName("ListRecords")[0];
|
||||||
// // const rt = xmlNode.resumptionToken;
|
// // // const rt = xmlNode.resumptionToken;
|
||||||
// for (let i = 0; i < records.length; i++) {
|
// // for (let i = 0; i < records.length; i++) {
|
||||||
// console.log(records[i].getAttribute("name"));
|
// // console.log(records[i].getAttribute("name"));
|
||||||
// }
|
// // }
|
||||||
|
|
||||||
const parser: xml2js.Parser = new xml2js.Parser({
|
// const parser: xml2js.Parser = new xml2js.Parser({
|
||||||
trim: true,
|
// trim: true,
|
||||||
explicitArray: false,
|
// explicitArray: false,
|
||||||
ignoreAttrs: false,
|
// ignoreAttrs: false,
|
||||||
// mergeAttrs: true,
|
// // mergeAttrs: true,
|
||||||
});
|
// });
|
||||||
parser.parseString(records.outerHTML, function (err: Error | null, result: any) {
|
// parser.parseString(records.outerHTML, function (err: Error | null, result: any) {
|
||||||
const xmlNode = result.ListRecords;
|
// const xmlNode = result.ListRecords;
|
||||||
// const rt = xmlNode.resumptionToken;
|
// // const rt = xmlNode.resumptionToken;
|
||||||
for (const rNode in xmlNode.record) {
|
// for (const rNode in xmlNode.record) {
|
||||||
const item = xmlNode.record[rNode];
|
// const item = xmlNode.record[rNode];
|
||||||
|
|
||||||
const dc = item.metadata.resource;
|
// const dc = item.metadata.resource;
|
||||||
const t = dc.titles.title;
|
// const t = dc.titles.title;
|
||||||
const id = dc.identifier._;
|
// const id = dc.identifier._;
|
||||||
|
|
||||||
const lang = "en"; //dc.titles.title.attributes("xml",True)->lang;
|
// const lang = "en"; //dc.titles.title.attributes("xml",True)->lang;
|
||||||
let title: string;
|
// let title: string;
|
||||||
if (lang == "en" && t.length > 1) {
|
// if (lang == "en" && t.length > 1) {
|
||||||
title = t[1]._;
|
// title = t[1]._;
|
||||||
} else {
|
// } else {
|
||||||
title = t[0]._;
|
// title = t[0]._;
|
||||||
}
|
// }
|
||||||
|
|
||||||
let creator = "";
|
// let creator = "";
|
||||||
if (dc.creators.creator instanceof Array) {
|
// if (dc.creators.creator instanceof Array) {
|
||||||
dc.creators.creator.forEach((person: OaiPerson) => {
|
// dc.creators.creator.forEach((person: OaiPerson) => {
|
||||||
creator += person.creatorName + "; ";
|
// creator += person.creatorName + "; ";
|
||||||
});
|
// });
|
||||||
} else {
|
// } else {
|
||||||
creator += dc.creators.creator.creatorName._;
|
// creator += dc.creators.creator.creatorName._;
|
||||||
}
|
// }
|
||||||
|
|
||||||
let contributor = "";
|
// let contributor = "";
|
||||||
if (dc.contributors) {
|
// if (dc.contributors) {
|
||||||
if (dc.contributors.contributor instanceof Array) {
|
// if (dc.contributors.contributor instanceof Array) {
|
||||||
dc.contributors.contributor.forEach((person: OaiPerson) => {
|
// dc.contributors.contributor.forEach((person: OaiPerson) => {
|
||||||
contributor += person.contributorName + "; ";
|
// contributor += person.contributorName + "; ";
|
||||||
});
|
// });
|
||||||
} else {
|
// } else {
|
||||||
contributor += dc.contributors.contributor.contributorName;
|
// contributor += dc.contributors.contributor.contributorName;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// ?.map((u: any) => u.creatorName._).join("; ");
|
// // ?.map((u: any) => u.creatorName._).join("; ");
|
||||||
// foreach ($dc->creators->creator as $c) {
|
// // foreach ($dc->creators->creator as $c) {
|
||||||
// foreach ($c->creatorName as $d) {
|
// // foreach ($c->creatorName as $d) {
|
||||||
// if (count(explode(',',$d)) > 1) {
|
// // if (count(explode(',',$d)) > 1) {
|
||||||
// $creator .= explode(',',$d)[0] . ', ' . substr(explode(',',$d)[1],1,1) . '; ';
|
// // $creator .= explode(',',$d)[0] . ', ' . substr(explode(',',$d)[1],1,1) . '; ';
|
||||||
// } else {
|
// // } else {
|
||||||
// $creator .= explode(',',$d)[0];
|
// // $creator .= explode(',',$d)[0];
|
||||||
// }
|
// // }
|
||||||
|
|
||||||
// }
|
// // }
|
||||||
// }
|
// // }
|
||||||
|
|
||||||
const north = dc.geoLocations.geoLocation.geoLocationBox.northBoundLatitude;
|
// const north = dc.geoLocations.geoLocation.geoLocationBox.northBoundLatitude;
|
||||||
const east = dc.geoLocations.geoLocation.geoLocationBox.eastBoundLongitude;
|
// const east = dc.geoLocations.geoLocation.geoLocationBox.eastBoundLongitude;
|
||||||
const south = dc.geoLocations.geoLocation.geoLocationBox.southBoundLatitude;
|
// const south = dc.geoLocations.geoLocation.geoLocationBox.southBoundLatitude;
|
||||||
const west = dc.geoLocations.geoLocation.geoLocationBox.westBoundLongitude;
|
// const west = dc.geoLocations.geoLocation.geoLocationBox.westBoundLongitude;
|
||||||
|
|
||||||
const subject = dc.subjects.subject.map((u: any) => u._).join(", ");
|
// const subject = dc.subjects.subject.map((u: any) => u._).join(", ");
|
||||||
|
|
||||||
const oaiDataset = {
|
// const oaiDataset = {
|
||||||
doi: id,
|
// doi: id,
|
||||||
title: title,
|
// title: title,
|
||||||
creator: creator,
|
// creator: creator,
|
||||||
contributor: contributor,
|
// contributor: contributor,
|
||||||
subject: subject,
|
// subject: subject,
|
||||||
north: north,
|
// north: north,
|
||||||
south: south,
|
// south: south,
|
||||||
east: east,
|
// east: east,
|
||||||
west: west,
|
// west: west,
|
||||||
} as OaiDataset;
|
// } as OaiDataset;
|
||||||
arr.push(oaiDataset);
|
// arr.push(oaiDataset);
|
||||||
}
|
// }
|
||||||
// resolve(arr);
|
// // resolve(arr);
|
||||||
});
|
// });
|
||||||
return arr;
|
// return arr;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// private prepareOAI(xml: any) : Array<OaiDataset> {
|
// private prepareOAI(xml: any) : Array<OaiDataset> {
|
||||||
// //
|
// //
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "ContactViewComponent",
|
name: "ContactViewComponent",
|
||||||
// components: {
|
// components: {
|
||||||
// VsInput,
|
// VsInput,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Prop } from "vue-facing-decorator";
|
||||||
import { DbDataset } from "@/models/dataset";
|
import { DbDataset } from "@/models/dataset";
|
||||||
import { Prop } from "vue-property-decorator";
|
// import { Prop } from "vue-property-decorator";
|
||||||
import DatasetService from "../../services/dataset.service";
|
import DatasetService from "../../services/dataset.service";
|
||||||
import { Subscription } from "rxjs";
|
import { Subscription } from "rxjs";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
@ -10,7 +10,7 @@ import VsInput from "@/components/vs-input/vs-input.vue";
|
||||||
import { Suggestion } from "@/models/dataset";
|
import { Suggestion } from "@/models/dataset";
|
||||||
import { VUE_APP_PORTAL } from "@/constants";
|
import { VUE_APP_PORTAL } from "@/constants";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "DatasetDetailComponent",
|
name: "DatasetDetailComponent",
|
||||||
components: {
|
components: {
|
||||||
VsInput,
|
VsInput,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
|
||||||
// import { Prop } from "vue-property-decorator";
|
// import { Prop } from "vue-property-decorator";
|
||||||
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "HelpViewComponent",
|
name: "HelpViewComponent",
|
||||||
})
|
})
|
||||||
export default class HelpViewComponent extends Vue {
|
export default class HelpViewComponent extends Vue {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
import VsInput from "@/components/vs-input/vs-input.vue";
|
import VsInput from "@/components/vs-input/vs-input.vue";
|
||||||
import { Suggestion } from "@/models/dataset";
|
import { Suggestion } from "@/models/dataset";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "HomeViewComponent",
|
name: "HomeViewComponent",
|
||||||
components: {
|
components: {
|
||||||
VsInput,
|
VsInput,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
// import { Options, Vue } from "vue-class-component";
|
||||||
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "ImprintViewComponent",
|
name: "ImprintViewComponent",
|
||||||
// components: {
|
// components: {
|
||||||
// VsInput,
|
// VsInput,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
import MapComponent from "@/components/map/map.component.vue";
|
import MapComponent from "@/components/map/map.component.vue";
|
||||||
// import { Marker, MapOptions, Control, icon, LatLngBoundsExpression } from "leaflet";
|
// import { Marker, MapOptions, Control, icon, LatLngBoundsExpression } from "leaflet";
|
||||||
import { MapOptions } from "leaflet";
|
import { MapOptions } from "leaflet";
|
||||||
|
@ -7,7 +7,7 @@ import { MapOptions } from "leaflet";
|
||||||
// const DEFAULT_BASE_LAYER_URL = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";
|
// const DEFAULT_BASE_LAYER_URL = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";
|
||||||
// const DEFAULT_BASE_LAYER_ATTRIBUTION = '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors';
|
// const DEFAULT_BASE_LAYER_ATTRIBUTION = '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors';
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "MapViewComponent",
|
name: "MapViewComponent",
|
||||||
components: {
|
components: {
|
||||||
MapComponent,
|
MapComponent,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "OaiViewComponent",
|
name: "OaiViewComponent",
|
||||||
})
|
})
|
||||||
export default class OaiViewComponent extends Vue {}
|
export default class OaiViewComponent extends Vue {}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue, Prop } from "vue-facing-decorator";
|
||||||
import { Prop } from "vue-property-decorator";
|
// import { Prop } from "vue-property-decorator";
|
||||||
import VsInput from "@/components/vs-input/vs-input.vue";
|
import VsInput from "@/components/vs-input/vs-input.vue";
|
||||||
import VsResult from "@/components/vs-result/vs-result.vue";
|
import VsResult from "@/components/vs-result/vs-result.vue";
|
||||||
import FacetCategory from "@/components/face-category/facet-category.vue";
|
import FacetCategory from "@/components/face-category/facet-category.vue";
|
||||||
|
@ -13,7 +13,7 @@ import { ActiveFilterCategories } from "@/models/solr";
|
||||||
import { SOLR_HOST, SOLR_CORE } from "@/constants";
|
import { SOLR_HOST, SOLR_CORE } from "@/constants";
|
||||||
import { Pagination } from "@/models/pagination";
|
import { Pagination } from "@/models/pagination";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "SearchViewComponent",
|
name: "SearchViewComponent",
|
||||||
components: {
|
components: {
|
||||||
VsInput,
|
VsInput,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "ServiceViewComponent",
|
name: "ServiceViewComponent",
|
||||||
})
|
})
|
||||||
export default class ServiceViewComponent extends Vue {}
|
export default class ServiceViewComponent extends Vue {}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { Subscription } from "rxjs";
|
import { Subscription } from "rxjs";
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
import DatasetService from "../../services/dataset.service";
|
import DatasetService from "../../services/dataset.service";
|
||||||
import { DbDataset } from "@/models/dataset";
|
import { DbDataset } from "@/models/dataset";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "SitelinkViewComponent",
|
name: "SitelinkViewComponent",
|
||||||
})
|
})
|
||||||
export default class SitelinkViewComponent extends Vue {
|
export default class SitelinkViewComponent extends Vue {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
|
|
||||||
@Options({
|
@Component({
|
||||||
name: "TermsViewComponent",
|
name: "TermsViewComponent",
|
||||||
// components: {
|
// components: {
|
||||||
// VsInput,
|
// VsInput,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user