[Connect|Trunk]

Initial commit for new UI of Search page:
	add search research outcomes page
	update links, routes and menu items  accordingly
	add result landing page





git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-connect-portal/trunk@58392 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
argiro.kokogiannaki 2020-04-03 16:02:40 +00:00
parent 68bf769480
commit 8cf1edfee7
26 changed files with 360 additions and 91 deletions

View File

@ -22,6 +22,7 @@
],
"styles": [
"src/styles.css",
"src/material.scss",
"node_modules/datatables.net-dt/css/jquery.dataTables.css"
],
"scripts": [
@ -79,6 +80,7 @@
],
"styles": [
"src/styles.css",
"src/material.scss",
"node_modules/datatables.net-dt/css/jquery.dataTables.css"
],
"assets": [

View File

@ -26,7 +26,8 @@
"cordisURL" : "http://cordis.europa.eu/projects/",
"openDoarURL": "http://v2.sherpa.ac.uk/id/repository/",
"r3DataURL": "http://service.re3data.org/repository/",
"sherpaURL": "http://www.sherpa.ac.uk/romeo/search.php?issn=",
"sherpaURL": "http://sherpa.ac.uk/romeo/issn/",
"sherpaURLSuffix": "/",
"zenodo" : "https://zenodo.org/",
"zenodoCommunities" : "https://zenodo.org/api/communities/",
"openAccess" : "https://www.openaire.eu/support/faq#article-id-234",
@ -54,7 +55,6 @@
"cacheUrl" :"https://demo.openaire.eu/cache/get?url=",
"adminToolsAPIURL" :"https://beta.services.openaire.eu/uoa-admin-tools",
"adminToolsCommunity" :"connect",
@ -68,7 +68,9 @@
"resultsPerPage": 10,
"baseLink" : "https://beta.connect.openaire.eu",
"afterLoginRedirectLink": "/myCommunities",
"searchLinkToPublication" : "/search/publication?articleId=",
"searchLinkToProject" : "/search/project?projectId=",
"searchLinkToDataProvider" : "/search/dataprovider?datasourceId=",
@ -90,6 +92,7 @@
"searchLinkToEntityRegistriesDataProvidersTable" : "/search/entity-registries-table",
"searchLinkToJournals" : "/search/journals",
"searchLinkToJournalsTable" : "/search/journals-table",
"searchLinkToResults" : "/search/find/research-outcomes",
"searchLinkToAdvancedPublications" : "/search/advanced/publications",
"searchLinkToAdvancedProjects" : "/search/advanced/projects",
@ -98,15 +101,10 @@
"searchLinkToAdvancedOrps" : "/search/advanced/other",
"searchLinkToAdvancedDataProviders" : "/search/advanced/dataproviders",
"searchLinkToAdvancedOrganizations" : "/search/advanced/organizations",
"sendMailUrl": "https://beta.services.openaire.eu/uoa-admin-tools/sendMail/",
"notifyForNewManagers": "https://beta.services.openaire.eu/uoa-admin-tools/notifyForNewManagers/",
"notifyForNewSubscribers": "https://beta.services.openaire.eu/uoa-admin-tools/notifyForNewSubscribers/",
"searchLinkToAdvancedResults" : "/search/advanced/research-outcomes",
"lastIndexInformationLink" : "https://beta.openaire.eu/aggregation-and-content-provision-workflows",
"showLastIndexInformationLink" : true,
"widgetLink" : "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
"claimsInformationLink": "https://beta.openaire.eu/linking",
@ -117,7 +115,7 @@
"reCaptchaSiteKey": "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
"admins" : ["rcd-helpdesk@openaire.eu"],
"lastIndexUpdate": "2019-08-07",
"lastIndexUpdate": "2019-11-01",
"indexInfoAPI": "http://beta.services.openaire.eu/openaire/info/",
"altMetricsAPIURL": "https://api.altmetric.com/v1/doi/"
}

View File

@ -26,7 +26,8 @@
"cordisURL" : "http://cordis.europa.eu/projects/",
"openDoarURL": "http://v2.sherpa.ac.uk/id/repository/",
"r3DataURL": "http://service.re3data.org/repository/",
"sherpaURL": "http://www.sherpa.ac.uk/romeo/search.php?issn=",
"sherpaURL": "http://sherpa.ac.uk/romeo/issn/",
"sherpaURLSuffix": "/",
"zenodo" : "https://zenodo.org/",
"zenodoCommunities" : "https://zenodo.org/api/communities/",
"openAccess" : "https://www.openaire.eu/support/faq#article-id-234",
@ -80,6 +81,7 @@
"searchLinkToOrp" : "/search/other?orpId=",
"searchLinkToOrganization" : "/search/organization?organizationId=",
"searchLinkToCommunities" : "/search/find/communities",
"searchLinkToPublications" : "/search/find/publications",
"searchLinkToDataProviders" : "/search/find/dataproviders",
"searchLinkToProjects" : "/search/find/projects",
@ -92,6 +94,7 @@
"searchLinkToEntityRegistriesDataProvidersTable" : "/search/entity-registries-table",
"searchLinkToJournals" : "/search/journals",
"searchLinkToJournalsTable" : "/search/journals-table",
"searchLinkToResults" : "/search/find/research-outcomes",
"searchLinkToAdvancedPublications" : "/search/advanced/publications",
"searchLinkToAdvancedProjects" : "/search/advanced/projects",
@ -100,10 +103,13 @@
"searchLinkToAdvancedOrps" : "/search/advanced/other",
"searchLinkToAdvancedDataProviders" : "/search/advanced/dataproviders",
"searchLinkToAdvancedOrganizations" : "/search/advanced/organizations",
"searchLinkToAdvancedResults" : "/search/advanced/research-outcomes",
"lastIndexInformationLink" : "https://www.openaire.eu/aggregation-and-content-provision-workflows",
"showLastIndexInformationLink" : true,
"widgetLink" : "https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
"claimsInformationLink": "https://www.openaire.eu/linking",
"depositLearnHowPage": "/participate/deposit/learn-how",
"depositSearchPage": "/participate/deposit/search",
"shareInZenodoPage": "/participate/deposit/zenodo",
@ -111,5 +117,6 @@
"admins" : ["rcd-helpdesk@openaire.eu"],
"lastIndexUpdate": "2019-07-24",
"indexInfoAPI": "http://services.openaire.eu/openaire/info/"
"indexInfoAPI": "http://services.openaire.eu/openaire/info/",
"altMetricsAPIURL": "https://api.altmetric.com/v1/doi/"
}

View File

@ -6,6 +6,7 @@ import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/en
import { OpenaireErrorPageComponent } from './error/errorPage.component';
import {ThemeComponent} from "./test/theme.component";
import {PageURLResolverComponent} from "./openaireLibrary/utils/pageURLResolver.component";
const routes: Routes = [
// Other Pages
@ -26,6 +27,7 @@ const routes: Routes = [
{ path: 'helper-test', loadChildren: './helper-test/helper-test.module#HelperTestModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
// Landing Pages
{ path: 'search/result', loadChildren: './landingPages/result/libResult.module#LibResultModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/publication', loadChildren: './landingPages/publication/libPublication.module#LibPublicationModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/dataset', loadChildren: './landingPages/dataset/libDataset.module#LibDatasetModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/software', loadChildren: './landingPages/software/libSoftware.module#LibSoftwareModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
@ -37,22 +39,23 @@ const routes: Routes = [
{ path: 'project-report', loadChildren: './landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
// Search Pages
{ path: 'search/find', loadChildren: './searchPages/find/libSearch.module#LibMainSearchModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/find', redirectTo: 'search/find/research-outcomes', pathMatch: 'full'},
{ path: 'search/find/communities', loadChildren: './searchPages/communities/searchCommunities.module#SearchCommunitiesModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/find/publications', loadChildren: './searchPages/simple/searchPublications.module#LibSearchPublicationsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/find/datasets', loadChildren: './searchPages/simple/searchDatasets.module#LibSearchDatasetsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/find/software', loadChildren: './searchPages/simple/searchSoftware.module#LibSearchSoftwareModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/find/research-outcomes', loadChildren: './searchPages/simple/searchResearchResults.module#OpenaireSearchResearchResultsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/find/publications', component: PageURLResolverComponent},
{ path: 'search/find/datasets', component: PageURLResolverComponent},
{ path: 'search/find/software', component: PageURLResolverComponent},
{ path: 'search/find/other', component: PageURLResolverComponent},
{ path: 'search/find/projects', loadChildren: './searchPages/simple/searchProjects.module#LibSearchProjectsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/find/dataproviders', loadChildren: './searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/find/other', loadChildren: './searchPages/simple/searchOrps.module#LibSearchOrpsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
// Advanced Search Pages
{ path: 'search/advanced/publications', loadChildren: './searchPages/advanced/advancedSearchPublications.module#LibAdvancedSearchPublicationsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/advanced/datasets', loadChildren: './searchPages/advanced/advancedSearchDatasets.module#LibAdvancedSearchDatasetsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/advanced/software', loadChildren: './searchPages/advanced/advancedSearchSoftware.module#LibAdvancedSearchSoftwareModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/advanced/other', loadChildren: './searchPages/advanced/advancedSearchOrps.module#LibAdvancedSearchOrpsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/advanced/research-outcomes', loadChildren: './searchPages/advanced/searchResearchResults.module#OpenaireAdvancedSearchResearchResultsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'search/advanced/publications', component: PageURLResolverComponent},
{ path: 'search/advanced/datasets', component: PageURLResolverComponent},
{ path: 'search/advanced/software', component: PageURLResolverComponent},
{ path: 'search/advanced/other', component: PageURLResolverComponent},
// Deposit Pages
{ path: 'participate/deposit-datasets', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},

View File

@ -109,7 +109,7 @@ export class AppComponent {
if (this.properties.environment == "development") {
this.showMenu = false;
this.route.queryParams.subscribe(params => {
communityId = (params['communityId']) ? params['communityId'] : '';
communityId = (params['communityId']) ? params['communityId'] : ConnectHelper.getCommunityFromDomain(this.properties.domain);
this.buildMenu(communityId);
})
} else {
@ -163,10 +163,12 @@ export class AppComponent {
this.menuItems.push(
{
rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], ["/search/find", "/search/find/publications", "/search/find/datasets", "/search/find/software", "/search/find/other", "/search/find/projects", "/search/find/dataproviders"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
items: [new MenuItem("", "Publications", "", "/search/find/publications", false, ["publication"], ["/search/find/publications"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
new MenuItem("", "Research Data", "", "/search/find/datasets", false, ["dataset"], ["/search/find/datasets"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
new MenuItem("", "Software", "", "/search/find/software", false, ["software"], ["/search/find/software"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
new MenuItem("", "Other Research Products", "", "/search/find/other", false, ["orp"], ["/search/find/other"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
items: [
new MenuItem("", "Research outcomes", "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
// new MenuItem("", "Publications", "", "/search/find/publications", false, ["publication"], ["/search/find/publications"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
// new MenuItem("", "Research Data", "", "/search/find/datasets", false, ["dataset"], ["/search/find/datasets"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
// new MenuItem("", "Software", "", "/search/find/software", false, ["software"], ["/search/find/software"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
// new MenuItem("", "Other Research Products", "", "/search/find/other", false, ["orp"], ["/search/find/other"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
new MenuItem("", "Projects", "", "/search/find/projects/", false, ["project"], ["/search/find/projects"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, ["datasource"], ["/search/find/dataproviders"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
]

View File

@ -23,6 +23,7 @@ import {SubscribeModule} from './utils/subscribe/subscribe.module';
import {ThemeComponent} from "./test/theme.component";
import {CustomizationModule} from "./utils/customization/customization.module";
import {HttpInterceptorService} from "./openaireLibrary/http-interceptor.service";
import {PageURLResolverComponent} from "./openaireLibrary/utils/pageURLResolver.component";
@NgModule({
@ -42,7 +43,7 @@ import {HttpInterceptorService} from "./openaireLibrary/http-interceptor.service
AppRoutingModule,
BrowserTransferStateModule
],
declarations: [ AppComponent, OpenaireErrorPageComponent, ThemeComponent],
declarations: [ AppComponent, OpenaireErrorPageComponent, ThemeComponent, PageURLResolverComponent],
exports: [ AppComponent ],
providers:[
EnvironmentSpecificResolver, CommunitiesService, LayoutService,

View File

@ -50,13 +50,13 @@
uk-scrollspy="cls: uk-animation-fade; target: > div > .uk-card; delay: 450; repeat: false">
<div
*ngIf="publicationTotal != null && publicationTotal > 0 && isEntityEnabled('publication') && isRouteEnabled(searchLinkToPublications)"
*ngIf="publicationTotal != null && publicationTotal > 0 && isEntityEnabled('publication')"
class="uk-padding-remove-left">
<div
class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom ">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params
routerLinkActive="router-link-active" [routerLink]="searchLinkToPublications"><span
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]="{type:'publications', qf:false}"
routerLinkActive="router-link-active" [routerLink]="searchLinkToResults"><span
class="uk-text-bold uk-h5">{{publicationTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">publications</p></a>
</div>
@ -64,26 +64,26 @@
</div>
<div
*ngIf="researchDataTotal != null && researchDataTotal > 0 && isEntityEnabled('dataset') && isRouteEnabled(searchLinkToDatasets)"
*ngIf="researchDataTotal != null && researchDataTotal > 0 && isEntityEnabled('dataset') "
class="uk-padding-remove-left">
<div
class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params
routerLinkActive="router-link-active" [routerLink]="searchLinkToDatasets"><span
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]="{type:'datasets', qf:false}"
routerLinkActive="router-link-active" [routerLink]="searchLinkToResults"><span
class="uk-text-bold uk-h5">{{researchDataTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">research data</p></a>
</div>
</div>
</div>
<div
*ngIf="softwareTotal != null && softwareTotal > 0 && isEntityEnabled('software') && isRouteEnabled(searchLinkToSoftware)"
*ngIf="softwareTotal != null && softwareTotal > 0 && isEntityEnabled('software') "
class="uk-padding-remove-left">
<div
class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom ">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params
routerLinkActive="router-link-active" [routerLink]="searchLinkToSoftware"><span
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]="{type:'software', qf:false}"
routerLinkActive="router-link-active" [routerLink]="searchLinkToResults"><span
class="uk-text-bold uk-h5">{{softwareTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">software</p></a>
</div>
@ -91,13 +91,14 @@
</div>
<div
*ngIf="orpTotal != null && orpTotal > 0 && isEntityEnabled('orp') && isRouteEnabled(searchLinkToOrps)"
*ngIf="orpTotal != null && orpTotal > 0 && isEntityEnabled('orp')"
class="uk-padding-remove-left">
<div
class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom ">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params
routerLinkActive="router-link-active" [routerLink]="searchLinkToOrps"><span
<a class="uk-margin-auto-vertical uk-margin-auto"
[queryParams]="{type:'other', qf:false}"
routerLinkActive="router-link-active" [routerLink]="searchLinkToResults"><span
class="uk-text-bold uk-h5">{{orpTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">other products</p></a>
</div>
@ -140,8 +141,8 @@
<div *ngIf="community.subjects != null" class=" ">
<span *ngFor="let subject of community.subjects.slice(0,4) let i=index">
<span *ngIf="subject != ''" class="uk-label uk-margin-small-bottom">
<a [queryParams]="{subject:createParams(subject), sb: 'and'}"
routerLinkActive="router-link-active" [routerLink]="searchLinkToAdvancedPublications">
<a [queryParams]="{f0:'resultsubject',fv0:createParams(subject)}"
routerLinkActive="router-link-active" [routerLink]="searchLinkToAdvancedResults" >
{{subject}}
</a>
</span>{{" "}}
@ -149,8 +150,8 @@
<span *ngIf="showAllSubjects">
<span *ngFor="let subject of community.subjects.slice(4) let i=index">
<span *ngIf="subject != ''" class="uk-label uk-margin-small-bottom">
<a [queryParams]="{subject:createParams(subject), sb: 'and'}"
routerLinkActive="router-link-active" [routerLink]="searchLinkToAdvancedPublications">
<a [queryParams]="{f0:'resultsubject',fv0:createParams(subject)}"
routerLinkActive="router-link-active" [routerLink]="searchLinkToAdvancedResults">
{{subject}}
</a>
</span> {{" "}}

View File

@ -69,13 +69,11 @@ export class CommunityComponent {
public activeTab = "publication";
public show: string = 'overview';
searchLinkToPublications: string = null;
searchLinkToDatasets: string = null;
searchLinkToSoftware: string = null;
searchLinkToOrps: string = null;
searchLinkToResults: string = null;
searchLinkToProjects: string = null;
searchLinkToDataProviders: string = null;
searchLinkToAdvancedPublications: string = null;
searchLinkToAdvancedResults: string = null;
shareInZenodoPage: string = null;
public routerHelper: RouterHelper = new RouterHelper();
private user: User;
@ -111,13 +109,10 @@ export class CommunityComponent {
this.route.data
.subscribe((data: { envSpecific: EnvProperties }) => {
this.properties = data.envSpecific;
this.searchLinkToPublications = this.properties.searchLinkToPublications;
this.searchLinkToDatasets = this.properties.searchLinkToDatasets;
this.searchLinkToSoftware = this.properties.searchLinkToSoftware;
this.searchLinkToOrps = this.properties.searchLinkToOrps;
this.searchLinkToResults = this.properties.searchLinkToResults;
this.searchLinkToProjects = this.properties.searchLinkToProjects;
this.searchLinkToDataProviders = this.properties.searchLinkToDataProviders;
this.searchLinkToAdvancedPublications = this.properties.searchLinkToAdvancedPublications;
this.searchLinkToAdvancedResults = this.properties.searchLinkToAdvancedResults;
this.shareInZenodoPage = this.properties.shareInZenodoPage;
this.url = data.envSpecific.baseLink + this._router.url;
this.seoService.createLinkForCanonicalURL(this.url, false);

View File

@ -15,7 +15,7 @@ import {FetchZenodoInformation} from './utils/fetchZenodoInformation.class';
@Component({
selector: 'openaire-search-deposit',
template: `
<search-dataproviders [piwikSiteId]=piwikSiteId [zenodoInformation]="zenodoInformation" [communityId]="communityId"></search-dataproviders>
<deposit-search-dataproviders [piwikSiteId]=piwikSiteId [zenodoInformation]="zenodoInformation" [communityId]="communityId"></deposit-search-dataproviders>
`
})

View File

@ -0,0 +1,14 @@
import {NgModule} from '@angular/core';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {OpenaireResultComponent} from './result.component';
import {ResultRoutingModule} from './result-routing.module';
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
@NgModule({
imports: [ResultRoutingModule, ResultLandingModule],
declarations:[OpenaireResultComponent],
providers:[FreeGuard, PreviousRouteRecorder],
exports:[OpenaireResultComponent]
})
export class LibResultModule { }

View File

@ -0,0 +1,18 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import {OpenaireResultComponent } from './result.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireResultComponent, canActivate: [FreeGuard], data: {
redirect: '/error', community : 'openaire'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class ResultRoutingModule { }

View File

@ -0,0 +1,32 @@
import {Component} from '@angular/core';
import {ActivatedRoute} from "@angular/router";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {PiwikHelper} from "../../utils/piwikHelper";
@Component({
selector: 'openaire-publication',
template: `<result-landing type="result" [activeTab]="'References'" [piwikSiteId]="piwikSiteId" [communityId]="communityId"></result-landing>`,
})
export class OpenaireResultComponent{
piwikSiteId = null;
communityId = null;
constructor(private route: ActivatedRoute) {
this.route.data
.subscribe((data: { envSpecific: any }) => {
this.route.queryParams.subscribe(params => {
this.communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain);
if (!this.communityId) {
this.communityId = params['communityId'];
}
this.piwikSiteId = PiwikHelper.getSiteId(this.communityId, data.envSpecific.environment);
});
});
}
ngOnInit() {
}
}

View File

@ -13,7 +13,7 @@ import {SearchResult} from "../../openaireLibrary/utils/entities/searchResult";
<div *ngIf="results != null && results.length > 0">
<div class="uk-text-right">
<div>
<a class="el-content uk-button uk-button-text" [queryParams]=params routerLinkActive="router-link-active" [routerLink]="'/search/find/'+getresultTypeLink(resultType, true)">
<a class="el-content uk-button uk-button-text" [queryParams]="{type:getresultTypeLink(resultType, true), qf:false}" routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToResults">
View all
</a>
</div>

View File

@ -0,0 +1,19 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchResearchResultsComponent, canActivate: [FreeGuard], data: {
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchResearchResultsRoutingModule { }

View File

@ -0,0 +1,43 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {PiwikHelper} from "../../utils/piwikHelper";
@Component({
selector: 'openaire-search-results',
template: `
<search-research-results resultType="result" [simpleView]="false" [customFilter]=customFilter [piwikSiteId]="piwikSiteId" [hasPrefix]="false"></search-research-results>
`
})
export class OpenaireSearchResearchResultsComponent {
connectCommunityId:string;
piwikSiteId = null;
customFilter: SearchCustomFilter = null;
constructor ( private route: ActivatedRoute) {
}
ngOnInit() {
this.route.data
.subscribe((data: { envSpecific: any }) => {
var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain);
this.piwikSiteId = PiwikHelper.getSiteId(communityId, data.envSpecific.environment);
if(communityId){
this.connectCommunityId = communityId;
this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, "");
} else{
this.route.queryParams.subscribe(params => {
if(params['communityId'] && params['communityId']!=""){
this.connectCommunityId = params['communityId'];
this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId, data.envSpecific.environment);
this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, "");
}
});
}
});
}
}

View File

@ -0,0 +1,27 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module";
@NgModule({
imports: [
CommonModule, FormsModule,
SearchResearchResultsRoutingModule, SearchResearchResultsModule
],
declarations: [
OpenaireSearchResearchResultsComponent
],
providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled],
exports: [
OpenaireSearchResearchResultsComponent
]
})
export class OpenaireAdvancedSearchResearchResultsModule { }

View File

@ -11,9 +11,10 @@ import { MainSearchRoutingModule } from './mainSearch-routing.module';
import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard";
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
import {SearchAllModule} from "../../openaireLibrary/searchPages/find/searchAll.module";
@NgModule({
imports: [ MainSearchRoutingModule, MainSearchModule],
imports: [MainSearchRoutingModule, MainSearchModule, SearchAllModule],
declarations:[OpenaireSearchComponent],
exports:[OpenaireSearchComponent],
providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled],

View File

@ -1,4 +1,4 @@
import {Component, ViewChild, ElementRef} from '@angular/core';
import {Component} from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import {PiwikHelper} from '../../utils/piwikHelper';
import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper';
@ -7,7 +7,9 @@ import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/
@Component({
selector: 'openaire-search-find',
template: `
<search-find [customFilter]=customFilter [piwikSiteId]="piwikSiteId" formPlaceholderText="Search for research results"></search-find>
<search-all logoURL = "/assets/common-assets/logo-small-explore.png" name="OpenAIRE Connect" [customFilter]=customFilter [piwikSiteId]="piwikSiteId" ></search-all>
<!-- <search-find [customFilter]=customFilter [piwikSiteId]="piwikSiteId" formPlaceholderText="Search for research results"></search-find>-->
`,
})
export class OpenaireSearchComponent{

View File

@ -1,14 +1,11 @@
import {Component, Input, ViewChild} from '@angular/core';
import {Component, ViewChild} from '@angular/core';
import { ActivatedRoute} from '@angular/router';
import { Filter, Value} from '../../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class';
import {SearchResult} from '../../openaireLibrary/utils/entities/searchResult';
import {ErrorCodes} from '../../openaireLibrary/utils/properties/errorCodes';
import {ErrorMessagesComponent} from '../../openaireLibrary/utils/errorMessages.component';
import {SearchFields, FieldDetails} from '../../openaireLibrary/utils/properties/searchFields';
import {SearchFields} from '../../openaireLibrary/utils/properties/searchFields';
import {SearchPageTableViewComponent } from '../../openaireLibrary/searchPages/searchUtils/searchPageTableView.component';
import {SearchUtilsClass } from '../../openaireLibrary/searchPages/searchUtils/searchUtils.class';
import {SearchCustomFilter, SearchUtilsClass} from '../../openaireLibrary/searchPages/searchUtils/searchUtils.class';
import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties';
import {SearchCommunityDataprovidersService} from '../../openaireLibrary/connect/contentProviders/searchDataproviders.service';
import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper';
@ -20,7 +17,7 @@ import {PiwikHelper} from '../../utils/piwikHelper';
<search-page-table pageTitle="Search Content Providers"
type="content providers" entityType="dataprovider"
[(results)] = "results" [(searchUtils)] = "searchUtils"
[results] = "results" [searchUtils] = "searchUtils"
[columnNames]="columnNames"
[showResultCount]=false
openaireLink="https://beta.explore.openaire.eu/search/find/dataproviders"
@ -28,7 +25,7 @@ import {PiwikHelper} from '../../utils/piwikHelper';
[enableSearchView]="enableSearchView"
searchFormClass="datasourcesTableSearchForm"
formPlaceholderText="Search for Content Providers"
[piwikSiteId]="piwikSiteId" [hasPrefix]="false">
[piwikSiteId]="piwikSiteId" [hasPrefix]="false" [customFilter]="customFilter" [enableEntitySelection]="true">
</search-page-table>
`
@ -53,6 +50,7 @@ export class OpenaireSearchDataprovidersComponent {
@ViewChild (SearchPageTableViewComponent) searchPage : SearchPageTableViewComponent ;
piwikSiteId = null;
customFilter: SearchCustomFilter = null;
constructor (private route: ActivatedRoute, private _searchDataprovidersService: SearchCommunityDataprovidersService) {
this.errorCodes = new ErrorCodes();
@ -72,7 +70,7 @@ export class OpenaireSearchDataprovidersComponent {
if(!this.communityId) {
this.communityId = params['communityId'];
}
this.customFilter = new SearchCustomFilter("Community", "communityId", this.communityId, "");
this.piwikSiteId = PiwikHelper.getSiteId(this.communityId,this.properties.environment);
this.searchUtils.keyword = (params['keyword']?params['keyword']:'');
//this.filters = this.createFilters();

View File

@ -3,12 +3,11 @@ import { ActivatedRoute} from '@angular/router';
import { Filter, Value} from '../../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class';
import {SearchResult} from '../../openaireLibrary/utils/entities/searchResult';
import {ErrorCodes} from '../../openaireLibrary/utils/properties/errorCodes';
import {ErrorMessagesComponent} from '../../openaireLibrary/utils/errorMessages.component';
import {SearchFields, FieldDetails} from '../../openaireLibrary/utils/properties/searchFields';
import {SearchPageTableViewComponent } from '../../openaireLibrary/searchPages/searchUtils/searchPageTableView.component';
import {SearchUtilsClass } from '../../openaireLibrary/searchPages/searchUtils/searchUtils.class';
import {SearchCustomFilter, SearchUtilsClass} from '../../openaireLibrary/searchPages/searchUtils/searchUtils.class';
import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties';
import {SearchCommunityProjectsService} from '../../openaireLibrary/connect/projects/searchProjects.service';
import {PiwikHelper} from '../../utils/piwikHelper';
@ -19,8 +18,8 @@ import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper';
template: `
<search-page-table pageTitle="Search Projects"
type="projects" entityType="project" [(filters)] = "filters"
[(results)] = "results" [(searchUtils)] = "searchUtils"
type="projects" entityType="project" [filters] = "filters"
[results] = "results" [searchUtils] = "searchUtils"
[columnNames]="columnNames"
[showResultCount]=false
openaireLink="https://beta.explore.openaire.eu/search/find/projects"
@ -28,7 +27,7 @@ import {ConnectHelper} from '../../openaireLibrary/connect/connectHelper';
[enableSearchView]="enableSearchView"
searchFormClass="projectsTableSearchForm"
formPlaceholderText="Search for Projects"
[piwikSiteId]="piwikSiteId" [hasPrefix]="false">
[piwikSiteId]="piwikSiteId" [hasPrefix]="false" [customFilter]="customFilter" [enableEntitySelection]="true">
</search-page-table>
`
@ -53,7 +52,7 @@ export class OpenaireSearchProjectsComponent {
@ViewChild (SearchPageTableViewComponent) searchPage : SearchPageTableViewComponent ;
piwikSiteId = null;
customFilter: SearchCustomFilter = null;
constructor (private route: ActivatedRoute, private _searchProjectsService: SearchCommunityProjectsService) {
this.errorCodes = new ErrorCodes();
this.errorMessages = new ErrorMessagesComponent();
@ -72,7 +71,7 @@ export class OpenaireSearchProjectsComponent {
if(!this.communityId) {
this.communityId = params['communityId'];
}
this.customFilter = new SearchCustomFilter("Community", "communityId", this.communityId, "");
this.piwikSiteId = PiwikHelper.getSiteId(this.communityId,this.properties.environment);
this.searchUtils.keyword = (params['keyword']?params['keyword']:'');
//this.filters = this.createFilters();
@ -102,6 +101,7 @@ export class OpenaireSearchProjectsComponent {
this.subResults = this._searchProjectsService.searchProjects(this.properties, this.communityId).subscribe(
data => {
// data=data.slice(0,150)
this.filters = this.createFilters(data, params);
this.searchUtils.totalResults = data.length;

View File

@ -0,0 +1,19 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchResearchResultsComponent, canActivate: [FreeGuard], data: {
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchResearchResultsRoutingModule { }

View File

@ -0,0 +1,52 @@
import {Component, Input} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {ActivatedRoute} from "@angular/router";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {PiwikHelper} from "../../utils/piwikHelper";
@Component({
selector: 'openaire-search-results',
template: `
<search-research-results resultType="result" openaireLink="https://beta.explore.openaire.eu/search/find/publications"
[customFilter]=customFilter [piwikSiteId]="piwikSiteId" [hasPrefix]="false"></search-research-results>
`
})
export class OpenaireSearchResearchResultsComponent {
connectCommunityId: string;
piwikSiteId = null;
customFilter: SearchCustomFilter = null;
properties:EnvProperties;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
this.route.data
.subscribe((data: { envSpecific: any }) => {
var communityId = ConnectHelper.getCommunityFromDomain(data.envSpecific.domain);
if (communityId) {
this.connectCommunityId = communityId;
this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment);
this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, "");
} else {
this.route.queryParams.subscribe(params => {
if (params['communityId'] && params['communityId'] != "") {
this.connectCommunityId = params['communityId'];
this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,data.envSpecific.environment);
this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, "");
}
});
}
});
}
}

View File

@ -0,0 +1,27 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module";
@NgModule({
imports: [
CommonModule, FormsModule,
SearchResearchResultsRoutingModule, SearchResearchResultsModule
],
declarations: [
OpenaireSearchResearchResultsComponent
],
providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled],
exports: [
OpenaireSearchResearchResultsComponent
]
})
export class OpenaireSearchResearchResultsModule { }

View File

@ -15,7 +15,8 @@ export class PiwikHelper{
"clarin":100,
"dariah":103,
"epos": 217,
"beopen": 218
"beopen": 218,
"risis":219
};
public static siteIDsProduction={
"connect": 112,
@ -33,7 +34,8 @@ export class PiwikHelper{
"clarin":'',
"dariah":'',
"epos": null,
"beopen" :null
"beopen" :null,
"risis":null
};
public static getSiteId(communityId:string, environment:string){
if(environment == 'production'){

View File

@ -10,11 +10,11 @@
"statisticsFrameAPIURL":"https://beta.openaire.eu/stats/",
"statisticsFrameNewAPIURL": "http://marilyn.athenarc.gr:8080/stats-api/",
"useNewStatistisTool":false,
"claimsAPIURL" : "http://scoobydoo.di.uoa.gr:8080/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
"claimsAPIURL" : "http://dl170.madgik.di.uoa.gr:8180/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
"searchAPIURLLAst" : "https://beta.services.openaire.eu/search/v2/api/",
"searchResourcesAPIURL" : "https://beta.services.openaire.eu/search/v2/api/resources",
"openCitationsAPIURL" : "https://services.openaire.eu/opencitations/getCitations?id=",
"csvAPIURL" : "http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/reports",
"csvAPIURL" : "https://beta.services.openaire.eu/search/v2/api/reports",
"searchCrossrefAPIURL" : "https://api.crossref.org/works",
"searchDataciteAPIURL" : "https://api.datacite.org/works",
"searchOrcidURL" : "https://pub.orcid.org/v2.1/",
@ -26,7 +26,8 @@
"cordisURL" : "http://cordis.europa.eu/projects/",
"openDoarURL": "http://v2.sherpa.ac.uk/id/repository/",
"r3DataURL": "http://service.re3data.org/repository/",
"sherpaURL": "http://www.sherpa.ac.uk/romeo/search.php?issn=",
"sherpaURL": "http://sherpa.ac.uk/romeo/issn/",
"sherpaURLSuffix": "/",
"zenodo" : "https://zenodo.org/",
"zenodoCommunities" : "https://zenodo.org/api/communities/",
"openAccess" : "https://www.openaire.eu/support/faq#article-id-234",
@ -36,8 +37,7 @@
"ercGuidlines" : "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
"helpdesk" : "https://www.openaire.eu/support/helpdesk",
"helpdeskEmail": "helpdesk@openaire.eu",
"uploadService" : "http://scoobydoo.di.uoa.gr:8000/upload",
"utilsService" : "http://mpagasas.di.uoa.gr:8000",
"utilsService" : "http://dl170.madgik.di.uoa.gr:8000",
"vocabulariesAPI" :"https://dev-openaire.d4science.org/provision/mvc/vocabularies/",
@ -53,9 +53,9 @@
"feedbackmail" :"openaire.test@gmail.com",
"cacheUrl" :"http://scoobydoo.di.uoa.gr:3000/get?url=",
"cacheUrl" :"http://dl170.madgik.di.uoa.gr:3000/get?url=",
"adminToolsAPIURL" :"http://duffy.di.uoa.gr:8080/uoa-admin-tools/",
"adminToolsAPIURL" :"http://dl170.madgik.di.uoa.gr:8080/uoa-admin-tools/",
"adminToolsCommunity" :"connect",
"datasourcesAPI": "https://beta.services.openaire.eu/openaire/ds/search/",
@ -67,7 +67,7 @@
"pagingLimit": 20,
"resultsPerPage": 10,
"baseLink" : "https://beta.explore.openaire.eu",
"baseLink" : "https://beta.connect.openaire.eu",
"afterLoginRedirectLink": "/myCommunities",
@ -92,6 +92,7 @@
"searchLinkToEntityRegistriesDataProvidersTable" : "/search/entity-registries-table",
"searchLinkToJournals" : "/search/journals",
"searchLinkToJournalsTable" : "/search/journals-table",
"searchLinkToResults" : "/search/find/research-outcomes",
"searchLinkToAdvancedPublications" : "/search/advanced/publications",
"searchLinkToAdvancedProjects" : "/search/advanced/projects",
@ -100,15 +101,10 @@
"searchLinkToAdvancedOrps" : "/search/advanced/other",
"searchLinkToAdvancedDataProviders" : "/search/advanced/dataproviders",
"searchLinkToAdvancedOrganizations" : "/search/advanced/organizations",
"sendMailUrl": "http://scoobydoo.di.uoa.gr:8080/uoa-admin-tools/sendMail/",
"notifyForNewManagers": "http://scoobydoo.di.uoa.gr:8080/uoa-admin-tools/notifyForNewManagers/",
"notifyForNewSubscribers": "http://scoobydoo.di.uoa.gr:8080/uoa-admin-tools/notifyForNewSubscribers/",
"searchLinkToAdvancedResults" : "/search/advanced/research-outcomes",
"lastIndexInformationLink" : "https://beta.openaire.eu/aggregation-and-content-provision-workflows",
"showLastIndexInformationLink" : true,
"widgetLink" : "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
"claimsInformationLink": "https://beta.openaire.eu/linking",
@ -116,10 +112,11 @@
"depositSearchPage": "/participate/deposit/search",
"shareInZenodoPage": "/participate/deposit/zenodo",
"reCaptchaSiteKey": "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu",
"admins" : ["kostis30fylloy@gmail.com"],
"lastIndexUpdate": "2019-05-16",
"lastIndexUpdate": "2019-11-01",
"indexInfoAPI": "http://beta.services.openaire.eu/openaire/info/",
"altMetricsAPIURL": "https://api.altmetric.com/v1/doi/"
}

9
src/material.scss Normal file
View File

@ -0,0 +1,9 @@
@import '~@angular/material/theming';
@include mat-core();
$my-app-primary: mat-palette($mat-gray, 900);
$my-app-accent: mat-palette($mat-light-green, 700);
$my-app-theme: mat-light-theme($my-app-primary, $my-app-accent);
@include angular-material-theme($my-app-theme);