Paging in search and advanced search pages limited to 20 (defined in OpenaireProperties file) | Csv and Html requests (currently on local machine rudie) changed - no size, no page parameters in requests | Limit for csv (defined in OpenaireProperties file) changed to 2000

git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-portal/trunk@50185 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
konstantina.galouni 2017-12-20 15:59:15 +00:00
parent 4acc78f007
commit 8d8b85ad6b
25 changed files with 557 additions and 454 deletions

View File

@ -156,8 +156,13 @@ export class HtmlProjectReportComponent{
if (typeof window !== 'undefined') { if (typeof window !== 'undefined') {
this.subHTML = this.htmlService.getHTML(this.projectId, this.totalResults, this.resultsType).subscribe( this.subHTML = this.htmlService.getHTML(this.projectId, this.totalResults, this.resultsType).subscribe(
data => { data => {
let body: string = intro+'<body><h1>'+this.header1+'</h1><h2>'+this.header2+'</h2>'+data+'</body></html>'; //let body: string = intro+'<body><h1>'+this.header1+'</h1><h2>'+this.header2+'</h2>'+data+'</body></html>';
this.htmlResult = data; let body: string = intro+'<body><h1>'+this.header1+'</h1><h2>'+this.header2+'</h2>';
body += "<table><thead><tr> <th>Title</th><th>Authors</th><th>Publication Year</th><th>DOI</th><th>Permanent Identifier</th><th>Publication type</th><th>Journal</th><th>Project Name (GA Number)</th><th>Access Mode</th></tr></thead><tbody>"+data+"</tbody></table>";
body += '</body></html>';
//this.htmlResult = data;
this.htmlResult = "<table><thead><tr> <th>Title</th><th>Authors</th><th>Publication Year</th><th>DOI</th><th>Permanent Identifier</th><th>Publication type</th><th>Journal</th><th>Project Name (GA Number)</th><th>Access Mode</th></tr></thead><tbody>"+data+"</tbody></table>";
let clipboard; let clipboard;
let Clipboard; let Clipboard;

View File

@ -27,7 +27,9 @@ export class HtmlProjectReportService {
//let url = OpenaireProperties. getSearchAPIURLLast() + 'publications/' +id+"?format=json"; //let url = OpenaireProperties. getSearchAPIURLLast() + 'publications/' +id+"?format=json";
let url = OpenaireProperties.getCsvAPIURL(); let url = OpenaireProperties.getCsvAPIURL();
url += 'resources?format=html&page=0&size='+size+'&type='+requestType+'&query=(((oaftype exact result) and (resulttypeid exact '+resultTypeId+')) 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+'"))';
url += '?format=html&type='+requestType+'&fq=(((oaftype exact result) and (resulttypeid exact '+resultTypeId+')) and (relprojectid exact "'+id+'"))';
let key = url; let key = url;
return this.http.get(url) return this.http.get(url)

View File

@ -160,7 +160,7 @@
<!--a href="{{downloadURLAPI}}resources?size={{organizationInfo.projects.get(key).length}}&{{csvProjectParamsHead}}{{organizationInfo.projects.get(key)[0]['funderId']}}{{csvParamsTail}}"> <!--a href="{{downloadURLAPI}}resources?size={{organizationInfo.projects.get(key).length}}&{{csvProjectParamsHead}}{{organizationInfo.projects.get(key)[0]['funderId']}}{{csvParamsTail}}">
Download projects report (CSV) for {{key}} Download projects report (CSV) for {{key}}
</a--> </a-->
<a class="clickable" (click)="downloadFile(downloadURLAPI+'resources?size='+funder.number+'&'+csvProjectParamsHead+encodeURI(funder.id)+csvParamsTail)"> <a class="clickable" (click)="downloadFile(downloadURLAPI+'?'+csvProjectParamsHead+encodeURI(funder.id)+csvParamsTail)">
<!--span class="clickable" (click)="downloadProjectsFile(downloadURLAPI+'organizations/'+organizationId+'/projects?fq=(funderid exact '+funder.id+')&size='+funder.number)"--> <!--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"><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> <span class="uk-icon-download"> Project list for {{funder.name}} (CSV)</span>
@ -175,7 +175,10 @@
</li> </li>
</ng-container> </ng-container>
<li> <li>
<a class="clickable" (click)="downloadFile(downloadURLAPI+'organizations/'+organizationId+'/publications?format=csv')"> <!-- url = this.downloadURLAPI+"format=csv-special&type=publications&fq=(((oaftype exact result) and (resulttypeid exact publication)) and (relprojectid exact '"+projects[index].id+"'))"-->
<!-- <a class="clickable" (click)="downloadFile(downloadURLAPI+'/organizations/'+organizationId+'?type=publications&format=csv')"> -->
<a class="clickable" (click)="downloadFile(downloadURLAPI+'?format=csv&type=publications&fq=(((oaftype exact result) and (resulttypeid exact publication)) and (relorganizationid exact '+organizationId+'))')">
<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"><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"> Publications of organization (CSV) - based on the affiliation information.</span> <span class="uk-icon-download"> Publications of organization (CSV) - based on the affiliation information.</span>
</a> </a>

View File

@ -131,7 +131,7 @@ export class OrganizationComponent {
}); });
this.downloadURLAPI = OpenaireProperties.getCsvAPIURL(); this.downloadURLAPI = OpenaireProperties.getCsvAPIURL();
this.csvProjectParamsHead = 'format=csv&type=projects&page=0&query=( (oaftype exact project)and (funder exact "'; this.csvProjectParamsHead = 'format=csv&type=projects&fq=( (oaftype exact project)and (funder exact "';
//this.csvPublicationParamsHead = 'format=csv-special&type=publications&page=0&query=((((oaftype exact result) and (resulttypeid exact publication)) and (funderid exact '; //this.csvPublicationParamsHead = 'format=csv-special&type=publications&page=0&query=((((oaftype exact result) and (resulttypeid exact publication)) and (funderid exact ';
} }
@ -328,13 +328,16 @@ export class OrganizationComponent {
// let index: number = this.organizationInfo.projects.get(funder).indexOf(project); // let index: number = this.organizationInfo.projects.get(funder).indexOf(project);
let url: string; let url: string;
if(index == 0 || !title) { if(!title) {
url = this.downloadURLAPI+"projects/"+projects[index].id+"/publications?format=csv-special&size="+data; //url = this.downloadURLAPI+"projects/"+projects[index].id+"?type=publications&format=csv-special";//&size="+data;
url = this.downloadURLAPI+"?format=csv-special&type=publications&fq=(((oaftype exact result) and (resulttypeid exact publication)) and (relprojectid exact '"+projects[index].id+"'))"
console.info(url);
} else { } else {
url = this.downloadURLAPI+"projects/"+projects[index].id+"/publications?format=csv-special-notitle&size="+data; //url = this.downloadURLAPI+"projects/"+projects[index].id+"/publications?format=csv-special-notitle";//&size="+data;
url = this.downloadURLAPI+"?format=csv-special-notitle&type=publications&fq=(((oaftype exact result) and (resulttypeid exact publication)) and (relprojectid exact '"+projects[index].id+"'))"
} }
if(data == 0) { // if no publications for this project if(data == 0 && (counter > 1 || title)) { // if no publications for this project
counter--; counter--;
response[index] = ""; response[index] = "";
if(counter == 0) { if(counter == 0) {

View File

@ -323,7 +323,7 @@
</a> </a>
</li> </li>
<li> <li>
<a class="clickable" (click)="downloadfile(downloadURLAPI+'resources?'+csvParams+fetchPublications.searchUtils.totalResults)"> <a class="clickable" (click)="downloadfile(downloadURLAPI+csvParams)">
<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> Get {{projectInfo.funder}} report (CSV) <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> Get {{projectInfo.funder}} report (CSV)
</a> </a>
</li> </li>
@ -356,7 +356,7 @@
</a> </a>
</li> </li>
<li> <li>
<a class="clickable" (click)="downloadfile(downloadURLAPI+'resources?'+csvParamsDatasets+fetchDatasets.searchUtils.totalResults)"> <a class="clickable" (click)="downloadfile(downloadURLAPI+csvParamsDatasets)">
<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> Get {{projectInfo.funder}} report (CSV) <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> Get {{projectInfo.funder}} report (CSV)
</a> </a>
</li> </li>

View File

@ -152,9 +152,9 @@ export class ProjectComponent{
this.downloadURLAPI = OpenaireProperties.getCsvAPIURL(); this.downloadURLAPI = OpenaireProperties.getCsvAPIURL();
this.createClipboard(); 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.csvParams = "?format=csv-special&type=publications&fq=(((oaftype exact result) and (resulttypeid exact publication)) and (relprojectid exact "+this.projectId+"))";
this.csvParamsDatasets = "format=csv-special&page=0&type=datasets&query=(((oaftype exact result) and (resulttypeid exact dataset)) and (relprojectid exact "+this.projectId+"))&size="; this.csvParamsDatasets = "?format=csv-special&type=datasets&fq=(((oaftype exact result) and (resulttypeid exact dataset)) and (relprojectid exact "+this.projectId+"))";
this.csvParamsSoftware = "format=csv-special&page=0&type=software&query=(((oaftype exact result) and (resulttypeid exact software)) and (relprojectid exact "+this.projectId+"))&size="; this.csvParamsSoftware = "?format=csv-special&type=software&fq=(((oaftype exact result) and (resulttypeid exact software)) and (relprojectid exact "+this.projectId+"))";
if (typeof document !== 'undefined') { if (typeof document !== 'undefined') {
this.element.nativeElement.scrollIntoView(); this.element.nativeElement.scrollIntoView();

View File

@ -20,7 +20,7 @@ import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
[(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields" [(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields"
[(searchUtils)] = "searchUtils" [(searchUtils)] = "searchUtils"
(queryChange)="queryChanged($event)" (queryChange)="queryChanged($event)"
[csvParams]="csvParams" csvPath="resources" simpleSearchLink="/search/find/dataproviders" [csvParams]="csvParams" csvPath="datasources" simpleSearchLink="/search/find/dataproviders"
[disableForms]="disableForms" [disableForms]="disableForms"
[loadPaging]="loadPaging" [loadPaging]="loadPaging"
[oldTotalResults]="oldTotalResults"> [oldTotalResults]="oldTotalResults">
@ -78,10 +78,14 @@ export class AdvancedSearchDataProvidersComponent {
} }
sub: any; sub: any;
public getResults(parameters:string, page: number, size: number){ public getResults(parameters:string, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
if(parameters!= null && parameters != '' ) { if(parameters!= null && parameters != '' ) {
this.csvParams ="&type=datasources&query=( "+this.resourcesQuery + "and (" + parameters + "))"; this.csvParams ="&fq=( "+this.resourcesQuery + "and (" + parameters + "))";
}else{ }else{
this.csvParams ="&type=datasources&query="+this.resourcesQuery; this.csvParams ="&fq="+this.resourcesQuery;
} }
//var errorCodes:ErrorCodes = new ErrorCodes(); //var errorCodes:ErrorCodes = new ErrorCodes();
@ -139,6 +143,7 @@ export class AdvancedSearchDataProvidersComponent {
} }
); );
} }
}
public queryChanged($event) { public queryChanged($event) {
this.loadPaging = true; this.loadPaging = true;

View File

@ -19,7 +19,7 @@ import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
[(searchUtils)] = "searchUtils" [(searchUtils)] = "searchUtils"
[(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields" [(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields"
(queryChange)="queryChanged($event)" (queryChange)="queryChanged($event)"
[csvParams]="csvParams" csvPath="resources" simpleSearchLink="/search/find/datasets" [csvParams]="csvParams" csvPath="datasets" simpleSearchLink="/search/find/datasets"
[disableForms]="disableForms" [disableForms]="disableForms"
[loadPaging]="loadPaging" [loadPaging]="loadPaging"
[oldTotalResults]="oldTotalResults"> [oldTotalResults]="oldTotalResults">
@ -82,10 +82,14 @@ export class AdvancedSearchDatasetsComponent {
} }
sub: any; sub: any;
public getResults(parameters:string, page: number, size: number){ public getResults(parameters:string, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
if(parameters!= null && parameters != '' ) { if(parameters!= null && parameters != '' ) {
this.csvParams ="&type=datasets&query=( "+this.resourcesQuery + "and (" + parameters + "))"; this.csvParams ="&fq=( "+this.resourcesQuery + "and (" + parameters + "))";
}else{ }else{
this.csvParams ="&type=datasets&query="+this.resourcesQuery; this.csvParams ="&fq="+this.resourcesQuery;
} }
//var errorCodes:ErrorCodes = new ErrorCodes(); //var errorCodes:ErrorCodes = new ErrorCodes();
@ -144,6 +148,7 @@ export class AdvancedSearchDatasetsComponent {
} }
); );
} }
}
private setFilters(){ private setFilters(){
//TODO set filters from //TODO set filters from
} }

View File

@ -19,7 +19,7 @@ import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
[(searchUtils)] = "searchUtils" [(searchUtils)] = "searchUtils"
[(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields" [(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields"
(queryChange)="queryChanged($event)" (queryChange)="queryChanged($event)"
[csvParams]="csvParams" csvPath="resources" simpleSearchLink="/search/find/organizations" [csvParams]="csvParams" csvPath="organizations" simpleSearchLink="/search/find/organizations"
[disableForms]="disableForms" [disableForms]="disableForms"
[loadPaging]="loadPaging" [loadPaging]="loadPaging"
[oldTotalResults]="oldTotalResults"> [oldTotalResults]="oldTotalResults">
@ -82,10 +82,14 @@ public resourcesQuery = "(oaftype exact organization)";
} }
sub: any; sub: any;
public getResults(parameters:string, page: number, size: number){ public getResults(parameters:string, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
if(parameters!= null && parameters != '' ) { if(parameters!= null && parameters != '' ) {
this.csvParams ="&type=organizations&query=( "+this.resourcesQuery + "and (" + parameters + "))"; this.csvParams ="&fq=( "+this.resourcesQuery + "and (" + parameters + "))";
}else{ }else{
this.csvParams ="&type=organizations&query="+this.resourcesQuery; this.csvParams ="&fq="+this.resourcesQuery;
} }
//var errorCodes:ErrorCodes = new ErrorCodes(); //var errorCodes:ErrorCodes = new ErrorCodes();
@ -144,6 +148,7 @@ public resourcesQuery = "(oaftype exact organization)";
} }
); );
} }
}
private setFilters(){ private setFilters(){
//TODO set filters from //TODO set filters from
} }

View File

@ -18,7 +18,7 @@ import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
[(searchUtils)] = "searchUtils" [(searchUtils)] = "searchUtils"
[(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields" [(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields"
(queryChange)="queryChanged($event)" (queryChange)="queryChanged($event)"
[csvParams]="csvParams" csvPath="resources" simpleSearchLink="/search/find/projects" [csvParams]="csvParams" csvPath="projects" simpleSearchLink="/search/find/projects"
[disableForms]="disableForms" [disableForms]="disableForms"
[loadPaging]="loadPaging" [loadPaging]="loadPaging"
[oldTotalResults]="oldTotalResults"> [oldTotalResults]="oldTotalResults">
@ -82,10 +82,14 @@ export class AdvancedSearchProjectsComponent {
} }
sub: any; sub: any;
public getResults(parameters:string, page: number, size: number){ public getResults(parameters:string, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
if(parameters!= null && parameters != '' ) { if(parameters!= null && parameters != '' ) {
this.csvParams ="&type=projects&query=( "+this.resourcesQuery + "and (" + parameters + "))"; this.csvParams ="&fq=( "+this.resourcesQuery + "and (" + parameters + "))";
}else{ }else{
this.csvParams ="&type=projects&query="+this.resourcesQuery; this.csvParams ="&fq="+this.resourcesQuery;
} }
//var errorCodes:ErrorCodes = new ErrorCodes(); //var errorCodes:ErrorCodes = new ErrorCodes();
@ -145,6 +149,7 @@ export class AdvancedSearchProjectsComponent {
} }
); );
} }
}
private setFilters(){ private setFilters(){
//TODO set filters from //TODO set filters from
} }

View File

@ -19,7 +19,7 @@ import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
[(searchUtils)] = "searchUtils" [(searchUtils)] = "searchUtils"
[(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields" [(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields"
(queryChange)="queryChanged($event)" (queryChange)="queryChanged($event)"
[csvParams]="csvParams" csvPath="resources" simpleSearchLink="/search/find/publications" [csvParams]="csvParams" csvPath="publications" simpleSearchLink="/search/find/publications"
[disableForms]="disableForms" [disableForms]="disableForms"
[loadPaging]="loadPaging" [loadPaging]="loadPaging"
[oldTotalResults]="oldTotalResults"> [oldTotalResults]="oldTotalResults">
@ -83,10 +83,14 @@ export class AdvancedSearchPublicationsComponent {
} }
sub: any; sub: any;
public getResults(parameters:string, page: number, size: number){ public getResults(parameters:string, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
if(parameters!= null && parameters != '' ) { if(parameters!= null && parameters != '' ) {
this.csvParams ="&type=publications&query=("+this.resourcesQuery +" and (" + parameters + "))"; this.csvParams ="&fq=("+this.resourcesQuery +" and (" + parameters + "))";
}else{ }else{
this.csvParams ="&type=publications&query="+this.resourcesQuery; this.csvParams ="&fq="+this.resourcesQuery;
} }
//var errorCodes:ErrorCodes = new ErrorCodes(); //var errorCodes:ErrorCodes = new ErrorCodes();
@ -146,6 +150,7 @@ export class AdvancedSearchPublicationsComponent {
} }
); );
} }
}
public queryChanged($event) { public queryChanged($event) {
this.loadPaging = true; this.loadPaging = true;

View File

@ -19,7 +19,7 @@ import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
[(searchUtils)] = "searchUtils" [(searchUtils)] = "searchUtils"
[(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields" [(fieldIds)]="fieldIds" [(fieldIdsMap)]="fieldIdsMap" [(selectedFields)]="selectedFields"
(queryChange)="queryChanged($event)" (queryChange)="queryChanged($event)"
[csvParams]="csvParams" csvPath="resources" simpleSearchLink="/search/find/software" [csvParams]="csvParams" csvPath="software" simpleSearchLink="/search/find/software"
[disableForms]="disableForms" [disableForms]="disableForms"
[loadPaging]="loadPaging" [loadPaging]="loadPaging"
[oldTotalResults]="oldTotalResults"> [oldTotalResults]="oldTotalResults">
@ -82,10 +82,14 @@ export class AdvancedSearchSoftwareComponent {
} }
sub: any; sub: any;
public getResults(parameters:string, page: number, size: number){ public getResults(parameters:string, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
if(parameters!= null && parameters != '' ) { if(parameters!= null && parameters != '' ) {
this.csvParams ="&type=software&query=( "+this.resourcesQuery + "and (" + parameters + "))"; this.csvParams ="&fq=( "+this.resourcesQuery + "and (" + parameters + "))";
}else{ }else{
this.csvParams ="&type=software&query="+this.resourcesQuery; this.csvParams ="&fq="+this.resourcesQuery;
} }
//var errorCodes:ErrorCodes = new ErrorCodes(); //var errorCodes:ErrorCodes = new ErrorCodes();
@ -144,6 +148,7 @@ export class AdvancedSearchSoftwareComponent {
} }
); );
} }
}
private setFilters(){ private setFilters(){
//TODO set filters from //TODO set filters from
} }

View File

@ -27,15 +27,20 @@
<search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "searchUtils.baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging> <search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "searchUtils.baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging>
</div> </div>
<search-download *ngIf="searchUtils.totalResults <= 10000" class="uk-width-1-1@s uk-hidden@m" [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults" ></search-download> <search-download *ngIf="searchUtils.totalResults <= csvLimit" class="uk-width-1-1@s uk-hidden@m" [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults" ></search-download>
<div class="uk-margin-top"> <div *ngIf="(searchUtils.page <= pagingLimit)" class="uk-margin-top">
<search-result [results]="results" <search-result [results]="results"
[status]=searchUtils.status [status]=searchUtils.status
[type]="entityType" [type]="entityType"
[showLoading]="true"> [showLoading]="true">
</search-result> </search-result>
</div> </div>
<div [class]="searchUtils.page > pagingLimit ? 'search-results' : ''" *ngIf="(searchUtils.page >= pagingLimit) && (searchUtils.totalResults > resultsPerPage*pagingLimit)">
<p class="uk-alert-warning" uk-alert>For more results please try a new, more specific query</p>
</div>
<div class="uk-align-center uk-margin-remove-bottom"> <div class="uk-align-center uk-margin-remove-bottom">
<search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "searchUtils.baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging> <search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "searchUtils.baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging>
</div> </div>
@ -43,11 +48,11 @@
<helper class="uk-hidden@m" position="left" styleName="uk-width-1-1@s"></helper> <helper class="uk-hidden@m" position="left" styleName="uk-width-1-1@s"></helper>
<helper class="uk-hidden@m" position="right" styleName="uk-width-1-1@s"></helper> <helper class="uk-hidden@m" position="right" styleName="uk-width-1-1@s"></helper>
</div> </div>
<div *ngIf="searchUtils.totalResults <= 10000" class="uk-visible@m helper-left-right"> <div *ngIf="searchUtils.totalResults <= csvLimit" class="uk-visible@m helper-left-right">
<search-download [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults" ></search-download> <search-download [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults" ></search-download>
<helper position="right"></helper> <helper position="right"></helper>
</div> </div>
<helper *ngIf="searchUtils.totalResults > 10000" class="helper-left-right uk-visible@m" position="right"></helper> <helper *ngIf="searchUtils.totalResults > csvLimit" class="helper-left-right uk-visible@m" position="right"></helper>
</div> </div>
<div class="uk-width-1-1"> <div class="uk-width-1-1">

View File

@ -40,11 +40,19 @@ export class AdvancedSearchPageComponent {
public baseURLWithParameters:string = ''; public baseURLWithParameters:string = '';
public csvLimit: number = 0;
public pagingLimit: number = 0;
public resultsPerPage: number = 0;
@Output() queryChange = new EventEmitter(); @Output() queryChange = new EventEmitter();
constructor (private location: Location, private _meta: Meta, private _piwikService:PiwikService, private router: Router) { constructor (private location: Location, private _meta: Meta, private _piwikService:PiwikService, private router: Router) {
} }
ngOnInit() { ngOnInit() {
this.csvLimit = OpenaireProperties.getCsvLimit();
this.pagingLimit = OpenaireProperties.getPagingLimit();
this.resultsPerPage = OpenaireProperties.getResultsPerPage();
this.updateTitle("Advanced search "+this.pageTitle); this.updateTitle("Advanced search "+this.pageTitle);
this.updateDescription("Openaire, search, repositories, open access, type, content provider, funder, project, "+ this.pageTitle); this.updateDescription("Openaire, search, repositories, open access, type, content provider, funder, project, "+ this.pageTitle);
if(typeof window !== 'undefined') { if(typeof window !== 'undefined') {

View File

@ -9,8 +9,9 @@ import {PiwikService} from '../../utils/piwik/piwik.service';
@Component({ @Component({
selector: 'search-download', selector: 'search-download',
template: ` template: `
<span class="uk-margin-large-right" *ngIf="totalResults > 0 && totalResults <= 10000"> <span class="uk-margin-large-right" *ngIf="totalResults > 0 && totalResults <= csvLimit">
<span class="clickable" (click)="downloadfile(downloadURLAPI+type+'?format=csv&page=0&size='+totalResults+csvParams,type+'-report-'+totalResults)"> <!--span class="clickable" (click)="downloadfile(downloadURLAPI+type+'?format=csv&page=0&size='+totalResults+csvParams,type+'-report-'+totalResults)"-->
<span class="clickable" (click)="downloadfile(downloadURLAPI+'?type='+type+'&format=csv'+csvParams,type+'-report-'+totalResults)">
<span aria-hidden="true" class="glyphicon glyphicon-download"></span> <span aria-hidden="true" class="glyphicon glyphicon-download"></span>
<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> (CSV) <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> (CSV)
</span> </span>
@ -31,6 +32,8 @@ export class SearchDownloadComponent {
sub: any; sub: any;
downloadFilePiwikSub: any; downloadFilePiwikSub: any;
public csvLimit: number = 0;
@ViewChild (ModalLoading) loading : ModalLoading ; @ViewChild (ModalLoading) loading : ModalLoading ;
// Alert box when something is wrong with CSV requests // Alert box when something is wrong with CSV requests
@ViewChild('AlertModalCsvError') alertCsvError; @ViewChild('AlertModalCsvError') alertCsvError;
@ -38,6 +41,7 @@ export class SearchDownloadComponent {
constructor ( private _reportsService: ReportsService, private _piwikService:PiwikService) {} constructor ( private _reportsService: ReportsService, private _piwikService:PiwikService) {}
ngOnInit() { ngOnInit() {
this.csvLimit = OpenaireProperties.getCsvLimit();
this.downloadURLAPI = OpenaireProperties.getCsvAPIURL(); this.downloadURLAPI = OpenaireProperties.getCsvAPIURL();
} }

View File

@ -72,7 +72,7 @@
<search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging> <search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging>
</div> </div>
<div *ngIf="tableViewLink || searchUtils.totalResults <=10000" class="uk-width-1-1@s uk-hidden@m"> <div *ngIf="tableViewLink || searchUtils.totalResults <= csvLimit" class="uk-width-1-1@s uk-hidden@m">
<span *ngIf="tableViewLink" class="uk-margin-medium-right"> <span *ngIf="tableViewLink" class="uk-margin-medium-right">
<a routerLinkActive="router-link-active" [class]="(disableForms)?'uk-disabled uk-link-muted':''" [routerLink]=tableViewLink > <a routerLinkActive="router-link-active" [class]="(disableForms)?'uk-disabled uk-link-muted':''" [routerLink]=tableViewLink >
<span class="uk-margin-small-right uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1"><rect x="2" y="2" width="3" height="3"></rect><rect x="8" y="2" width="3" height="3"></rect><rect x="14" y="2" width="3" height="3"></rect><rect x="2" y="8" width="3" height="3"></rect><rect x="8" y="8" width="3" height="3"></rect><rect x="14" y="8" width="3" height="3"></rect><rect x="2" y="14" width="3" height="3"></rect><rect x="8" y="14" width="3" height="3"></rect><rect x="14" y="14" width="3" height="3"></rect></svg></span> <span class="uk-margin-small-right uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1"><rect x="2" y="2" width="3" height="3"></rect><rect x="8" y="2" width="3" height="3"></rect><rect x="14" y="2" width="3" height="3"></rect><rect x="2" y="8" width="3" height="3"></rect><rect x="8" y="8" width="3" height="3"></rect><rect x="14" y="8" width="3" height="3"></rect><rect x="2" y="14" width="3" height="3"></rect><rect x="8" y="14" width="3" height="3"></rect><rect x="14" y="14" width="3" height="3"></rect></svg></span>
@ -83,7 +83,7 @@
<search-download [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults"></search-download> <search-download [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults"></search-download>
</div> </div>
<div class="uk-margin-top"> <div *ngIf="(searchUtils.page <= pagingLimit)" class="uk-margin-top">
<search-result *ngIf="!tableView" <search-result *ngIf="!tableView"
[results]="results" [results]="results"
[status]="searchUtils.status" [status]="searchUtils.status"
@ -92,6 +92,10 @@
</search-result> </search-result>
</div> </div>
<div [class]="searchUtils.page > pagingLimit ? 'search-results' : ''" *ngIf="(searchUtils.page >= pagingLimit) && (searchUtils.totalResults > resultsPerPage*pagingLimit)">
<p class="uk-alert-warning" uk-alert>For more results please try a new, more specific query</p>
</div>
<div class="uk-align-center uk-margin-remove-bottom"> <div class="uk-align-center uk-margin-remove-bottom">
<search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging> <search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging>
</div> </div>
@ -100,7 +104,7 @@
<helper class="uk-hidden@m" position="right" styleName="uk-width-1-1@s"></helper> <helper class="uk-hidden@m" position="right" styleName="uk-width-1-1@s"></helper>
</div> </div>
<div *ngIf="tableViewLink || searchUtils.totalResults <=10000" class="helper-left-right uk-visible@m"> <div *ngIf="tableViewLink || searchUtils.totalResults <= csvLimit" class="helper-left-right uk-visible@m">
<span *ngIf="tableViewLink" class="uk-margin-medium-right"> <span *ngIf="tableViewLink" class="uk-margin-medium-right">
<a routerLinkActive="router-link-active" [class]="(disableForms)?'uk-disabled uk-link-muted':''" [routerLink]=tableViewLink > <a routerLinkActive="router-link-active" [class]="(disableForms)?'uk-disabled uk-link-muted':''" [routerLink]=tableViewLink >
<span class="uk-margin-small-right uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1"><rect x="2" y="2" width="3" height="3"></rect><rect x="8" y="2" width="3" height="3"></rect><rect x="14" y="2" width="3" height="3"></rect><rect x="2" y="8" width="3" height="3"></rect><rect x="8" y="8" width="3" height="3"></rect><rect x="14" y="8" width="3" height="3"></rect><rect x="2" y="14" width="3" height="3"></rect><rect x="8" y="14" width="3" height="3"></rect><rect x="14" y="14" width="3" height="3"></rect></svg></span> <span class="uk-margin-small-right uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1"><rect x="2" y="2" width="3" height="3"></rect><rect x="8" y="2" width="3" height="3"></rect><rect x="14" y="2" width="3" height="3"></rect><rect x="2" y="8" width="3" height="3"></rect><rect x="8" y="8" width="3" height="3"></rect><rect x="14" y="8" width="3" height="3"></rect><rect x="2" y="14" width="3" height="3"></rect><rect x="8" y="14" width="3" height="3"></rect><rect x="14" y="14" width="3" height="3"></rect></svg></span>
@ -111,7 +115,7 @@
<search-download [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults"></search-download> <search-download [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults"></search-download>
<helper position="right"></helper> <helper position="right"></helper>
</div> </div>
<helper *ngIf="!tableViewLink && searchUtils.totalResults > 10000" class="helper-left-right uk-visible@m" position="right"></helper> <helper *ngIf="!tableViewLink && searchUtils.totalResults > csvLimit" class="helper-left-right uk-visible@m" position="right"></helper>
</div> </div>
<!-- <div [class]="(showRefine)? 'uk-width-3-5@m uk-width-3-5@l uk-width-1-1@s uk-align-center uk-margin-remove-bottom' : 'uk-width-1-1'"> <!-- <div [class]="(showRefine)? 'uk-width-3-5@m uk-width-3-5@l uk-width-1-1@s uk-align-center uk-margin-remove-bottom' : 'uk-width-1-1'">
<search-paging [loadPaging]="loadPaging" [type]="type" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging> <search-paging [loadPaging]="loadPaging" [type]="type" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging>

View File

@ -56,11 +56,18 @@ export class SearchPageComponent {
public showUnknownFilters:boolean = false; // when a filter exists in query but has no results, so no filters returned from the query public showUnknownFilters:boolean = false; // when a filter exists in query but has no results, so no filters returned from the query
//@ViewChild (SearchFilterModalComponent) searchFilterModal : SearchFilterModalComponent ; //@ViewChild (SearchFilterModalComponent) searchFilterModal : SearchFilterModalComponent ;
public currentFilter: Filter; public currentFilter: Filter;
public csvLimit: number = 0;
public pagingLimit: number = 0;
public resultsPerPage: number = 0;
constructor (private location: Location , private _meta: Meta,private element: ElementRef,private _piwikService:PiwikService, private router: Router) { constructor (private location: Location , private _meta: Meta,private element: ElementRef,private _piwikService:PiwikService, private router: Router) {
} }
ngOnInit() { ngOnInit() {
this.csvLimit = OpenaireProperties.getCsvLimit();
this.pagingLimit = OpenaireProperties.getPagingLimit();
this.resultsPerPage = OpenaireProperties.getResultsPerPage();
if (typeof document !== 'undefined') { if (typeof document !== 'undefined') {
this.element.nativeElement.scrollIntoView(); this.element.nativeElement.scrollIntoView();
} }

View File

@ -281,12 +281,12 @@ public getResultsForDeposit(id:string, type:string, page: number, size: number)
this._getResults(parameters,refine,page,this.searchUtils.size); this._getResults(parameters,refine,page,this.searchUtils.size);
} }
private _getResults(parameters:string,refine:boolean, page: number, size: number){ private _getResults(parameters:string,refine:boolean, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
this.csvParams = parameters; this.csvParams = parameters;
// if(!refine && !this.searchPage){
// this.searchPage = new SearchPageComponent(this._location);
// }
//var errorCodes:ErrorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.LOADING; this.searchUtils.status = this.errorCodes.LOADING;
//this.searchPage.openLoading(); //this.searchPage.openLoading();
@ -346,6 +346,7 @@ public getResultsForDeposit(id:string, type:string, page: number, size: number)
} }
); );
} }
}
private setFilters(){ private setFilters(){
//TODO set filters from //TODO set filters from

View File

@ -195,12 +195,12 @@ public getResults(keyword:string,refine:boolean, page: number, size: number){
this._getResults(parameters,refine,page,size); this._getResults(parameters,refine,page,size);
} }
private _getResults(parameters:string,refine:boolean, page: number, size: number){ private _getResults(parameters:string,refine:boolean, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
this.csvParams = parameters; this.csvParams = parameters;
// if(!refine && !this.searchPage){
// this.searchPage = new SearchPageComponent(this._location);
// }
//var errorCodes:ErrorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.LOADING; this.searchUtils.status = this.errorCodes.LOADING;
//this.searchPage.openLoading(); //this.searchPage.openLoading();
this.disableForms = true; this.disableForms = true;
@ -258,6 +258,7 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
} }
); );
} }
}

View File

@ -100,12 +100,12 @@ export class SearchOrganizationsComponent {
this._getResults(parameters,refine,page,this.searchUtils.size); this._getResults(parameters,refine,page,this.searchUtils.size);
} }
private _getResults(parameters:string,refine:boolean, page: number, size: number){ private _getResults(parameters:string,refine:boolean, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
this.csvParams = parameters; this.csvParams = parameters;
// if(!refine && !this.searchPage){
// this.searchPage = new SearchPageComponent(this._location);
// }
//var errorCodes:ErrorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.LOADING; this.searchUtils.status = this.errorCodes.LOADING;
//this.searchPage.openLoading(); //this.searchPage.openLoading();
this.disableForms = true; this.disableForms = true;
@ -163,6 +163,7 @@ export class SearchOrganizationsComponent {
} }
); );
} }
}
public queryChanged($event) { public queryChanged($event) {

View File

@ -102,13 +102,12 @@ export class SearchProjectsComponent {
this._getResults(parameters,refine,page,this.searchUtils.size); this._getResults(parameters,refine,page,this.searchUtils.size);
} }
private _getResults(parameters:string,refine:boolean, page: number, size: number){ private _getResults(parameters:string,refine:boolean, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
this.csvParams = parameters; this.csvParams = parameters;
// if(!refine && !this.searchPage){
// this.searchPage = new SearchPageComponent(this._location);
// }
//var errorCodes:ErrorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.LOADING; this.searchUtils.status = this.errorCodes.LOADING;
//this.searchPage.openLoading(); //this.searchPage.openLoading();
this.disableForms = true; this.disableForms = true;
@ -167,6 +166,7 @@ export class SearchProjectsComponent {
} }
); );
} }
}
public getResultsForDataproviders(id:string, page: number, size: number){ public getResultsForDataproviders(id:string, page: number, size: number){

View File

@ -204,21 +204,20 @@ public getResults(keyword:string,refine:boolean, page: number, size: number){
} }
private _getResults(parameters:string,refine:boolean, page: number, size: number){ private _getResults(parameters:string,refine:boolean, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
this.csvParams = parameters; this.csvParams = parameters;
// if(!refine && !this.searchPage){
// this.searchPage = new SearchPageComponent(this._location);
// }
//var errorCodes:ErrorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.LOADING; this.searchUtils.status = this.errorCodes.LOADING;
//this.searchPage.openLoading();
this.disableForms = true; this.disableForms = true;
this.results = []; this.results = [];
this.searchUtils.totalResults = 0; this.searchUtils.totalResults = 0;
this.subResults = this._searchPublicationsService.searchPublications(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, this.searchPage.getFields()).subscribe( this.subResults = this._searchPublicationsService.searchPublications(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, this.searchPage.getFields()).subscribe(
data => { data => {
console.info(data);
this.searchUtils.totalResults = data[0]; this.searchUtils.totalResults = data[0];
console.info("search Publications: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]"); console.info("search Publications: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]");
this.results = data[1]; this.results = data[1];
@ -271,6 +270,7 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
} }
); );
} }
}
/* /*
public getAggregatorResults(id:string, page: number, size: number){ public getAggregatorResults(id:string, page: number, size: number){
this.subResults = this._searchPublicationsService.searchAggregators('&fq=collectedfromdatasourceid exact "'+id+'"',"&refine=true&fields=resulthostingdatasource" , page, size).subscribe( this.subResults = this._searchPublicationsService.searchAggregators('&fq=collectedfromdatasourceid exact "'+id+'"',"&refine=true&fields=resulthostingdatasource" , page, size).subscribe(

View File

@ -195,12 +195,12 @@ public getResults(keyword:string,refine:boolean, page: number, size: number){
this._getResults(parameters,refine,page,size); this._getResults(parameters,refine,page,size);
} }
private _getResults(parameters:string,refine:boolean, page: number, size: number){ private _getResults(parameters:string,refine:boolean, page: number, size: number){
if(page > OpenaireProperties.getPagingLimit()) {
size=0;
}
if(page <= OpenaireProperties.getPagingLimit() || this.searchUtils.status == this.errorCodes.LOADING) {
this.csvParams = parameters; this.csvParams = parameters;
// if(!refine && !this.searchPage){
// this.searchPage = new SearchPageComponent(this._location);
// }
//var errorCodes:ErrorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.LOADING; this.searchUtils.status = this.errorCodes.LOADING;
//this.searchPage.openLoading(); //this.searchPage.openLoading();
this.disableForms = true; this.disableForms = true;
@ -258,6 +258,7 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
} }
); );
} }
}

View File

@ -3,6 +3,7 @@ import {Router} from '@angular/router';
import {DomSanitizer} from '@angular/platform-browser'; import {DomSanitizer} from '@angular/platform-browser';
//Usage Example <paging [currentPage]="page" [totalResults]="resultsNum" [term]="keyword"> </paging> //Usage Example <paging [currentPage]="page" [totalResults]="resultsNum" [term]="keyword"> </paging>
import {RouterHelper} from './routerHelper.class'; import {RouterHelper} from './routerHelper.class';
import {OpenaireProperties} from './properties/openaireProperties';
@Component({ @Component({
selector: 'paging', selector: 'paging',
@ -53,8 +54,19 @@ export class PagingFormatter {
} }
getTotalPages(){ getTotalPages(){
let total: number = 0;
let limit: number = OpenaireProperties.getPagingLimit();
var i:number =parseInt(''+(this.totalResults/this.size)); var i:number =parseInt(''+(this.totalResults/this.size));
return (((this.totalResults/this.size) == i )? i :(i+1)) ; total = (((this.totalResults/this.size) == i )? i :(i+1)) ;
if((this.currentPage == limit) && (total > limit)) {
total = limit;
} else if((this.currentPage > limit) && (total > limit)) {
total = this.currentPage;
}
return total;
} }
// onPage(pageNum: number){ // onPage(pageNum: number){

View File

@ -1,5 +1,8 @@
export class OpenaireProperties { export class OpenaireProperties {
private static productionMode:boolean = false; private static productionMode:boolean = false;
private static csvLimit: number = 2000;
private static pagingLimit: number = 20;
private static resultsPerPage: number = 10;
//base url //base url
private static baseLink = "https://demo.openaire.eu"; private static baseLink = "https://demo.openaire.eu";
@ -58,7 +61,8 @@ export class OpenaireProperties {
private static csvAPIURL_pm = "https://beta.services.openaire.eu/search/v2/api/";//publications?format=csv private static csvAPIURL_pm = "https://beta.services.openaire.eu/search/v2/api/";//publications?format=csv
// private static csvAPIURL = "http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";//publications?format=csv // private static csvAPIURL = "http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";//publications?format=csv
private static csvAPIURL = "https://beta.services.openaire.eu/search/v2/api/";//publications?format=csv //private static csvAPIURL = "https://beta.services.openaire.eu/search/v2/api/";//publications?format=csv
private static csvAPIURL = "http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/reports";
private static searchCrossrefAPIURL = "https://api.crossref.org/works"; private static searchCrossrefAPIURL = "https://api.crossref.org/works";
// private static searchDataciteAPIURL = "https://search.datacite.org/api"; // private static searchDataciteAPIURL = "https://search.datacite.org/api";
@ -120,6 +124,18 @@ export class OpenaireProperties {
private static useCache:boolean = true; private static useCache:boolean = true;
public static getCsvLimit():number {
return this.csvLimit;
}
public static getPagingLimit():number {
return this.pagingLimit;
}
public static getResultsPerPage():number {
return this.resultsPerPage;
}
public static getBaseLink():string{ public static getBaseLink():string{
return this.baseLink; return this.baseLink;
} }