1. Add 'sorting' option by 'relevance' or 'date' in simple search pages for results (publications, datasets, software, orps).
2. Add 'results per page' option in all simple search, advanced search and search table view pages. 3. Add 'sortBy' field in 'searchUtils.class'. git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@53919 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
d17ca55f06
commit
0886a26ac9
|
@ -545,7 +545,7 @@ openaireORPPageChange($event) {
|
|||
}
|
||||
);
|
||||
}else{
|
||||
this._searchDatasetsService.searchDatasets('q='+term+'', null, page, size, [], this.properties).subscribe(
|
||||
this._searchDatasetsService.searchDatasets('q='+term+'', null, page, size, "", [], this.properties).subscribe(
|
||||
data => {
|
||||
if(data != null) {
|
||||
this.openaireDataPage=page;
|
||||
|
|
|
@ -80,6 +80,12 @@ export class AdvancedSearchDataProvidersComponent {
|
|||
|
||||
let page = (params['page']=== undefined)?0:+params['page'];
|
||||
this.searchUtils.page = ( page < 1 ) ? 1 : page;
|
||||
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
this.searchPage.fieldIds = this.fieldIds;
|
||||
this.selectedFields =[];
|
||||
this.searchPage.selectedFields = this.selectedFields;
|
||||
|
|
|
@ -80,6 +80,12 @@ export class AdvancedSearchDatasetsComponent {
|
|||
|
||||
let page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.page = ( page <= 0 ) ? 1 : page;
|
||||
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
this.searchPage.fieldIds = this.fieldIds;
|
||||
this.selectedFields =[];
|
||||
this.searchPage.selectedFields = this.selectedFields;
|
||||
|
|
|
@ -80,6 +80,12 @@ public resourcesQuery = "(oaftype exact organization)";
|
|||
|
||||
let page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.page = ( page <= 0 ) ? 1 : page;
|
||||
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
this.searchPage.fieldIds = this.fieldIds;
|
||||
this.selectedFields =[];
|
||||
this.searchPage.selectedFields = this.selectedFields;
|
||||
|
|
|
@ -80,6 +80,12 @@ export class AdvancedSearchOrpsComponent {
|
|||
|
||||
let page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.page = ( page <= 0 ) ? 1 : page;
|
||||
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
this.searchPage.fieldIds = this.fieldIds;
|
||||
this.selectedFields =[];
|
||||
this.searchPage.selectedFields = this.selectedFields;
|
||||
|
|
|
@ -81,6 +81,12 @@ export class AdvancedSearchProjectsComponent {
|
|||
|
||||
let page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.page = ( page <= 0 ) ? 1 : page;
|
||||
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
this.searchPage.fieldIds = this.fieldIds;
|
||||
this.selectedFields =[];
|
||||
this.searchPage.selectedFields = this.selectedFields;
|
||||
|
|
|
@ -85,6 +85,12 @@ export class AdvancedSearchPublicationsComponent {
|
|||
|
||||
let page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.page = ( page <= 0 ) ? 1 : page;
|
||||
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
this.searchPage.fieldIds = this.fieldIds;
|
||||
this.selectedFields =[];
|
||||
this.searchPage.selectedFields = this.selectedFields;
|
||||
|
|
|
@ -81,6 +81,12 @@ export class AdvancedSearchSoftwareComponent {
|
|||
|
||||
let page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.page = ( page <= 0 ) ? 1 : page;
|
||||
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
this.searchPage.fieldIds = this.fieldIds;
|
||||
this.selectedFields =[];
|
||||
this.searchPage.selectedFields = this.selectedFields;
|
||||
|
|
|
@ -42,6 +42,9 @@
|
|||
<div *ngIf="openaireLink"> <a class="uk-margin-top uk-button uk-button-text" [href]=openaireLink target="_blank" >Results in OpenAIRE</a></div>
|
||||
<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>
|
||||
<div class="uk-grid uk-margin-bottom">
|
||||
<search-results-per-page class="uk-width-1-2@m uk-width-1-1" [(size)]="searchUtils.size" (sizeChange)="sizeChanged($event)"></search-results-per-page>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<search-download class="uk-width-1-1@s uk-hidden@m" [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults" ></search-download>
|
||||
|
@ -54,12 +57,15 @@
|
|||
</search-result>
|
||||
</div>
|
||||
|
||||
<div [class]="searchUtils.page > pagingLimit ? 'search-results' : ''" *ngIf="(searchUtils.page >= pagingLimit) && (searchUtils.totalResults > resultsPerPage*pagingLimit)">
|
||||
<div [class]="searchUtils.page > pagingLimit ? 'search-results' : ''" *ngIf="(searchUtils.page >= pagingLimit) && (searchUtils.totalResults > searchUtils.size*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">
|
||||
<search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [(results)] = "results" [(baseUrl)] = "searchUtils.baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-paging>
|
||||
<div class="uk-grid uk-margin-bottom">
|
||||
<search-results-per-page class="uk-width-1-2@m uk-width-1-1" [(size)]="searchUtils.size" (sizeChange)="sizeChanged($event)"></search-results-per-page>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a *ngIf="properties.showLastIndexInformationLink" class="last_index_info uk-button-text"
|
||||
|
|
|
@ -205,6 +205,13 @@ export class AdvancedSearchPageComponent {
|
|||
if(includePage && this.searchUtils.page != 1){
|
||||
params += "&page="+this.searchUtils.page;
|
||||
}
|
||||
|
||||
if(this.searchUtils.size != 10) {
|
||||
params+=((params.length == 0)?'':'&') + 'size=' + this.searchUtils.size;
|
||||
this.parameterNames.push("size");
|
||||
this.parameterValues.push(""+this.searchUtils.size);
|
||||
}
|
||||
|
||||
return '?'+params;
|
||||
}
|
||||
public createQueryParameters(){
|
||||
|
@ -271,6 +278,11 @@ export class AdvancedSearchPageComponent {
|
|||
this.searchUtils.page = +$event.value;
|
||||
this.goTo(this.searchUtils.page);
|
||||
}
|
||||
sizeChanged($event) {
|
||||
this.searchUtils.size = $event.value;
|
||||
this.goTo(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Update the url with proper parameters. This is used as base url in Paging Component
|
||||
*/
|
||||
|
|
|
@ -9,6 +9,7 @@ import{LoadingModalModule} from '../../utils/modal/loadingModal.module';
|
|||
import {ReportsServiceModule} from '../../services/reportsService.module';
|
||||
import {SearchDownloadModule} from './searchDownload.module';
|
||||
import{SearchPagingModule} from './searchPaging.module';
|
||||
import {SearchResultsPerPageModule} from './searchResultsPerPage.module';
|
||||
|
||||
import {AdvancedSearchFormModule} from '../searchUtils/advancedSearchForm.module';
|
||||
import {PiwikServiceModule} from '../../utils/piwik/piwikService.module';
|
||||
|
@ -20,7 +21,7 @@ import { SEOServiceModule } from '../../sharedComponents/SEO/SEOService.module';
|
|||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule, RouterModule, SearchResultsModule, LoadingModalModule, ReportsServiceModule, SearchPagingModule, AdvancedSearchFormModule, SearchDownloadModule, PiwikServiceModule, HelperModule,
|
||||
Schema2jsonldModule, SEOServiceModule
|
||||
Schema2jsonldModule, SEOServiceModule, SearchResultsPerPageModule
|
||||
],
|
||||
declarations: [
|
||||
AdvancedSearchPageComponent,
|
||||
|
|
|
@ -144,7 +144,13 @@
|
|||
<!-- <div [class]="(showRefine)?'uk-width-expand@m uk-first-column':''" > -->
|
||||
<div *ngIf="openaireLink"> <a class="uk-margin-top uk-button uk-button-text" [href]=openaireLink target="_blank" >Results in OpenAIRE</a></div>
|
||||
<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 class="uk-grid uk-margin-bottom">
|
||||
<!-- <search-results-per-page class="uk-width-1-2@m uk-width-1-1" [(searchUtils)] = "searchUtils" [(baseUrl)] = "baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-results-per-page> -->
|
||||
<!-- <search-sorting class="uk-width-1-2@m uk-width-1-1" *ngIf="sort" [(searchUtils)] = "searchUtils" [(sortBy)]="sortBy" [(baseUrl)] = "baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-sorting> -->
|
||||
<search-results-per-page class="uk-width-1-2@m uk-width-1-1" [(size)]="searchUtils.size" (sizeChange)="sizeChanged($event)"></search-results-per-page>
|
||||
<search-sorting class="uk-width-1-2@m uk-width-1-1" *ngIf="sort" [(sortBy)]="searchUtils.sortBy" (sortByChange)="sortByChanged($event)"></search-sorting>
|
||||
</div>
|
||||
</div>
|
||||
<!-- *ngIf="tableViewLink || searchUtils.totalResults <= csvLimit" -->
|
||||
<!-- <div class="uk-width-1-1@s uk-hidden@m">
|
||||
|
@ -167,12 +173,19 @@
|
|||
</search-result>
|
||||
</div>
|
||||
|
||||
<div [class]="searchUtils.page > pagingLimit ? 'search-results' : ''" *ngIf="(searchUtils.page >= pagingLimit) && (searchUtils.totalResults > resultsPerPage*pagingLimit)">
|
||||
<div [class]="searchUtils.page > pagingLimit ? 'search-results' : ''" *ngIf="(searchUtils.page >= pagingLimit) && (searchUtils.totalResults > searchUtils.size*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">
|
||||
<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 class="uk-grid uk-margin-bottom">
|
||||
<search-results-per-page class="uk-width-1-2@m uk-width-1-1" [(size)]="searchUtils.size" (sizeChange)="sizeChanged($event)"></search-results-per-page>
|
||||
<!-- <search-results-per-page class="uk-width-1-2@m uk-width-1-1"></search-results-per-page> -->
|
||||
<!--[(size)]="searchUtils.size" (sizeChange)="sizeChanged($event)"-->
|
||||
<!-- <search-sorting class="uk-width-1-2@m uk-width-1-1" *ngIf="sort" [(searchUtils)] = "searchUtils" [(sortBy)]="sortBy" [(baseUrl)] = "baseUrl" [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues" ></search-sorting> -->
|
||||
<search-sorting class="uk-width-1-2@m uk-width-1-1" *ngIf="sort" [(sortBy)]="searchUtils.sortBy" (sortByChange)="sortByChanged($event)"></search-sorting>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a *ngIf="properties.showLastIndexInformationLink" class="last_index_info uk-button-text"
|
||||
|
|
|
@ -51,6 +51,8 @@ export class SearchPageComponent {
|
|||
@Input() searchFormClass: string = "searchForm";
|
||||
@Input() openaireLink: string;
|
||||
@Input() connectCommunityId: string;
|
||||
@Input() sort: boolean = false;
|
||||
//@Input() sortBy: string = "";
|
||||
@ViewChild (ModalLoading) loading : ModalLoading ;
|
||||
public fieldIdsMap;//: { [key:string]:{ name:string, operator:string, type:string, indexField:string, equalityOperator:string }};
|
||||
private searchFieldsHelper:SearchFields = new SearchFields();
|
||||
|
@ -355,6 +357,26 @@ export class SearchPageComponent {
|
|||
if(this.searchUtils.page != 1 && includePage){
|
||||
allLimits+=((allLimits.length == 0)?'?':'&') + 'page=' + this.searchUtils.page;
|
||||
}
|
||||
if(this.searchUtils.size != 10) {
|
||||
allLimits+=((allLimits.length == 0)?'?':'&') + 'size=' + this.searchUtils.size;
|
||||
this.parameterNames.push("size");
|
||||
this.parameterValues.push(""+this.searchUtils.size);
|
||||
}
|
||||
if(this.sort && this.searchUtils.sortBy) {
|
||||
allLimits+=((allLimits.length == 0)?'?':'&') + 'sortBy=' + this.searchUtils.sortBy;
|
||||
this.parameterNames.push("sortBy");
|
||||
this.parameterValues.push(this.searchUtils.sortBy);
|
||||
} /*else {
|
||||
let index: number = this.parameterNames.findIndex(function(element) {
|
||||
return element == "sortBy";
|
||||
});
|
||||
console.info("index of sortby: "+index);
|
||||
if(index >= 0) {
|
||||
console.info("------remove sortBy------");
|
||||
this.parameterNames.splice(index, 1);
|
||||
this.parameterValues.splice(index, 1);
|
||||
}
|
||||
}*/
|
||||
|
||||
return allLimits;
|
||||
}
|
||||
|
@ -525,6 +547,16 @@ export class SearchPageComponent {
|
|||
this.goTo(1);
|
||||
}
|
||||
|
||||
sizeChanged($event) {
|
||||
this.searchUtils.size = $event.value;
|
||||
this.goTo(1);
|
||||
}
|
||||
|
||||
sortByChanged($event) {
|
||||
this.searchUtils.sortBy = $event.value;
|
||||
this.goTo(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get A sub-array of this.refineFields array, which contains the ids of the selected filters
|
||||
*/
|
||||
|
|
|
@ -13,6 +13,8 @@ import {SearchFilterModule} from './searchFilter.module';
|
|||
import{LoadingModalModule} from '../../utils/modal/loadingModal.module';
|
||||
import {ReportsServiceModule} from '../../services/reportsService.module';
|
||||
import{SearchPagingModule} from './searchPaging.module';
|
||||
import {SearchResultsPerPageModule} from './searchResultsPerPage.module';
|
||||
import {SearchSortingModule} from './searchSorting.module';
|
||||
import {SearchDownloadModule} from './searchDownload.module';
|
||||
import {ModalModule} from '../../utils/modal/modal.module';
|
||||
import {PiwikServiceModule} from '../../utils/piwik/piwikService.module';
|
||||
|
@ -26,7 +28,7 @@ import { SEOServiceModule } from '../../sharedComponents/SEO/SEOService.module';
|
|||
imports: [
|
||||
CommonModule, FormsModule,RouterModule, SearchFormModule, SearchResultsModule,
|
||||
LoadingModalModule, ReportsServiceModule,
|
||||
SearchPagingModule, SearchDownloadModule, ModalModule, SearchFilterModule, PiwikServiceModule, HelperModule, Schema2jsonldModule, SEOServiceModule
|
||||
SearchPagingModule, SearchResultsPerPageModule, SearchSortingModule, SearchDownloadModule, ModalModule, SearchFilterModule, PiwikServiceModule, HelperModule, Schema2jsonldModule, SEOServiceModule
|
||||
],
|
||||
declarations: [
|
||||
SearchPageComponent
|
||||
|
|
|
@ -152,14 +152,17 @@
|
|||
<div class="uk-width-expand@m uk-width-1-1@s uk-first-column custom-dataTable-content" >
|
||||
<div *ngIf="openaireLink"> <a class="uk-margin-top uk-button uk-button-text" [href]=openaireLink target="_blank" >Results in OpenAIRE</a></div>
|
||||
<div *ngIf="searchUtils.totalResults > 0" class="uk-align-center uk-margin-remove-bottom">
|
||||
<div class="searchPaging uk-panel uk-margin-top uk-grid uk-margin-bottom">
|
||||
<div class="searchPaging uk-panel uk-margin-top uk-grid">
|
||||
<span class="uk-width-1-1@s uk-width-1-2@m">
|
||||
{{searchUtils.totalResults | number}} {{type}}, page {{searchUtils.page | number}} of {{(totalPages()) | number}}
|
||||
</span>
|
||||
<span class="float-children-right-at-medium margin-small-top-at-small uk-width-1-1@s uk-width-1-2@m">
|
||||
<paging-no-load [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults" [size]="rowsOnPage" (pageChange)="goTo($event.value, false)"></paging-no-load>
|
||||
<paging-no-load [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults" [size]="searchUtils.size" (pageChange)="goTo($event.value, false)"></paging-no-load>
|
||||
</span>
|
||||
</div>
|
||||
<div class="uk-margin-bottom">
|
||||
<search-results-per-page class="uk-width-1-1" [(size)]="searchUtils.size" (sizeChange)="sizeChanged($event)"></search-results-per-page>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div *ngIf="searchViewLink" class="uk-width-1-1@s uk-hidden@m">
|
||||
|
@ -263,14 +266,17 @@
|
|||
</div>
|
||||
|
||||
<div *ngIf="searchUtils.totalResults > 0" class="uk-align-center uk-margin-remove-bottom">
|
||||
<div class="searchPaging uk-panel uk-margin-top uk-grid uk-margin-bottom">
|
||||
<div class="searchPaging uk-panel uk-margin-top uk-grid">
|
||||
<span class="uk-width-1-1@s uk-width-1-2@m">
|
||||
{{searchUtils.totalResults | number}} {{type}}, page {{searchUtils.page | number}} of {{(totalPages()) | number}}
|
||||
</span>
|
||||
<span class="float-children-right-at-medium margin-small-top-at-small uk-width-1-1@s uk-width-1-2@m">
|
||||
<paging-no-load [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults" [size]="rowsOnPage" (pageChange)="goTo($event.value, false)"></paging-no-load>
|
||||
<paging-no-load [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults" [size]="searchUtils.size" (pageChange)="goTo($event.value, false)"></paging-no-load>
|
||||
</span>
|
||||
</div>
|
||||
<div class="uk-margin-bottom">
|
||||
<search-results-per-page class="uk-width-1-1" [(size)]="searchUtils.size" (sizeChange)="sizeChanged($event)"></search-results-per-page>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a *ngIf="properties.showLastIndexInformationLink" class="last_index_info uk-button-text"
|
||||
|
|
|
@ -65,7 +65,6 @@ export class SearchPageTableViewComponent implements OnInit, AfterViewInit {
|
|||
public parameterNames:string[] =[];
|
||||
public parameterValues:string[] =[];
|
||||
|
||||
public rowsOnPage:number = 10;
|
||||
public isPiwikEnabled;
|
||||
|
||||
|
||||
|
@ -104,7 +103,7 @@ export class SearchPageTableViewComponent implements OnInit, AfterViewInit {
|
|||
"paging": true,
|
||||
"searching": false,
|
||||
"lengthChange": false,
|
||||
"pageLength": this.rowsOnPage
|
||||
"pageLength": this.searchUtils.size
|
||||
};
|
||||
this.updateTitle(this.pageTitle);
|
||||
var description = "Openaire, search, repositories, open access, type, content provider, funder, project, " + this.type + "," +this.pageTitle;
|
||||
|
@ -144,7 +143,7 @@ export class SearchPageTableViewComponent implements OnInit, AfterViewInit {
|
|||
|
||||
|
||||
totalPages(): number {
|
||||
let totalPages:any = this.searchUtils.totalResults/(this.rowsOnPage);
|
||||
let totalPages:any = this.searchUtils.totalResults/(this.searchUtils.size);
|
||||
if(!(Number.isInteger(totalPages))) {
|
||||
totalPages = (parseInt(totalPages, 10) + 1);
|
||||
}
|
||||
|
@ -296,7 +295,6 @@ public getParametersFromUrl(params) {
|
|||
|
||||
var urlParameters = this.createUrlParameters(this.filters,true);
|
||||
this.location.go(location.pathname,urlParameters);
|
||||
|
||||
}
|
||||
|
||||
filterChanged($event){
|
||||
|
@ -306,6 +304,13 @@ public getParametersFromUrl(params) {
|
|||
this.searchUtils.keyword = $event.value;
|
||||
this.goTo(1);
|
||||
}
|
||||
|
||||
sizeChanged($event) {
|
||||
this.searchUtils.size = $event.value;
|
||||
var table = $('#dpTable').DataTable();
|
||||
table.page.len( this.searchUtils.size ).draw();
|
||||
this.goTo(1);
|
||||
}
|
||||
/*
|
||||
downloadClicked($event) {
|
||||
if($event.value == true) {
|
||||
|
|
|
@ -13,6 +13,7 @@ import{SearchPagingModule} from './searchPaging.module';
|
|||
import {SearchDownloadModule} from './searchDownload.module';
|
||||
import {ModalModule} from '../../utils/modal/modal.module';
|
||||
import {PagingModule} from '../../utils/paging.module';
|
||||
import {SearchResultsPerPageModule} from './searchResultsPerPage.module';
|
||||
import {DataTablesModule} from 'angular-datatables';
|
||||
|
||||
import {PiwikServiceModule} from '../../utils/piwik/piwikService.module';
|
||||
|
@ -29,7 +30,7 @@ import { SEOServiceModule } from '../../sharedComponents/SEO/SEOService.module';
|
|||
CommonModule, FormsModule,RouterModule, SearchFormModule, SearchResultsModule, LoadingModalModule,
|
||||
ReportsServiceModule, SearchPagingModule, SearchDownloadModule, ModalModule, PagingModule,
|
||||
DataTablesModule, SearchFilterModule, PiwikServiceModule, HelperModule, ErrorMessagesModule,
|
||||
Schema2jsonldModule, SEOServiceModule
|
||||
Schema2jsonldModule, SEOServiceModule, SearchResultsPerPageModule
|
||||
],
|
||||
declarations: [
|
||||
SearchPageTableViewComponent
|
||||
|
|
|
@ -5,7 +5,7 @@ import {ErrorCodes} from '../../utils/properties/errorCodes';
|
|||
@Component({
|
||||
selector: 'search-paging',
|
||||
template: `
|
||||
<div class= "searchPaging uk-panel uk-margin-top uk-grid uk-margin-bottom">
|
||||
<div class= "searchPaging uk-panel uk-margin-top uk-grid">
|
||||
<div class="uk-width-1-1@s uk-width-1-2@m" *ngIf="results && searchUtils.totalResults > 0">
|
||||
{{searchUtils.totalResults|number}} {{type}}, page {{searchUtils.page | number}} of {{(totalPages(searchUtils.totalResults)|number)}}
|
||||
</div>
|
||||
|
|
|
@ -6,5 +6,5 @@ export class SearchUtilsClass{
|
|||
baseUrl:string = "";
|
||||
totalResults = 0;
|
||||
totalResultsNoFilters:number; // for organization landing - tab with projects
|
||||
|
||||
sortBy: string = "";
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ import{EnvProperties} from '../../utils/properties/env-properties';
|
|||
template: `
|
||||
|
||||
<search-page pageTitle="Search Content Providers"
|
||||
formPlaceholderText = "Search for Content Providers"
|
||||
formPlaceholderText = "Search for Content Providers"
|
||||
type="content providers" entityType="dataprovider" [(filters)] = "filters"
|
||||
[(results)] = "results" [(searchUtils)] = "searchUtils" [baseUrl] = "baseUrl"
|
||||
(queryChange)="queryChanged($event)"
|
||||
|
@ -23,7 +23,7 @@ import{EnvProperties} from '../../utils/properties/env-properties';
|
|||
[disableForms]="disableForms"
|
||||
[loadPaging]="loadPaging"
|
||||
[oldTotalResults]="oldTotalResults"
|
||||
[piwikSiteId]=piwikSiteId
|
||||
[piwikSiteId]=piwikSiteId
|
||||
searchFormClass="datasourcesSearchForm">
|
||||
</search-page>
|
||||
|
||||
|
@ -87,6 +87,10 @@ properties: EnvProperties;
|
|||
}
|
||||
firstLoad = false;
|
||||
this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size);
|
||||
|
@ -287,7 +291,7 @@ public getResultsForDeposit(id:string, type:string, page: number, size: number)
|
|||
if(keyword.length > 0){
|
||||
parameters = "q="+ keyword;
|
||||
}
|
||||
this._getResults(parameters,refine,page,this.searchUtils.size);
|
||||
this._getResults(parameters,refine,page, size);
|
||||
}
|
||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||
if(page > this.pagingLimit) {
|
||||
|
|
|
@ -29,8 +29,10 @@ import{EnvProperties} from '../../utils/properties/env-properties';
|
|||
[(openaireLink)]=openaireLink
|
||||
[(advancedSearchParameters)]=advancedSearchParameters
|
||||
[piwikSiteId]=piwikSiteId
|
||||
[(connectCommunityId)]=connectCommunityId >
|
||||
[(connectCommunityId)]=connectCommunityId
|
||||
[(sort)]=sort >
|
||||
</search-page>
|
||||
<!--[(sortBy)]="sortBy"-->
|
||||
`
|
||||
})
|
||||
|
||||
|
@ -57,6 +59,8 @@ export class SearchDatasetsComponent {
|
|||
public loadPaging: boolean = true;
|
||||
public oldTotalResults: number = 0;
|
||||
pagingLimit = 0;
|
||||
//public sortBy: string = "";
|
||||
public sort: boolean = true;
|
||||
properties: EnvProperties;
|
||||
@ViewChild (SearchPageComponent) searchPage : SearchPageComponent ;
|
||||
constructor (private route: ActivatedRoute, private _searchDatasetsService: SearchDatasetsService ) {
|
||||
|
@ -92,9 +96,18 @@ properties: EnvProperties;
|
|||
}
|
||||
firstLoad = false;
|
||||
this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
this.searchUtils.sortBy = (params['sortBy'])?params['sortBy']:'';
|
||||
if(this.searchUtils.sortBy && this.searchUtils.sortBy != "resultdateofacceptance,descending") {
|
||||
this.searchUtils.sortBy = "";
|
||||
}
|
||||
|
||||
this.searchPage.connectCommunityId = this.connectCommunityId;
|
||||
var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
|
||||
|
||||
});
|
||||
}
|
||||
|
@ -192,7 +205,7 @@ public getResultsForDataproviders(id:string, resultsFrom:string, page: number, s
|
|||
}
|
||||
}
|
||||
|
||||
public getResults(keyword:string,refine:boolean, page: number, size: number){
|
||||
public getResults(keyword:string,refine:boolean, page: number, size: number, sortBy: string){
|
||||
var parameters = "";
|
||||
if(keyword.length > 0){
|
||||
var DOIs:string[] = DOI.getDOIsFromString(keyword);
|
||||
|
@ -206,9 +219,9 @@ public getResults(keyword:string,refine:boolean, page: number, size: number){
|
|||
parameters = "q=" + keyword;
|
||||
}
|
||||
}
|
||||
this._getResults(parameters,refine,page,size);
|
||||
this._getResults(parameters,refine,page,size,sortBy);
|
||||
}
|
||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||
private _getResults(parameters:string,refine:boolean, page: number, size: number, sortBy: string){
|
||||
if(page > this.pagingLimit) {
|
||||
size=0;
|
||||
}
|
||||
|
@ -221,7 +234,7 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
|
|||
this.results = [];
|
||||
this.searchUtils.totalResults = 0;
|
||||
|
||||
this.subResults = this._searchDatasetsService.searchDatasets(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, this.searchPage.getFields(), this.properties).subscribe(
|
||||
this.subResults = this._searchDatasetsService.searchDatasets(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, sortBy, this.searchPage.getFields(), this.properties).subscribe(
|
||||
data => {
|
||||
this.searchUtils.totalResults = data[0];
|
||||
console.info("search Research Data: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]");
|
||||
|
@ -285,6 +298,6 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
|
|||
|
||||
var parameters = $event.value;
|
||||
//this.getResults(parameters, this.searchUtils.page, this.searchUtils.size, "searchPage");
|
||||
this._getResults(parameters, true, this.searchUtils.page, this.searchUtils.size);
|
||||
this._getResults(parameters, true, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ import{EnvProperties} from '../../utils/properties/env-properties';
|
|||
[disableForms]="disableForms"
|
||||
[loadPaging]="loadPaging"
|
||||
[oldTotalResults]="oldTotalResults"
|
||||
[piwikSiteId]=piwikSiteId
|
||||
[piwikSiteId]=piwikSiteId
|
||||
searchFormClass="organizationsSearchForm">
|
||||
</search-page>
|
||||
|
||||
|
@ -85,6 +85,10 @@ properties: EnvProperties;
|
|||
}
|
||||
firstLoad = false;
|
||||
this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size);
|
||||
|
|
|
@ -29,7 +29,8 @@ import{EnvProperties} from '../../utils/properties/env-properties';
|
|||
[(openaireLink)]=openaireLink
|
||||
[(advancedSearchParameters)]=advancedSearchParameters
|
||||
[piwikSiteId]=piwikSiteId
|
||||
[(connectCommunityId)]=connectCommunityId >
|
||||
[(connectCommunityId)]=connectCommunityId
|
||||
[(sort)]=sort >
|
||||
</search-page>
|
||||
`
|
||||
})
|
||||
|
@ -56,6 +57,7 @@ export class SearchOrpsComponent {
|
|||
public loadPaging: boolean = true;
|
||||
public oldTotalResults: number = 0;
|
||||
pagingLimit = 0;
|
||||
public sort: boolean = true;
|
||||
properties: EnvProperties;
|
||||
@ViewChild (SearchPageComponent) searchPage : SearchPageComponent ;
|
||||
constructor (private route: ActivatedRoute, private _searchOrpsService: SearchOrpsService ) {
|
||||
|
@ -91,9 +93,18 @@ properties: EnvProperties;
|
|||
}
|
||||
firstLoad = false;
|
||||
this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
this.searchUtils.sortBy = (params['sortBy'])?params['sortBy']:'';
|
||||
if(this.searchUtils.sortBy && this.searchUtils.sortBy != "resultdateofacceptance,descending") {
|
||||
this.searchUtils.sortBy = "";
|
||||
}
|
||||
|
||||
this.searchPage.connectCommunityId = this.connectCommunityId;
|
||||
var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
|
||||
|
||||
});
|
||||
}
|
||||
|
@ -179,7 +190,7 @@ public getResultsForDataproviders(id:string, resultsFrom:string, page: number, s
|
|||
}
|
||||
}
|
||||
|
||||
public getResults(keyword:string,refine:boolean, page: number, size: number){
|
||||
public getResults(keyword:string,refine:boolean, page: number, size: number, sortBy: string){
|
||||
var parameters = "";
|
||||
if(keyword.length > 0){
|
||||
var DOIs:string[] = DOI.getDOIsFromString(keyword);
|
||||
|
@ -193,9 +204,9 @@ public getResults(keyword:string,refine:boolean, page: number, size: number){
|
|||
parameters = "q=" + keyword;
|
||||
}
|
||||
}
|
||||
this._getResults(parameters,refine,page,size);
|
||||
this._getResults(parameters,refine,page,size,sortBy);
|
||||
}
|
||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||
private _getResults(parameters:string,refine:boolean, page: number, size: number, sortBy: string){
|
||||
if(page > this.pagingLimit) {
|
||||
size=0;
|
||||
}
|
||||
|
@ -207,7 +218,7 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
|
|||
this.results = [];
|
||||
this.searchUtils.totalResults = 0;
|
||||
|
||||
this.subResults = this._searchOrpsService.searchOrps(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, this.searchPage.getFields(), this.properties).subscribe(
|
||||
this.subResults = this._searchOrpsService.searchOrps(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, sortBy, this.searchPage.getFields(), this.properties).subscribe(
|
||||
data => {
|
||||
this.searchUtils.totalResults = data[0];
|
||||
console.info("search Other Research Products: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]");
|
||||
|
@ -263,6 +274,6 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
|
|||
this.loadPaging = true;
|
||||
|
||||
var parameters = $event.value;
|
||||
this._getResults(parameters, true, this.searchUtils.page, this.searchUtils.size);
|
||||
this._getResults(parameters, true, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ import{EnvProperties} from '../../utils/properties/env-properties';
|
|||
[disableForms]="disableForms"
|
||||
[loadPaging]="loadPaging"
|
||||
[oldTotalResults]="oldTotalResults"
|
||||
[piwikSiteId]=piwikSiteId
|
||||
[piwikSiteId]=piwikSiteId
|
||||
searchFormClass="projectsSearchForm">
|
||||
</search-page>
|
||||
`
|
||||
|
@ -90,6 +90,11 @@ properties: EnvProperties;
|
|||
firstLoad = false;
|
||||
//get page from url parameters
|
||||
this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
|
||||
var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size);
|
||||
});
|
||||
|
|
|
@ -33,7 +33,7 @@ import{EnvProperties} from '../../utils/properties/env-properties';
|
|||
[(advancedSearchParameters)]=advancedSearchParameters
|
||||
[piwikSiteId]=piwikSiteId
|
||||
[(connectCommunityId)]=connectCommunityId
|
||||
>
|
||||
[(sort)]=sort >
|
||||
</search-page>
|
||||
|
||||
`
|
||||
|
@ -70,6 +70,7 @@ export class SearchPublicationsComponent {
|
|||
@Input() connectCommunityId: string;
|
||||
@Input() advancedSearchParameters ;
|
||||
pagingLimit = 0;
|
||||
public sort: boolean = true;
|
||||
properties: EnvProperties;
|
||||
constructor (private route: ActivatedRoute, private _searchPublicationsService: SearchPublicationsService ) {
|
||||
this.errorCodes = new ErrorCodes();
|
||||
|
@ -104,9 +105,18 @@ properties: EnvProperties;
|
|||
}
|
||||
firstLoad = false;
|
||||
this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
this.searchUtils.sortBy = (params['sortBy'])?params['sortBy']:'';
|
||||
if(this.searchUtils.sortBy && this.searchUtils.sortBy != "resultdateofacceptance,descending") {
|
||||
this.searchUtils.sortBy = "";
|
||||
}
|
||||
|
||||
this.searchPage.connectCommunityId = this.connectCommunityId;
|
||||
var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -202,7 +212,7 @@ public getResultsForDataproviders(id:string, resultsFrom:string, page: number, s
|
|||
}
|
||||
}
|
||||
|
||||
public getResults(keyword:string,refine:boolean, page: number, size: number){
|
||||
public getResults(keyword:string,refine:boolean, page: number, size: number, sortBy: string){
|
||||
var parameters = "";
|
||||
if(keyword.length > 0){
|
||||
var DOIs:string[] = DOI.getDOIsFromString(keyword);
|
||||
|
@ -217,10 +227,10 @@ public getResults(keyword:string,refine:boolean, page: number, size: number){
|
|||
parameters = "q=" + keyword;
|
||||
}
|
||||
}
|
||||
this._getResults(parameters,refine,page,size);
|
||||
this._getResults(parameters,refine,page,size,sortBy);
|
||||
}
|
||||
|
||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||
private _getResults(parameters:string,refine:boolean, page: number, size: number, sortBy: string){
|
||||
if(page > this.pagingLimit) {
|
||||
size=0;
|
||||
}
|
||||
|
@ -232,7 +242,7 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
|
|||
this.results = [];
|
||||
this.searchUtils.totalResults = 0;
|
||||
|
||||
this.subResults = this._searchPublicationsService.searchPublications(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, this.searchPage.getFields(), this.properties).subscribe(
|
||||
this.subResults = this._searchPublicationsService.searchPublications(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, sortBy, this.searchPage.getFields(), this.properties).subscribe(
|
||||
data => {
|
||||
console.info(data);
|
||||
this.searchUtils.totalResults = data[0];
|
||||
|
@ -318,7 +328,7 @@ public getAggregatorResults(id:string, page: number, size: number){
|
|||
var parameters = $event.value;
|
||||
console.info("queryChanged: Execute search query "+parameters);
|
||||
console.info("Search Pubs::page "+this.searchUtils.page);
|
||||
this._getResults(parameters, true, this.searchUtils.page, this.searchUtils.size);
|
||||
this._getResults(parameters, true, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,8 @@ import{EnvProperties} from '../../utils/properties/env-properties';
|
|||
[(openaireLink)]=openaireLink
|
||||
[(advancedSearchParameters)]=advancedSearchParameters
|
||||
[piwikSiteId]=piwikSiteId
|
||||
[(connectCommunityId)]=connectCommunityId >
|
||||
[(connectCommunityId)]=connectCommunityId
|
||||
[(sort)]=sort >
|
||||
</search-page>
|
||||
`
|
||||
})
|
||||
|
@ -58,6 +59,7 @@ export class SearchSoftwareComponent {
|
|||
public loadPaging: boolean = true;
|
||||
public oldTotalResults: number = 0;
|
||||
pagingLimit = 0;
|
||||
public sort: boolean = true;
|
||||
properties: EnvProperties;
|
||||
@ViewChild (SearchPageComponent) searchPage : SearchPageComponent ;
|
||||
constructor (private route: ActivatedRoute, private _searchSoftwareService: SearchSoftwareService ) {
|
||||
|
@ -93,9 +95,18 @@ properties: EnvProperties;
|
|||
}
|
||||
firstLoad = false;
|
||||
this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
|
||||
this.searchUtils.size = (params['size']=== undefined)?10:+params['size'];
|
||||
if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
|
||||
this.searchUtils.size = 10;
|
||||
}
|
||||
this.searchUtils.sortBy = (params['sortBy'])?params['sortBy']:'';
|
||||
if(this.searchUtils.sortBy && this.searchUtils.sortBy != "resultdateofacceptance,descending") {
|
||||
this.searchUtils.sortBy = "";
|
||||
}
|
||||
|
||||
this.searchPage.connectCommunityId = this.connectCommunityId;
|
||||
var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size);
|
||||
this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
|
||||
|
||||
});
|
||||
}
|
||||
|
@ -193,7 +204,7 @@ public getResultsForDataproviders(id:string, resultsFrom:string, page: number, s
|
|||
}
|
||||
}
|
||||
|
||||
public getResults(keyword:string,refine:boolean, page: number, size: number){
|
||||
public getResults(keyword:string,refine:boolean, page: number, size: number, sortBy: string){
|
||||
var parameters = "";
|
||||
if(keyword.length > 0){
|
||||
var DOIs:string[] = DOI.getDOIsFromString(keyword);
|
||||
|
@ -207,9 +218,9 @@ public getResults(keyword:string,refine:boolean, page: number, size: number){
|
|||
parameters = "q=" + keyword;
|
||||
}
|
||||
}
|
||||
this._getResults(parameters,refine,page,size);
|
||||
this._getResults(parameters,refine,page,size,sortBy);
|
||||
}
|
||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||
private _getResults(parameters:string,refine:boolean, page: number, size: number, sortBy: string){
|
||||
if(page > this.pagingLimit) {
|
||||
size=0;
|
||||
}
|
||||
|
@ -222,7 +233,7 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
|
|||
this.results = [];
|
||||
this.searchUtils.totalResults = 0;
|
||||
|
||||
this.subResults = this._searchSoftwareService.searchSoftware(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, this.searchPage.getFields(), this.properties).subscribe(
|
||||
this.subResults = this._searchSoftwareService.searchSoftware(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, sortBy, this.searchPage.getFields(), this.properties).subscribe(
|
||||
data => {
|
||||
this.searchUtils.totalResults = data[0];
|
||||
console.info("search Software: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]");
|
||||
|
@ -286,6 +297,6 @@ private _getResults(parameters:string,refine:boolean, page: number, size: number
|
|||
|
||||
var parameters = $event.value;
|
||||
//this.getResults(parameters, this.searchUtils.page, this.searchUtils.size, "searchPage");
|
||||
this._getResults(parameters, true, this.searchUtils.page, this.searchUtils.size);
|
||||
this._getResults(parameters, true, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ export class SearchDatasetsService {
|
|||
|
||||
constructor(private http: Http ) {}
|
||||
|
||||
searchDatasets (params: string, refineParams:string, page: number, size: number, refineFields:string[], properties:EnvProperties ):any {
|
||||
searchDatasets (params: string, refineParams:string, page: number, size: number, sortBy: string, refineFields:string[], properties:EnvProperties ):any {
|
||||
|
||||
let link = properties.searchAPIURLLAst+"datasets";
|
||||
|
||||
|
@ -28,6 +28,9 @@ export class SearchDatasetsService {
|
|||
if(refineParams!= null && refineParams != '' ) {
|
||||
url += refineParams;
|
||||
}
|
||||
if(sortBy) {
|
||||
url += "&sortBy=" + sortBy;
|
||||
}
|
||||
url += "&page="+ (page-1) +"&size="+size+"&format=json";
|
||||
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ export class SearchOrpsService {
|
|||
|
||||
constructor(private http: Http ) {}
|
||||
|
||||
searchOrps (params: string, refineParams:string, page: number, size: number, refineFields:string[], properties:EnvProperties ):any {
|
||||
searchOrps (params: string, refineParams:string, page: number, size: number, sortBy: string, refineFields:string[], properties:EnvProperties ):any {
|
||||
|
||||
let link = properties.searchAPIURLLAst+"other";
|
||||
|
||||
|
@ -28,6 +28,9 @@ export class SearchOrpsService {
|
|||
if(refineParams!= null && refineParams != '' ) {
|
||||
url += refineParams;
|
||||
}
|
||||
if(sortBy) {
|
||||
url += "&sortBy=" + sortBy;
|
||||
}
|
||||
url += "&page="+ (page-1) +"&size="+size+"&format=json";
|
||||
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ export class SearchPublicationsService {
|
|||
|
||||
constructor(private http: Http ) {}
|
||||
|
||||
searchPublications (params: string, refineParams:string, page: number, size: number, refineFields:string[] , properties:EnvProperties):any {
|
||||
searchPublications (params: string, refineParams:string, page: number, size: number, sortBy: string, refineFields:string[] , properties:EnvProperties):any {
|
||||
let link = properties.searchAPIURLLAst+"publications";
|
||||
|
||||
let url = link+"?";
|
||||
|
@ -29,6 +29,9 @@ export class SearchPublicationsService {
|
|||
if(refineParams!= null && refineParams != '' ) {
|
||||
url += refineParams;
|
||||
}
|
||||
if(sortBy) {
|
||||
url += "&sortBy=" + sortBy;
|
||||
}
|
||||
url += "&page="+(page-1)+"&size="+size+"&format=json";
|
||||
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ export class SearchSoftwareService {
|
|||
|
||||
constructor(private http: Http ) {}
|
||||
|
||||
searchSoftware (params: string, refineParams:string, page: number, size: number, refineFields:string[], properties:EnvProperties ):any {
|
||||
searchSoftware (params: string, refineParams:string, page: number, size: number, sortBy: string, refineFields:string[], properties:EnvProperties ):any {
|
||||
|
||||
let link = properties.searchAPIURLLAst+"software";
|
||||
|
||||
|
@ -27,6 +27,9 @@ export class SearchSoftwareService {
|
|||
if(refineParams!= null && refineParams != '' ) {
|
||||
url += refineParams;
|
||||
}
|
||||
if(sortBy) {
|
||||
url += "&sortBy=" + sortBy;
|
||||
}
|
||||
url += "&page="+ (page-1) +"&size="+size+"&format=json";
|
||||
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ export class FetchDatasets{
|
|||
this.searchUtils.status = this.errorCodes.LOADING;
|
||||
var refineParams = (connectCommunityId)?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((connectCommunityId )))):null;
|
||||
|
||||
this.subResults = this._searchDatasetsService.searchDatasets(parameters,refineParams, page, size, [], properties).subscribe(
|
||||
this.subResults = this._searchDatasetsService.searchDatasets(parameters,refineParams, page, size, "", [], properties).subscribe(
|
||||
data => {
|
||||
this.searchUtils.totalResults = data[0];
|
||||
console.info("search Research Data: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]");
|
||||
|
|
|
@ -57,7 +57,7 @@ export class FetchOrps{
|
|||
|
||||
this.searchUtils.status = this.errorCodes.LOADING;
|
||||
var refineParams = (connectCommunityId)?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((connectCommunityId )))):null;
|
||||
this.subResults = this._searchOrpsService.searchOrps(parameters,refineParams, page, size, [], properties).subscribe(
|
||||
this.subResults = this._searchOrpsService.searchOrps(parameters,refineParams, page, size, "", [], properties).subscribe(
|
||||
data => {
|
||||
this.searchUtils.totalResults = data[0];
|
||||
console.info("search Other Research Products: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]");
|
||||
|
|
|
@ -69,7 +69,7 @@ export class FetchPublications {
|
|||
//var errorCodes:ErrorCodes = new ErrorCodes();
|
||||
this.searchUtils.status = this.errorCodes.LOADING;
|
||||
var refineParams = (connectCommunityId)?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((connectCommunityId )))):null;
|
||||
this.subResults = this._searchPublicationsService.searchPublications(parameters,refineParams, page, size, [], properties).subscribe(
|
||||
this.subResults = this._searchPublicationsService.searchPublications(parameters,refineParams, page, size, "", [], properties).subscribe(
|
||||
data => {
|
||||
this.searchUtils.totalResults = data[0];
|
||||
console.info("search Publications: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]");
|
||||
|
|
|
@ -58,7 +58,7 @@ export class FetchSoftware{
|
|||
this.searchUtils.status = this.errorCodes.LOADING;
|
||||
var refineParams = (connectCommunityId)?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((connectCommunityId )))):null;
|
||||
|
||||
this.subResults = this._searchSoftwareService.searchSoftware(parameters,refineParams, page, size, [], properties).subscribe(
|
||||
this.subResults = this._searchSoftwareService.searchSoftware(parameters,refineParams, page, size, "", [], properties).subscribe(
|
||||
data => {
|
||||
this.searchUtils.totalResults = data[0];
|
||||
console.info("search Software: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]");
|
||||
|
|
Loading…
Reference in New Issue