Fix angular.json configuration for dev. Add new routes for national, rpo and rfo.

This commit is contained in:
Konstantinos Triantafyllou 2023-10-27 15:53:59 +03:00
parent 6130bc20e3
commit c6f46a3143
13 changed files with 300 additions and 33 deletions

View File

@ -58,7 +58,17 @@
"src/styles.less",
"src/assets/common-assets/library-css/material.scss"
],
"scripts": []
"scripts": [
"node_modules/uikit/dist/js/uikit.min.js",
"node_modules/uikit/dist/js/uikit-icons.min.js",
"node_modules/jquery/dist/jquery.js"
],
"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
"sourceMap": true,
"optimization": false,
"namedChunks": true
},
"configurations": {
"development": {
@ -171,6 +181,9 @@
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "irish-monitor:build"
},
"configurations": {
"production": {
"browserTarget": "irish-monitor:build:production"
@ -178,8 +191,7 @@
"development": {
"browserTarget": "irish-monitor:build:development"
}
},
"defaultConfiguration": "development"
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",

View File

@ -2,6 +2,20 @@ import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{
path: '',
loadChildren: () => import('./national/national.module').then(m => m.NationalModule)
},
{
path: 'rpo',
loadChildren: () => import('./rpo/rpo.module').then(m => m.RpoModule),
data: {type: 'organization'}
},
{
path: 'rfo',
loadChildren: () => import('./rfo/rfo.module').then(m => m.RfoModule),
data: {type: 'funder'}
},
{
path: 'researcher',
loadChildren: () => import('./researcher/researcher-routing.module').then(m => m.ResearcherRoutingModule)

View File

@ -1,7 +1,11 @@
import { Component } from '@angular/core';
import {Component, OnInit} from '@angular/core';
import {properties} from "../environments/environment";
import {ActivatedRoute, Router} from "@angular/router";
import {MenuItem} from "./openaireLibrary/sharedComponents/menu";
import {Header} from "./openaireLibrary/sharedComponents/navigationBar.component";
import {BaseComponent} from "./openaireLibrary/sharedComponents/base/base.component";
import {StakeholderEntities, stakeholderTypes} from "./openaireLibrary/monitor/entities/stakeholder";
import {Option} from "./openaireLibrary/sharedComponents/input/input.component";
@Component({
selector: 'app-root',
@ -27,43 +31,54 @@ import {MenuItem} from "./openaireLibrary/sharedComponents/menu";
`,
styles: []
})
export class AppComponent {
export class AppComponent extends BaseComponent implements OnInit {
title = 'irish-monitor';
loading: boolean = false;
isFrontPage: boolean = false;
stakeholderEntities = StakeholderEntities;
stakeholderTypes = stakeholderTypes;
view: boolean = false;
hasHeader: boolean = true;
properties = properties;
header = {
header: Header = {
route: "/",
title: "Noami",
logoUrl: "",
logoSmallUrl: null,
position: 'left',
badge: true
badge: true,
};
menuItems:MenuItem[] = [
new MenuItem("national", "National Monitor",
"", "/", false, [], null, {}
, null, null, null, null),
new MenuItem("rpo", "RPO Monitors",
"", "/", false, [], null, {}
, null, null, null, null),
new MenuItem("rfo", "RFO Monitors",
"", "/", false, [], null, {}
, null, null, null, null),
new MenuItem("researcher", "Researcher Monitors",
"", "/researcher", false, [], null, {}
, null, null, null, null),
new MenuItem("repository", "Repository Monitors",
"", "/", false, [], null, {}
, null, null, null, null),
new MenuItem("upload-dois", "Upload DOIs",
"", "/upload-dois", false, [], null, {}
, null, null, null, null)
];
menuItems:MenuItem[] = [];
constructor(private route: ActivatedRoute,
private router: Router,) {
private router: Router) {
super();
}
ngOnInit() {
this.initialize();
}
initialize() {
(this.stakeholderEntities as any)['STAKEHOLDER'] = 'Monitor';
(this.stakeholderEntities as any)['STAKEHOLDERS'] = 'Monitors';
(this.stakeholderEntities as any)['FUNDER'] = 'RFO';
(this.stakeholderEntities as any)['FUNDERS'] = 'RFOs';
(this.stakeholderEntities as any)['ORGANIZATION'] = 'RPO';
(this.stakeholderEntities as any)['ORGANIZATIONS'] = 'RFOs';
this.stakeholderTypes = [
{value: 'funder', label: StakeholderEntities.FUNDER},
{value: 'organization', label: StakeholderEntities.ORGANIZATION},
{value: 'country', label: StakeholderEntities.COUNTRY}
];
this.menuItems = [
new MenuItem("national", this.stakeholderEntities.COUNTRY + ' ' + this.stakeholderEntities.STAKEHOLDER, "", "/", false, [], null, {}, null, null, null, null),
new MenuItem("rpo", this.stakeholderEntities.ORGANIZATION + ' ' + this.stakeholderEntities.STAKEHOLDERS, "", "/rpo", false, [], null, {}, null, null, null, null),
new MenuItem("rfo", this.stakeholderEntities.FUNDER + ' ' + this.stakeholderEntities.STAKEHOLDERS, "", "/rfo", false, [], null, {}, null, null, null, null),
new MenuItem("researcher", "Researcher Monitors", "", "/researcher", false, [], null, {}, null, null, null, null),
new MenuItem("repository", "Repository Monitors", "", "/", false, [], null, {}, null, null, null, null),
new MenuItem("upload-dois", "Upload DOIs", "", "/upload-dois", false, [], null, {}, null, null, null, null)
];
}
public removeView() {

View File

@ -0,0 +1,38 @@
import {Component, OnDestroy, OnInit} from "@angular/core";
import {Stakeholder} from "../openaireLibrary/monitor/entities/stakeholder";
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
import {BaseComponent} from "../openaireLibrary/sharedComponents/base/base.component";
import {Router} from "@angular/router";
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
import {Meta, Title} from "@angular/platform-browser";
@Component({
selector: 'national',
template: `
<div style="background: mediumseagreen; height: 200px">
</div>
<div class="uk-section uk-container">
<router-outlet></router-outlet>
</div>
`
})
export class NationalComponent extends BaseComponent implements OnInit {
stakeholder: Stakeholder;
constructor(private stakeholderService: StakeholderService,
protected _router: Router,
protected seoService: SEOService,
protected _piwikService: PiwikService,
protected _title: Title,
protected _meta: Meta) {
super();
}
ngOnInit() {
this.title = 'National Monitor';
this.description = 'National Monitor';
this.setMetadata();
}
}

View File

@ -0,0 +1,17 @@
import {NgModule} from "@angular/core";
import {CommonModule} from "@angular/common";
import {Route, RouterModule} from "@angular/router";
import {NationalComponent} from "./national.component";
const routes: Route[] = [
{
path: '', component: NationalComponent
}
];
@NgModule({
imports: [CommonModule, RouterModule.forChild(routes)],
declarations: [NationalComponent],
exports: [NationalComponent],
})
export class NationalModule {
}

@ -1 +1 @@
Subproject commit 2348b6adcf9e43c0ef596c0d05fa9ceabbd966ce
Subproject commit 92137556626a25dec819f258a6cf49e5e7562443

View File

@ -0,0 +1,45 @@
import {Component, OnDestroy, OnInit} from "@angular/core";
import {Stakeholder} from "../openaireLibrary/monitor/entities/stakeholder";
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
import {BaseComponent} from "../openaireLibrary/sharedComponents/base/base.component";
import {ActivatedRoute, Router} from "@angular/router";
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
import {Meta, Title} from "@angular/platform-browser";
@Component({
selector: 'rpo',
template: `
<div style="background: mediumseagreen; height: 200px">
</div>
<div class="uk-section uk-container">
<router-outlet></router-outlet>
</div>
`
})
export class RfoComponent extends BaseComponent implements OnInit {
stakeholder: Stakeholder;
constructor(private stakeholderService: StakeholderService,
private route: ActivatedRoute,
protected _router: Router,
protected seoService: SEOService,
protected _piwikService: PiwikService,
protected _title: Title,
protected _meta: Meta) {
super();
}
ngOnInit() {
this.subscriptions.push(this.route.params.subscribe(params => {
if(params['stakeholder']) {
} else {
this.title = 'NOAMI | Browse RFOs';
this.description = 'NOAMI | Browse RFOs';
this.setMetadata();
}
}));
}
}

19
src/app/rfo/rfo.module.ts Normal file
View File

@ -0,0 +1,19 @@
import {NgModule} from "@angular/core";
import {CommonModule} from "@angular/common";
import {Route, RouterModule} from "@angular/router";
import {RfoComponent} from "./rfo.component";
const routes: Route[] = [
{
path: '', component: RfoComponent, children: [
{path: '', loadChildren: () => import('../shared/browse-stakeholders/browse-stakeholder.module').then(m => m.BrowseStakeholderModule)}
]
}
];
@NgModule({
imports: [CommonModule, RouterModule.forChild(routes)],
declarations: [RfoComponent],
exports: [RfoComponent],
})
export class RfoModule {
}

View File

@ -0,0 +1,38 @@
import {Component, OnDestroy, OnInit} from "@angular/core";
import {Stakeholder} from "../openaireLibrary/monitor/entities/stakeholder";
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
import {BaseComponent} from "../openaireLibrary/sharedComponents/base/base.component";
import {Router} from "@angular/router";
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
import {Meta, Title} from "@angular/platform-browser";
@Component({
selector: 'rpo',
template: `
<div style="background: mediumseagreen; height: 200px">
</div>
<div class="uk-section uk-container">
<router-outlet></router-outlet>
</div>
`
})
export class RpoComponent extends BaseComponent implements OnInit {
stakeholder: Stakeholder;
constructor(private stakeholderService: StakeholderService,
protected _router: Router,
protected seoService: SEOService,
protected _piwikService: PiwikService,
protected _title: Title,
protected _meta: Meta) {
super();
}
ngOnInit() {
this.title = 'National Monitor';
this.description = 'National Monitor';
this.setMetadata();
}
}

19
src/app/rpo/rpo.module.ts Normal file
View File

@ -0,0 +1,19 @@
import {NgModule} from "@angular/core";
import {CommonModule} from "@angular/common";
import {Route, RouterModule} from "@angular/router";
import {RpoComponent} from "./rpo.component";
const routes: Route[] = [
{
path: '', component: RpoComponent, children: [
{path: '', loadChildren: () => import('../shared/browse-stakeholders/browse-stakeholder.module').then(m => m.BrowseStakeholderModule)}
]
}
];
@NgModule({
imports: [CommonModule, RouterModule.forChild(routes)],
declarations: [RpoComponent],
exports: [RpoComponent],
})
export class RpoModule {
}

View File

@ -0,0 +1,33 @@
import {Component, OnInit} from "@angular/core";
import {ActivatedRoute, Router} from "@angular/router";
import {StakeholderType} from "../../openaireLibrary/monitor/entities/stakeholder";
import {BaseComponent} from "../../openaireLibrary/sharedComponents/base/base.component";
import {StakeholderService} from "../../openaireLibrary/monitor/services/stakeholder.service";
@Component({
selector: 'browse-stakeholder',
template: ``
})
export class BrowseStakeholderComponent extends BaseComponent implements OnInit {
stakeholderType: StakeholderType;
constructor(private route: ActivatedRoute,
private stakeholderService: StakeholderService,
protected _router: Router) {
super();
}
ngOnInit() {
this.stakeholderType = this.route.snapshot.data.type;
if(!this.stakeholderType) {
this.navigateToError();
}
this.subscriptions.push(this.stakeholderService.getStakeholders(this.properties.monitorServiceAPIURL, this.stakeholderType).subscribe(stakeholders => {
console.log(stakeholders);
}))
}
private navigateToError() {
this._router.navigate([this.properties.errorLink], {queryParams: {'page': this._router.url}});
}
}

View File

@ -0,0 +1,16 @@
import {NgModule} from "@angular/core";
import {CommonModule} from "@angular/common";
import {BrowseStakeholderComponent} from "./browse-stakeholder.component";
import {RouterModule} from "@angular/router";
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
@NgModule({
imports: [CommonModule, RouterModule.forChild([
{path: '', component: BrowseStakeholderComponent, canDeactivate: [PreviousRouteRecorder]}
])],
declarations: [BrowseStakeholderComponent],
exports: [BrowseStakeholderComponent]
})
export class BrowseStakeholderModule {
}

View File

@ -9,9 +9,10 @@ import {common, commonDev} from "../app/openaireLibrary/utils/properties/environ
let props: EnvProperties = {
environment: "development",
searchAPIURLLAst: "http://beta.services.openaire.eu/search/v2/api/",
searchAPIURLLAst: "http://beta.services.openaire.eu/search/v2/api/ 19680",
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
monitorServiceAPIURL: "http://duffy.di.uoa.gr:19680/uoa-monitor-service",
// monitorServiceAPIURL: "http://duffy.di.uoa.gr:19680/uoa-irish-monitor-service/",
searchOrcidURL: "https://pub.orcid.org/v3.0/",
piwikSiteId: "407",
enablePiwikTrack:false,