Delete learn-how. Add new about route with how-it-works and faqs (Add them also in menu). Change search-stakeholder background to muted.

This commit is contained in:
Konstantinos Triantafyllou 2022-10-24 16:38:21 +03:00
parent b2e8ceb04e
commit 601dccbedc
11 changed files with 38 additions and 283 deletions

View File

@ -2,12 +2,12 @@ import {CommonModule} from "@angular/common";
import {NgModule} from "@angular/core";
import {RouterModule} from "@angular/router";
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
import {isDevelopmentGuard} from "../openaireLibrary/error/isDevelopmentGuard.guard";
import {HowItWorksComponent} from "./how-it-works.component";
import {FaqsComponent} from "./faqs.component";
import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
import {SliderTabsModule} from "../openaireLibrary/sharedComponents/tabs/slider-tabs.module";
import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
@NgModule({
declarations: [HowItWorksComponent, FaqsComponent],
@ -15,22 +15,20 @@ import {SliderTabsModule} from "../openaireLibrary/sharedComponents/tabs/slider-
{
path: '',
redirectTo: 'how-it-works',
canDeactivate: [PreviousRouteRecorder]
canDeactivate: [PreviousRouteRecorder],
pathMatch: 'full'
},
{
path: 'how-it-works',
component: HowItWorksComponent,
canLoad: [isDevelopmentGuard]
data: {extraOffset: 50}
},
{
path: 'faq',
component: FaqsComponent,
canLoad: [isDevelopmentGuard]
path: 'faqs',
component: FaqsComponent
},
]), BreadcrumbsModule, SliderTabsModule],
]), BreadcrumbsModule, SliderTabsModule, HelperModule],
exports: [HowItWorksComponent, FaqsComponent],
providers: [PreviousRouteRecorder, PiwikService]
})
export class AboutModule {
}
export class AboutModule {}

View File

@ -35,17 +35,17 @@ import {properties} from "../../environments/environment";
<div class="uk-container uk-section uk-section-small uk-margin-large-bottom">
<div class="uk-width-1-1">
<div class="uk-sticky uk-blur-background uk-visible@m" uk-sticky [attr.offset]="offset">
<slider-tabs flexPosition="center" customClass="uk-text-large">
<slider-tabs flexPosition="center" customClass="uk-text-large" connect="#tabs-content">
<slider-tab *ngFor="let section of sections; let i = index" [tabTitle]="section" [tabId]="section"></slider-tab>
</slider-tabs>
</div>
<div class="uk-sticky uk-blur-background uk-hidden@m" uk-sticky>
<slider-tabs flexPosition="center" customClass="uk-text-large">
<slider-tabs flexPosition="center">
<slider-tab *ngFor="let section of sections; let i = index" [tabTitle]="section" [tabId]="section"></slider-tab>
</slider-tabs>
</div>
</div>
<ul class="uk-switcher">
<ul id="tabs-content" class="uk-switcher">
<li>
<!-- FUNDER -->
<div>
@ -315,4 +315,4 @@ export class HowItWorksComponent {
private updateUrl(url: string) {
this._meta.updateTag({content: url}, "property='og:url'");
}
}
}

View File

@ -8,7 +8,7 @@ const routes: Routes = [
{path: 'about/learn-how', redirectTo: 'about', pathMatch: 'full'},
{
path: 'about',
loadChildren: () => import('./learn-how/learn-how.module').then(m => m.LearnHowModule)
loadChildren: () => import('./about/about.module').then(m => m.AboutModule)
},
{
path: 'methodology',

View File

@ -155,9 +155,12 @@ export class AppComponent {
new MenuItem("stakeholders", "Browse " + this.stakeholderEntities.STAKEHOLDERS, "", "/browse", false, [], null, {})
);
this.resourcesService.setResources(this.menuItems);
this.menuItems.push(
new MenuItem("about", "About", "", "/about", false, [], null, {})
);
let about = new MenuItem("about", "About", "", "", false, [], null, {});
about.items = [
new MenuItem("how-it-works", "How it works", "", "/about/how-it-works", false, [], null, {}),
new MenuItem("faqs", "FAQs", "", "/about/faqs", false, [], null, {})
]
this.menuItems.push(about);
this.bottomMenuItems = [
new MenuItem("", "About", "https://beta.openaire.eu/project-factsheets", "", false, [], [], {}),
new MenuItem("", "News - Events", "https://beta.openaire.eu/news-events", "", false, [], [], {}),

View File

@ -1,15 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {LearnHowComponent} from "./learn-how.component";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: LearnHowComponent, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class LearnHowRoutingModule { }

View File

@ -1,108 +0,0 @@
<schema2jsonld *ngIf="url" [URL]="url" [name]="pageTitle" type="other" [description]="description"></schema2jsonld>
<div class="uk-background-norepeat about-background">
<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-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
<div class="uk-grid uk-grid-medium uk-padding-small" uk-grid>
<div class="uk-width-2-3@m uk-width-1-1@s uk-flex uk-flex-column uk-flex-center">
<h1 uk-scrollspy-class>Learn the process<span class="uk-text-primary">.</span></h1>
<div class="uk-text-large uk-width-1-2@m" uk-scrollspy-class>
Use the Monitor Dashboard to view your research results, open science.
</div>
</div>
<div class="uk-width-1-3@m uk-width-1-1@s uk-text-center">
<img src="../../assets/monitor-assets/about/steps.svg" loading="lazy">
</div>
</div>
<div class="uk-grid uk-grid-medium uk-child-width-1-3@l uk-child-width-1-2@m uk-child-width-1-1@s uk-padding-small" uk-scrollspy-class uk-grid>
<div>
<div class="uk-padding uk-padding-remove-left uk-padding-remove-bottom">
<div class="uk-icon-bg-shadow uk-margin-bottom">
<div class="uk-h5 uk-text-background uk-margin-remove">0</div>
</div>
<div class="uk-h6 uk-margin-remote-top uk-width-3-4@s">
Starting from the OpenAIRE RESEARCH GRAPH
</div>
<div>
<a href="https://graph.openaire.eu/" class="text-graph" target="_blank">OpenAIRE Research Graph</a> is a comprehensive research graph (meta research) that links all types of research products to funders, organizations, researchers, research communities and publishers. With information from global databases, disambiguated and interlinked using semantic AI technologies.
</div>
</div>
</div>
<div>
<div class="uk-padding uk-padding-remove-left uk-padding-remove-bottom">
<div class="uk-icon-bg-shadow uk-margin-bottom">
<div class="uk-h5 uk-text-background uk-margin-remove">1</div>
</div>
<div class="uk-h6 uk-margin-remote-top">
Provide us some information
</div>
<div>
You give us some simple (meta)data related to your organization function: e.g., funding database, repositories, related projects, registry of people… All under confidential agreements.
</div>
</div>
</div>
<div>
<div class="uk-padding uk-padding-remove-left uk-padding-remove-bottom">
<div class="uk-icon-bg-shadow uk-margin-bottom">
<div class="uk-h5 uk-text-background uk-margin-remove">2</div>
</div>
<div class="uk-h6 uk-margin-remote-top">
We get the ball rolling
</div>
<div>
We ingest your data in our system and start the work: we clean and normalize your data, we identify and extract related information, we infer links. We refine until we are happy of the results and present to you.
</div>
</div>
</div>
<div>
<div class="uk-padding uk-padding-remove-left uk-padding-remove-bottom">
<div class="uk-icon-bg-shadow uk-margin-bottom">
<div class="uk-h5 uk-text-background uk-margin-remove">3</div>
</div>
<div class="uk-h6 uk-margin-remote-top">
You validate
</div>
<div>
After the first iteration you examine our results to ensure you are satisfied with what you see. As numbers are important, we will work with you to understand any gaps and deviations. We correct, you check, you approve.
</div>
</div>
</div>
<div>
<div class="uk-padding uk-padding-remove-left uk-padding-remove-bottom">
<div class="uk-icon-bg-shadow uk-margin-bottom">
<div class="uk-h5 uk-text-background uk-margin-remove">4</div>
</div>
<div class="uk-h6 uk-margin-remote-top">
You set up your portal
</div>
<div>
Using our admin panel you set up your portal. You select metrics of interest to you (full documentation available). You decide what you want to publish, what to keep private, what to share with colleagues.
</div>
</div>
</div>
<div>
<div class="uk-padding uk-padding-remove-left uk-padding-remove-bottom">
<div class="uk-icon-bg-shadow uk-margin-bottom">
<div class="uk-h5 uk-text-background uk-margin-remove">5</div>
</div>
<div class="uk-h6 uk-margin-remote-top">
You track, monitor, report
</div>
<div>
Now your views are updated every 2-4 weeks, as new content and new providers join OpenAIRE. You are notified about new metrics and indicators as we keep on enriching the OpenAIRE Research Graph and you may add them as they come along.
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-section uk-margin-large-top uk-container uk-container-large">
<span class="uk-h6 uk-text-primary uk-margin-remove">Inclusion, transparency, quality, state of the art technology.</span>
<h2 class="uk-margin-remove-top uk-margin-medium-bottom uk-width-1-2@l uk-width-3-4@m">Research tracking & monitoring in a nutshell.</h2>
<div class="uk-padding-large">
<how></how>
</div>
</div>

View File

@ -1,4 +0,0 @@
.about-background {
background-image: url('~src/assets/monitor-assets/about/dot-pattern.svg');
background-size: 20%;
}

View File

@ -1,91 +0,0 @@
import {Component} from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {Meta, Title} from '@angular/platform-browser';
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
import {HelperService} from "../openaireLibrary/utils/helper/helper.service";
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
import {properties} from "../../environments/environment";
import {Subscriber} from "rxjs";
import {Breadcrumb} from '../openaireLibrary/utils/breadcrumbs/breadcrumbs.component';
import {OpenaireEntities} from "../openaireLibrary/utils/properties/searchFields";
import {StakeholderEntities} from '../openaireLibrary/monitor/entities/stakeholder';
@Component({
selector: 'learn-how',
templateUrl: 'learn-how.component.html',
styleUrls: ['learn-how.component.less'],
})
export class LearnHowComponent {
public pageContents = null;
public divContents = null;
public url: string = null;
public pageTitle: string = "OpenAIRE - Monitor | About";
public description: string = "Learn the process: Use the Monitor Dashboard to view your research results, open science. See how it works. Simplify research tracking & monitoring ";
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'About'}];
public openaireEntities = OpenaireEntities;
public stakeholderEntities = StakeholderEntities;
public properties: EnvProperties = properties;
subscriptions = [];
constructor(
private route: ActivatedRoute,
private _router: Router,
private _meta: Meta,
private _title: Title,
private seoService: SEOService,
private _piwikService: PiwikService,
private helper: HelperService) {
}
public ngOnInit() {
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.domain + this.properties.baseLink + this._router.url;
this.seoService.createLinkForCanonicalURL(this.url);
this.updateUrl(this.url);
this.updateTitle(this.pageTitle);
this.updateDescription("OpenAIRE - Monitor, " + this.stakeholderEntities.FUNDERS+ ", Statistics, EC - Learn How");``
//this.getDivContents();
//this.getPageContents();
}
private getPageContents() {
this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'monitor', this._router.url).subscribe(contents => {
this.pageContents = contents;
}));
}
private getDivContents() {
this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'monitor', 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 {LearnHowComponent} from "./learn-how.component";
import {LearnHowRoutingModule} from "./learn-how-routing.module";
import {GifSliderModule} from "../openaireLibrary/utils/gif-slider/gif-slider.module";
import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module";
import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module";
import {HowModule} from "../openaireLibrary/monitor/how/how.module";
import {BreadcrumbsModule} from '../openaireLibrary/utils/breadcrumbs/breadcrumbs.module';
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
@NgModule({
imports: [
CommonModule, RouterModule, LearnHowRoutingModule, GifSliderModule, HelperModule,
Schema2jsonldModule, SEOServiceModule, HowModule, BreadcrumbsModule, IconsModule
],
declarations: [
LearnHowComponent
],
exports: [
LearnHowComponent
],
providers:[
PreviousRouteRecorder, PiwikService
]
})
export class LearnHowModule { }

@ -1 +1 @@
Subproject commit 84911550beebde7edd9c08c2c0b7e8e3b560258c
Subproject commit cdffb018b6ddd246b930300745a423ff0f1870b9

View File

@ -10,7 +10,7 @@ import {Session, User} from "../openaireLibrary/login/utils/helper.class";
import {StringUtils} from "../openaireLibrary/utils/string-utils.class";
import {UserManagementService} from "../openaireLibrary/services/user-management.service";
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
import {NewSearchPageComponent} from "../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
import {NewSearchPageComponent, SearchForm} from "../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
import {StakeholderEntities, StakeholderInfo} from "../openaireLibrary/monitor/entities/stakeholder";
import {properties} from "../../environments/environment";
import {Subscriber} from "rxjs";
@ -21,16 +21,19 @@ import {TitleCasePipe} from "@angular/common";
selector: 'search-stakeholders',
template: `
<new-search-page pageTitle="OpenAIRE-Monitor | Browse {{this.stakeholderEntities.STAKEHOLDERS}}"
[hasPrefix]=false [piwikSiteId]="piwikSiteId"
[formPlaceholderText]="'Search OpenAIRE Monitor ' + this.stakeholderEntities.STAKEHOLDERS"
[type]="(results.length > 1) ? this.stakeholderEntities.STAKEHOLDERS:this.stakeholderEntities.STAKEHOLDER" entityType="stakeholder"
[results]="results" [searchUtils]="searchUtils"
[showResultCount]=true
[disableForms]="disableForms"
[showIndexInfo]=false
[simpleView]="true"
[fieldIds]="fieldIds" [fieldIdsMap]="fieldIdsMap" [selectedFields]="selectedFields" [showBreadcrumb]="true" [breadcrumbs]="breadcrumbs"
[simpleSearchLink]="searchLink" [entitiesSelection]="false">
[hasPrefix]=false [piwikSiteId]="piwikSiteId"
[formPlaceholderText]="'Search OpenAIRE Monitor ' + this.stakeholderEntities.STAKEHOLDERS"
[type]="(results.length > 1) ? this.stakeholderEntities.STAKEHOLDERS:this.stakeholderEntities.STAKEHOLDER"
entityType="stakeholder"
[results]="results" [searchUtils]="searchUtils"
[showResultCount]=true
[disableForms]="disableForms"
[showIndexInfo]=false
[simpleView]="true"
[searchForm]="searchForm"
[fieldIds]="fieldIds" [fieldIdsMap]="fieldIdsMap" [selectedFields]="selectedFields"
[showBreadcrumb]="true" [breadcrumbs]="breadcrumbs"
[simpleSearchLink]="searchLink" [entitiesSelection]="false">
</new-search-page>
`
})
@ -61,8 +64,9 @@ export class SearchStakeholdersComponent {
};
public keyword = "";
public searchLink;
public stakeholderEntities = StakeholderEntities;
public stakeholderEntities = StakeholderEntities;
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Browse ' + this.stakeholderEntities.STAKEHOLDERS}];
public searchForm: SearchForm = {class: 'uk-background-muted', dark: false};
properties: EnvProperties = properties;
@ViewChild(NewSearchPageComponent, {static: true}) searchPage: NewSearchPageComponent;
private user: User;
@ -70,7 +74,7 @@ export class SearchStakeholdersComponent {
constructor(private route: ActivatedRoute,
private _stakeholderService: StakeholderService,
private userManagementService: UserManagementService,
public titleCasePipe: TitleCasePipe) {
public titleCasePipe: TitleCasePipe) {
this.errorCodes = new ErrorCodes();
this.errorMessages = new ErrorMessagesComponent();
this.searchUtils.status = this.errorCodes.LOADING;
@ -129,7 +133,7 @@ export class SearchStakeholdersComponent {
* @param params
*/
private initFunders(params) {
if(this.totalResults) {
if (this.totalResults) {
this.parseResults(this.totalResults);
this._getResults(params);
} else {