(Issue #2922) Create Journal Compatible page (search & table view): this page includes Journals and Journal Aggregators | Journals and Journal Aggregators removed from pages for Content Providers
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-portal/trunk@47697 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
c586f800ce
commit
fadf75e5f4
|
@ -83,6 +83,14 @@ export function getEntityRegistriesTableModule() {
|
||||||
return System.import('./searchPages/dataProviders/entityRegistriesTable.module' + (process.env.AOT ? '.ngfactory' : ''))
|
return System.import('./searchPages/dataProviders/entityRegistriesTable.module' + (process.env.AOT ? '.ngfactory' : ''))
|
||||||
.then(mod => mod[(process.env.AOT ? 'EntityRegistriesTableModuleNgFactory' : 'EntityRegistriesTableModule')]);
|
.then(mod => mod[(process.env.AOT ? 'EntityRegistriesTableModuleNgFactory' : 'EntityRegistriesTableModule')]);
|
||||||
}
|
}
|
||||||
|
export function getJournalsModule() {
|
||||||
|
return System.import('./searchPages/dataProviders/journals.module' + (process.env.AOT ? '.ngfactory' : ''))
|
||||||
|
.then(mod => mod[(process.env.AOT ? 'JournalsModuleNgFactory' : 'JournalsModule')]);
|
||||||
|
}
|
||||||
|
export function getJournalsTableModule() {
|
||||||
|
return System.import('./searchPages/dataProviders/journalsTable.module' + (process.env.AOT ? '.ngfactory' : ''))
|
||||||
|
.then(mod => mod[(process.env.AOT ? 'JournalsTableModuleNgFactory' : 'JournalsTableModule')]);
|
||||||
|
}
|
||||||
export function getAdvancedSearchPublicationsModule() {
|
export function getAdvancedSearchPublicationsModule() {
|
||||||
return System.import('./searchPages/advanced/advancedSearchPublications.module' + (process.env.AOT ? '.ngfactory' : ''))
|
return System.import('./searchPages/advanced/advancedSearchPublications.module' + (process.env.AOT ? '.ngfactory' : ''))
|
||||||
.then(mod => mod[(process.env.AOT ? 'AdvancedSearchPublicationsModuleNgFactory' : 'AdvancedSearchPublicationsModule')]);
|
.then(mod => mod[(process.env.AOT ? 'AdvancedSearchPublicationsModuleNgFactory' : 'AdvancedSearchPublicationsModule')]);
|
||||||
|
@ -160,6 +168,8 @@ export function getUserModule() {
|
||||||
{ path: 'search/content-providers-table', loadChildren: getCompatibleDataProvidersTableModule },
|
{ path: 'search/content-providers-table', loadChildren: getCompatibleDataProvidersTableModule },
|
||||||
{ path: 'search/entity-registries', loadChildren: getEntityRegistriesModule },
|
{ path: 'search/entity-registries', loadChildren: getEntityRegistriesModule },
|
||||||
{ path: 'search/entity-registries-table', loadChildren: getEntityRegistriesTableModule },
|
{ path: 'search/entity-registries-table', loadChildren: getEntityRegistriesTableModule },
|
||||||
|
{ path: 'search/journals', loadChildren: getJournalsModule },
|
||||||
|
{ path: 'search/journals-table', loadChildren: getJournalsTableModule },
|
||||||
{ path: 'search/advanced/publications', loadChildren: getAdvancedSearchPublicationsModule },
|
{ path: 'search/advanced/publications', loadChildren: getAdvancedSearchPublicationsModule },
|
||||||
{ path: 'search/advanced/datasets', loadChildren: getAdvancedSearchDatasetsModule },
|
{ path: 'search/advanced/datasets', loadChildren: getAdvancedSearchDatasetsModule },
|
||||||
{ path: 'search/advanced/organizations', loadChildren: getAdvancedSearchOrganizationsModule },
|
{ path: 'search/advanced/organizations', loadChildren: getAdvancedSearchOrganizationsModule },
|
||||||
|
|
|
@ -48,7 +48,7 @@ export class SearchCompatibleDataprovidersComponent {
|
||||||
"export":[]
|
"export":[]
|
||||||
};
|
};
|
||||||
public CSVDownloaded = false;
|
public CSVDownloaded = false;
|
||||||
public resourcesQuery = "&query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other))";
|
public resourcesQuery = '&query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other) not(datasourcetypeuiid exact "pubsrepository::journal") not(datasourcetypeuiid exact "aggregator::pubsrepository::journals"))';
|
||||||
public csvParams: string;
|
public csvParams: string;
|
||||||
public disableForms: boolean = false;
|
public disableForms: boolean = false;
|
||||||
|
|
||||||
|
@ -154,12 +154,12 @@ export class SearchCompatibleDataprovidersComponent {
|
||||||
"Institutional Repository", "Thematic Repository", "Publication Repository",
|
"Institutional Repository", "Thematic Repository", "Publication Repository",
|
||||||
"Institutional Repository Aggregator",
|
"Institutional Repository Aggregator",
|
||||||
"Thematic Repositories Aggregators", "Publication Repository Aggregator",
|
"Thematic Repositories Aggregators", "Publication Repository Aggregator",
|
||||||
"Data Repository", "Data Repository Aggregator", "Journal", "Journal Aggregator\/Publisher", "CRIS Systems", "Publication Catalogue"],
|
"Data Repository", "Data Repository Aggregator", "CRIS Systems", "Publication Catalogue"],
|
||||||
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
||||||
|
|
||||||
var value_original_ids=[
|
var value_original_ids=[
|
||||||
["pubsrepository::institutional","pubsrepository::thematic", "pubsrepository::unknown", "aggregator::pubsrepository::institutional","aggregator::pubsrepository::thematic","aggregator::pubsrepository::unknown",
|
["pubsrepository::institutional","pubsrepository::thematic", "pubsrepository::unknown", "aggregator::pubsrepository::institutional","aggregator::pubsrepository::thematic","aggregator::pubsrepository::unknown",
|
||||||
"datarepository::unknown", "aggregator::datarepository", "pubsrepository::journal", "aggregator::pubsrepository::journals", "cris", "pubscatalogue::unknown"],
|
"datarepository::unknown", "aggregator::datarepository", "cris", "pubscatalogue::unknown"],
|
||||||
//["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]
|
//["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]
|
||||||
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
||||||
var filters: Filter[] =[];
|
var filters: Filter[] =[];
|
||||||
|
|
|
@ -151,7 +151,7 @@ export class SearchCompatibleDataprovidersTableComponent {
|
||||||
"Institutional Repository", "Thematic Repository", "Publication Repository",
|
"Institutional Repository", "Thematic Repository", "Publication Repository",
|
||||||
"Institutional Repository Aggregator",
|
"Institutional Repository Aggregator",
|
||||||
"Thematic Repositories Aggregators", "Publication Repository Aggregator",
|
"Thematic Repositories Aggregators", "Publication Repository Aggregator",
|
||||||
"Data Repository", "Data Repository Aggregator", "Journal", "Journal Aggregator\/Publisher", "CRIS Systems", "Publication Catalogue"],
|
"Data Repository", "Data Repository Aggregator", "CRIS Systems", "Publication Catalogue"],
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -160,7 +160,7 @@ export class SearchCompatibleDataprovidersTableComponent {
|
||||||
|
|
||||||
var value_original_ids=[
|
var value_original_ids=[
|
||||||
["pubsrepository::institutional","pubsrepository::thematic", "pubsrepository::unknown", "aggregator::pubsrepository::institutional","aggregator::pubsrepository::thematic","aggregator::pubsrepository::unknown",
|
["pubsrepository::institutional","pubsrepository::thematic", "pubsrepository::unknown", "aggregator::pubsrepository::institutional","aggregator::pubsrepository::thematic","aggregator::pubsrepository::unknown",
|
||||||
"datarepository::unknown", "aggregator::datarepository", "pubsrepository::journal", "aggregator::pubsrepository::journals", "cris", "pubscatalogue::unknown"],
|
"datarepository::unknown", "aggregator::datarepository", "cris", "pubscatalogue::unknown"],
|
||||||
//["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]
|
//["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]
|
||||||
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
||||||
var filters: Filter[] =[];
|
var filters: Filter[] =[];
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { RouterModule } from '@angular/router';
|
||||||
|
|
||||||
|
import{SearchJournalsComponent} from './journals.component';
|
||||||
|
import {FreeGuard} from'../../login/freeGuard.guard';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
RouterModule.forChild([
|
||||||
|
{ path: '', component: SearchJournalsComponent, canActivate: [FreeGuard] }
|
||||||
|
|
||||||
|
])
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class JournalsRoutingModule { }
|
|
@ -0,0 +1,201 @@
|
||||||
|
import {Component, Input, ViewChild} from '@angular/core';
|
||||||
|
import { ActivatedRoute} from '@angular/router';
|
||||||
|
|
||||||
|
import { Filter, Value} from '../searchUtils/searchHelperClasses.class';
|
||||||
|
|
||||||
|
import {SearchDataprovidersService} from '../../services/searchDataproviders.service';
|
||||||
|
import {SearchResult} from '../../utils/entities/searchResult';
|
||||||
|
import {OpenaireProperties, ErrorCodes} from '../../utils/properties/openaireProperties';
|
||||||
|
import {SearchFields} from '../../utils/properties/searchFields';
|
||||||
|
import {SearchPageComponent } from '../searchUtils/searchPage.component';
|
||||||
|
import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
|
||||||
|
import {ExportCSVComponent} from '../../utils/exportCSV.class';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'search-journals',
|
||||||
|
template: `
|
||||||
|
|
||||||
|
<search-page pageTitle="OpenAIRE Journals"
|
||||||
|
type="datasources" entityType="dataprovider" [(filters)] = "filters"
|
||||||
|
[(results)] = "results" [(searchUtils)] = "searchUtils"
|
||||||
|
[baseUrl] = "baseUrl" [showResultCount]=false
|
||||||
|
(queryChange)="queryChanged($event)"
|
||||||
|
(downloadClick)="downloadClicked($event)"
|
||||||
|
[csvParams]="csvParams" csvPath="resources"
|
||||||
|
[disableForms]="disableForms"
|
||||||
|
[tableViewLink]="'/search/journals-table'">
|
||||||
|
</search-page>
|
||||||
|
`
|
||||||
|
|
||||||
|
})
|
||||||
|
export class SearchJournalsComponent {
|
||||||
|
public results =[];
|
||||||
|
public filters =[];
|
||||||
|
public baseUrl:string;
|
||||||
|
public searchUtils:SearchUtilsClass = new SearchUtilsClass();
|
||||||
|
public sub: any; public subResults: any;
|
||||||
|
public _location:Location;
|
||||||
|
public searchFields:SearchFields = new SearchFields();
|
||||||
|
public refineFields: string[] = this.searchFields.JOURNAL_FIELDS;
|
||||||
|
public fieldIdsMap= this.searchFields.DATASOURCE_FIELDS;
|
||||||
|
public _prefixQueryFields: {field:string,opName:string,opValue:string,values:string[]}[] =[{field:"compatibility",opName:"cm",opValue:"not", values:["UNKNOWN","hostedBy","notCompatible"]},{field:"type",opName:"tp",opValue:"not",values: ["other"]}];
|
||||||
|
// ["entityregistry","entityregistry::projects","entityregistry::repositories"]}];
|
||||||
|
public _prefixQuery: string = "";
|
||||||
|
|
||||||
|
public CSV: any = { "columnNames": [ "Title", "Type", "Coutries", "Compatibility" ],
|
||||||
|
"export":[]
|
||||||
|
};
|
||||||
|
public CSVDownloaded = false;
|
||||||
|
public resourcesQuery = '&query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) and (datasourcetypeuiid exact "pubsrepository::journal" or datasourcetypeuiid exact "aggregator::pubsrepository::journals" ))';
|
||||||
|
//"&query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other))";
|
||||||
|
public csvParams: string;
|
||||||
|
public disableForms: boolean = false;
|
||||||
|
|
||||||
|
@ViewChild (SearchPageComponent) searchPage : SearchPageComponent ;
|
||||||
|
|
||||||
|
constructor (private route: ActivatedRoute, private _searchDataprovidersService: SearchDataprovidersService ) {
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status =errorCodes.LOADING;
|
||||||
|
this.baseUrl = OpenaireProperties.getLinkToSearchJournals();
|
||||||
|
for(var i = 0; i < this._prefixQueryFields.length; i++ ){
|
||||||
|
for(var j =0; j < this._prefixQueryFields[i].values.length; j++){
|
||||||
|
this._prefixQuery+="&" + this._prefixQueryFields[i].field + "="
|
||||||
|
+ this._prefixQueryFields[i].values[j] + "&" +
|
||||||
|
this._prefixQueryFields[i].opName + "=" + this._prefixQueryFields[i].opValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this._prefixQuery+="&";
|
||||||
|
}
|
||||||
|
|
||||||
|
public ngOnInit() {
|
||||||
|
this.searchPage.refineFields = this.refineFields;
|
||||||
|
this.searchPage.fieldIdsMap = this.fieldIdsMap;
|
||||||
|
this.sub = this.route.queryParams.subscribe(params => {
|
||||||
|
this.searchUtils.keyword = (params['keyword']?params['keyword']:'');
|
||||||
|
this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
|
||||||
|
this.filters = this.createFilters();
|
||||||
|
var queryParameters = this.searchPage.getIndexQueryParametersFromUrl(params);
|
||||||
|
console.info("|"+queryParameters+"|");
|
||||||
|
this._getResults(queryParameters, false, this.searchUtils.page, this.searchUtils.size);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public ngOnDestroy() {
|
||||||
|
if(this.sub){
|
||||||
|
this.sub.unsubscribe();
|
||||||
|
}
|
||||||
|
if(this.subResults){
|
||||||
|
this.subResults.unsubscribe();
|
||||||
|
} }
|
||||||
|
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||||
|
this.csvParams = parameters+this.resourcesQuery+"&type=datasources";
|
||||||
|
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.LOADING;
|
||||||
|
//this.searchPage.openLoading();
|
||||||
|
this.disableForms = true;
|
||||||
|
this.results = [];
|
||||||
|
this.searchUtils.totalResults = 0;
|
||||||
|
|
||||||
|
this.subResults = this._searchDataprovidersService.searchJournals(parameters,(refine)?this.searchPage.getRefineFieldsQuery():null, page, size, []).subscribe(
|
||||||
|
data => {
|
||||||
|
this.searchUtils.totalResults = data[0];
|
||||||
|
console.info("search Journals: [Parameters:"+parameters+" ] [total results:"+this.searchUtils.totalResults+"]");
|
||||||
|
this.results = data[1];
|
||||||
|
this.searchPage.checkSelectedFilters(this.filters);
|
||||||
|
this.searchPage.updateBaseUrlWithParameters(this.filters);
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.DONE;
|
||||||
|
if(this.searchUtils.totalResults == 0 ){
|
||||||
|
this.searchUtils.status = errorCodes.NONE;
|
||||||
|
}
|
||||||
|
//this.searchPage.closeLoading();
|
||||||
|
this.disableForms = false;
|
||||||
|
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
console.log(err);
|
||||||
|
//TODO check erros (service not available, bad request)
|
||||||
|
// if( ){
|
||||||
|
// this.searchUtils.status = ErrorCodes.ERROR;
|
||||||
|
// }
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.ERROR;
|
||||||
|
//this.searchPage.closeLoading();
|
||||||
|
this.disableForms = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
private setFilters(){
|
||||||
|
//TODO set filters from
|
||||||
|
}
|
||||||
|
|
||||||
|
public queryChanged($event) {
|
||||||
|
var parameters = $event.index;
|
||||||
|
console.info("queryChanged: Execute search query "+parameters);
|
||||||
|
|
||||||
|
this._getResults(parameters, false, this.searchUtils.page, this.searchUtils.size);
|
||||||
|
}
|
||||||
|
private createFilters():Filter[] {
|
||||||
|
var filter_names=["Type","Compatibility Level"];
|
||||||
|
var filter_ids=["datasourcetypeuiid","datasourcecompatibilityname"];
|
||||||
|
var searchFields = new SearchFields();
|
||||||
|
var filter_original_ids = searchFields.JOURNAL_FIELDS;
|
||||||
|
var value_names=[
|
||||||
|
/*[
|
||||||
|
"Institutional Publication Repository","Thematic Publication Repository", "Other Publication Repository",
|
||||||
|
"Institutional Repositories Aggregators",
|
||||||
|
"Thematic Repositories Aggregators", "Other Repositories Aggregators",
|
||||||
|
"Data Repositories", "Data Repositories Aggregators", "Journals", "Journals Aggregators", "CRIS Systems", "Publication Catalogues"],
|
||||||
|
*/
|
||||||
|
["Journal", "Journal Aggregator\/Publisher"],
|
||||||
|
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
||||||
|
|
||||||
|
var value_original_ids=[
|
||||||
|
["pubsrepository::journal", "aggregator::pubsrepository::journals"],
|
||||||
|
//["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]
|
||||||
|
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
||||||
|
var filters: Filter[] =[];
|
||||||
|
for(var i =0 ; i < filter_names.length;i++){
|
||||||
|
var values:Value[] = [];
|
||||||
|
for(var j =0 ; j < value_names[i].length;j++){
|
||||||
|
var value:Value = {name: value_names[i][j], id: value_original_ids[i][j], number:j, selected:false}
|
||||||
|
values.push(value);
|
||||||
|
}
|
||||||
|
var filter:Filter = {title: filter_names[i], filterId: filter_ids[i], originalFilterId: filter_original_ids[i], values : values, countSelectedValues:0, "filterOperator": 'or' };
|
||||||
|
filters.push(filter);
|
||||||
|
}
|
||||||
|
return filters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public downloadClicked($event) {
|
||||||
|
if(!this.CSVDownloaded) {
|
||||||
|
this.CSVDownloaded = false;
|
||||||
|
|
||||||
|
var parameters = $event.value;
|
||||||
|
|
||||||
|
//this.getResultsCSV(parameters, false, 1, 1000);
|
||||||
|
|
||||||
|
this._searchDataprovidersService.searchCompatibleDataprovidersCSV(parameters,this.searchPage.getRefineFieldsQuery(), 1, 1000).subscribe(
|
||||||
|
data => {
|
||||||
|
this.CSV.export = data;
|
||||||
|
ExportCSVComponent.downloadCSV(this.CSV, "compatibleDataproviders.csv");
|
||||||
|
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.DONE;
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
console.log(err);
|
||||||
|
//TODO check erros (service not available, bad request)
|
||||||
|
// if( ){
|
||||||
|
// this.searchUtils.status = ErrorCodes.ERROR;
|
||||||
|
// }
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.ERROR;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
import { NgModule} from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { FormsModule } from '@angular/forms';
|
||||||
|
|
||||||
|
import{ JournalsRoutingModule} from './journals-routing.module';
|
||||||
|
import{SearchJournalsComponent} from './journals.component';
|
||||||
|
|
||||||
|
import {SearchResultsModule } from '../searchUtils/searchResults.module';
|
||||||
|
|
||||||
|
import {DataProvidersServiceModule} from '../../services/dataProvidersService.module';
|
||||||
|
import {SearchFormModule} from '../searchUtils/searchForm.module';
|
||||||
|
//import {SearchFilterModalModule} from '../searchUtils/searchFilterModal.module';
|
||||||
|
import {SearchPageModule} from '../searchUtils/searchPage.module';
|
||||||
|
import {FreeGuard} from'../../login/freeGuard.guard';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
CommonModule, FormsModule,
|
||||||
|
DataProvidersServiceModule,
|
||||||
|
SearchFormModule, SearchResultsModule, JournalsRoutingModule, SearchPageModule//, SearchFilterModalModule
|
||||||
|
|
||||||
|
],
|
||||||
|
declarations: [
|
||||||
|
SearchJournalsComponent
|
||||||
|
],
|
||||||
|
providers:[FreeGuard
|
||||||
|
],
|
||||||
|
exports: [
|
||||||
|
SearchJournalsComponent
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class JournalsModule { }
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { RouterModule } from '@angular/router';
|
||||||
|
|
||||||
|
import{SearchJournalsTableComponent} from './journalsTable.component';
|
||||||
|
import {FreeGuard} from'../../login/freeGuard.guard';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
RouterModule.forChild([
|
||||||
|
{ path: '', component: SearchJournalsTableComponent, canActivate: [FreeGuard] }
|
||||||
|
|
||||||
|
])
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class JournalsTableRoutingModule { }
|
|
@ -0,0 +1,201 @@
|
||||||
|
import {Component, Input, ViewChild} from '@angular/core';
|
||||||
|
import { ActivatedRoute} from '@angular/router';
|
||||||
|
|
||||||
|
import { Filter, Value} from '../searchUtils/searchHelperClasses.class';
|
||||||
|
|
||||||
|
import {SearchDataprovidersService} from '../../services/searchDataproviders.service';
|
||||||
|
import {SearchResult} from '../../utils/entities/searchResult';
|
||||||
|
import {OpenaireProperties, ErrorCodes} from '../../utils/properties/openaireProperties';
|
||||||
|
import {SearchFields} from '../../utils/properties/searchFields';
|
||||||
|
import {SearchPageTableViewComponent } from '../searchUtils/searchPageTableView.component';
|
||||||
|
import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
|
||||||
|
import {ExportCSVComponent} from '../../utils/exportCSV.class';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'search-journals-table',
|
||||||
|
template: `
|
||||||
|
|
||||||
|
<search-page-table pageTitle="OpenAIRE Journals Table"
|
||||||
|
type="datasources" entityType="dataprovider" [(filters)] = "filters"
|
||||||
|
[(results)] = "results" [(searchUtils)] = "searchUtils"
|
||||||
|
[showResultCount]=false
|
||||||
|
[disableForms]="disableForms"
|
||||||
|
[searchViewLink]="'/search/journals'">
|
||||||
|
</search-page-table>
|
||||||
|
`
|
||||||
|
|
||||||
|
})
|
||||||
|
export class SearchJournalsTableComponent {
|
||||||
|
public results =[];
|
||||||
|
public filters =[];
|
||||||
|
public baseUrl:string;
|
||||||
|
public searchUtils:SearchUtilsClass = new SearchUtilsClass();
|
||||||
|
public sub: any; public subResults: any;
|
||||||
|
public _location:Location;
|
||||||
|
public searchFields:SearchFields = new SearchFields();
|
||||||
|
public refineFields: string[] = this.searchFields.JOURNAL_FIELDS;
|
||||||
|
|
||||||
|
/*public CSV: any = { "columnNames": [ "Title", "Type", "Coutries", "Compatibility" ],
|
||||||
|
"export":[]
|
||||||
|
};
|
||||||
|
public CSVDownloaded = false;
|
||||||
|
public csvParams: string;
|
||||||
|
public resourcesQuery = "&query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other))";*/
|
||||||
|
|
||||||
|
public disableForms: boolean = false;
|
||||||
|
|
||||||
|
@ViewChild (SearchPageTableViewComponent) searchPage : SearchPageTableViewComponent ;
|
||||||
|
|
||||||
|
constructor (private route: ActivatedRoute, private _searchDataprovidersService: SearchDataprovidersService ) {
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status =errorCodes.LOADING;
|
||||||
|
this.baseUrl = OpenaireProperties.getLinkToSearchJournalsTable();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ngOnInit() {
|
||||||
|
this.searchPage.refineFields = this.refineFields;
|
||||||
|
this.sub = this.route.queryParams.subscribe(params => {
|
||||||
|
this.searchUtils.keyword = (params['keyword']?params['keyword']:'');
|
||||||
|
//this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
|
||||||
|
this.filters = this.createFilters();
|
||||||
|
this.searchPage.getParametersFromUrl(params);
|
||||||
|
this._getResults();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public ngOnDestroy() {
|
||||||
|
if(this.sub){
|
||||||
|
this.sub.unsubscribe();
|
||||||
|
}
|
||||||
|
if(this.subResults){
|
||||||
|
this.subResults.unsubscribe();
|
||||||
|
} }
|
||||||
|
private _getResults(){
|
||||||
|
//this.csvParams = this.resourcesQuery+"&type=datasources";
|
||||||
|
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.LOADING;
|
||||||
|
this.disableForms = true;
|
||||||
|
this.results = [];
|
||||||
|
this.searchUtils.totalResults = 0;
|
||||||
|
|
||||||
|
let size: number = 0;
|
||||||
|
this.subResults = this._searchDataprovidersService.searchJournalsTable().subscribe(
|
||||||
|
data => {
|
||||||
|
size = data;
|
||||||
|
if(size > 0) {
|
||||||
|
this.subResults = this._searchDataprovidersService.searchJournals("", null, 1, size, []).subscribe(
|
||||||
|
data => {
|
||||||
|
this.searchUtils.totalResults = data[0];
|
||||||
|
console.info("search Journals [total results:"+this.searchUtils.totalResults+"]");
|
||||||
|
this.results = data[1];
|
||||||
|
|
||||||
|
this.searchPage.checkSelectedFilters(this.filters);
|
||||||
|
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.DONE;
|
||||||
|
if(this.searchUtils.totalResults == 0 ){
|
||||||
|
this.searchUtils.status = errorCodes.NONE;
|
||||||
|
}
|
||||||
|
this.disableForms = false;
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
console.log(err);
|
||||||
|
//TODO check erros (service not available, bad request)
|
||||||
|
// if( ){
|
||||||
|
// this.searchUtils.status = ErrorCodes.ERROR;
|
||||||
|
// }
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.ERROR;
|
||||||
|
this.disableForms = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
this.searchPage.checkSelectedFilters(this.filters);
|
||||||
|
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.NONE;
|
||||||
|
this.disableForms = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
console.log(err);
|
||||||
|
//TODO check erros (service not available, bad request)
|
||||||
|
// if( ){
|
||||||
|
// this.searchUtils.status = ErrorCodes.ERROR;
|
||||||
|
// }
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.ERROR;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
private setFilters(){
|
||||||
|
//TODO set filters from
|
||||||
|
}
|
||||||
|
|
||||||
|
private createFilters():Filter[] {
|
||||||
|
var filter_names=["Type","Compatibility Level"];
|
||||||
|
var filter_ids=["datasourcetypeuiid","datasourcecompatibilityname"];
|
||||||
|
var searchFields = new SearchFields();
|
||||||
|
var filter_original_ids = searchFields.JOURNAL_FIELDS;
|
||||||
|
var value_names=[
|
||||||
|
/*[
|
||||||
|
"Institutional Publication Repository","Thematic Publication Repository", "Other Publication Repository",
|
||||||
|
"Institutional Repositories Aggregators",
|
||||||
|
"Thematic Repositories Aggregators", "Other Repositories Aggregators",
|
||||||
|
"Data Repositories", "Data Repositories Aggregators", "Journals", "Journals Aggregators", "CRIS Systems", "Publication Catalogues"],
|
||||||
|
*/
|
||||||
|
["Journal", "Journal Aggregator\/Publisher"],
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
||||||
|
|
||||||
|
var value_original_ids=[
|
||||||
|
["pubsrepository::journal", "aggregator::pubsrepository::journals"],
|
||||||
|
//["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]
|
||||||
|
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
|
||||||
|
var filters: Filter[] =[];
|
||||||
|
for(var i =0 ; i < filter_names.length;i++){
|
||||||
|
var values:Value[] = [];
|
||||||
|
for(var j =0 ; j < value_names[i].length;j++){
|
||||||
|
var value:Value = {name: value_names[i][j], id: value_original_ids[i][j], number:j, selected:false}
|
||||||
|
values.push(value);
|
||||||
|
}
|
||||||
|
var filter:Filter = {title: filter_names[i], filterId: filter_ids[i], originalFilterId: filter_original_ids[i], values : values, countSelectedValues:0, "filterOperator": 'or' };
|
||||||
|
filters.push(filter);
|
||||||
|
}
|
||||||
|
return filters;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
public downloadClicked($event) {
|
||||||
|
if(!this.CSVDownloaded) {
|
||||||
|
this.CSVDownloaded = false;
|
||||||
|
|
||||||
|
var parameters = $event.value;
|
||||||
|
|
||||||
|
this._searchDataprovidersService.searchCompatibleDataprovidersCSV(parameters,this.searchPage.getRefineFieldsQuery(), 1, 1000).subscribe(
|
||||||
|
data => {
|
||||||
|
this.CSV.export = data;
|
||||||
|
ExportCSVComponent.downloadCSV(this.CSV, "compatibleDataproviders.csv");
|
||||||
|
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.DONE;
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
console.log(err);
|
||||||
|
//TODO check erros (service not available, bad request)
|
||||||
|
// if( ){
|
||||||
|
// this.searchUtils.status = ErrorCodes.ERROR;
|
||||||
|
// }
|
||||||
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
this.searchUtils.status = errorCodes.ERROR;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
import { NgModule} from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { FormsModule } from '@angular/forms';
|
||||||
|
|
||||||
|
import{ JournalsTableRoutingModule} from './journalsTable-routing.module';
|
||||||
|
import{SearchJournalsTableComponent} from './journalsTable.component';
|
||||||
|
|
||||||
|
//import {DatasourceTableViewModule } from '../searchUtils/datasourceTableView.module';
|
||||||
|
|
||||||
|
import {DataProvidersServiceModule} from '../../services/dataProvidersService.module';
|
||||||
|
import {SearchFormModule} from '../searchUtils/searchForm.module';
|
||||||
|
//import {SearchFilterModalModule} from '../searchUtils/searchFilterModal.module';
|
||||||
|
import {SearchPageTableViewModule} from '../searchUtils/searchPageTableView.module';
|
||||||
|
import {FreeGuard} from'../../login/freeGuard.guard';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
CommonModule, FormsModule,
|
||||||
|
DataProvidersServiceModule,
|
||||||
|
SearchFormModule, /*DatasourceTableViewModule,*/ JournalsTableRoutingModule, SearchPageTableViewModule//, SearchFilterModalModule
|
||||||
|
|
||||||
|
],
|
||||||
|
declarations: [
|
||||||
|
SearchJournalsTableComponent
|
||||||
|
],
|
||||||
|
providers:[FreeGuard
|
||||||
|
],
|
||||||
|
exports: [
|
||||||
|
SearchJournalsTableComponent
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class JournalsTableModule { }
|
|
@ -55,7 +55,7 @@ import {ContentProvidersDatatablePipe} from '../../utils/pipes/contentProvidersD
|
||||||
<div *ngIf="searchUtils.status == errorCodes.NONE" class="uk-alert uk-alert-primary uk-animation-fade" role="alert">No Results found</div>
|
<div *ngIf="searchUtils.status == errorCodes.NONE" class="uk-alert uk-alert-primary uk-animation-fade" role="alert">No Results found</div>
|
||||||
<div *ngIf="searchUtils.status == errorCodes.ERROR" class="uk-alert uk-alert-warning uk-animation-fade" role="alert">An Error Occured</div>
|
<div *ngIf="searchUtils.status == errorCodes.ERROR" class="uk-alert uk-alert-warning uk-animation-fade" role="alert">An Error Occured</div>
|
||||||
<div *ngIf="searchUtils.status == errorCodes.NOT_AVAILABLE" class="uk-alert uk-alert-danger uk-animation-fade" role="alert">Service not available</div>
|
<div *ngIf="searchUtils.status == errorCodes.NOT_AVAILABLE" class="uk-alert uk-alert-danger uk-animation-fade" role="alert">Service not available</div>
|
||||||
<div *ngIf="searchUtils.status == errorCodes.LOADING" class="uk-alert uk-alert-primary uk-animation-fade" role="alert">Loading...</div>
|
<div *ngIf="searchUtils.status == errorCodes.LOADING" class="uk-alert uk-alert-primary uk-animation-fade" role="alert">This may take a while...</div>
|
||||||
|
|
||||||
<thead *ngIf="searchUtils.totalResults > 0">
|
<thead *ngIf="searchUtils.totalResults > 0">
|
||||||
<tr><td colspan="5" class="uk-padding-remove-bottom uk-padding-remove-right">
|
<tr><td colspan="5" class="uk-padding-remove-bottom uk-padding-remove-right">
|
||||||
|
|
|
@ -66,7 +66,7 @@ export class SearchDataprovidersService {
|
||||||
searchCompatibleDataprovidersTable ():any {
|
searchCompatibleDataprovidersTable ():any {
|
||||||
let size: number = 0;
|
let size: number = 0;
|
||||||
let url: string= OpenaireProperties.getSearchResourcesAPIURL();
|
let url: string= OpenaireProperties.getSearchResourcesAPIURL();
|
||||||
url += "?query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other))"
|
url += '?query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other) not(datasourcetypeuiid exact "pubsrepository::journal") not(datasourcetypeuiid exact "aggregator::pubsrepository::journals"))';
|
||||||
url += "&page=0&size=1&format=json";
|
url += "&page=0&size=1&format=json";
|
||||||
|
|
||||||
let key = url;
|
let key = url;
|
||||||
|
@ -84,7 +84,7 @@ export class SearchDataprovidersService {
|
||||||
searchCompatibleDataproviders (params: string,refineParams:string, page: number, size: number, refineFields:string[] ):any {
|
searchCompatibleDataproviders (params: string,refineParams:string, page: number, size: number, refineFields:string[] ):any {
|
||||||
console.info("in search Compatible Dataproviders service function");
|
console.info("in search Compatible Dataproviders service function");
|
||||||
let url: string = OpenaireProperties.getSearchResourcesAPIURL();
|
let url: string = OpenaireProperties.getSearchResourcesAPIURL();
|
||||||
url += "?query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other))"
|
url += '?query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other) not(datasourcetypeuiid exact "pubsrepository::journal") not(datasourcetypeuiid exact "aggregator::pubsrepository::journals"))';
|
||||||
if(params!= null && params != '' ) {
|
if(params!= null && params != '' ) {
|
||||||
url += params;
|
url += params;
|
||||||
}
|
}
|
||||||
|
@ -146,6 +146,50 @@ export class SearchDataprovidersService {
|
||||||
.map(res => [res['meta'].total, this.parseResults(res['results']),RefineResultsUtils.parse(res['refineResults'],refineFields, "datasource")]);
|
.map(res => [res['meta'].total, this.parseResults(res['results']),RefineResultsUtils.parse(res['refineResults'],refineFields, "datasource")]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
searchJournalsTable ():any {
|
||||||
|
let size: number = 0;
|
||||||
|
let url: string= OpenaireProperties.getSearchResourcesAPIURL();
|
||||||
|
url += '?query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) and (datasourcetypeuiid exact "pubsrepository::journal" or datasourcetypeuiid exact "aggregator::pubsrepository::journals" ))';
|
||||||
|
url += "&page=0&size=1&format=json";
|
||||||
|
|
||||||
|
let key = url;
|
||||||
|
if (this._cache.has(key)) {
|
||||||
|
return Observable.of(this._cache.get(key)).map(res => res['meta'].total);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.http.get(url).map(res => <any> res.json())
|
||||||
|
.do(res => {
|
||||||
|
this._cache.set(key, res);
|
||||||
|
})
|
||||||
|
.map(res => res['meta'].total);
|
||||||
|
}
|
||||||
|
|
||||||
|
searchJournals (params: string,refineParams:string, page: number, size: number, refineFields:string[] ):any {
|
||||||
|
console.info("in search Journals service function");
|
||||||
|
let url: string = OpenaireProperties.getSearchResourcesAPIURL();
|
||||||
|
//url += "?query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other))"
|
||||||
|
url += '?query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) and (datasourcetypeuiid exact "pubsrepository::journal" or datasourcetypeuiid exact "aggregator::pubsrepository::journals" ))';
|
||||||
|
|
||||||
|
if(params!= null && params != '' ) {
|
||||||
|
url += params;
|
||||||
|
}
|
||||||
|
if(refineParams!= null && refineParams != '' ) {
|
||||||
|
url += refineParams;
|
||||||
|
}
|
||||||
|
url += "&page="+(page-1)+"&size="+size+"&format=json";
|
||||||
|
let key = url;
|
||||||
|
if (this._cache.has(key)) {
|
||||||
|
return Observable.of(this._cache.get(key)).map(res => [res['meta'].total, this.parseResults(res['results']),RefineResultsUtils.parse(res['refineResults'],refineFields, "datasource")]);
|
||||||
|
}
|
||||||
|
return this.http.get(url)
|
||||||
|
.map(res => <any> res.json())
|
||||||
|
//.do(res => console.info(res))
|
||||||
|
.do(res => {
|
||||||
|
this._cache.set(key, res);
|
||||||
|
})
|
||||||
|
.map(res => [res['meta'].total, this.parseResults(res['results']),RefineResultsUtils.parse(res['refineResults'],refineFields, "datasource")]);
|
||||||
|
}
|
||||||
|
|
||||||
searchDataprovidersForDeposit (id: string,type:string, page: number, size: number):any {
|
searchDataprovidersForDeposit (id: string,type:string, page: number, size: number):any {
|
||||||
let link = OpenaireProperties.getSearchResourcesAPIURL();
|
let link = OpenaireProperties.getSearchResourcesAPIURL();
|
||||||
var compatibilities = "";
|
var compatibilities = "";
|
||||||
|
|
|
@ -47,6 +47,7 @@ import {Session} from '../login/utils/helper.class';
|
||||||
<ul class="uk-nav-sub">
|
<ul class="uk-nav-sub">
|
||||||
<li><a routerLinkActive="uk-link" routerLink="/search/content-providers" class="uk-offcanvas-close custom-offcanvas-close" >Compatible Data Providers</a></li>
|
<li><a routerLinkActive="uk-link" routerLink="/search/content-providers" class="uk-offcanvas-close custom-offcanvas-close" >Compatible Data Providers</a></li>
|
||||||
<li><a routerLinkActive="uk-link" routerLink="/search/entity-registries" class="uk-offcanvas-close custom-offcanvas-close" >Entity Registries</a></li>
|
<li><a routerLinkActive="uk-link" routerLink="/search/entity-registries" class="uk-offcanvas-close custom-offcanvas-close" >Entity Registries</a></li>
|
||||||
|
<li><a routerLinkActive="uk-link" routerLink="/search/journals" class="uk-offcanvas-close custom-offcanvas-close" >Journals</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="uk-nav-header uk-parent">
|
<li class="uk-nav-header uk-parent">
|
||||||
|
@ -146,6 +147,7 @@ import {Session} from '../login/utils/helper.class';
|
||||||
<ul class="uk-nav uk-navbar-dropdown-nav">
|
<ul class="uk-nav uk-navbar-dropdown-nav">
|
||||||
<li><a routerLinkActive="uk-link" routerLink="/search/content-providers">Compatible Data Providers</a></li>
|
<li><a routerLinkActive="uk-link" routerLink="/search/content-providers">Compatible Data Providers</a></li>
|
||||||
<li><a routerLinkActive="uk-link" routerLink="/search/entity-registries">Entity Registries</a></li>
|
<li><a routerLinkActive="uk-link" routerLink="/search/entity-registries">Entity Registries</a></li>
|
||||||
|
<li><a routerLinkActive="uk-link" routerLink="/search/journals">Journals</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -22,6 +22,8 @@ export class OpenaireProperties {
|
||||||
public static searchLinkToCompatibleDataProvidersTable = "search/content-providers-table";
|
public static searchLinkToCompatibleDataProvidersTable = "search/content-providers-table";
|
||||||
public static searchLinkToEntityRegistriesDataProviders = "search/entity-registries";
|
public static searchLinkToEntityRegistriesDataProviders = "search/entity-registries";
|
||||||
public static searchLinkToEntityRegistriesDataProvidersTable = "search/entity-registries-table";
|
public static searchLinkToEntityRegistriesDataProvidersTable = "search/entity-registries-table";
|
||||||
|
public static searchLinkToJournals = "search/journals";
|
||||||
|
public static searchLinkToJournalsTable = "search/journals-table";
|
||||||
|
|
||||||
//Advanced Search pages
|
//Advanced Search pages
|
||||||
public static searchLinkToAdvancedPublications = "search/advanced/publications";
|
public static searchLinkToAdvancedPublications = "search/advanced/publications";
|
||||||
|
@ -130,6 +132,12 @@ export class OpenaireProperties {
|
||||||
public static getLinkToSearchEntityRegistriesTable():string{
|
public static getLinkToSearchEntityRegistriesTable():string{
|
||||||
return this.baseSearchLink + this.searchLinkToEntityRegistriesDataProvidersTable;
|
return this.baseSearchLink + this.searchLinkToEntityRegistriesDataProvidersTable;
|
||||||
}
|
}
|
||||||
|
public static getLinkToSearchJournals():string{
|
||||||
|
return this.baseSearchLink + this.searchLinkToJournals;
|
||||||
|
}
|
||||||
|
public static getLinkToSearchJournalsTable():string{
|
||||||
|
return this.baseSearchLink + this.searchLinkToJournalsTable;
|
||||||
|
}
|
||||||
public static getLinkToSearchDatasets():string{
|
public static getLinkToSearchDatasets():string{
|
||||||
return this.baseSearchLink + this.searchLinkToDatasets;
|
return this.baseSearchLink + this.searchLinkToDatasets;
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,6 +95,7 @@ export class SearchFields {
|
||||||
|
|
||||||
public COMPATIBLE_DATAPROVIDER_FIELDS:string[] = ["datasourcetypeuiid","datasourcecompatibilityname"];
|
public COMPATIBLE_DATAPROVIDER_FIELDS:string[] = ["datasourcetypeuiid","datasourcecompatibilityname"];
|
||||||
public ENTITY_REGISTRIES_FIELDS:string[] = ["datasourcetypename","datasourcecompatibilityname"];
|
public ENTITY_REGISTRIES_FIELDS:string[] = ["datasourcetypename","datasourcecompatibilityname"];
|
||||||
|
public JOURNAL_FIELDS:string[] = ["datasourcetypeuiid","datasourcecompatibilityname"];
|
||||||
|
|
||||||
//ORGANIZATION
|
//ORGANIZATION
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,8 @@ export const routes: string[] = [
|
||||||
'search/find/people','search/find/publications','search/find/projects','search/find/datasets','search/find/dataproviders','search/find/organizations',
|
'search/find/people','search/find/publications','search/find/projects','search/find/datasets','search/find/dataproviders','search/find/organizations',
|
||||||
'search/advanced/people','search/advanced/publications','search/advanced/projects','search/advanced/datasets','search/advanced/dataproviders','search/advanced/organizations',
|
'search/advanced/people','search/advanced/publications','search/advanced/projects','search/advanced/datasets','search/advanced/dataproviders','search/advanced/organizations',
|
||||||
'participate/deposit-publications','participate/deposit-datasets','participate/deposit-publications-result','participate/deposit-datasets-result', 'participate/deposit-subject-result',
|
'participate/deposit-publications','participate/deposit-datasets','participate/deposit-publications-result','participate/deposit-datasets-result', 'participate/deposit-subject-result',
|
||||||
'search/content-providers','search/content-providers-table','search/entity-registries','search/entity-registries-table','project-report',
|
'search/content-providers','search/content-providers-table','search/entity-registries','search/entity-registries-table','search/journals','search/journals-table',
|
||||||
'claims','myclaims','participate/claim', 'participate/direct-claim', 'claims-project-manager',
|
'project-report', 'claims','myclaims','participate/claim', 'participate/direct-claim', 'claims-project-manager',
|
||||||
'test', 'user-info',
|
'test', 'user-info',
|
||||||
'**','error'
|
'**','error'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue