'resultbestlicense' field of index renamed to 'resultbestaccessright' and 'bestlicense' field renamed to 'bestaccessright' | htmlProjectReport - project landing: fix query for research data tab in app box | Remove '-' when there are no unclassified subjects in landing pages | Similar Research Results and Related Research Results: case for software results added | Publication landing, Dataset landing, Software landing: 'collectedfrom' parsed through 'instance' field | Search Pages and project landing page: Alert when CSV download fails | Organization landing: encoding funder's info in queries

git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-portal/trunk@49550 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
konstantina.galouni 2017-10-19 10:46:08 +00:00
parent 131bbd64b8
commit f8f8512978
23 changed files with 117 additions and 55 deletions

View File

@ -38,7 +38,7 @@ export class DatasetService {
res[1]['children'],
res[1]['pid'],
res[1]['subject'],
res[1]['bestlicense'],
res[1]['bestaccessright'],
res[1]['collectedfrom'],
res[1]['context'],
//res[1]['resulttype'],
@ -72,8 +72,8 @@ export class DatasetService {
this.datasetInfo.embargoEndDate = data[0].embargoenddate;
}
this.datasetInfo.title = {"name": "", "url": "", "accessMode": ""};
if(data[0]['bestlicense'].hasOwnProperty("classid")) {
this.datasetInfo.title.accessMode = data[0]['bestlicense'].classid;
if(data[0]['bestaccessright'].hasOwnProperty("classid")) {
this.datasetInfo.title.accessMode = data[0]['bestaccessright'].classid;
}
if(data[1] != null) {
if(Array.isArray(data[1])) {
@ -148,6 +148,10 @@ export class DatasetService {
url = instance['webresource'][0].url;
}
if(instance.hasOwnProperty("collectedfrom")) {
this.datasetInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(instance['collectedfrom']);
}
if(instance.hasOwnProperty("hostedby")) {
if(instance['hostedby'].name != "other resources" && instance['hostedby'].name != "Unknown Repository") {
this.parsingFunctions.parseDownloadFrom(this.datasetInfo.downloadFrom, instance, url);
@ -182,12 +186,12 @@ export class DatasetService {
}
// if(data[6] != null) {
// this.datasetInfo.bestlicense = data[6].classid;
// this.datasetInfo.bestaccessright = data[6].classid;
// }
if(data[7] != null) {
this.datasetInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(data[7]);
}
// if(data[7] != null) {
// this.datasetInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(data[7]);
// }
// null argument is for journal
this.datasetInfo.downloadFrom = this.parsingFunctions.addPublisherToDownloadFrom(

View File

@ -77,9 +77,9 @@ export class HtmlProjectReportComponent{
this.showLoading = false;
this.warningMessage="Requested size is not an integer";
}
if(params['type'] && (params['type'] == "research data" || params['type'] == "publication")){
this.resultsType = params['type'];
console.info(params['type']);
if(params['type'] && (params['type'] == "dataset" || params['type'] == "publication")){
this.resultsType = (params['type'] == "dataset") ? 'research data' : params['type'];
this.updateTitle("Project's "+this.resultsType+" report");
this.updateDescription("project, project "+ this.resultsType +" report, funding, open access, publications, research data");
} else {

View File

@ -11,9 +11,12 @@ export class HtmlProjectReportService {
getHTML(id: string, size: number, type:string):any {
console.info("getHTML in service");
let resultTypeId: string = (type == "research data") ? 'dataset' : type;
let requestType: string = (resultTypeId == "dataset") ? 'datasets' : 'publications';
//let url = OpenaireProperties. getSearchAPIURLLast() + 'publications/' +id+"?format=json";
let url = OpenaireProperties.getCsvAPIURL();
url += 'resources?format=html&page=0&size='+size+'&type=publications&query=(((oaftype exact result) and (resulttypeid exact '+type+')) and (relprojectid exact "'+id+'"))';
url += 'resources?format=html&page=0&size='+size+'&type='+requestType+'&query=(((oaftype exact result) and (resulttypeid exact '+resultTypeId+')) and (relprojectid exact "'+id+'"))';
let key = url;
if (this._cache.has(key)) {
return Observable.of(this._cache.get(key));

View File

@ -312,8 +312,10 @@ export class ParsingFunctions {
if(relation['resulttype'].classname == "publication") {
researchResult['class'] = "publication";
} else {
} else if(relation['resulttype'].classname == "dataset") {
researchResult['class'] = "dataset";
} else {
researchResult['class'] = "software";
}
researchResult['id'] = relation['to'].content;

View File

@ -17,11 +17,11 @@ import {Component, Input} from '@angular/core';
<span class="uk-text-bold">{{key}}:</span> {{otherSubjects.get(key).join(" | ")}}
</div>
</li>
<li *ngIf="(subjects == undefined || subjects.length == 0) &&
<!--li *ngIf="(subjects == undefined || subjects.length == 0) &&
(otherSubjects == undefined || otherSubjects.size == 0) &&
classifiedSubjects != undefined && classifiedSubjects.size > 0">
-
</li>
</li-->
</ul>
</div>

View File

@ -24,6 +24,7 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
<!--span *ngIf="item['class'] == 'dataset'" class="glyphicon glyphicon-star" aria-hidden="true"-->
<img *ngIf="item['class'] == 'publication'" class= "entityIcon" src="assets/publication.png" alt="(Publication)">
<img *ngIf="item['class'] == 'dataset'" class= "entityIcon" src="assets/dataset.png" alt="(Dataset)">
<img *ngIf="item['class'] == 'software'" class= "entityIcon" src="assets/dataset.png" alt="(Software)">
<!--/span-->
<!--a *ngIf="item['url'] != '' && item['name'] != ''" href="{{item['url']}}"-->
@ -32,6 +33,11 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
{{item['name']}}
</a>
<a *ngIf="item['id'] != '' && item['name'] != '' && item['class'] == 'software'"
[queryParams]="{softwareId: item.id}" routerLinkActive="router-link-active" routerLink="/search/software">
{{item['name']}}
</a>
<a *ngIf="item['id'] != '' && item['name'] != '' && item['class'] == 'publication'"
[queryParams]="{articleId: item.id}" routerLinkActive="router-link-active" routerLink="/search/publication">
<!--a *ngIf="item['url'] != '' && item['name'] != '' && item['class'] == 'publication'"

View File

@ -159,7 +159,7 @@
<!--a href="{{downloadURLAPI}}resources?size={{organizationInfo.projects.get(key).length}}&{{csvProjectParamsHead}}{{organizationInfo.projects.get(key)[0]['funderId']}}{{csvParamsTail}}">
Download projects report (CSV) for {{key}}
</a-->
<a class="clickable" (click)="downloadFile(downloadURLAPI+'resources?size='+funder.number+'&'+csvProjectParamsHead+funder.id+csvParamsTail)">
<a class="clickable" (click)="downloadFile(downloadURLAPI+'resources?size='+funder.number+'&'+csvProjectParamsHead+encodeURI(funder.id)+csvParamsTail)">
<!--span class="clickable" (click)="downloadProjectsFile(downloadURLAPI+'organizations/'+organizationId+'/projects?fq=(funderid exact '+funder.id+')&size='+funder.number)"-->
<span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="download" ratio="1"><polyline fill="none" stroke="#000" points="14,10 9.5,14.5 5,10"></polyline><rect x="3" y="17" width="13" height="1"></rect><line fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line></svg></span>
<span class="uk-icon-download"> Project list for {{funder.name}} (CSV)</span>
@ -167,7 +167,7 @@
</li>
<li *ngFor="let funder of fetchProjects.funders">
<a class="clickable" (click)="confirmOpenApplyAll(funder.name,funder.id, funder.number)">
<a class="clickable" (click)="confirmOpenApplyAll(funder.name,encodeURI(funder.id), funder.number)">
<span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="download" ratio="1"><polyline fill="none" stroke="#000" points="14,10 9.5,14.5 5,10"></polyline><rect x="3" y="17" width="13" height="1"></rect><line fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line></svg></span>
<span class="uk-icon-download"> Project Publications for {{funder.name}} (CSV)</span>
</a>

View File

@ -20,6 +20,7 @@ import {RouterHelper} from '../../utils/routerHelper.class';
import {ModalLoading} from '../../utils/modal/loading.component';
import {AlertModal} from '../../utils/modal/alert';
import {PiwikService} from '../../utils/piwik/piwik.service';
import {StringUtils} from '../../utils/string-utils.class';
@Component({
selector: 'organization',
@ -315,7 +316,8 @@ export class OrganizationComponent {
let projects = [];
let counter: number = count;
let title: boolean = false;
this.countProjectsSub = this._searchProjectsService.getProjectsForOrganizations(this.organizationId,' and (funder exact '+ funderId + ' ) ',1,count,[]).subscribe(
this.countProjectsSub = this._searchProjectsService.getProjectsForOrganizations(this.organizationId,' and (funder exact "'+ funderId + '" ) ',1,count,[]).subscribe(
data =>
{
projects = data[1];
@ -480,4 +482,8 @@ export class OrganizationComponent {
this.alertCsvError.okButtonText = "OK";
this.alertCsvError.open();
}
encodeURI(input: string): string {
return StringUtils.URIEncode(input);
}
}

View File

@ -348,7 +348,7 @@
</li>
<li>
<a target="_blank"
href="/project-report?projectId={{projectId}}&size={{fetchDatasets.searchUtils.totalResults}}&type=research data">
href="/project-report?projectId={{projectId}}&size={{fetchDatasets.searchUtils.totalResults}}&type=dataset">
<span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="table" ratio="1"><rect x="1" y="3" width="18" height="1"></rect><rect x="1" y="7" width="18" height="1"></rect><rect x="1" y="11" width="18" height="1"></rect><rect x="1" y="15" width="18" height="1"></rect></svg></span> Get {{projectInfo.funder}} report (HTML)
</a>
</li>
@ -375,6 +375,7 @@
</div>
</div>
<modal-loading></modal-loading>
<modal-alert #AlertModalCsvError></modal-alert>
</div>
</div>
</div>

View File

@ -78,6 +78,8 @@ export class ProjectComponent{
public errorCodes:ErrorCodes = new ErrorCodes();
@ViewChild (ModalLoading) loading : ModalLoading ;
// Alert box when something is wrong with CSV requests
@ViewChild('AlertModalCsvError') alertCsvError;
sub: any; piwiksub: any; infoSub: any; downloadFilePiwikSub: any;
@ -139,7 +141,7 @@ export class ProjectComponent{
this.createClipboard();
this.csvParams = "format=csv-special&page=0&type=publications&query=(((oaftype exact result) and (resulttypeid exact publication)) and (relprojectid exact "+this.projectId+"))&size=";
this.csvParamsDatasets = "format=csv-special&page=0&type=publications&query=(((oaftype exact result) and (resulttypeid exact dataset)) and (relprojectid exact "+this.projectId+"))&size=";
this.csvParamsDatasets = "format=csv-special&page=0&type=datasets&query=(((oaftype exact result) and (resulttypeid exact dataset)) and (relprojectid exact "+this.projectId+"))&size=";
if (typeof document !== 'undefined') {
this.element.nativeElement.scrollIntoView();
@ -265,7 +267,11 @@ export class ProjectComponent{
this.downloadFilePiwikSub = this._piwikService.trackDownload(url).subscribe();
}
},
error => console.log("Error downloading the file."),
error => {
console.log("Error downloading the file.");
this.closeLoading();
this.confirmOpenCsvError();
},
() => console.log('Completed file download.')
);
}
@ -343,4 +349,12 @@ export class ProjectComponent{
}
}
public confirmOpenCsvError(){
this.alertCsvError.cancelButton = false;
this.alertCsvError.okButton = true;
this.alertCsvError.alertTitle = "ERROR DOWNLOADING CSV FILE";
this.alertCsvError.message = "There was an error in csv downloading. Please try again later.";
this.alertCsvError.okButtonText = "OK";
this.alertCsvError.open();
}
}

View File

@ -7,6 +7,7 @@ import { RouterModule } from '@angular/router';
import { ProjectServiceModule} from './projectService.module';
// import {HtmlProgressReportService} from './htmlProgressReport.service';
import{LoadingModalModule} from '../../utils/modal/loadingModal.module';
import {AlertModalModule} from '../../utils/modal/alertModal.module';
import {ErrorMessagesModule} from '../../utils/errorMessages.module';
import { ProjectComponent } from './project.component';
@ -25,7 +26,7 @@ import {IsRouteEnabled} from '../../error/isRouteEnabled.guard';
@NgModule({
imports: [
CommonModule, FormsModule, RouterModule, LandingModule,
ProjectRoutingModule, LoadingModalModule, ErrorMessagesModule,
ProjectRoutingModule, LoadingModalModule, AlertModalModule, ErrorMessagesModule,
TabResultModule, IFrameModule, MetricsModule, ReportsServiceModule,
PublicationsServiceModule, DatasetsServiceModule, SoftwareServiceModule, ProjectServiceModule
],

View File

@ -124,7 +124,7 @@ export class PublicationComponent {
this.publicationInfo = data;
// this.result = []
// this.result = {id: id, type :"dataset", source : "openaire", title: this.publicationInfo.title,url: '', result: '', accessRights: this.publicationInfo.bestlicense, embargoEndDate: ''};
// this.result = {id: id, type :"dataset", source : "openaire", title: this.publicationInfo.title,url: '', result: '', accessRights: this.publicationInfo.bestaccessright, embargoEndDate: ''};
this.updateTitle(this.publicationInfo.title.name);
this.updateDescription("Dataset, search, repositories, open access,"+this.publicationInfo.title.name);
if(OpenaireProperties.isPiwikTrackEnabled() && (typeof document !== 'undefined')){

View File

@ -39,7 +39,7 @@ export class PublicationService {
res[1]['oaf:result']['journal'],
res[1]['oaf:result']['language'],
res[1]['oaf:result']['subject'],
res[1]['oaf:result']['bestlicense'],
res[1]['oaf:result']['bestaccessright'],
res[1]['oaf:result']['collectedfrom'],
(res[1]['extraInfo']!= undefined && res[1]['extraInfo']['citations']!= undefined)? res[1]['extraInfo']['citations']['citation']:null,
res[1]['oaf:result']['context'],
@ -75,8 +75,8 @@ export class PublicationService {
}
this.publicationInfo.title = {"name": "", "url": "", "accessMode": ""};
if(data[0]['bestlicense'].hasOwnProperty("classid")) {
this.publicationInfo.title.accessMode = data[0]['bestlicense'].classid;
if(data[0]['bestaccessright'].hasOwnProperty("classid")) {
this.publicationInfo.title.accessMode = data[0]['bestaccessright'].classid;
}
if(data[1] != null) {
@ -153,6 +153,10 @@ export class PublicationService {
url = instance['webresource'][0].url;
}
if(instance.hasOwnProperty("collectedfrom")) {
this.publicationInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(instance['collectedfrom']);
}
if(instance.hasOwnProperty("hostedby")) {
if(instance['hostedby'].name != "other resources" && instance['hostedby'].name != "Unknown Repository") {
this.parsingFunctions.parseDownloadFrom(this.publicationInfo.downloadFrom, instance, url);
@ -218,12 +222,12 @@ export class PublicationService {
}
// if(data[8] != null) {
// this.publicationInfo.bestlicense = data[8].classid;
// this.publicationInfo.bestaccessright = data[8].classid;
// }
if(data[9] != null) {
this.publicationInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(data[9]);
}
// if(data[9] != null) {
// this.publicationInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(data[9]);
// }
this.publicationInfo.downloadFrom = this.parsingFunctions.addPublisherToDownloadFrom(
this.publicationInfo.downloadFrom, this.publicationInfo.publisher,

View File

@ -38,7 +38,7 @@ export class SoftwareService {
res[1]['children'],
res[1]['pid'],
res[1]['subject'],
res[1]['bestlicense'],
res[1]['bestaccessright'],
res[1]['collectedfrom'],
res[1]['context'],
//res[1]['resulttype'],
@ -72,8 +72,8 @@ export class SoftwareService {
this.softwareInfo.embargoEndDate = data[0].embargoenddate;
}
this.softwareInfo.title = {"name": "", "url": "", "accessMode": ""};
if(data[0]['bestlicense'].hasOwnProperty("classid")) {
this.softwareInfo.title.accessMode = data[0]['bestlicense'].classid;
if(data[0]['bestaccessright'].hasOwnProperty("classid")) {
this.softwareInfo.title.accessMode = data[0]['bestaccessright'].classid;
}
if(data[1] != null) {
if(Array.isArray(data[1])) {
@ -148,6 +148,10 @@ export class SoftwareService {
url = instance['webresource'][0].url;
}
if(instance.hasOwnProperty("collectedfrom")) {
this.softwareInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(instance['collectedfrom']);
}
if(instance.hasOwnProperty("hostedby")) {
if(instance['hostedby'].name != "other resources" && instance['hostedby'].name != "Unknown Repository") {
this.parsingFunctions.parseDownloadFrom(this.softwareInfo.downloadFrom, instance, url);
@ -182,12 +186,12 @@ export class SoftwareService {
}
// if(data[6] != null) {
// this.softwareInfo.bestlicense = data[6].classid;
// this.softwareInfo.bestaccessright = data[6].classid;
// }
if(data[7] != null) {
this.softwareInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(data[7]);
}
// if(data[7] != null) {
// this.softwareInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(data[7]);
// }
// null argument is for journal
this.softwareInfo.downloadFrom = this.parsingFunctions.addPublisherToDownloadFrom(

View File

@ -17,6 +17,7 @@ import {PiwikService} from '../../utils/piwik/piwik.service';
</span>
<!--modal-alert></modal-alert-->
<modal-loading></modal-loading>
<modal-alert #AlertModalCsvError></modal-alert>
`
})
@ -31,6 +32,8 @@ export class SearchDownloadComponent {
downloadFilePiwikSub: any;
@ViewChild (ModalLoading) loading : ModalLoading ;
// Alert box when something is wrong with CSV requests
@ViewChild('AlertModalCsvError') alertCsvError;
constructor ( private _reportsService: ReportsService, private _piwikService:PiwikService) {}
@ -71,7 +74,11 @@ export class SearchDownloadComponent {
this.downloadFilePiwikSub = this._piwikService.trackDownload(url).subscribe();
}
},
error => console.log("Error downloading the file."),
error => {
console.log("Error downloading the file.");
this.closeLoading();
this.confirmOpenCsvError();
},
() => console.log('Completed file download.')
);
}
@ -93,4 +100,13 @@ export class SearchDownloadComponent {
}
}
public confirmOpenCsvError(){
this.alertCsvError.cancelButton = false;
this.alertCsvError.okButton = true;
this.alertCsvError.alertTitle = "ERROR DOWNLOADING CSV FILE";
this.alertCsvError.message = "There was an error in csv downloading. Please try again later.";
this.alertCsvError.okButtonText = "OK";
this.alertCsvError.open();
}
}

View File

@ -4,10 +4,11 @@ import { FormsModule } from '@angular/forms';
import {SearchDownloadComponent} from './searchDownload.component';
import {LoadingModalModule} from '../../utils/modal/loadingModal.module';
import {AlertModalModule} from '../../utils/modal/alertModal.module';
@NgModule({
imports: [
CommonModule, FormsModule, LoadingModalModule
CommonModule, FormsModule, LoadingModalModule, AlertModalModule
],
declarations: [
SearchDownloadComponent

View File

@ -185,8 +185,8 @@ export class SearchDatasetsService {
//result['title'].url = OpenaireProperties.getsearchLinkToDataset();
//result['title'].url += Array.isArray(data) ? data[i]['result']['header']['dri:objIdentifier'] : data['result']['header']['dri:objIdentifier'];
result['id'] = Array.isArray(data) ? data[i]['result']['header']['dri:objIdentifier'] : data['result']['header']['dri:objIdentifier'];
if(resData['bestlicense'].hasOwnProperty("classid")) {
result['title'].accessMode = resData['bestlicense'].classid;
if(resData['bestaccessright'].hasOwnProperty("classid")) {
result['title'].accessMode = resData['bestaccessright'].classid;
}
if(resData['rels'].hasOwnProperty("rel")) {

View File

@ -225,8 +225,8 @@ export class SearchPublicationsService {
//result['title'].url = OpenaireProperties.getsearchLinkToPublication();
//result['title'].url += Array.isArray(data) ? data[i]['result']['header']['dri:objIdentifier'] : data['result']['header']['dri:objIdentifier'];
result['id'] = Array.isArray(data) ? data[i]['result']['header']['dri:objIdentifier'] : data['result']['header']['dri:objIdentifier'];
if(resData['bestlicense'].hasOwnProperty("classid")) {
result['title'].accessMode = resData['bestlicense'].classid;
if(resData['bestaccessright'].hasOwnProperty("classid")) {
result['title'].accessMode = resData['bestaccessright'].classid;
}
if(resData['rels'].hasOwnProperty("rel")) {
@ -398,8 +398,8 @@ export class SearchPublicationsService {
//result.push(resData.embargoenddate);
if(resData['bestlicense'].hasOwnProperty("classid")) {
result.push(this.quote(resData['bestlicense'].classid));
if(resData['bestaccessright'].hasOwnProperty("classid")) {
result.push(this.quote(resData['bestaccessright'].classid));
} else {
result.push("");
}

View File

@ -185,8 +185,8 @@ export class SearchSoftwareService {
//result['title'].url = OpenaireProperties.getsearchLinkToSoftware();
//result['title'].url += Array.isArray(data) ? data[i]['result']['header']['dri:objIdentifier'] : data['result']['header']['dri:objIdentifier'];
result['id'] = Array.isArray(data) ? data[i]['result']['header']['dri:objIdentifier'] : data['result']['header']['dri:objIdentifier'];
if(resData['bestlicense'].hasOwnProperty("classid")) {
result['title'].accessMode = resData['bestlicense'].classid;
if(resData['bestaccessright'].hasOwnProperty("classid")) {
result['title'].accessMode = resData['bestaccessright'].classid;
}
if(resData['rels'].hasOwnProperty("rel")) {

View File

@ -14,7 +14,7 @@ export class DatasetInfo {
otherSubjects: Map<string, string[]>;
classifiedSubjects: Map<string, string[]>;
description: string;
//bestlicense: string;
//bestaccessright: string;
collectedFrom: { "name": string, "id": string}[];
projectsProvenanceVocabulary: { "sysimport:crosswalk:repository": string,
"sysimport:crosswalk:entityregistry": string,

View File

@ -16,7 +16,7 @@ export class PublicationInfo {
otherSubjects: Map<string, string[]>;
classifiedSubjects: Map<string, string[]>; //<class of subject, subjects>
description: string;
//bestlicense: string;
//bestaccessright: string;
collectedFrom: { "name": string, "id": string}[];
projectsProvenanceVocabulary: { "sysimport:crosswalk:repository": string,
"sysimport:crosswalk:entityregistry": string,

View File

@ -14,7 +14,7 @@ export class SoftwareInfo {
otherSubjects: Map<string, string[]>;
classifiedSubjects: Map<string, string[]>;
description: string;
//bestlicense: string;
//bestaccessright: string;
collectedFrom: { "name": string, "id": string}[];
projectsProvenanceVocabulary: { "sysimport:crosswalk:repository": string,
"sysimport:crosswalk:entityregistry": string,

View File

@ -7,12 +7,12 @@ export class SearchFields {
"relfunder",
"relfundinglevel0_id","relfundinglevel1_id","relfundinglevel2_id",
"relproject","resultacceptanceyear",
"resultbestlicense", "instancetypename", "resultlanguagename", "community","resulthostingdatasource"];
"resultbestaccessright", "instancetypename", "resultlanguagename", "community","resulthostingdatasource"];
public RESULT_ADVANCED_FIELDS:string[] = ["q","resulttitle","relperson","resultpublisher","instancetypename",
"resultlanguagename", "community","relprojectid", "relfunder",
"relfundinglevel0_id","relfundinglevel1_id","relfundinglevel2_id",
"resultdateofacceptance","resultbestlicense","pid","resulthostingdatasourceid","collectedfromdatasourceid", "relorganizationid"];
"resultdateofacceptance","resultbestaccessright","pid","resulthostingdatasourceid","collectedfromdatasourceid", "relorganizationid"];
public RESULT_FIELDS: { [key:string]:FieldDetails}={
["q"]:{name:"All fields", type:"keyword", param:"q", equalityOperator: "="},
["resulttitle"]:{name:"Title", type:"keyword", param:"title", equalityOperator: "="},
@ -34,8 +34,8 @@ export class SearchFields {
["relfundinglevel2_id"]:{name:"Funding Substream level 2", type:"refine", param:"funderlv2", equalityOperator: " exact "},
["resultacceptanceyear"]:{name:"Publication Date", type:"keyword", param:"year", equalityOperator: " exact "},
["resultdateofacceptance"]:{name:"Publication Date", type:"date", param:"date", equalityOperator: " within "},
["resultbestlicense"]:{name:"Access Mode", type:"vocabulary", param:"access", equalityOperator: " exact "},
// ["resultbestlicenseid"]:{name:"Access Mode", type:"refine", param:"access", equalityOperator: " exact "},
["resultbestaccessright"]:{name:"Access Mode", type:"vocabulary", param:"access", equalityOperator: " exact "},
// ["resultbestaccessright"]:{name:"Access Mode", type:"refine", param:"access", equalityOperator: " exact "},
["collectedfrom"]:{name:"Content Provider", type:"refine", param:"datasource", equalityOperator: " exact "},
["relorganizationid"]:{name:"Organization", type:"entity", param:"organization", equalityOperator: " exact "},
["collectedfromdatasourceid"]:{name:"Collected from Content Provider", type:"entity", param:"collectedFrom", equalityOperator: " exact "}