[Trunk | Graph]:

1. app.component.ts: Update menu to include page fragments.
2. resources.component.html & resources.component.ts: Add page fragment (schema).
3. contact.component.html & contact.component.ts: Add page fragments (documentation, faq) | Add breadcrumb.
4. about.component.html & about.component.ts & about.module.ts: Add page fragments (architecture, metrics, infrastructure, team) | Add breadcrumb.


git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-graph-portal/trunk@59534 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
Konstantina Galouni 2020-10-09 09:35:22 +00:00
parent 02ecf896ba
commit 1dc0040f1f
8 changed files with 726 additions and 647 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,7 @@ import {AfterViewChecked, Component, ElementRef, OnInit, ViewChild} from '@angul
import {faqs} from './faqs';
import {ActivatedRoute} from '@angular/router';
import {Title} from '@angular/platform-browser';
import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component";
declare var UIkit: any;
@ -19,17 +20,27 @@ export class AboutComponent implements OnInit {
public enrichmentPropagationReadMore: boolean = false;
public enrichmentMiningReadMore: boolean = false;
public breadcrumbs: Breadcrumb[] = [
{
name: 'home',
route: '/'
},
{
name: 'about'
}
];
constructor(private title: Title,
private route: ActivatedRoute) {
}
ngOnInit() {
this.title.setTitle('OpenAIRE - Research Graph | About');
// this.route.fragment.subscribe(fragment => {
// setTimeout(() => {
// this.goTo(fragment);
// }, 100);
// });
this.route.fragment.subscribe(fragment => {
setTimeout(() => {
this.goTo(fragment);
}, 100);
});
}
goTo(id: string) {

View File

@ -3,13 +3,15 @@ import {CommonModule} from "@angular/common";
import {RouterModule} from "@angular/router";
import {AboutComponent} from "./about.component";
import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
@NgModule({
imports: [
CommonModule,
RouterModule.forChild([{
path: '', component: AboutComponent
}])
}]),
BreadcrumbsModule
],
declarations: [AboutComponent],
exports: [AboutComponent]

View File

@ -38,22 +38,28 @@ export class AppComponent implements OnInit {
{
rootItem: new MenuItem("about", "About", "", "/about", false, [], null, {}),
items: [
// new MenuItem("architecture", "Architecture", "", "/about", false, [], null, {}, null, 'architecture'),
/*
new MenuItem("faqs", "FAQs", "", "/about", false, [], null, {}, null, 'faqs')
*/
new MenuItem("overview", "Overview", "", "/about", false, [], null, {}),
new MenuItem("architecture", "Architecture", "", "/about", false, [], null, {}, null, 'architecture'),
new MenuItem("metrics", "Data and Metrics", "", "/about", false, [], null, {}, null, 'metrics'),
new MenuItem("infrastructure", "Infrastructure", "", "/about", false, [], null, {}, null, 'infrastructure'),
new MenuItem("team", "Team", "", "/about", false, [], null, {}, null, 'team')
]
},
{
rootItem: new MenuItem("resources", "Resources", "", "/resources", false, [], null, {}),
items: [
// new MenuItem("provide", "OpenAIRE Provide", "", "/resources", false, [], null, {}),
// new MenuItem("apis", "APIs and Reports", "", "/resources", false, [], null, {}, null, 'apis')
new MenuItem("api", "API", "", "/resources", false, [], null, {}),
new MenuItem("schema", "Metadata Schema", "", "/resources", false, [], null, {}, null, "schema"),
// new MenuItem("sources", "Sources", "", "/resources", false, [], null, {}, null, "sources"),
]
},
{
rootItem: new MenuItem("contact", "Support", "", "/support", false, [], null, {}),
items: []
items: [
new MenuItem("contact", "Contact", "", "/support", false, [], null, {}),
new MenuItem("documentation", "Documentation", "", "/support", false, [], null, {}, null, "documentation"),
new MenuItem("faq", "FAQs", "", "/support", false, [], null, {}, null, "faq"),
]
}
];
if(!isHome) {

View File

@ -1,116 +1,129 @@
<div class="uk-section uk-section-small uk-container uk-container-large contact">
<div class="uk-container uk-align-center">
<h2 class="uk-text-center">Support</h2>
<div class="uk-grid uk-flex uk-flex-center" uk-grid>
<div class="uk-width-2-3">
<h3 class="uk-margin-top">Do you have a question? <span class="portal-color">Contact us</span>.</h3>
<!--<div class="uk-section uk-section-small uk-container uk-container-large contact">-->
<div class="contact">
<!-- <div class="uk-align-center">-->
<div class="uk-section">
<div class="uk-margin-large-left uk-margin-medium-bottom">
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
<div *ngIf="showLoading" class="uk-margin-large">
<div class="uk-animation-fade uk-margin-top uk-width-1-1" role="alert"><span
class="loading-gif uk-align-center"></span></div>
</div>
<div *ngIf="!showLoading">
<contact-us [properties]="properties" [errorMessage]="errorMessage"
[right]="false"
[contactForm]="contactForm" (sendEmitter)="send($event)"></contact-us>
</div>
</div>
<div class="uk-container">
<h2 class="uk-text-center">Support</h2>
<div class="uk-grid uk-flex uk-flex-center" uk-grid>
<div class="uk-width-2-3">
<h3 class="uk-margin-top">Do you have a question? <span class="portal-color">Contact us</span>.</h3>
<div class="uk-width-1-1 uk-margin-xlarge-top">
<div class="uk-child-width-1-3@m uk-child-width-1-1@s uk-grid-large uk-grid-match uk-grid" uk-grid="" uk-height-match=".target">
<div class="uk-first-column">
<div class="uk-card uk-card-default uk-card-body link-card">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center uk-margin-small-top">
<div class="target" style="min-height: 110px;"><img src="assets/graph-assets/contact/documentation.svg" style="height:80px; width:94px"></div>
</div>
<div class="uk-margin-top">
<div class="target uk-text-center">
<a class="uk-link uk-button uk-text-capitalize uk-text-small"
href="https://develop.openaire.eu" target="_blank">
Documentation
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#2D72D6" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
</span>
</a>
</div>
</div>
</div>
<div *ngIf="showLoading" class="uk-margin-large">
<div class="uk-animation-fade uk-margin-top uk-width-1-1" role="alert"><span
class="loading-gif uk-align-center"></span></div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body link-card">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center uk-margin-small-top">
<div class="target"><img src="assets/graph-assets/contact/webinars.svg" style="height:110px; width:101px"></div>
</div>
<div class="uk-margin-top">
<div class="target uk-text-center" style="">
<a class="uk-link uk-button uk-text-capitalize uk-text-small"
href="https://www.openaire.eu/item/webinar-on-the-openaire-research-graph?highlight=WyJncmFwaCIsIndlYmluYXIiLCJ3ZWJpbmFyJyJd"
target="_blank">
Webinars
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#2D72D6" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
</span>
</a>
</div>
</div>
</div>
<div *ngIf="!showLoading">
<contact-us [properties]="properties" [errorMessage]="errorMessage"
[right]="false"
[contactForm]="contactForm" (sendEmitter)="send($event)"></contact-us>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body link-card">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center uk-margin-small-top">
<div class="target" style="min-height: 110px;"><img src="assets/graph-assets/contact/howto.svg" style="height:100px; width:107px"></div>
</div>
<div class="uk-margin-top">
<div class="target uk-text-center" style="">
<a class="uk-link uk-button uk-text-capitalize uk-text-small"
href="https://subugoe.github.io/scholcomm_analytics/posts/oaire_graph_2020/"
target="_blank">
How to
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#2D72D6" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
</span>
</a>
<!-- <h5 class="uk-text-bold">How to</h5>-->
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-width-5-6 uk-margin-xlarge-top uk-margin-xlarge-bottom">
<h3 class="uk-text-center uk-margin-top portal-color">FAQs</h3>
<div class="uk-container">
<ul class="uk-accordion" uk-accordion="">
<li *ngFor="let faq of faqs" class="uk-card uk-card-default uk-card-body faq-card uk-margin-small uk-padding-small">
<a class="uk-accordion-title color" href="#">
<h5 class="uk-margin-remove-bottom">{{faq.question}}</h5>
</a>
<div class="uk-accordion-content color" aria-hidden="true" hidden="">
<p>{{faq.answer}}</p>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id="documentation" class="uk-container uk-section">
<div class="uk-width-1-1">
<div class="uk-child-width-1-3@m uk-child-width-1-1@s uk-grid-large uk-grid-match uk-grid" uk-grid="" uk-height-match=".target">
<div class="uk-first-column">
<div class="uk-card uk-card-default uk-card-body link-card">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center uk-margin-small-top">
<div class="target" style="min-height: 110px;"><img src="assets/graph-assets/contact/documentation.svg" style="height:80px; width:94px"></div>
</div>
<div class="uk-margin-top">
<div class="target uk-text-center">
<a class="uk-link uk-button uk-text-capitalize uk-text-small"
href="https://develop.openaire.eu" target="_blank">
Documentation
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#2D72D6" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
</span>
</a>
</div>
</div>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body link-card">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center uk-margin-small-top">
<div class="target"><img src="assets/graph-assets/contact/webinars.svg" style="height:110px; width:101px"></div>
</div>
<div class="uk-margin-top">
<div class="target uk-text-center" style="">
<a class="uk-link uk-button uk-text-capitalize uk-text-small"
href="https://www.openaire.eu/item/webinar-on-the-openaire-research-graph?highlight=WyJncmFwaCIsIndlYmluYXIiLCJ3ZWJpbmFyJyJd"
target="_blank">
Webinars
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#2D72D6" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
</span>
</a>
</div>
</div>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-card-body link-card">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center uk-margin-small-top">
<div class="target" style="min-height: 110px;"><img src="assets/graph-assets/contact/howto.svg" style="height:100px; width:107px"></div>
</div>
<div class="uk-margin-top">
<div class="target uk-text-center" style="">
<a class="uk-link uk-button uk-text-capitalize uk-text-small"
href="https://subugoe.github.io/scholcomm_analytics/posts/oaire_graph_2020/"
target="_blank">
How to
<span class="space">
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="M12.578,4.244,5.667,11.155V8.167A.833.833,0,1,0,4,8.167v5A.832.832,0,0,0,4.833,14h5a.833.833,0,0,0,0-1.667H6.845l6.911-6.911a.833.833,0,1,0-1.178-1.178h0Z"
fill="#2D72D6" id="arrow-down-left2" transform="translate(7.071 19.799) rotate(-135)">
</path>
</svg>
</span>
</a>
<!-- <h5 class="uk-text-bold">How to</h5>-->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="faq" class="uk-container uk-section uk-flex uk-flex-center">
<div class="uk-width-5-6 uk-margin-xlarge-bottom">
<h3 class="uk-text-center uk-margin-top portal-color">FAQs</h3>
<div>
<ul class="uk-accordion" uk-accordion="">
<li *ngFor="let faq of faqs" class="uk-card uk-card-default uk-card-body faq-card uk-margin-small uk-padding-small">
<a class="uk-accordion-title color" href="#">
<h5 class="uk-margin-remove-bottom">{{faq.question}}</h5>
</a>
<div class="uk-accordion-content color" aria-hidden="true" hidden="">
<p>{{faq.answer}}</p>
</div>
</li>
</ul>
</div>
</div>
</div>
<!-- </div>-->
</div>
<modal-alert #AlertModal (alertOutput)="goToHome()">
<div class="uk-text-center">

View File

@ -1,5 +1,5 @@
import {Component, OnInit, ViewChild} from '@angular/core';
import {Router} from '@angular/router';
import {ActivatedRoute, Router} from '@angular/router';
import {EmailService} from '../openaireLibrary/utils/email/email.service';
import {Email} from '../openaireLibrary/utils/email/email';
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
@ -9,6 +9,7 @@ import {HelperFunctions} from '../openaireLibrary/utils/HelperFunctions.class';
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
import {properties} from '../../environments/environment';
import {FAQ} from "../openaireLibrary/utils/entities/FAQ";
import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component";
@Component({
selector: 'contact',
@ -26,8 +27,19 @@ export class ContactComponent implements OnInit {
public contactForm: FormGroup;
@ViewChild('AlertModal') modal;
@ViewChild('recaptcha') recaptcha;
public breadcrumbs: Breadcrumb[] = [
{
name: 'home',
route: '/'
},
{
name: 'support'
}
];
constructor(private router: Router,
private route: ActivatedRoute,
private emailService: EmailService,
private title: Title,
private fb: FormBuilder) {
@ -36,6 +48,11 @@ export class ContactComponent implements OnInit {
ngOnInit() {
this.title.setTitle('OpenAIRE - Research Graph | Contact Us');
this.route.fragment.subscribe(fragment => {
setTimeout(() => {
this.goTo(fragment);
}, 100);
});
this.email = {body: '', subject: '', recipients: []};
this.reset();
this.showLoading = false;
@ -122,4 +139,13 @@ export class ContactComponent implements OnInit {
"For each field you can know if they have been collected from one of our sources, if it has been inferred (and with which algorithm and with which confidence level)"
});
}
goTo(id: string) {
const yOffset = -100;
const element = document.getElementById(id);
if(element) {
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
window.scrollTo({top: y, behavior: 'smooth'});
}
}
}

View File

@ -52,7 +52,7 @@
</div>
</div>
</div>
<div class="uk-margin-large-bottom">
<div id="schema" class="uk-margin-large-bottom">
<div class="uk-section uk-container uk-container-large">
<h3 class="uk-text-center">Metadata Schema</h3>
<div class="uk-margin-large-top uk-grid uk-grid-large uk-child-width-1-2@m">

View File

@ -1,6 +1,7 @@
import {Component, OnInit} from '@angular/core';
import {Title} from '@angular/platform-browser';
import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component";
import {ActivatedRoute} from "@angular/router";
@Component({
selector: 'resources',
@ -19,10 +20,24 @@ export class ResourcesComponent implements OnInit {
}
];
constructor(private title: Title) {
constructor(private title: Title, private route: ActivatedRoute) {
}
ngOnInit() {
this.title.setTitle('OpenAIRE - Research Graph | Resources');
this.route.fragment.subscribe(fragment => {
setTimeout(() => {
this.goTo(fragment);
}, 100);
});
}
goTo(id: string) {
const yOffset = -100;
const element = document.getElementById(id);
if(element) {
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
window.scrollTo({top: y, behavior: 'smooth'});
}
}
}