forked from geolba/tethys.frontend
- remove coding warnings
- search page styling
This commit is contained in:
parent
8c5094f91a
commit
81153061ac
573
package-lock.json
generated
573
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
|
@ -12,7 +12,7 @@
|
||||||
"@fortawesome/fontawesome-free": "^5.15.4",
|
"@fortawesome/fontawesome-free": "^5.15.4",
|
||||||
"@openfonts/open-sans_all": "^1.44.2",
|
"@openfonts/open-sans_all": "^1.44.2",
|
||||||
"axios": "^0.24.0",
|
"axios": "^0.24.0",
|
||||||
"class-transformer": "^0.4.0",
|
"class-transformer": "^0.5.1",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
"qs": "^6.10.1",
|
"qs": "^6.10.1",
|
||||||
"rxjs": "^6.6.0",
|
"rxjs": "^6.6.0",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import axios, { AxiosRequestConfig, AxiosInstance, AxiosPromise } from "axios";
|
import axios, { AxiosRequestConfig, AxiosInstance } from "axios";
|
||||||
|
|
||||||
const initialization = (config: AxiosRequestConfig): AxiosInstance => {
|
const initialization = (config: AxiosRequestConfig): AxiosInstance => {
|
||||||
//axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
|
//axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Options, Vue } from "vue-class-component";
|
||||||
import { Watch } from "vue-property-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";
|
||||||
import HelpViewComponent from "./views/map-view/help-view-component.vue";
|
import HelpViewComponent from "./views/map-view/help-view-component.vue";
|
||||||
|
@ -71,7 +71,8 @@ export default class App extends Vue {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Watch("$route")
|
@Watch("$route")
|
||||||
protected oRouteChangedChanged(to: RouteLocation, from: RouteLocation): any {
|
protected oRouteChangedChanged(): void {
|
||||||
|
//(to: RouteLocation, from: RouteLocation): void {
|
||||||
// console.log("setting " + from.path + " to " + to.path);
|
// console.log("setting " + from.path + " to " + to.path);
|
||||||
this.active = false;
|
this.active = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,7 @@ export default class VsInput extends Vue {
|
||||||
const suggestions = new Array<Suggestion>();
|
const suggestions = new Array<Suggestion>();
|
||||||
|
|
||||||
this.results.forEach((dataset) => {
|
this.results.forEach((dataset) => {
|
||||||
const del = dataset.title_output?.toLowerCase();
|
// const del = dataset.title_output?.toLowerCase();
|
||||||
if (dataset.title_output.toLowerCase().includes(this.display.toLowerCase())) {
|
if (dataset.title_output.toLowerCase().includes(this.display.toLowerCase())) {
|
||||||
const title = dataset.title_output;
|
const title = dataset.title_output;
|
||||||
// if (!suggestion["titles"].find((value) => value === title)) {
|
// if (!suggestion["titles"].find((value) => value === title)) {
|
||||||
|
|
|
@ -6,15 +6,15 @@
|
||||||
<!-- <span>Author: {{ document.identifier.join(', ') }}</span> -->
|
<!-- <span>Author: {{ document.identifier.join(', ') }}</span> -->
|
||||||
<!-- <span v-for="(author,index) in document.author" :key="index">{{ author }}; </span> -->
|
<!-- <span v-for="(author,index) in document.author" :key="index">{{ author }}; </span> -->
|
||||||
<!-- <span>'https://doi.org/' + {{ document.identifier[0] }}</span> -->
|
<!-- <span>'https://doi.org/' + {{ document.identifier[0] }}</span> -->
|
||||||
<a target="_blank" v-bind:href="'https://doi.org/' + document.identifier[0]"> {{ "https://doi.org/" + document.identifier[0] }} </a>
|
<a target="_blank" v-bind:href="'https://doi.org/' + document.identifier[0]"> {{ "https://doi.org/" + document.identifier[0] + " ➤" }} </a>
|
||||||
<span v-if="document.author && document.author.length > 0">{{ document.author[0] }}</span>
|
<span class="disabled" v-if="document.author && document.author.length > 0">{{ document.author[0] }}</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<span class="label label-info" data-container="div" data-title="Publication date">
|
<!-- <span class="label label-info" data-container="div" data-title="Publication date">
|
||||||
{{ convert(document.server_date_published) }}
|
{{ convert(document.server_date_published) }}
|
||||||
</span>
|
</span>
|
||||||
<span class="label label-default ng-binding">{{ document.doctype }}</span>
|
<span class="label label-default ng-binding">{{ document.doctype }}</span>
|
||||||
<span v-if="openAccessLicences.includes(document.licence)" class="label label-success titlecase">Open Access</span>
|
<span v-if="openAccessLicences.includes(document.licence)" class="label label-success titlecase">Open Access</span> -->
|
||||||
|
|
||||||
<h4>
|
<h4>
|
||||||
<a
|
<a
|
||||||
|
@ -36,18 +36,23 @@
|
||||||
</p> -->
|
</p> -->
|
||||||
|
|
||||||
<p class="clamped clamped-2">
|
<p class="clamped clamped-2">
|
||||||
|
<span class="disabled" data-container="div" data-title="Publication date">
|
||||||
|
{{ convert(document.server_date_published) + ": " }}
|
||||||
|
</span>
|
||||||
<span class="text">
|
<span class="text">
|
||||||
Abstract: {{ document.abstract_output }}
|
{{ document.abstract_output }}
|
||||||
<span class="ellipsis">...</span>
|
<span class="ellipsis">...</span>
|
||||||
<span class="fill"></span>
|
<span class="fill"></span>
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<span>Licence: {{ document.licence }}</span>
|
<span class="label"><i class="fas fa-file"></i> {{ document.doctype }}</span>
|
||||||
|
<!-- <span>Licence: {{ document.licence }}</span> -->
|
||||||
|
<span v-if="openAccessLicences.includes(document.licence)" class="label titlecase"><i class="fas fa-lock-open"></i> Open Access</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<span class="label label-keyword titlecase" v-for="(item, index) in document.subject" :key="index"> #{{ item }} </span>
|
<!-- <span class="label label-keyword titlecase" v-for="(item, index) in document.subject" :key="index"> #{{ item }} </span> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -108,7 +113,8 @@ export default VsResults;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 0.25em;
|
border-radius: 0.25em;
|
||||||
margin-right: 1.25em;
|
margin-right: 1.25em;
|
||||||
/* margin-left: 10px; */
|
text-transform: uppercase;
|
||||||
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
/* .record-elem .h4, record-elem h4 {
|
/* .record-elem .h4, record-elem h4 {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
@ -154,6 +160,14 @@ export default VsResults;
|
||||||
color: #000;
|
color: #000;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
.record-elem p span.disabled {
|
||||||
|
color: #7e7e7e;
|
||||||
|
// color: lightgray;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
.record-elem p span i {
|
||||||
|
color: #336699;
|
||||||
|
}
|
||||||
|
|
||||||
.post {
|
.post {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
// import http from "@/http-common";
|
|
||||||
import api from "../api/api";
|
import api from "../api/api";
|
||||||
import { Observable } from "rxjs";
|
import { Observable } from "rxjs";
|
||||||
import { map } from "rxjs/operators";
|
import { map } from "rxjs/operators";
|
||||||
|
@ -23,14 +22,14 @@ class DatasetService {
|
||||||
|
|
||||||
//var dismaxFields = "title^3 abstract^2 subject^1";
|
//var dismaxFields = "title^3 abstract^2 subject^1";
|
||||||
const qfFields = "title^3 author^2 subject^1";
|
const qfFields = "title^3 author^2 subject^1";
|
||||||
let params = "fl=" + fields;
|
// let params = "fl=" + fields;
|
||||||
// if (term == "*%3A*") { // *:
|
// // if (term == "*%3A*") { // *:
|
||||||
// params += "&defType=edismax&wt=json&indent=on"; //edismax
|
// // params += "&defType=edismax&wt=json&indent=on"; //edismax
|
||||||
// } else {
|
// // } else {
|
||||||
params += "&defType=edismax&qf=" + qfFields + "&wt=json&indent=on"; //dismax
|
// params += "&defType=edismax&qf=" + qfFields + "&wt=json&indent=on"; //dismax
|
||||||
// }
|
// // }
|
||||||
|
|
||||||
const query = "&q=" + term + "*";
|
// const query = "&q=" + term + "*";
|
||||||
// const apiU = base + params + query;
|
// const apiU = base + params + query;
|
||||||
|
|
||||||
const q_params = {
|
const q_params = {
|
||||||
|
@ -109,7 +108,7 @@ class DatasetService {
|
||||||
}
|
}
|
||||||
// filterFields += '"]';
|
// filterFields += '"]';
|
||||||
}
|
}
|
||||||
const query = "&sort=server_date_published desc" + "&q=" + term;
|
// const query = "&sort=server_date_published desc" + "&q=" + term;
|
||||||
|
|
||||||
// const api =
|
// const api =
|
||||||
// base + params + limit + start + query + filterFields + facetFields;
|
// base + params + limit + start + query + filterFields + facetFields;
|
||||||
|
@ -140,7 +139,7 @@ class DatasetService {
|
||||||
return stations;
|
return stations;
|
||||||
}
|
}
|
||||||
|
|
||||||
getYears(): Observable<string[]> {
|
public getYears(): Observable<string[]> {
|
||||||
// const heroes = of(HEROES);
|
// const heroes = of(HEROES);
|
||||||
const host = "https:" + VUE_APP_PORTAL;
|
const host = "https:" + VUE_APP_PORTAL;
|
||||||
const path = "/api/years";
|
const path = "/api/years";
|
||||||
|
@ -151,7 +150,7 @@ class DatasetService {
|
||||||
return years;
|
return years;
|
||||||
}
|
}
|
||||||
|
|
||||||
getDocuments(year: string): Observable<Array<DbDataset>> {
|
public getDocuments(year: string): Observable<Array<DbDataset>> {
|
||||||
const host = "https:" + VUE_APP_PORTAL;
|
const host = "https:" + VUE_APP_PORTAL;
|
||||||
const path = "/api/sitelinks/" + year;
|
const path = "/api/sitelinks/" + year;
|
||||||
const base = host + path;
|
const base = host + path;
|
||||||
|
|
|
@ -5,5 +5,5 @@ import { Options, Vue } from "vue-class-component";
|
||||||
name: "HelpViewComponent",
|
name: "HelpViewComponent",
|
||||||
})
|
})
|
||||||
export default class HelpViewComponent extends Vue {
|
export default class HelpViewComponent extends Vue {
|
||||||
results: Array<any> = [];
|
// results: Array<any> = [];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Observable, Subscription } from "rxjs";
|
import { Subscription } from "rxjs";
|
||||||
import { Options, Vue } from "vue-class-component";
|
import { Options, Vue } from "vue-class-component";
|
||||||
import DatasetService from "../../services/dataset.service";
|
import DatasetService from "../../services/dataset.service";
|
||||||
import { DbDataset } from "@/models/dataset";
|
import { DbDataset } from "@/models/dataset";
|
||||||
|
@ -19,21 +19,21 @@ export default class SitelinkViewComponent extends Vue {
|
||||||
// // this.rdrAPI = new DatasetService();
|
// // this.rdrAPI = new DatasetService();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
beforeMount() {
|
beforeMount(): void {
|
||||||
// this.rdrAPI = new DatasetService();
|
// this.rdrAPI = new DatasetService();
|
||||||
this.getYears();
|
this.getYears();
|
||||||
}
|
}
|
||||||
|
|
||||||
getYears() {
|
getYears(): void {
|
||||||
const newSubs: Subscription = DatasetService.getYears().subscribe(
|
const newSubs: Subscription = DatasetService.getYears().subscribe(
|
||||||
(res: string[]) => this.dataHandler(res),
|
(res: string[]) => this.dataHandler(res),
|
||||||
(error: any) => this.errorHandler(error),
|
(error: string) => this.errorHandler(error),
|
||||||
() => newSubs.unsubscribe(),
|
() => newSubs.unsubscribe(),
|
||||||
);
|
);
|
||||||
// this.subscriptions.push(newSubs);
|
// this.subscriptions.push(newSubs);
|
||||||
}
|
}
|
||||||
|
|
||||||
beforeUnmount() {
|
beforeUnmount(): void {
|
||||||
//unsunscribe to ensure no memory leaks
|
//unsunscribe to ensure no memory leaks
|
||||||
// this.subscription.unsubscribe();
|
// this.subscription.unsubscribe();
|
||||||
for (const subs of this.subscriptions) {
|
for (const subs of this.subscriptions) {
|
||||||
|
@ -41,13 +41,13 @@ export default class SitelinkViewComponent extends Vue {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
select(year: string) {
|
select(year: string): void {
|
||||||
this.selected = year;
|
this.selected = year;
|
||||||
const newSubs = DatasetService.getDocuments(year).subscribe(
|
const newSubs = DatasetService.getDocuments(year).subscribe(
|
||||||
(res: Array<DbDataset>) => {
|
(res: Array<DbDataset>) => {
|
||||||
this.datasets = res;
|
this.datasets = res;
|
||||||
},
|
},
|
||||||
(error: any) => this.errorHandler(error),
|
(error: string) => this.errorHandler(error),
|
||||||
);
|
);
|
||||||
this.subscriptions.push(newSubs);
|
this.subscriptions.push(newSubs);
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@ export default class SitelinkViewComponent extends Vue {
|
||||||
this.years = res;
|
this.years = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
private errorHandler(err: any): void {
|
private errorHandler(err: string): void {
|
||||||
this.error = err;
|
this.error = err;
|
||||||
// this.loading = false;
|
// this.loading = false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user