About add background pattern. Add quick contact in all pages and remove menu element. Make some breadcrumbs alignments. Add application class to body instread of app component to avoid modal theme issues.

This commit is contained in:
Konstantinos Triantafyllou 2022-06-02 17:30:48 +03:00
parent f15692c79b
commit 92bbbf5173
30 changed files with 345 additions and 521 deletions

View File

@ -1,5 +1,5 @@
import {NgModule} from '@angular/core';
import { RouterModule, Routes} from '@angular/router';
import {RouterModule, Routes} from '@angular/router';
import {OpenaireErrorPageComponent} from './error/errorPage.component';
import {PageURLResolverComponent} from "./openaireLibrary/utils/pageURLResolver.component";
import {IsCommunity} from "./openaireLibrary/connect/communityGuard/isCommunity.guard";
@ -13,7 +13,6 @@ const routes: Routes = [
{path: '', loadChildren: () => import('./communitywrapper/communityWrapper.module').then(m => m.CommunityWrapperModule)},
{path: 'about', redirectTo: 'about/learn-how', pathMatch: 'full'},
{path: 'about/learn-how', loadChildren: () => import('./learn-how/learn-how.module').then(m => m.LearnHowModule)},
{path: 'about/learn-in-depth', loadChildren: () => import('./learn-how/learnInDepth/learn-in-depth.module').then(m => m.LearnInDepthModule)},
{path: 'about/faq', loadChildren: () => import('./learn-how/faqs/faqs.module').then(m => m.FaqsModule)},
{path: 'contact-us', loadChildren: () => import('./contact/contact.module').then(m => m.ContactModule)},
{path: 'invite', loadChildren: () => import('./utils/subscribe/invite/invite.module').then(m => m.InviteModule)},

View File

@ -1,4 +1,4 @@
import {Component} from '@angular/core';
import {AfterViewInit, Component, OnDestroy, OnInit, ViewChild} from '@angular/core';
import {ActivatedRoute, NavigationEnd, Router} from '@angular/router';
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
@ -21,16 +21,18 @@ import {SmoothScroll} from "./openaireLibrary/utils/smooth-scroll";
import {Meta} from "@angular/platform-browser";
import {CommunityInfo} from "./openaireLibrary/connect/community/communityInfo";
import {SEOService} from "./openaireLibrary/sharedComponents/SEO/SEO.service";
import {FormBuilder, FormGroup} from "@angular/forms";
import {FormBuilder, FormGroup, Validators} from "@angular/forms";
import {QuickContactService} from "./openaireLibrary/sharedComponents/quick-contact/quick-contact.service";
import {EmailService} from "./openaireLibrary/utils/email/email.service";
import {AlertModal} from "./openaireLibrary/utils/modal/alert";
import {QuickContactComponent} from "./openaireLibrary/sharedComponents/quick-contact/quick-contact.component";
import {Composer} from "./openaireLibrary/utils/email/composer";
import {NotificationHandler} from "./openaireLibrary/utils/notification-handler";
@Component({
selector: 'app-root',
styles: [`
`],
template: `
<div [class]="(community)?(community.communityId +'App communityApp'):'connectApp'">
<div>
<navbar *ngIf="properties && showMenu && !community && header" [portal]="properties.dashboard" [onlyTop]=false
[userMenuItems]=userMenuItems [menuItems]=menuItems [user]="user" [header]="header"
[showMenu]=showMenu [properties]="properties" [showHomeMenuItem]="false" communityId="connect"></navbar>
@ -82,14 +84,16 @@ import {EmailService} from "./openaireLibrary/utils/email/email.service";
[communityId]="community.communityId" [menuItems]=bottomMenuItems [properties]="properties"
[darkBackground]="true" [centered]="true"></bottom>
<quick-contact #quickContact *ngIf="showQuickContact && contactForm" (sendEmitter)="send($event)"
[contact]="'Help'" [images]="images" [background]="'uk-background-secondary'"
[contactForm]="contactForm" [sending]="sending"></quick-contact>
<modal-alert #modal [overflowBody]="false"></modal-alert>
<role-verification *ngIf="community" service="connect"
[id]="community.communityId" [name]="community.title" [type]="'community'"></role-verification>
</div>
`
})
export class AppComponent {
export class AppComponent implements OnInit, OnDestroy {
isClient: boolean = false;
userMenuItems: MenuItem[] = [];
menuItems: RootMenuItem [] = [];
@ -106,7 +110,11 @@ export class AppComponent {
public showQuickContact: boolean;
public showGetStarted: boolean = true;
public contactForm: FormGroup;
subscriptions = [];
public sending = false;
public images: string[] = [];
@ViewChild('modal') modal: AlertModal;
@ViewChild('quickContact') quickContact: QuickContactComponent;
private subscriptions = [];
layout: CustomizationOptions = null;
constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService,
private _communitiesService: CommunitiesService, private smoothScroll: SmoothScroll,
@ -148,6 +156,9 @@ export class AppComponent {
this.init();
}, error => {
this.init()}));
this.subscriptions.push(this.quickContactService.isDisplayed.subscribe(display => {
this.showQuickContact = display;
}));
}
ngOnDestroy() {
@ -174,10 +185,18 @@ export class AppComponent {
private init() {
let communityId: string = ConnectHelper.getCommunityFromDomain(this.properties.domain);
this.showMenu = false;
if(typeof document !== "undefined") {
if(communityId) {
document.body.classList.add(communityId + 'App communityApp');
} else {
document.body.classList.add('connectApp');
}
}
this.initAdminToolCommunity(communityId);
this.buildMenu(communityId);
// this.communityId = communityId;
if (!communityId) {
this.reset();
this.userManagementService.fixRedirectURL = properties.afterLoginRedirectLink;
} else {
this.userManagementService.fixRedirectURL = null;
@ -354,10 +373,6 @@ export class AppComponent {
rootItem: new MenuItem("communities", "Communities", restrictedData ? url + "/search/find/communities" : "", restrictedData ? "" : "/search/find/communities", false, [], ['/search/find/communities'], {}),
items: []
});
this.menuItems.push({
rootItem: new MenuItem("contact-us", "Contact us", restrictedData ? url + "/contact-us" : "", restrictedData ? "" : "/contact-us", false, [], ['/contact-us'], {}),
items: []
});
this.bottomMenuItems = [
new MenuItem("", "About", "https://openaire.eu/project-factsheets", "", false, [], [], {}),
new MenuItem("", "News - Events", "https://openaire.eu/news-events", "", false, [], [], {}),
@ -375,4 +390,69 @@ export class AppComponent {
}
this.showMenu = true;
}
/**
* Contact methods
* */
public send(event) {
if (event.valid === true) {
this.sendMail(this.properties.admins);
}
}
public reset() {
if (this.quickContact) {
this.quickContact.close();
}
this.contactForm = this.fb.group({
name: this.fb.control('', Validators.required),
surname: this.fb.control('', Validators.required),
email: this.fb.control('', [Validators.required, Validators.email]),
affiliation: this.fb.control('', Validators.required),
community: this.fb.control('', Validators.required),
message: this.fb.control('', Validators.required),
recaptcha: this.fb.control('', Validators.required),
});
}
private sendMail(admins: string[]) {
this.sending = true;
this.subscriptions.push(this.emailService.contact(this.properties,
Composer.composeEmailForNewCommunity(this.contactForm.value, admins),
this.contactForm.value.recaptcha).subscribe(
res => {
if (res) {
this.sending = false;
this.reset();
this.modalOpen();
} else {
this.handleError('Email <b>sent failed!</b> Please try again.');
}
},
error => {
this.handleError('Email <b>sent failed!</b> Please try again.', error);
}
));
}
public modalOpen() {
this.modal.okButton = true;
this.modal.alertTitle = 'Your request has been successfully submitted';
this.modal.message = 'Our team will respond to your submission soon.';
this.modal.alertMessage = true;
this.modal.cancelButton = false;
this.modal.okButtonLeft = false;
this.modal.okButtonText = 'OK';
this.modal.open();
}
handleError(message: string, error = null) {
if (error) {
console.error(error);
}
this.sending = false;
this.quickContact.close();
NotificationHandler.rise(message, 'danger');
this.contactForm.get('recaptcha').setValue('');
}
}

View File

@ -28,6 +28,7 @@ import {IsCommunity} from "./openaireLibrary/connect/communityGuard/isCommunity.
import {SubscribeService} from "./openaireLibrary/utils/subscribe/subscribe.service";
import {RoleVerificationModule} from "./openaireLibrary/role-verification/role-verification.module";
import {QuickContactModule} from "./openaireLibrary/sharedComponents/quick-contact/quick-contact.module";
import {AlertModalModule} from "./openaireLibrary/utils/modal/alertModal.module";
@NgModule({
@ -46,7 +47,7 @@ import {QuickContactModule} from "./openaireLibrary/sharedComponents/quick-conta
AppRoutingModule,
BrowserTransferStateModule,
BrowserAnimationsModule,
PageURLResolverModule, Schema2jsonldModule, RoleVerificationModule, QuickContactModule
PageURLResolverModule, Schema2jsonldModule, RoleVerificationModule, QuickContactModule, AlertModalModule
],
declarations: [AppComponent, OpenaireErrorPageComponent],
exports: [AppComponent],

View File

@ -384,7 +384,7 @@
<!--<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
[texts]="pageContents['bottom']"></helper>-->
<!--<div class="uk-section" style="background-color: #D9D8E8;">-->
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom uk-text-center">
<div #contact class="uk-section uk-container uk-container-large uk-margin-large-bottom uk-text-center">
<!-- uk-margin-medium-top-->
<h2 class="uk-h2">
Let us Help you Develop a<br/>Collaborative Science<br/>

View File

@ -1,4 +1,4 @@
import {Component} from '@angular/core';
import {AfterViewInit, Component, ElementRef, OnDestroy, OnInit, ViewChild} from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {Meta, Title} from '@angular/platform-browser';
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
@ -16,13 +16,14 @@ import {properties} from "../../environments/environment";
import {Subscriber} from "rxjs";
import {Session, User} from "../openaireLibrary/login/utils/helper.class";
import {UserManagementService} from "../openaireLibrary/services/user-management.service";
import {QuickContactService} from "../openaireLibrary/sharedComponents/quick-contact/quick-contact.service";
@Component({
selector: 'communities',
templateUrl: 'communities.component.html',
})
export class CommunitiesComponent {
export class CommunitiesComponent implements OnInit, OnDestroy, AfterViewInit {
private subscriptions = [];
private user: User;
@ -37,8 +38,10 @@ export class CommunitiesComponent {
public subscriberErrorMessage: string = "";
public errorCodes: ErrorCodes;
private errorMessages: ErrorMessagesComponent;
properties: EnvProperties;
public showQuickContact: boolean = true;
@ViewChild('contact') contact: ElementRef;
public properties: EnvProperties = properties;
public keyword: string = "";
public type: string = "all";
@ -51,7 +54,8 @@ export class CommunitiesComponent {
private _communitiesService: CommunitiesService,
private helper: HelperService,
private seoService: SEOService,
private userManagementService: UserManagementService) {
private userManagementService: UserManagementService,
private quickContactService: QuickContactService) {
var description = "OpenAIRE - Connect, Community Dashboard, research community";
var title = "OpenAIRE - Connect";
@ -67,7 +71,6 @@ export class CommunitiesComponent {
}
public ngOnInit() {
this.properties = properties;
var url = this.properties.domain + this.properties.baseLink + this._router.url;
this.seoService.createLinkForCanonicalURL(url, false);
this._meta.updateTag({content: url}, "property='og:url'");
@ -85,6 +88,20 @@ export class CommunitiesComponent {
//this.getDivContents();
this.getPageContents();
}
ngOnDestroy() {
this.subscriptions.forEach(subscription => {
if (subscription instanceof Subscriber) {
subscription.unsubscribe();
}
});
}
ngAfterViewInit() {
if(typeof window !== "undefined") {
this.createObservers();
}
}
private getPageContents() {
this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => {
@ -97,6 +114,27 @@ export class CommunitiesComponent {
this.divContents = contents;
}));
}
createObservers() {
let options = {
root: null,
rootMargin: '200px',
threshold: 1.0
};
let intersectionObserver = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting && this.showQuickContact) {
this.showQuickContact = false;
this.quickContactService.setDisplay(this.showQuickContact);
} else if (!entry.isIntersecting && !this.showQuickContact) {
this.showQuickContact = true;
this.quickContactService.setDisplay(this.showQuickContact);
}
});
}, options);
intersectionObserver.observe(this.contact.nativeElement);
this.subscriptions.push(intersectionObserver);
}
public getCommunities() {
this.loading = true;
@ -187,15 +225,7 @@ export class CommunitiesComponent {
public quote(param: string): string {
return StringUtils.quote(param);
}
ngOnDestroy() {
this.subscriptions.forEach(subscription => {
if (subscription instanceof Subscriber) {
subscription.unsubscribe();
}
});
}
private handleError(message: string, error): number {
var code = "";
try {

View File

@ -1,6 +1,6 @@
<div>
<div class="uk-container uk-container-large uk-section uk-section-small uk-padding-remove-bottom">
<div class="uk-padding-small">
<div class="uk-padding-small uk-padding-remove-horizontal">
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
</div>
@ -17,8 +17,6 @@
</div>
</div>
<modal-alert #modal (alertOutput)="goToHome()">
<div class="uk-padding-small uk-padding-remove-horizontal">
Our team will respond to your submission soon.<br>
Press OK to redirect to OpenAIRE Monitor home page.
</div>
</modal-alert>

View File

@ -10,189 +10,188 @@ import {Subscriber} from "rxjs";
import {properties} from "../../../environments/environment";
@Component({
selector: 'learn-in-depth',
selector: 'faqs',
template: `
<div class="uk-section uk-padding-remove-bottom uk-container uk-container-large">
<div class="uk-padding-small">
<schema2jsonld *ngIf="url" [URL]="url" [name]="pageTitle" type="other"></schema2jsonld>
<div class="uk-container uk-container-large uk-section uk-section-small uk-padding-remove-bottom">
<div class="uk-padding-small uk-padding-remove-horizontal">
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
</div>
<div class="uk-container uk-container-large uk-section uk-padding-remove-top">
<div class="uk-padding-small">
<div class="uk-margin-top uk-margin-medium-bottom">
<h3 class="">Frequently Asked Questions</h3>
</div>
<div class="uk-container">
<div class="uk-section uk-padding-remove-top">
<div class="uk-container uk-container-large uk-margin-top">
<h1>Frequently Asked Questions</h1>
<div class="uk-container uk-margin-large-top">
<ul class="uk-accordion" uk-accordion="">
<li>
<a class="uk-accordion-title" href="#">What is a &quot;Research community&quot;?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>A research community is a community of practice that gathers together researchers and practitioners
with common research interests (e.g. a research discipline or a specific research topic) and,
possibly, a decisional board. In some cases, a community builds and grows in the context of a research
infrastructure that provides services and tools supporting the research activities of the members of a
community. In other cases, a community builds and grows in the context of one or more research
projects, forming what we call a &ldquo;research initiative&rdquo;.</p>
<li>
<a class="uk-accordion-title" href="#">What is a &quot;Research community&quot;?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>A research community is a community of practice that gathers together researchers and practitioners
with common research interests (e.g. a research discipline or a specific research topic) and,
possibly, a decisional board. In some cases, a community builds and grows in the context of a research
infrastructure that provides services and tools supporting the research activities of the members of a
community. In other cases, a community builds and grows in the context of one or more research
projects, forming what we call a &ldquo;research initiative&rdquo;.</p>
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">What is the difference between a Community Gateway and the
Research Community Dashboard (RCD)?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>The RCD offers on demand Community Gateways that communities can customize to fit their sharing,
publishing and discovery needs. Through the RCD, gateway managers can configure the respective
Community Gateway by providing (i) the criteria identifying the subset of the OpenAIRE Research Graph
that pertains to the community, and (ii) the community statistics to be made public or private.</p>
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">How can Research Community thematic services integrate with
the Research Community Dashboard (RCD)?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>Once a Community Gateway has been created, several thematic service integration patterns are
possible:</p>
<ol>
<li>
<span class="uk-text-bold">Community-specific repository:</span> OpenAIRE can guide your
repository managers on how to make the repository
<a href="https://www.openaire.eu/validator-registration-guide" target="_blank"> &ldquo;OpenAIRE-compliant&rdquo;</a>.
The gateway managers can configure the gateway so that all metadata records collected from the
repository are available in the gateway. If the repository manager wants to get the enrichments
OpenAIRE applies to the records, he/she can <a href="https://www.openaire.eu/content-enrichment-guide"
target="_blank">
activate the Broker service</a> using <a href="https://provide.openaire.eu/landing" target="_blank">the
Content
Provider Dashboard</a>.
</li>
<li>
<span class="uk-text-bold">Continuous publishing:</span> thematic services, once authorized by the
user, can publish their outputs (e.g. datasets, digital experiments) on behalf of the user. Thematic
services and digital experiment platforms can be easily enhanced with a publishing step by
integrating the <a href="https://developers.zenodo.org/" target="_blank">Zenodo API</a>. To know
more, <a class="uk-link" href="https://doi.org/10.5281/zenodo.1314672" target="_blank"> check out
the pilot we have designed with the EPOS-IT infrastructure. </a></li>
<li>
<span class="uk-text-bold">Community web site:</span> you can use the
<a href="http://develop.openaire.eu/api.html" target="_blank">OpenAIRE Search API</a> to show the
research products relevant to your community on your own website.
</li>
</ol>
</div>
</li>
<li><a class="uk-accordion-title" href="#">What does my Research Community gain in terms of Open
Science?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-grid uk-margin-medium-bottom" hidden="" uk-grid="">
<div class="uk-width-1-1 uk-first-column"><span
class="uk-text-bold">Discovery and reproducibility:</span> Your community will have a single entry
point where all research products, of any type (literature, datasets, software, workflows, protocols),
are gathered together and linked with semantic relationships. Researchers can find a research product
in the gateway (e.g. a research dataset) and easily find out everything related to it and that is
needed to re-use it, but also to replicate and reproduce a research activity (e.g. software used to
process the dataset, the journal article where the research is described).
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">What is the difference between a Community Gateway and the
Research Community Dashboard (RCD)?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>The RCD offers on demand Community Gateways that communities can customize to fit their sharing,
publishing and discovery needs. Through the RCD, gateway managers can configure the respective
Community Gateway by providing (i) the criteria identifying the subset of the OpenAIRE Research Graph
that pertains to the community, and (ii) the community statistics to be made public or private.</p>
<div class="uk-width-1-1 uk-grid-margin uk-first-column"><span class="uk-text-bold">Sharing:</span>
scientific literature is only the tip of the iceberg. With a Community Gateway, you say to the members
of your community that everything they produce is relevant and that they should get credit for it.
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">How can Research Community thematic services integrate with
the Research Community Dashboard (RCD)?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>Once a Community Gateway has been created, several thematic service integration patterns are
possible:</p>
<ol>
<li>
<span class="uk-text-bold">Community-specific repository:</span> OpenAIRE can guide your
repository managers on how to make the repository
<a href="https://www.openaire.eu/validator-registration-guide" target="_blank"> &ldquo;OpenAIRE-compliant&rdquo;</a>.
The gateway managers can configure the gateway so that all metadata records collected from the
repository are available in the gateway. If the repository manager wants to get the enrichments
OpenAIRE applies to the records, he/she can <a href="https://www.openaire.eu/content-enrichment-guide"
target="_blank">
activate the Broker service</a> using <a href="https://provide.openaire.eu/landing" target="_blank">the
Content
Provider Dashboard</a>.
</li>
<li>
<span class="uk-text-bold">Continuous publishing:</span> thematic services, once authorized by the
user, can publish their outputs (e.g. datasets, digital experiments) on behalf of the user. Thematic
services and digital experiment platforms can be easily enhanced with a publishing step by
integrating the <a href="https://developers.zenodo.org/" target="_blank">Zenodo API</a>. To know
more, <a class="uk-link" href="https://doi.org/10.5281/zenodo.1314672" target="_blank"> check out
the pilot we have designed with the EPOS-IT infrastructure. </a></li>
<li>
<span class="uk-text-bold">Community web site:</span> you can use the
<a href="http://develop.openaire.eu/api.html" target="_blank">OpenAIRE Search API</a> to show the
research products relevant to your community on your own website.
</li>
</ol>
<div class="uk-width-1-1 uk-grid-margin uk-first-column"><span
class="uk-text-bold">Credit for all:</span> Making research data, software, methods and scientific
workflows available &ldquo;as soon as possible&rdquo; is one of the &ldquo;mantra&rdquo; of Open
Science. If your community has integrated Zenodo into a digital experiment platform, researchers no
longer bear the burden of manually publishing their research products, while it is also easier for
them to publish different versions, which reflect different stages of their activities.
</div>
</li>
<li><a class="uk-accordion-title" href="#">What does my Research Community gain in terms of Open
Science?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-grid uk-margin-medium-bottom" hidden="" uk-grid="">
<div class="uk-width-1-1 uk-first-column"><span
class="uk-text-bold">Discovery and reproducibility:</span> Your community will have a single entry
point where all research products, of any type (literature, datasets, software, workflows, protocols),
are gathered together and linked with semantic relationships. Researchers can find a research product
in the gateway (e.g. a research dataset) and easily find out everything related to it and that is
needed to re-use it, but also to replicate and reproduce a research activity (e.g. software used to
process the dataset, the journal article where the research is described).
</div>
<div class="uk-width-1-1 uk-grid-margin uk-first-column"><span class="uk-text-bold">Sharing:</span>
scientific literature is only the tip of the iceberg. With a Community Gateway, you say to the members
of your community that everything they produce is relevant and that they should get credit for it.
</div>
<div class="uk-width-1-1 uk-grid-margin uk-first-column"><span
class="uk-text-bold">Credit for all:</span> Making research data, software, methods and scientific
workflows available &ldquo;as soon as possible&rdquo; is one of the &ldquo;mantra&rdquo; of Open
Science. If your community has integrated Zenodo into a digital experiment platform, researchers no
longer bear the burden of manually publishing their research products, while it is also easier for
them to publish different versions, which reflect different stages of their activities.
</div>
<div class="uk-width-1-1 uk-grid-margin uk-first-column"><span class="uk-text-bold">Awareness:</span>
Thanks to dedicated pages of the Community Gateway you can suggest best practices to the researchers
of the community. Open Science experts of OpenAIRE will be available to assist you.
</div>
<div class="uk-width-1-1 uk-grid-margin uk-first-column"><span class="uk-text-bold">Awareness:</span>
Thanks to dedicated pages of the Community Gateway you can suggest best practices to the researchers
of the community. Open Science experts of OpenAIRE will be available to assist you.
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">How is the service part of the European Open Science Cloud?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>OpenAIRE has onboarded in the EOSC Market Place both the RCD, as a service that offers on-demand
Community Gateways, and the Gateways as services openly accessible by researchers to explore specific
domains of interest.
</p>
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">How is the service part of the European Open Science Cloud?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>OpenAIRE has onboarded in the EOSC Market Place both the RCD, as a service that offers on-demand
Community Gateways, and the Gateways as services openly accessible by researchers to explore specific
domains of interest.
</p>
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">Who owns the gateway?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>The community owns the portal, OpenAIRE operates it.</p>
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">How is the gateway operated?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>The gateway is hosted on a virtual machine operated by OpenAIRE and hosted at the <a
href="https://icm.edu.pl/en/centre-of-technology/" target="_blank">ICM data centre</a>. The Gateway
is built with Angular and uses RESTful APIs, built with Java and the Spring Framework, to access the
OpenAIRE Research Graph. OpenAIRE is responsible to keep the back-end and front-end services
up-to-date and monitors the uptime and usage of the gateway, via the matomo web analytics platform.
Aggregated usage data is used by the OpenAIRE team for reporting purposes and does not include any
personal data.
</p>
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">What is the SLA of the service?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>The RCD and the gateways are subject to the generic <a class="uk-link"
href="https://www.openaire.eu/service-level-agreement"
target="_blank">OpenAIRE services SLA</a>.
</p>
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">What are the costs?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<div>Researchers of the community shall not pay to access the Community Gateway.</div>
<div>For the deployment and maintenance of a gateway, OpenAIRE may need support to cover part of the
costs (hardware, hardware management, application administration, software maintenance, and text
mining).
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">Who owns the gateway?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>The community owns the portal, OpenAIRE operates it.</p>
<div>Please <a routerLink="/contact-us">contact us</a> to learn more about the service and the possible
options.
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">How is the gateway operated?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>The gateway is hosted on a virtual machine operated by OpenAIRE and hosted at the <a
href="https://icm.edu.pl/en/centre-of-technology/" target="_blank">ICM data centre</a>. The Gateway
is built with Angular and uses RESTful APIs, built with Java and the Spring Framework, to access the
OpenAIRE Research Graph. OpenAIRE is responsible to keep the back-end and front-end services
up-to-date and monitors the uptime and usage of the gateway, via the matomo web analytics platform.
Aggregated usage data is used by the OpenAIRE team for reporting purposes and does not include any
personal data.
</p>
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">In what other areas can my Research community collaborate with
OpenAIRE?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-grid uk-margin-medium-bottom" hidden="" uk-grid="">
<div class="uk-width-1-1">
<div style="font-style: italic">Open Science training</div>
Help us training on Open Science students and researchers of your community by organising a workshop.
<a class="uk-link" href="https://www.openaire.eu/workshops-page" target="_blank">Check for ideas and
materials</a>.
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">What is the SLA of the service?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<p>The RCD and the gateways are subject to the generic <a class="uk-link"
href="https://www.openaire.eu/service-level-agreement"
target="_blank">OpenAIRE services SLA</a>.
</p>
<div class="uk-width-1-1">
<div style="font-style: italic">Train the trainer</div>
Join the <a class="uk-link" href="https://www.openaire.eu/cop-training" target="_blank">OpenAIRE
Community of Practice</a>, an informal network to share training experience on Open Science, research
and e-infrastructures.
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">What are the costs?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-margin-medium-bottom" hidden="">
<div>Researchers of the community shall not pay to access the Community Gateway.</div>
<div>For the deployment and maintenance of a gateway, OpenAIRE may need support to cover part of the
costs (hardware, hardware management, application administration, software maintenance, and text
mining).
</div>
<div>Please <a routerLink="/contact-us">contact us</a> to learn more about the service and the possible
options.
</div>
<div class="uk-width-1-1">
<div style="font-style: italic">Citizen Science</div>
Do you collaborate with schools? Learn more about the
<a class="uk-link" href="https://www.openaire.eu/citizen-science-activities-in-openaire"
target="_blank">
OpenAIRE activities for Citizen Science
</a>.
</div>
</li>
<li>
<a class="uk-accordion-title" href="#">In what other areas can my Research community collaborate with
OpenAIRE?</a>
<div aria-hidden="true" class="uk-accordion-content text-small uk-grid uk-margin-medium-bottom" hidden="" uk-grid="">
<div class="uk-width-1-1">
<div style="font-style: italic">Open Science training</div>
Help us training on Open Science students and researchers of your community by organising a workshop.
<a class="uk-link" href="https://www.openaire.eu/workshops-page" target="_blank">Check for ideas and
materials</a>.
</div>
<div class="uk-width-1-1">
<div style="font-style: italic">Train the trainer</div>
Join the <a class="uk-link" href="https://www.openaire.eu/cop-training" target="_blank">OpenAIRE
Community of Practice</a>, an informal network to share training experience on Open Science, research
and e-infrastructures.
</div>
<div class="uk-width-1-1">
<div style="font-style: italic">Citizen Science</div>
Do you collaborate with schools? Learn more about the
<a class="uk-link" href="https://www.openaire.eu/citizen-science-activities-in-openaire"
target="_blank">
OpenAIRE activities for Citizen Science
</a>.
</div>
<div class="uk-width-1-1">
<div style="font-style: italic">Open Innovation Programme</div>
Spread the word about the OpenAIRE
<a class="uk-link" href="https://www.openaire.eu/open-innovation-in-openaire" target="_blank">Open
Innovation programme</a>
for SMEs, start-ups and research labs. The programme&rsquo;s goal is to discover, support and fund
innovative
ideas and implementations of software in the Open Science domain.
</div>
<div class="uk-width-1-1">
<div style="font-style: italic">Open Innovation Programme</div>
Spread the word about the OpenAIRE
<a class="uk-link" href="https://www.openaire.eu/open-innovation-in-openaire" target="_blank">Open
Innovation programme</a>
for SMEs, start-ups and research labs. The programme&rsquo;s goal is to discover, support and fund
innovative
ideas and implementations of software in the Open Science domain.
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>

View File

@ -0,0 +1,6 @@
.pattern-background {
background-image: url("~src/assets/connect-assets/about/pattern.svg");
background-size: auto;
background-repeat: no-repeat;
background-position: left 90%;
}

View File

@ -14,11 +14,11 @@ import {properties} from "../../environments/environment";
template: `
<schema2jsonld *ngIf="url" [URL]="url" [name]="pageTitle" type="other"></schema2jsonld>
<div class="uk-container uk-container-large uk-section uk-section-small uk-padding-remove-bottom">
<div class="uk-padding-small">
<div class="uk-padding-small uk-padding-remove-horizontal">
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
</div>
<div class="uk-section uk-padding-remove-top">
<div class="uk-section uk-padding-remove-top pattern-background">
<div class="uk-container uk-container-large uk-margin-top uk-margin-large-bottom">
<div class="uk-grid uk-grid-large" uk-grid>
<div class="uk-width-1-3@m uk-width-1-1">
@ -173,7 +173,7 @@ import {properties} from "../../environments/environment";
<div class="uk-margin-large-bottom uk-width-2-5@m">
<h2 class="uk-h1">Find the best for your community<span class="uk-text-primary">.</span></h2>
</div>
<div class="uk-grid uk-grid-large uk-child-width-1-3 uk-text-large" uk-grid>
<div class="uk-grid uk-grid-large uk-child-width-1-3" uk-grid>
<div class="left" uk-scrollspy="target: .left-text; cls: uk-animation-fade; delay: 600;">
<div class="left-text uk-margin-medium-bottom uk-padding uk-margin-medium-left uk-padding-remove-right">
<h6 class="uk-margin-small-bottom">Profile</h6>
@ -212,7 +212,8 @@ import {properties} from "../../environments/environment";
<h2 class="uk-h2 uk-margin-medium-top uk-width-3-5@m">We look forward to working together and helping you unlock the full potential of your research community through open science<span class="uk-text-primary">.</span></h2>
<a class="uk-button uk-button-primary uk-text-uppercase uk-margin-medium-top uk-margin-medium-bottom" routerLink="/contact-us">Contact us</a>
</div>
`
`,
styleUrls: ['learn-how.component.css']
})
export class LearnHowComponent implements OnInit {
public pageContents = null;

View File

@ -1,16 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {LearnInDepthComponent} from "./learn-in-depth.component";
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: LearnInDepthComponent, canActivate: [IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class LearnInDepthRoutingModule { }

View File

@ -1,257 +0,0 @@
import {Component, OnInit} from '@angular/core';
import {Breadcrumb} from "../../openaireLibrary/utils/breadcrumbs/breadcrumbs.component";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {ActivatedRoute, Router} from "@angular/router";
import {Meta, Title} from "@angular/platform-browser";
import {SEOService} from "../../openaireLibrary/sharedComponents/SEO/SEO.service";
import {PiwikService} from "../../openaireLibrary/utils/piwik/piwik.service";
import {HelperService} from "../../openaireLibrary/utils/helper/helper.service";
import {Subscriber} from "rxjs";
import {properties} from "../../../environments/environment";
@Component({
selector: 'learn-in-depth',
template: `
<div class="image-front-topbar" style="background-color: #E2EEFA;">
<div class="uk-section uk-padding-remove-bottom uk-container uk-container-large">
<div class="uk-padding-small">
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
</div>
</div>
<div class="uk-section uk-padding-remove-top"
style="background: transparent linear-gradient(0deg, #FAFAFA 0%, #E2EEFA 100%);">
<div class="uk-container uk-container-large uk-margin-top">
<div class="uk-padding-small">
<div class="uk-grid" uk-grid>
<div class="uk-width-3-4@m uk-width-1-1@s uk-first-column">
<h1 class="uk-width-3-4 uk-margin-medium-bottom"><span class="uk-text-light">Let&rsquo;s set up a Gateway for your Community </span><span class="portal-color">Together.</span>
</h1>
<div class="uk-width-4-5@m uk-width-1-1@s uk-text-large">
<div class="uk-margin-bottom">You don&rsquo;t have to go alone.</div>
<div>We work with you in <span class="portal-color uk-text-bold">4 collaborative steps</span> to identify your needs, putting in
practice our expertise on open science so you get the most out of OpenAIRE&rsquo;s operational
services.
</div>
</div>
</div>
<div class="uk-margin-large-top uk-width-expand">
<img src="assets/connect-assets/banner/together.svg"
style="height:285px; width:308px"/>
</div>
</div>
</div>
</div>
</div>
<div class="uk-container uk-container-large uk-section">
<div class="uk-padding-small">
<div class="uk-grid" uk-grid="">
<div class="uk-width-1-6 uk-position-relative uk-flex uk-flex-column uk-first-column">
<img class="uk-align-center" src="assets/connect-assets/about/1.svg" style="width:100px"/>
<img class="uk-align-center" src="assets/connect-assets/sketch_line_arrow.svg"/>
</div>
<div class="uk-width-expand">
<h4 class="">1. Analyse your needs</h4>
<div class="uk-margin-medium-bottom" style="font-style: italic;">"Identify the scope and goals. Understand open science practices within EOSC
and the OpenAIRE services."
</div>
<p>In this stage, you get to talk to the OpenAIRE team. Share your expectations with us and let us give you
all the details about the operational OpenAIRE services, which will be integrated into the Gateway for
your community.</p>
<p>Here are the most important questions that the OpenAIRE team will ask you, in order to understand your
scope and goals:</p>
<ul class="uk-list uk-list-bullet">
<li>Do you want a gateway, where researchers can have access to all research products of a discipline? Do
you want a gateway that gathers any research outcome, produced thanks to the funding and services of a
given research infrastructure?
</li>
<li>Is your community (in)formally organized in sub-communities? Would you like to browse research
products and get statistics also for these sub-communities? For example, the European Grid
Infrastructure (EGI) features &ldquo;virtual organizations&rdquo; that represent discipline-specific
communities and/or specific research projects. The research infrastructure DARIAH, on the other hand, is
organised in national nodes (e.g. DARIAH-IT, DARIAH-DE).
</li>
<li>How can the OpenAIRE team identify the research products of your community, among all those available
in the OpenAIRE Graph? Through a series of steps: set of keywords, acknowledgment statements, set of
projects, set of repositories, etc. This can be partial and provisional information that will serve as a
starting point to the OpenAIRE team. You will be able to refine and update this information, in the
second phase &ldquo;Develop a pilot&rdquo;.
</li>
</ul>
</div>
</div>
<div class="uk-grid" uk-grid="" uk-height-match="">
<div class="uk-width-1-6 uk-position-relative uk-flex uk-flex-column uk-first-column">
<img class="uk-align-center" src="assets/connect-assets/about/2.svg" style="width:100px"/>
<img class="uk-align-center" src="assets/connect-assets/sketch_line_arrow.svg"/>
</div>
<div class="uk-width-expand">
<h4 class="">2. Develop a pilot</h4>
<div class="uk-margin-medium-bottom" style="font-style: italic;">"We translate your needs into rules and processes and we configure
operational OpenAIRE services."
</div>
<p>Based on the information gathered in phase 1 &ldquo;Analyse your needs&rdquo;, the OpenAIRE team will set
up a pilot Gateway. We will configure the OpenAIRE mining algorithms to identify research products of the
OpenAIRE Graph that are relevant to your community. Those, together with some basic statistics, will be
available in the pilot version of the Community Gateway that will be deployed on the OpenAIRE BETA
infrastructure.</p>
<p>The OpenAIRE team will give you a demo of the Community Gateway, with details on how to refine and update
the configuration of the Community Gateway, both in terms of criteria for including research products and
in terms of logo and visible portal pages.</p>
</div>
</div>
<div class="uk-grid" uk-grid="" uk-height-match="">
<div class="uk-width-1-6 uk-position-relative uk-flex uk-flex-column uk-first-column">
<img class="uk-align-center" src="assets/connect-assets/about/3.svg" style="width:100px"/>
<img class="uk-align-center" src="assets/connect-assets/sketch_line_arrow_large.svg"/>
</div>
<div class="uk-width-expand">
<h4 class="">3. Test and Validate</h4>
<div class="uk-margin-medium-bottom" style="font-style: italic;">"You validate and test your new Community Gateway (portal). If needed, we
further refine and adapt to your needs."
</div>
<p>Upon the completion of phase 2, take the time you need to test all its features, from search and browse
for research products, to addition/removal of statistics from the portal. You can report any issue you
might find and ask questions directly to the dedicated OpenAIRE team, via a specially designed
collaboration tool.</p>
<p>Typically, this phase takes some months, as you will have to go through certain procedures. Change the
configuration of the criteria to include research products, wait for the new configuration to be applied
on the OpenAIRE graph and validate the results, before you actually decide that the coverage of research
products for your community is adequate.</p>
<p>For some communities, the OpenAIRE team may also be able to implement dedicated mining algorithms (e.g.
to find acknowledgement statements to your community/infrastructure in the full-texts of research
articles) that may require several rounds of application, validation, and fine-tuning, before it reaches a
high precision and recall. Your feedback is very important to minimize the effort and time needed for this
process to complete.</p>
<div class="uk-width-1-1 uk-text-center uk-margin-medium ">
<img src="assets/connect-assets/OpenAIRE-RCD_howtos.png" style="height:auto; width:auto"/>
</div>
</div>
</div>
<div class="uk-grid" uk-grid="" uk-height-match="">
<div class="uk-width-1-6 uk-position-relative uk-first-column">
<img class="uk-align-center" src="assets/connect-assets/about/4.svg" style="width:100px"/>
</div>
<div class="uk-width-expand">
<h4 class="">4. Roll out the service</h4>
<div class="uk-margin-medium-bottom" style="font-style: italic;">"We jointly roll out your new portal. You take over the business operations
and start engaging your researchers."
</div>
<p>Here we are: the coverage of research products is good, interesting statistics and charts have been
selected, and the portal pages available for end-users are ready. We can roll out the Community Gateway
and make it available to all the researchers of the community!</p>
<p>You, as a Community manager, become the main &ldquo;promoter&rdquo; of the Community Gateway. Engage the
researchers of your community and, when applicable, inform the managers of the research infrastructure
about the availability of tools for impact monitoring.</p>
<p>Remember that you will still be able to change the configuration of the Community Gateway in order to
address any issue that may arise and to follow the evolution of the community (e.g. a new project or a new
content provider that was not previously available in OpenAIRE).</p>
<p>Remember that you don&rsquo;t have to go alone: the dedicated issue tracker you used in the &ldquo;Test
and Validate&rdquo; phase is always available for you to contact the OpenAIRE team and ask for
support.</p>
</div>
</div>
</div>
</div>
<div class="uk-section contactUsBackground" style="background-color: #D9D8E8;">
<div class="uk-container uk-text-center">
<!-- <div class="uk-padding-small">-->
<!-- <div class="uk-flex uk-flex-middle uk-padding uk-grid" uk-grid="">-->
<!-- <div class="uk-text-center uk-width-1-1@s uk-width-1-3@m uk-first-column">-->
<!-- <img src="assets/connect-assets/contact/2.png" style="width:329px"/>-->
<!-- </div>-->
<!-- <div class="uk-width-expand">-->
<h3>Let us Help you develop a Collaborative Science
<br/>
Gateway.
<!-- <br/>-->
It is fast. It is reliable.</h3>
<div class="uk-margin-medium">Get in touch with our team to find out how.</div>
<div class="uk-inline"><a class="uk-button portal-button" routerLink="/contact-us">CONTACT US</a></div>
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
</div>
`
})
export class LearnInDepthComponent implements OnInit {
public pageTitle: string = "OpenAIRE - Connect | Learn In Depth";
public pageDescription: string = "Work in 4 collaborative steps to identify your needs, putting in practice our expertise on open science so you get the most out of OpenAIREs operational services.";
public breadcrumbs: Breadcrumb[] = [
{name: 'home', route: '/'},
{name: 'about', route: '/about'},
{name: 'learn in-depth'}
];
subscriptions = [];
public pageContents = null;
public divContents = null;
public url: string = null;
properties: EnvProperties;
constructor(
private route: ActivatedRoute,
private _router: Router,
private _meta: Meta,
private _title: Title,
private seoService: SEOService,
private _piwikService: PiwikService,
private helper: HelperService) {
}
public ngOnInit() {
this.properties = properties;
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe());
}
this.url = this.properties.baseLink + this._router.url;
this.seoService.createLinkForCanonicalURL(this.url);
this.updateUrl(this.url);
this.updateTitle(this.pageTitle);
this.updateDescription(this.pageDescription);
//this.getDivContents();
this.getPageContents();
}
private getPageContents() {
this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => {
this.pageContents = contents;
}));
}
private getDivContents() {
this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => {
this.divContents = contents;
}));
}
ngOnDestroy() {
this.subscriptions.forEach(subscription => {
if (subscription instanceof Subscriber) {
subscription.unsubscribe();
}
});
}
private updateDescription(description: string) {
this._meta.updateTag({content: description}, "name='description'");
this._meta.updateTag({content: description}, "property='og:description'");
}
private updateTitle(title: string) {
var _title = ((title.length > 50) ? title.substring(0, 50) : title);
this._title.setTitle(_title);
this._meta.updateTag({content: _title}, "property='og:title'");
}
private updateUrl(url: string) {
this._meta.updateTag({content: url}, "property='og:url'");
}
}

View File

@ -1,32 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {RouterModule} from '@angular/router';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {PiwikService} from '../../openaireLibrary/utils/piwik/piwik.service';
import {LearnInDepthComponent} from "./learn-in-depth.component";
import {LearnInDepthRoutingModule} from "./learn-in-depth-routing.module";
import {HelperModule} from "../../openaireLibrary/utils/helper/helper.module";
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
import {Schema2jsonldModule} from "../../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module";
import {SEOServiceModule} from "../../openaireLibrary/sharedComponents/SEO/SEOService.module";
import {BreadcrumbsModule} from "../../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
import {HtmlPagesModule} from "../../htmlPages/htmlPages.module";
@NgModule({
imports: [
CommonModule, RouterModule, LearnInDepthRoutingModule, HelperModule,
Schema2jsonldModule, SEOServiceModule, BreadcrumbsModule, HtmlPagesModule
],
declarations: [
LearnInDepthComponent
],
exports: [
LearnInDepthComponent
],
providers:[
PreviousRouteRecorder, PiwikService, IsRouteEnabled
]
})
export class LearnInDepthModule { }

View File

@ -5,7 +5,7 @@
</schema2jsonld>
<div>
<div class="uk-section uk-container uk-container-large">
<div class="uk-padding-small">
<div class="uk-padding-small uk-padding-remove-horizontal">
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
<div class="uk-margin-large-top uk-margin-large-bottom">
<div *ngIf="loading" class="uk-height-large">

@ -1 +1 @@
Subproject commit 5859789119322e48814a3a90c38265e31523be8e
Subproject commit bc5f5860f955c47eb4205e7dc6f2d2450d5edaf6

View File

@ -12,7 +12,10 @@ import {CommunityInfo} from "../../openaireLibrary/connect/community/communityIn
import {StringUtils} from "../../openaireLibrary/utils/string-utils.class";
import {UserManagementService} from "../../openaireLibrary/services/user-management.service";
import {Breadcrumb} from "../../openaireLibrary/utils/breadcrumbs/breadcrumbs.component";
import {NewSearchPageComponent} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
import {
NewSearchPageComponent,
SearchForm
} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
import {properties} from "../../../environments/environment";
import {Subscriber} from "rxjs";
@ -28,6 +31,7 @@ import {Subscriber} from "rxjs";
[disableForms]="disableForms"
[showIndexInfo]=false
[simpleView]="true"
[searchForm]="searchForm"
[fieldIds]="fieldIds" [fieldIdsMap]="fieldIdsMap" [selectedFields]="selectedFields"
[simpleSearchLink]="searchLink" [entitiesSelection]="false" [showBreadcrumb]="true" [breadcrumbs]="breadcrumbs"
[basicMetaDescription]="['Research communities', 'Discover OpenAIRE research gateways for research communities.']">
@ -49,6 +53,7 @@ export class SearchCommunitiesComponent {
public baseUrl: string = null;
public fieldIds: string[] = ["q"];
public refineFields: string[] = this.searchFields.COMMUNITIES_SEARCH_FIELDS;
public searchForm: SearchForm = {dark: false, class: 'search-form'};
public fieldIdsMap = {
["q"]: {
name: "All fields",

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 180 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 154 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 200 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 737 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -6,12 +6,19 @@ Custom connect css
/*buttons*/
--button-primary-background: var(--connect-color);
--button-primary-background-image: none;
--button-secondary-background: var(--secondary-color);
--button-secondary-background-image: none;
--button-primary-color: var(--text-default-color);
--button-secondary-background: var(--light-color);
--button-secondary-background-image: none;
--button-secondary-border-color: var(--grey-color);
--button-secondary-color: var(--grey-color);
--button-secondary-background-hover: var(--secondary-color);
--button-secondary-border-color-hover: var(--secondary-color);
--button-secondary-background-image-hover: none;
--button-secondary-color-hover: var(--light-color);
/*backgrounds*/
--background-primary: var(--connect-color);
--background-primary-rgb: var(--connect-color-rgb);
--background-primary-image:none;
--background-secondary: var(--grey-color);
--background-secondary-image:none;
@ -21,6 +28,11 @@ Custom connect css
--text-secondary-color: var(--primary-color);
}
.connectApp .search-form {
background-color: rgba(var(--secondary-color-rgb), 0.2);
background-image: none;
}
/*.whiteBackground {
background-color: #fff;
}*/

@ -1 +1 @@
Subproject commit 46e2d2d0ce2ea045c627fa676e555dade9247620
Subproject commit e032e8ce0a597da6e447451e53ed7e6bdfed2323