This commit is contained in:
parent
5282d961cd
commit
e09818cc9d
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core';
|
|||
import { NavigationEnd, Router, RoutesRecognized } from '@angular/router';
|
||||
import { AuthenticationService } from './services/authentication.service';
|
||||
import { environment } from '../environments/environment';
|
||||
import { MatomoInjector, MatomoTracker } from 'ngx-matomo';
|
||||
import { MatomoInjector } from 'ngx-matomo';
|
||||
|
||||
@Component({
|
||||
selector: 'oa-repo-manager',
|
||||
|
@ -12,10 +12,9 @@ import { MatomoInjector, MatomoTracker } from 'ngx-matomo';
|
|||
export class AppComponent implements OnInit {
|
||||
constructor(private router: Router,
|
||||
private authService: AuthenticationService,
|
||||
private matomoInjector: MatomoInjector,
|
||||
private matomoTracker: MatomoTracker) {
|
||||
private matomoInjector: MatomoInjector) {
|
||||
|
||||
console.log('21-06-2019. Fixed matomo to log userIds?');
|
||||
console.log('11-02-2019. First deploy of project upgraded to angular 6');
|
||||
|
||||
let piwikUrl;
|
||||
if (window.location.origin.includes('beta')) {
|
||||
|
@ -49,12 +48,25 @@ export class AppComponent implements OnInit {
|
|||
|
||||
ngOnInit() {
|
||||
this.router.events.subscribe((evt) => {
|
||||
/*if ((evt instanceof RoutesRecognized) && (environment.production === true)) {
|
||||
let piwikUrl;
|
||||
if (window.location.origin.includes('beta')) {
|
||||
// piwikUrl = 'https://analytics.openaire.eu/piwik.php?idsite=92&rec=1';
|
||||
piwikUrl = '92';
|
||||
} else if (window.location.origin.includes('localhost:4200') ||
|
||||
window.location.origin.includes('athenarc')) {
|
||||
// piwikUrl = 'https://analytics.openaire.eu/piwik.php?idsite=92&rec=1';
|
||||
piwikUrl = '9222222';
|
||||
} else {
|
||||
// piwikUrl = 'https://analytics.openaire.eu/piwik.php?idsite=111&rec=1';
|
||||
piwikUrl = '111';
|
||||
}
|
||||
this.matomoInjector.init('https://analytics.openaire.eu/', piwikUrl);
|
||||
}*/
|
||||
|
||||
if (!(evt instanceof NavigationEnd)) {
|
||||
return;
|
||||
}
|
||||
if (this.authService.isLoggedIn) {
|
||||
this.matomoTracker.setUserId(this.authService.getUserEmail());
|
||||
}
|
||||
window.scrollTo(0, 0);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -17,8 +17,7 @@ export const loadingAggregationHistoryError = 'System error retrieving repositor
|
|||
export const noAggregationHistory = 'There is no aggregation history for this repository at the moment';
|
||||
|
||||
/* Interfaces Messages */
|
||||
export const noInterfacesSaved = 'You have to create at least one interface.';
|
||||
export const errorsInInterfaces = 'There are still invalid interfaces. Please correct or remove them.';
|
||||
export const noInterfacesSaved = 'You have to create at least one interface';
|
||||
export const nonRemovableInterface = 'This interface can not be removed!';
|
||||
|
||||
/* Rules Messages */
|
||||
|
|
|
@ -1,40 +1,13 @@
|
|||
export const timezones = [
|
||||
{ offset: -12.0, name: '[GMT - 12:00] United States Minor Outlying Islands' },
|
||||
{ offset: -11.0, name: '[GMT - 11:00] United States, New Zealand' },
|
||||
{ offset: -10.0, name: '[GMT - 10:00] Honolulu, Papeete...' },
|
||||
{ offset: -9.5, name: '[GMT - 09:30] French Polynesia' },
|
||||
{ offset: -9.0, name: '[GMT - 09:00] Anchorage...' },
|
||||
{ offset: -8.0, name: '[GMT - 08:00] Los Angeles, Vancouver, Tijuana...' },
|
||||
{ offset: -7.0, name: '[GMT - 07:00] Phoenix, Denver, Calgary, Ciudad Juárez...' },
|
||||
{ offset: -6.0, name: '[GMT - 06:00] Chicago, Mexico City, Guatemala City, Tegucigalpa, Managua, Winnipeg, San José, San Salvador...' },
|
||||
{ offset: -5.0, name: '[GMT - 05:00] New York, Toronto, Havana, Lima, Bogotá, Kingston...' },
|
||||
{ offset: -4.0, name: '[GMT - 04:00] Santiago, Santo Domingo, Manaus, Caracas, La Paz, Asunción, Halifax...' },
|
||||
{ offset: -3.5, name: '[GMT - 03:30] St. John’s...' },
|
||||
{ offset: -3.0, name: '[GMT - 03:00] São Paulo, Buenos Aires, Montevideo...' },
|
||||
{ offset: -2.0, name: '[GMT - 02:00] Brazil, United Kingdom...' },
|
||||
{ offset: -1.0, name: '[GMT - 01:00] Praia, Ponta Delgada...' },
|
||||
{ offset: 0.0, name: '[GMT] London, Dublin, Lisbon, Accra, Dakar...' },
|
||||
{ offset: 1.0, name: '[GMT + 01:00] Berlin, Rome, Paris, Madrid, Vienna, Warsaw, Lagos, Kinshasa, Luanda, Algiers, Casablanca...' },
|
||||
{ offset: 2.0, name: '[GMT + 02:00] Cairo, Khartoum, Johannesburg, Athens, Kiev, Bucharest, Lubumbashi, Jerusalem...' },
|
||||
{ offset: 3.0, name: '[GMT + 03:00] Moscow, Istanbul, Riyadh, Baghdad, Nairobi, Minsk, Doha...' },
|
||||
{ offset: 3.5, name: '[GMT + 03:30] Tehran...' },
|
||||
{ offset: 4.0, name: '[GMT + 04:00] Dubai, Baku, Samara...' },
|
||||
{ offset: 4.5, name: '[GMT + 04:30] Kabul...' },
|
||||
{ offset: 5.0, name: '[GMT + 05:00] Karachi, Tashkent, Yekaterinburg...' },
|
||||
{ offset: 5.5, name: '[GMT + 05:30] Mumbai, Delhi, Colombo...' },
|
||||
{ offset: 5.75, name: '[GMT + 05:45] Kathmandu...' },
|
||||
{ offset: 6.0, name: '[GMT + 06:00] Dhaka, Almaty, Omsk...' },
|
||||
{ offset: 6.5, name: '[GMT + 06:30] Yangon...' },
|
||||
{ offset: 7.0, name: '[GMT + 07:00] Jakarta, Bangkok, Ho Chi Minh City, Krasnoyarsk...' },
|
||||
{ offset: 8.0, name: '[GMT + 08:00] Shanghai, Beijing, Hong Kong, Kuala Lumpur, Singapore, Taipei, Perth, Manila, Makassar, Irkutsk...' },
|
||||
{ offset: 8.75, name: '[GMT + 08:45] Australia' },
|
||||
{ offset: 9.0, name: '[GMT + 09:00] Tokyo, Seoul, Pyongyang, Ambon, Yakutsk...' },
|
||||
{ offset: 9.5, name: '[GMT + 09:30] Adelaide, Darwin...' },
|
||||
{ offset: 10.0, name: '[GMT + 10:00] Sydney, Melbourne, Port Moresby, Vladivostok...' },
|
||||
{ offset: 10.5, name: '[GMT + 10:30] Australia (New South Wales)...' },
|
||||
{ offset: 11.0, name: '[GMT + 11:00] Nouméa, Magadan...' },
|
||||
{ offset: 12.0, name: '[GMT + 12:00] Auckland, Suva, Petropavlovsk-Kamchatsky...' },
|
||||
{ offset: 12.75, name: '[GMT + 12:45] New Zealand (Chatham Islands)...' },
|
||||
{ offset: 13.0, name: '[GMT + 13:00] Kiribati (Phoenix Islands), New Zealand (Tokelau), Samoa, Tonga' },
|
||||
{ offset: 14.0, name: '[GMT + 14:00] Kiribati (Line Islands)' },
|
||||
{ offset: -2.0, name: '[GMT - 2] Fernando de Noronha Time, South Georg...' },
|
||||
{ offset: -1.0, name: '[GMT - 1] Azores Standard Time, Cape Verde Time...' },
|
||||
{ offset: 0.0, name: '[GMT] Western European Time, Greenwich Mean Time' },
|
||||
{ offset: 1.0, name: '[GMT + 1] Central European Time, West African Time' },
|
||||
{ offset: 2.0, name: '[GMT + 2] Eastern European Time, Central Africa...' },
|
||||
{ offset: 3.0, name: '[GMT + 3] Moscow Standard Time, Eastern African...' },
|
||||
{ offset: 3.5, name: '[GMT + 3:30] Iran Standard Time' },
|
||||
{ offset: 4.0, name: '[GMT + 4] Gulf Standard Time, Samara Standard Time' },
|
||||
{ offset: 4.5, name: '[GMT + 4:30] Afghanistan Time' },
|
||||
{ offset: 5.0, name: '[GMT + 5] Pakistan Standard Time, Yekaterinburg...' },
|
||||
{ offset: 8.0, name: '[GMT + 8] Beijing, Hong Kong, Irkutsk, Kuala Lumpur, Manila, Perth' },
|
||||
];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { ActivatedRoute, Router} from '@angular/router';
|
||||
import { ActivatedRoute, Params, Router} from '@angular/router';
|
||||
import { CompatibilityValidateStep1Component } from './compatibility-validate-forms/compatibility-validate-step1.component';
|
||||
import { RepositoryService } from '../../services/repository.service';
|
||||
import { JobForValidation, RuleSet } from '../../domain/typeScriptClasses';
|
||||
|
@ -69,9 +69,7 @@ export class CompatibilityValidateTypeComponent implements OnInit {
|
|||
if (this.route.snapshot.paramMap.has('type')) {
|
||||
this.type = this.route.snapshot.paramMap.get('type');
|
||||
this.getBaseUrlList();
|
||||
this.route.queryParams.subscribe(
|
||||
() => this.getStep()
|
||||
);
|
||||
this.getStep();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,13 +79,13 @@ export class CompatibilityValidateTypeComponent implements OnInit {
|
|||
const stepName = this.route.snapshot.queryParamMap.get('step');
|
||||
if (stepName === 'guidelines') {
|
||||
if (!this.identifiedUrl) {
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=baseUrl`);
|
||||
this.navigateToStep('baseUrl');
|
||||
} else {
|
||||
this.currentStep = 1;
|
||||
}
|
||||
} else if ((stepName === 'parameters') || (stepName === 'crisEntities')) {
|
||||
if (!this.chosenUrl) {
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=baseUrl`);
|
||||
this.navigateToStep('baseUrl');
|
||||
} else {
|
||||
this.currentStep = 2;
|
||||
}
|
||||
|
@ -95,11 +93,19 @@ export class CompatibilityValidateTypeComponent implements OnInit {
|
|||
this.currentStep = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
navigateToStep(step: string) {
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=${step}`)
|
||||
.then( () => {
|
||||
this.getStep();
|
||||
this.rightHelperContent.ngOnInit();
|
||||
this.topHelperContent.ngOnInit();
|
||||
this.leftHelperContent.ngOnInit();
|
||||
this.bottomHelperContent.ngOnInit();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/* retrieves the baseUrl list for the registered repositories of the user */
|
||||
getBaseUrlList() {
|
||||
|
@ -136,10 +142,10 @@ export class CompatibilityValidateTypeComponent implements OnInit {
|
|||
console.log(this.chosenContentRules);
|
||||
if (this.chosenContentRules.length || this.chosenUsageRules.length) {
|
||||
if (this.type === 'cris') {
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=crisEntities`);
|
||||
this.navigateToStep('crisEntities');
|
||||
} else {
|
||||
this.getValidationSets();
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=parameters`);
|
||||
this.navigateToStep('parameters');
|
||||
}
|
||||
} else {
|
||||
this.errorMessage = didntSelectRules;
|
||||
|
@ -164,11 +170,11 @@ export class CompatibilityValidateTypeComponent implements OnInit {
|
|||
moveBackAStep () {
|
||||
this.errorMessage = '';
|
||||
if (this.currentStep === 1) {
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=baseUrl`);
|
||||
this.navigateToStep('baseUrl');
|
||||
} else if ((this.currentStep === 2) && (this.type !== 'cris')) {
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=guidelines`);
|
||||
this.navigateToStep('guidelines');
|
||||
} else if ((this.currentStep === 2) && (this.type === 'cris')) {
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=guidelines`);
|
||||
this.navigateToStep('guidelines');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -211,7 +217,7 @@ export class CompatibilityValidateTypeComponent implements OnInit {
|
|||
() => {
|
||||
this.loadingMessage = '';
|
||||
if (this.ruleSets && this.ruleSets.length) {
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=guidelines`);
|
||||
this.navigateToStep('guidelines');
|
||||
} else {
|
||||
this.errorMessage = noRuleSets;
|
||||
window.scroll(1, 1);
|
||||
|
@ -309,7 +315,7 @@ export class CompatibilityValidateTypeComponent implements OnInit {
|
|||
window.scroll(1, 1);
|
||||
},
|
||||
() => {
|
||||
this.router.navigateByUrl(`/compatibility/validate/${this.type}?step=finish`);
|
||||
this.navigateToStep('finish');
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -37,7 +37,9 @@ export class CompatibilityValidationResultsComponent implements OnInit {
|
|||
|
||||
ngOnInit () {
|
||||
if (this.authService.getIsUserLoggedIn()) {
|
||||
setTimeout(() => {
|
||||
this.getJobInfo();
|
||||
}, 500 );
|
||||
} else {
|
||||
const id = this.route.snapshot.paramMap.get('id');
|
||||
this.authService.redirectUrl = '/compatibility/browseHistory/' + id;
|
||||
|
|
|
@ -32,7 +32,9 @@ export class ContentEventsOfRepositoryComponent implements OnInit {
|
|||
ngOnInit() {
|
||||
this.repoName = this.route.snapshot.paramMap.get('name');
|
||||
this.getCorrectName();
|
||||
setTimeout(() => {
|
||||
this.getTopics();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
getRepoTopics(): void {
|
||||
|
|
|
@ -1,23 +1,21 @@
|
|||
<div *ngIf="getIsUserLoggedIn()" id="contentWrapper" class="tm-main uk-section uk-section-default" uk-height-viewport="expand: true" style="box-sizing: border-box;" >
|
||||
|
||||
<div>
|
||||
<div class="uk-container uk-container-large">
|
||||
<div class="uk-grid uk-grid-stack">
|
||||
|
||||
<div class="uk container-fluid">
|
||||
<div class="uk-sticky-placeholder" style="height: 84px; margin: 0px;" aria-hidden="aria-hidden"></div>
|
||||
<div class="uk-grid uk-padding">
|
||||
<div class="uk-width-1-3@m">
|
||||
<div class="uk-width-expand@m">
|
||||
<div>
|
||||
<div>
|
||||
<!-- MARGIN-TOP -->
|
||||
<div class="uk-sticky-placeholder" style="height: 84px; margin: 0px;" aria-hidden="aria-hidden"></div>
|
||||
<div class="uk-width-1-1@m uk-first-column">
|
||||
<div class="uk-margin uk-grid-match uk-child-width-1-1 uk-child-width-1-2@m uk-grid-small uk-grid uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" uk-grid="" style="">
|
||||
<div class="uk-first-column">
|
||||
<div>
|
||||
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
|
||||
<a class="el-link uk-position-cover uk-margin-remove-adjacent" [routerLink]="['/sources','register']" uk-scroll=""></a>
|
||||
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid="">
|
||||
<div class="uk-width-1-2@m uk-first-column">
|
||||
<div>
|
||||
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-153949408.jpg" >
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<div>
|
||||
<h3 class="el-title uk-margin uk-card-title">Register</h3>
|
||||
<div class="el-content uk-margin">
|
||||
|
@ -26,16 +24,14 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
|
||||
<a class="el-link uk-position-cover uk-margin-remove-adjacent" [routerLink]="['/compatibility','validate']" uk-scroll=""></a>
|
||||
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid="">
|
||||
<div class="uk-width-1-2@m uk-first-column">
|
||||
<div>
|
||||
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-516286898.jpg" >
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<div>
|
||||
<h3 class="el-title uk-margin uk-card-title">Validate</h3>
|
||||
<div class="el-content uk-margin">
|
||||
|
@ -44,16 +40,14 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-grid-margin uk-first-column">
|
||||
|
||||
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
|
||||
<a class="el-link uk-position-cover uk-margin-remove-adjacent" [routerLink]="['/content','notifications']" uk-scroll=""></a>
|
||||
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid="">
|
||||
<div class="uk-width-1-2@m uk-first-column">
|
||||
<div>
|
||||
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-466267165.jpg" >
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<div>
|
||||
<h3 class="el-title uk-margin uk-card-title">Notifications</h3>
|
||||
<div class="el-content uk-margin">
|
||||
|
@ -62,16 +56,14 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-grid-margin">
|
||||
|
||||
<div class="el-item uk-card uk-card-hover uk-card-body uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
|
||||
<a class="el-link uk-position-cover uk-margin-remove-adjacent" uk-scroll="" [routerLink]="['/getImpact']"></a>
|
||||
<div class="uk-child-width-expand uk-flex-middle uk-grid" uk-grid="">
|
||||
<div class="uk-width-1-2@m uk-first-column">
|
||||
<div>
|
||||
<img class="el-image uk-border-rounded" src="../../../assets/imgs/iStock-659630328.jpg" >
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<div>
|
||||
<h3 class="el-title uk-margin uk-card-title">Metrics</h3>
|
||||
<div class="el-content uk-margin">
|
||||
|
@ -85,9 +77,43 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="uk-width-2-3@m uk-inline uk-padding-remove">
|
||||
<div class="uk-visible-toggle uk-light" tabindex="-1" uk-slider="center: true">
|
||||
|
||||
<ul *ngIf="getIsUserLoggedIn()" class="uk-slider-items uk-child-width-1-1@s">
|
||||
<!-- <div *ngIf="getRepos()"></div>-->
|
||||
<div *ngFor="let repository of repositories">
|
||||
<li class="uk-padding uk-padding-remove-right">
|
||||
|
||||
<div class="uk-card uk-card-default uk-card-hover">
|
||||
<div class="uk-card-header">
|
||||
<div class="uk-card-title"><h3 class="uk-text-center" style="color:black;">{{repository.officialName}}</h3></div>
|
||||
<div class="uk-card-title"><h5 class="uk-text-center" style="color:black;">{{repository.organization}}</h5></div>
|
||||
<div><p class="uk-text-center" style="color:black;">{{repository.countryName}}</p></div>
|
||||
</div>
|
||||
|
||||
<div class="uk-card-body uk-text-center">
|
||||
<img src="{{repository.logoUrl ? repository.logoUrl : '../../../assets/imgs/yourLogoHere.jpg'}}" alt="">
|
||||
|
||||
<div><p class="uk-text-center" style="color:black;">{{repository.typology}}</p></div>
|
||||
<div><p class="uk-text-center" style="color:black;">{{repository.description}}</p></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</div>
|
||||
</ul>
|
||||
|
||||
<a class="uk-position-top-left uk-position-large uk-hidden-hover" href="#" uk-slidenav-previous uk-slider-item="previous"></a>
|
||||
<a class="uk-position-top-right uk-position-large uk-hidden-hover" href="#" uk-slidenav-next uk-slider-item="next"></a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
import { AuthenticationService } from '../../services/authentication.service';
|
||||
import { RepositoryService } from '../../services/repository.service';
|
||||
import {Repository} from '../../domain/typeScriptClasses';
|
||||
|
||||
@Component ({
|
||||
selector: 'app-dashboard',
|
||||
|
@ -8,11 +10,38 @@ import { AuthenticationService } from '../../services/authentication.service';
|
|||
|
||||
export class DashboardComponent implements OnInit {
|
||||
|
||||
constructor(private authService: AuthenticationService) { }
|
||||
constructor(private authService: AuthenticationService,
|
||||
private repositoryService: RepositoryService) { }
|
||||
|
||||
ngOnInit() {}
|
||||
repositories: Repository[] = [];
|
||||
userEmail: string;
|
||||
|
||||
ngOnInit() {
|
||||
// this.getUserEmail();
|
||||
this.userEmail = sessionStorage.getItem('email');
|
||||
if (this.userEmail) {
|
||||
this.getRepositoriesOfUser(this.userEmail);
|
||||
}
|
||||
}
|
||||
|
||||
getIsUserLoggedIn() {
|
||||
return this.authService.getIsUserLoggedIn();
|
||||
}
|
||||
|
||||
getUserEmail() {
|
||||
this.userEmail = this.authService.getUserEmail();
|
||||
}
|
||||
|
||||
getRepos() {
|
||||
console.log('in getRepos');
|
||||
this.getRepositoriesOfUser(this.userEmail);
|
||||
}
|
||||
|
||||
getRepositoriesOfUser(userEmail: string) {
|
||||
this.repositoryService.getRepositoriesOfUser(userEmail).subscribe(
|
||||
repositories => this.repositories = repositories,
|
||||
error => console.log('Errrrror'),
|
||||
() => console.log(this.repositories)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -98,15 +98,10 @@
|
|||
<div class="questions">
|
||||
<div class="el-item uk-card uk-card-small uk-card-body">
|
||||
<ul class="uk-list uk-list-divider">
|
||||
<!--<li><a href="https://www.openaire.eu/os-primers">Learn about open science policies and how to align</a></li>-->
|
||||
<!--<li><a href="https://www.openaire.eu/rdm-handbook">Learn more on how to manage your data in the open science era</a></li>-->
|
||||
<!--<li><a href="https://www.openaire.eu/guides/">Find out how to use OpenAIRE to best serve your needs</a></li>-->
|
||||
<!--<li><a href="https://www.openaire.eu/webinars/">View our training material on a variety of related topics</a></li>-->
|
||||
<!--<li><a href="https://www.openaire.eu/contact-us/">Contact us</a></li>-->
|
||||
<li><a href="https://www.openaire.eu/validator-registration-guide">Learn how to validate and register your repository</a></li>
|
||||
<li><a href="https://www.openaire.eu/guides">Find out how to use OpenAIRE to best serve your needs</a></li>
|
||||
<li><a href="https://www.openaire.eu/category/content-providers">View our training material for Content Providers</a></li>
|
||||
<li><a href="https://guidelines.openaire.eu/en/latest/">Follow the OpenAIRE Guidelines</a></li>
|
||||
<li><a href="https://www.openaire.eu/os-primers">Learn about open science policies and how to align</a></li>
|
||||
<li><a href="https://www.openaire.eu/rdm-handbook">Learn more on how to manage your data in the open science era</a></li>
|
||||
<li><a href="https://www.openaire.eu/guides/">Find out how to use OpenAIRE to best serve your needs</a></li>
|
||||
<li><a href="https://www.openaire.eu/webinars/">View our training material on a variety of related topics</a></li>
|
||||
<li><a href="https://www.openaire.eu/contact-us/">Contact us</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -35,7 +35,9 @@ export class MetricsShowComponent implements OnInit {
|
|||
|
||||
ngOnInit() {
|
||||
this.repoId = this.route.snapshot.paramMap.get('id');
|
||||
setTimeout(() => {
|
||||
this.getPiwik();
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -208,20 +208,20 @@ export class DatasourceCreateFormComponent implements OnInit {
|
|||
|
||||
createNewRepository(): Repository {
|
||||
const newRepo: Repository = new Repository();
|
||||
newRepo.officialName = this.group.get('officialName').value.toString();
|
||||
newRepo.englishName = this.group.get('englishName').value.toString();
|
||||
newRepo.officialName = this.group.get('officialName').value;
|
||||
newRepo.englishName = this.group.get('englishName').value;
|
||||
newRepo.websiteUrl = this.group.get('websiteUrl').value;
|
||||
newRepo.logoUrl = this.group.get('logoUrl').value;
|
||||
newRepo.contactEmail = this.group.get('adminEmail').value;
|
||||
newRepo.countryName = this.countries.filter(x => x.code === this.group.get('country').value)[0].name;
|
||||
newRepo.countryCode = this.group.get('country').value;
|
||||
newRepo.organization = this.group.get('institutionName').value.toString();
|
||||
newRepo.organization = this.group.get('institutionName').value;
|
||||
newRepo.latitude = this.group.get('latitude').value;
|
||||
newRepo.longitude = this.group.get('longtitude').value;
|
||||
newRepo.timezone = this.group.get('timezone').value;
|
||||
newRepo.datasourceClass = this.group.get('datasourceType').value;
|
||||
newRepo.typology = this.group.get('softwarePlatform').value;
|
||||
newRepo.description = this.group.get('repoDescription').value.toString();
|
||||
newRepo.description = this.group.get('repoDescription').value;
|
||||
newRepo.issn = '';
|
||||
newRepo.eissn = '';
|
||||
newRepo.lissn = '';
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
<div>
|
||||
<div class="interfaceActionsPanel">
|
||||
<a *ngIf="!inRegister" (click)="saveInterface()" class="uk-margin-small-right"><i class="far fa-save fa-lg"></i></a>
|
||||
</div>
|
||||
<!-- <div>
|
||||
<h5 *ngIf="currentInterface && oldInterface && currentRepository">{{ currentRepository.datasourceType }} Interface</h5>
|
||||
</div>-->
|
||||
</div>
|
||||
<div>
|
||||
<div *ngIf="loadingMessage" class="loading-big">
|
||||
<div class="loader-big" style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">
|
||||
{{ loadingMessage }}
|
||||
</div>
|
||||
<div class="whiteFilm"></div>
|
||||
</div>
|
||||
<div *ngIf="group && (!loadingMessage || (loadingMessage===''))" [formGroup]="group">
|
||||
<div *ngIf="successMessage" class="uk-alert uk-alert-success" style="clear: both">{{ successMessage }}</div>
|
||||
<div *ngIf="errorMessage" class="uk-alert uk-alert-danger" style="clear: both">{{ errorMessage }}</div>
|
||||
<div *ngIf="groupErrorMessage" class="uk-alert uk-alert-danger" style="clear: both">{{ groupErrorMessage }}</div>
|
||||
<div class="form-group has-success">
|
||||
<label class="control-label" for="baseUrl" title="{{ baseUrlDesc.desc }}">Base OAI-PMH URL (*)</label>
|
||||
<span *ngIf="identifiedBaseUrl" class="help-block inline" style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">
|
||||
Identified
|
||||
</span>
|
||||
<input id="baseUrl" type="text" class="form-control" formControlName="baseUrl" (blur)="getInterfaceInfo(group.get('baseUrl').value)" required (change)="checkIfValid()">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<!--<label class="control-label">Validation Set (*)</label>-->
|
||||
<label class="control-label">Validation Set</label>
|
||||
<div>
|
||||
<label class="uk-button validationSetRadio" for="selectRadio{{index}}" title="{{ existingValSetDesc.desc }}">
|
||||
<input id="selectRadio{{index}}" value="select" name="validationSet{{index}}" type="radio" (change)="chooseValSet(true)" checked>
|
||||
<span>Choose existing</span>
|
||||
</label>
|
||||
</div>
|
||||
<select id="selectValidationSet{{index}}" formControlName="selectValidationSet" class="form-control" (change)="checkIfValid()">
|
||||
<option value="" selected>-- none selected --</option>
|
||||
<option *ngFor="let set of valsetList" value="{{set}}">{{set}}</option>
|
||||
</select>
|
||||
<div>
|
||||
<label class="uk-button validationSetRadio" for="customRadio{{index}}" title="{{ customValSetDesc.desc }}">
|
||||
<input id="customRadio{{index}}" value="custom" name="validationSet{{index}}" type="radio" (change)="chooseValSet(false)">
|
||||
<span>or a custom one</span>
|
||||
</label>
|
||||
</div>
|
||||
<input id="customValidationSet{{index}}" formControlName="customValidationSet" class="form-control" type="text" (blur)="checkIfValid()">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label" for="compLvl" title="{{ compatibilityLevelDesc.desc }}">Desired Compatibility Level (*)</label>
|
||||
<select class="form-control" #compLvl id="compLvl" formControlName="compatibilityLevel" (change)="checkIfValid()">
|
||||
<option value="">-- none selected --</option>
|
||||
<option *ngFor="let key of classCodes" value="{{key}}">{{compClasses[key]}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label class="uk-form-controls-text control-label">Current Compatibility Level</label>
|
||||
<div *ngIf="!existingCompLevel">not available</div>
|
||||
<div *ngIf="existingCompLevel">{{ existingCompLevel }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,379 @@
|
|||
import { Component, Injector, OnDestroy, OnInit } from '@angular/core';
|
||||
import { MyGroup } from '../../../shared/reusablecomponents/forms/my-group.interface';
|
||||
import { Validators } from '@angular/forms';
|
||||
import { formErrorRequiredFields, formErrorWasntSaved, formInfoLoading, formSubmitting, formSuccessAddedInterface,
|
||||
formSuccessUpdatedInterface, invalidCustomBaseUrl, noServiceMessage } from '../../../domain/shared-messages';
|
||||
import { ValidatorService } from '../../../services/validator.service';
|
||||
import { RepositoryService } from '../../../services/repository.service';
|
||||
import { InterfaceInformation, Repository, RepositoryInterface } from '../../../domain/typeScriptClasses';
|
||||
import { baseUrlDesc, compatibilityLevelDesc, customValSetDesc, Description, existingValSetDesc } from '../../../domain/oa-description';
|
||||
|
||||
@Component ({
|
||||
selector: 'datasource-interface-form',
|
||||
templateUrl: './datasource-interface-form.component.html'
|
||||
})
|
||||
|
||||
export class DatasourceInterfaceFormComponent extends MyGroup implements OnDestroy, OnInit {
|
||||
|
||||
loadingMessage: string;
|
||||
successMessage: string;
|
||||
errorMessage: string;
|
||||
|
||||
currentRepository: Repository;
|
||||
oldInterface: boolean;
|
||||
|
||||
identifiedBaseUrl: boolean;
|
||||
existingValSet: boolean;
|
||||
interfaceInfo: InterfaceInformation;
|
||||
currentInterface: RepositoryInterface;
|
||||
valsetList: string[] = [];
|
||||
|
||||
existingCompLevel: string;
|
||||
compClasses: Map<string, string> = new Map<string, string>();
|
||||
classCodes: string[] = [];
|
||||
|
||||
readonly groupDefinition = {
|
||||
baseUrl: ['', Validators.required],
|
||||
selectValidationSet: [''],
|
||||
customValidationSet: [''],
|
||||
compatibilityLevel: ['']
|
||||
};
|
||||
baseUrlDesc: Description = baseUrlDesc;
|
||||
existingValSetDesc: Description = existingValSetDesc;
|
||||
customValSetDesc: Description = customValSetDesc;
|
||||
compatibilityLevelDesc: Description = compatibilityLevelDesc;
|
||||
|
||||
constructor(injector: Injector,
|
||||
private valService: ValidatorService,
|
||||
private repoService: RepositoryService){
|
||||
super(injector);
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.currentRepository = <Repository>this.otherData;
|
||||
console.log(`other data is: ${JSON.stringify(this.otherData, null, 2)}`);
|
||||
if (this.data && this.data.length) {
|
||||
this.currentInterface = this.data[0];
|
||||
this.patchData.next({
|
||||
baseUrl: this.data[0].baseUrl,
|
||||
selectValidationSet: '',
|
||||
customValidationSet: '',
|
||||
compatibilityLevel: this.data[0].desiredCompatibilityLevel
|
||||
});
|
||||
this.getInterfaceInfo(this.data[0].baseUrl);
|
||||
this.data.splice(0, 1);
|
||||
this.oldInterface = true;
|
||||
console.log(`received an interface!`);
|
||||
/*if (this.interfaceInfo && this.interfaceInfo.identified &&
|
||||
this.currentInterface.desiredCompatibilityLevel) {
|
||||
this.wasSaved = true;
|
||||
}*/
|
||||
}
|
||||
|
||||
/* initializes MyGroup parent component and the FormGroup */
|
||||
super.ngOnInit();
|
||||
console.log(this.group, this.parentGroup);
|
||||
this.getCompatibilityClasses();
|
||||
|
||||
/* NOT ANYMORE
|
||||
if (this.currentInterface) {
|
||||
this.getMyControl('baseUrl').disable();
|
||||
}
|
||||
*/
|
||||
this.existingValSet = true;
|
||||
this.getMyControl('customValidationSet').disable();
|
||||
}
|
||||
|
||||
chooseValSet(existingValSet: boolean) {
|
||||
if (existingValSet) {
|
||||
this.existingValSet = true;
|
||||
this.getMyControl('selectValidationSet').enable();
|
||||
this.getMyControl('customValidationSet').disable();
|
||||
} else {
|
||||
this.existingValSet = false;
|
||||
this.getMyControl('selectValidationSet').disable();
|
||||
this.getMyControl('customValidationSet').enable();
|
||||
}
|
||||
this.checkIfValid();
|
||||
}
|
||||
|
||||
getInterfaceInfo(baseUrl: string) {
|
||||
this.successMessage = '';
|
||||
this.errorMessage = '';
|
||||
this.groupErrorMessage = '';
|
||||
if (baseUrl) {
|
||||
this.loadingMessage = formInfoLoading;
|
||||
this.valService.getInterfaceInformation(baseUrl).subscribe(
|
||||
info => {
|
||||
this.interfaceInfo = info;
|
||||
if (this.interfaceInfo.identified) {
|
||||
this.identifiedBaseUrl = true;
|
||||
} else {
|
||||
this.errorMessage = invalidCustomBaseUrl;
|
||||
}
|
||||
if (this.interfaceInfo.sets) {
|
||||
this.valsetList = this.interfaceInfo.sets;
|
||||
console.log(this.valsetList);
|
||||
}
|
||||
},
|
||||
error => {
|
||||
console.log(error);
|
||||
this.loadingMessage = '';
|
||||
this.identifiedBaseUrl = false;
|
||||
this.errorMessage = noServiceMessage;
|
||||
},
|
||||
() => {
|
||||
if (this.interfaceInfo && this.interfaceInfo.identified &&
|
||||
this.currentInterface && this.currentInterface.desiredCompatibilityLevel) {
|
||||
this.wasSaved = true;
|
||||
}
|
||||
if ( this.currentInterface && this.currentInterface.accessParams && this.currentInterface.accessParams['set'] ) {
|
||||
if ( this.valsetList.some( x => x === this.currentInterface.accessParams['set']) ) {
|
||||
this.patchData.next({selectValidationSet: this.currentInterface.accessParams['set']});
|
||||
} else {
|
||||
this.patchData.next({customValidationSet: this.currentInterface.accessParams['set']});
|
||||
this.getMyControl('selectValidationSet').enable();
|
||||
this.getMyControl('customValidationSet').disable();
|
||||
}
|
||||
}
|
||||
this.loadingMessage = '';
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
getCompatibilityClasses() {
|
||||
this.repoService.getCompatibilityClasses(this.currentRepository.datasourceType).subscribe(
|
||||
classes => {
|
||||
this.compClasses = classes;
|
||||
for (const key in this.compClasses) {
|
||||
this.classCodes.push(key);
|
||||
}
|
||||
},
|
||||
error => {
|
||||
this.errorMessage = noServiceMessage;
|
||||
console.log(error);
|
||||
},
|
||||
() => {
|
||||
if (this.currentInterface) {
|
||||
console.log(`accessParams is ${JSON.stringify(this.currentInterface.accessParams)}`);
|
||||
if ( !this.currentInterface.desiredCompatibilityLevel ||
|
||||
!this.classCodes.some( x => x === this.currentInterface.desiredCompatibilityLevel ) ) {
|
||||
this.patchData.next({compatibilityLevel: ''});
|
||||
this.existingCompLevel = this.currentInterface.desiredCompatibilityLevel;
|
||||
} else {
|
||||
this.existingCompLevel = this.compClasses[this.currentInterface.desiredCompatibilityLevel];
|
||||
}
|
||||
if (this.group.valid ) {
|
||||
this.exportedData = this.currentInterface;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
saveInterface() {
|
||||
this.groupErrorMessage = '';
|
||||
this.errorMessage = '';
|
||||
this.successMessage = '';
|
||||
|
||||
// if decided that valset is required add && this.checkIfValsetWasChosen() to the condition
|
||||
if (this.group.valid && this.checkIfCompatibilityLevelWasChosen() ) {
|
||||
if (this.identifiedBaseUrl) {
|
||||
const baseUrl = this.getMyControl('baseUrl').value;
|
||||
let valset = '';
|
||||
if (this.getMyControl('selectValidationSet').enabled) {
|
||||
valset = this.getMyControl('selectValidationSet').value;
|
||||
} else {
|
||||
valset = this.getMyControl('customValidationSet').value;
|
||||
}
|
||||
let compLvl = '';
|
||||
if (this.getMyControl('compatibilityLevel').value) {
|
||||
compLvl = this.getMyControl('compatibilityLevel').value;
|
||||
} else {
|
||||
compLvl = this.existingCompLevel;
|
||||
}
|
||||
|
||||
|
||||
if (this.currentInterface) {
|
||||
this.updateCurrent(baseUrl, valset, compLvl);
|
||||
} else {
|
||||
this.addCurrent(baseUrl, valset, compLvl);
|
||||
}
|
||||
} else {
|
||||
this.errorMessage = invalidCustomBaseUrl;
|
||||
}
|
||||
} else {
|
||||
this.errorMessage = formErrorRequiredFields;
|
||||
this.successMessage = '';
|
||||
}
|
||||
}
|
||||
|
||||
checkIfValsetWasChosen() {
|
||||
return ( ( this.getMyControl('selectValidationSet').enabled &&
|
||||
this.getMyControl('selectValidationSet').value !== '' ) ||
|
||||
( this.getMyControl('customValidationSet').enabled &&
|
||||
this.getMyControl('customValidationSet').value !== '' ) );
|
||||
}
|
||||
|
||||
checkIfCompatibilityLevelWasChosen() {
|
||||
return ( (this.getMyControl('compatibilityLevel').value !== '') ||
|
||||
(this.existingCompLevel && (this.existingCompLevel !== '')) );
|
||||
}
|
||||
|
||||
checkIfValid() {
|
||||
if (this.inRegister) {
|
||||
// if decided that valset is required add && this.checkIfValsetWasChosen() to the condition
|
||||
if ( this.group.valid && this.checkIfCompatibilityLevelWasChosen() ) {
|
||||
if ( this.identifiedBaseUrl ) {
|
||||
const baseUrl = this.getMyControl('baseUrl').value;
|
||||
|
||||
let valset = '';
|
||||
if (this.getMyControl('selectValidationSet').enabled) {
|
||||
valset = this.getMyControl('selectValidationSet').value;
|
||||
} else {
|
||||
valset = this.getMyControl('customValidationSet').value;
|
||||
}
|
||||
|
||||
let compLvl = '';
|
||||
if (this.getMyControl('compatibilityLevel').value) {
|
||||
this.existingCompLevel = this.compClasses[this.getMyControl('compatibilityLevel').value];
|
||||
console.log('this.existingCompLevel is', this.existingCompLevel);
|
||||
compLvl = this.getMyControl('compatibilityLevel').value;
|
||||
} else {
|
||||
compLvl = this.existingCompLevel;
|
||||
}
|
||||
|
||||
if (this.currentInterface) {
|
||||
this.updateCurrent(baseUrl, valset, compLvl);
|
||||
} else {
|
||||
this.addCurrent(baseUrl, valset, compLvl);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.exportedData = null;
|
||||
this.wasSaved = false;
|
||||
this.successMessage = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
updateCurrent (baseUrl: string, valset: string, compLvl: string) {
|
||||
this.successMessage = '';
|
||||
this.errorMessage = '';
|
||||
this.currentInterface.baseUrl = baseUrl;
|
||||
this.currentInterface.accessSet = valset;
|
||||
this.currentInterface.accessParams['set'] = valset;
|
||||
this.currentInterface.desiredCompatibilityLevel = compLvl;
|
||||
this.currentInterface.compliance = compLvl;
|
||||
this.currentInterface.typology = this.currentRepository.datasourceClass;
|
||||
this.exportedData = this.currentInterface;
|
||||
if (!this.inRegister) {
|
||||
this.loadingMessage = formSubmitting;
|
||||
this.updateInterface();
|
||||
} else {
|
||||
this.loadingMessage = '';
|
||||
this.wasSaved = true;
|
||||
this.successMessage = 'The interface will be stored when the registration procedure is completed';
|
||||
}
|
||||
}
|
||||
|
||||
addCurrent (baseUrl: string, valset: string, compLvl: string) {
|
||||
this.errorMessage = '';
|
||||
this.successMessage = '';
|
||||
this.currentInterface = new RepositoryInterface();
|
||||
this.currentInterface.baseUrl = baseUrl;
|
||||
this.currentInterface.accessSet = valset;
|
||||
this.currentInterface.accessParams = {'set': valset};
|
||||
this.currentInterface.desiredCompatibilityLevel = compLvl;
|
||||
this.currentInterface.compliance = compLvl;
|
||||
this.currentInterface.typology = this.currentRepository.datasourceClass;
|
||||
this.exportedData = this.currentInterface;
|
||||
if (!this.inRegister) {
|
||||
this.loadingMessage = formSubmitting;
|
||||
this.addInterface();
|
||||
} else {
|
||||
this.loadingMessage = '';
|
||||
this.wasSaved = true;
|
||||
this.successMessage = 'The interface will be stored when the registration procedure is completed';
|
||||
}
|
||||
}
|
||||
|
||||
addInterface() {
|
||||
this.repoService.addInterface(this.currentRepository.datasourceType,
|
||||
this.currentRepository.id,
|
||||
this.currentRepository.registeredBy,
|
||||
this.currentInterface).subscribe(
|
||||
addedInterface => {
|
||||
console.log(`addInterface responded ${JSON.stringify(addedInterface)}`);
|
||||
this.currentInterface = addedInterface;
|
||||
},
|
||||
error => {
|
||||
console.log(error);
|
||||
this.loadingMessage = '';
|
||||
this.errorMessage = formErrorWasntSaved;
|
||||
this.currentInterface = null;
|
||||
},
|
||||
() => {
|
||||
this.loadingMessage = '';
|
||||
if (this.currentInterface.id) {
|
||||
this.successMessage = formSuccessAddedInterface;
|
||||
this.wasSaved = true;
|
||||
if ( !this.currentInterface.desiredCompatibilityLevel ||
|
||||
!this.classCodes.some( x => x === this.currentInterface.desiredCompatibilityLevel ) ) {
|
||||
this.patchData.next({compatibilityLevel: ''});
|
||||
this.existingCompLevel = this.currentInterface.desiredCompatibilityLevel;
|
||||
} else {
|
||||
this.existingCompLevel = this.compClasses[this.currentInterface.desiredCompatibilityLevel];
|
||||
}
|
||||
} else {
|
||||
this.errorMessage = formErrorWasntSaved;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
updateInterface() {
|
||||
this.repoService.updateInterface(this.currentRepository.id, this.currentRepository.registeredBy, this.currentInterface).subscribe(
|
||||
response => {
|
||||
console.log(`updateRepository responded ${JSON.stringify(response)}`);
|
||||
if (response) {
|
||||
this.successMessage = formSuccessUpdatedInterface;
|
||||
this.wasSaved = true;
|
||||
} else {
|
||||
this.errorMessage = formErrorWasntSaved;
|
||||
}
|
||||
},
|
||||
error => {
|
||||
console.log(error);
|
||||
this.loadingMessage = '';
|
||||
this.errorMessage = formErrorWasntSaved;
|
||||
},
|
||||
() => {
|
||||
this.loadingMessage = '';
|
||||
if ( !this.currentInterface.desiredCompatibilityLevel ||
|
||||
!this.classCodes.some( x => x === this.currentInterface.desiredCompatibilityLevel ) ) {
|
||||
this.patchData.next({compatibilityLevel: ''});
|
||||
this.existingCompLevel = this.currentInterface.desiredCompatibilityLevel;
|
||||
} else {
|
||||
this.existingCompLevel = this.compClasses[this.currentInterface.desiredCompatibilityLevel];
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
if (this.currentInterface && this.currentInterface.id && this.toBeDeleted) {
|
||||
this.repoService.deleteInterface(this.currentInterface.id, this.currentRepository.registeredBy).subscribe(
|
||||
response => console.log(`deleteInterface responded: ${JSON.stringify(response)}`),
|
||||
error => console.log(error),
|
||||
() => console.log(`deleted ${this.currentInterface.id}`)
|
||||
);
|
||||
} else {
|
||||
console.log(`deleting empty interface form`);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -4,8 +4,12 @@ import { baseUrlDesc, compatibilityLevelDesc, customValSetDesc, Description, exi
|
|||
import { InterfaceInformation, RepositoryInterface } from '../../../domain/typeScriptClasses';
|
||||
import { ValidatorService } from '../../../services/validator.service';
|
||||
import { RepositoryService } from '../../../services/repository.service';
|
||||
import { formErrorWasntSaved, formInfoLoading, formSubmitting, formSuccessAddedInterface, formSuccessUpdatedInterface, invalidCustomBaseUrl,
|
||||
nonRemovableInterface, noServiceMessage } from '../../../domain/shared-messages';
|
||||
import {
|
||||
formErrorWasntSaved,
|
||||
formInfoLoading, formSubmitting, formSuccessAddedInterface, formSuccessUpdatedInterface, invalidCustomBaseUrl,
|
||||
nonRemovableInterface,
|
||||
noServiceMessage
|
||||
} from '../../../domain/shared-messages';
|
||||
|
||||
export class RepoFields {
|
||||
id: string;
|
||||
|
@ -171,7 +175,7 @@ export class DatasourceNewInterfaceFormComponent implements OnInit {
|
|||
checkIfValid() {
|
||||
if (this.formIsValid()) {
|
||||
if (this.inRegister) {
|
||||
this.successMessage = 'The interface will be stored when the registration procedure is completed.';
|
||||
this.successMessage = 'The interface will be stored when the registration procedure is completed';
|
||||
this.saveInterface();
|
||||
}
|
||||
} else {
|
||||
|
@ -208,35 +212,9 @@ export class DatasourceNewInterfaceFormComponent implements OnInit {
|
|||
}
|
||||
} else {
|
||||
this.interfaceToExport = null;
|
||||
this.errorMessage = 'Please make sure all required fields are filled with acceptable values.';
|
||||
}
|
||||
}
|
||||
|
||||
getCurrentValues() {
|
||||
let intrf = this.currentInterface;
|
||||
if (intrf == null) {
|
||||
intrf = new RepositoryInterface();
|
||||
}
|
||||
intrf.baseUrl = this.repoInterfaceForm.get('baseUrl').value;
|
||||
if (this.existingValSet) {
|
||||
intrf.accessSet = this.repoInterfaceForm.get('selectValidationSet').value;
|
||||
intrf.accessParams = {'set': this.repoInterfaceForm.get('selectValidationSet').value};
|
||||
} else {
|
||||
intrf.accessSet = this.repoInterfaceForm.get('customValidationSet').value;
|
||||
intrf.accessParams = {'set': this.repoInterfaceForm.get('customValidationSet').value};
|
||||
}
|
||||
if (this.repoInterfaceForm.get('compatibilityLevel').value) {
|
||||
intrf.desiredCompatibilityLevel = this.repoInterfaceForm.get('compatibilityLevel').value;
|
||||
intrf.compliance = this.repoInterfaceForm.get('compatibilityLevel').value;
|
||||
} else {
|
||||
intrf.desiredCompatibilityLevel = this.existingCompLevel;
|
||||
intrf.compliance = this.existingCompLevel;
|
||||
}
|
||||
intrf.typology = this.currentRepo.datasourceClass;
|
||||
|
||||
return intrf;
|
||||
}
|
||||
|
||||
addCurrent (baseUrl: string, valset: string, compLvl: string) {
|
||||
const currentInterface = new RepositoryInterface();
|
||||
currentInterface.baseUrl = baseUrl;
|
||||
|
@ -331,7 +309,7 @@ export class DatasourceNewInterfaceFormComponent implements OnInit {
|
|||
this.errorMessage = '';
|
||||
this.successMessage = '';
|
||||
if (this.interfaceID > 0) {
|
||||
if (this.currentInterface && (this.currentInterface.id !== null) && !this.inRegister) {
|
||||
if (this.currentInterface && (this.currentInterface.id !== null)) {
|
||||
this.repoService.deleteInterface(this.currentInterface.id, this.currentRepo.registeredBy).subscribe(
|
||||
res => console.log(`deleteInterface responded: ${JSON.stringify(res)}`),
|
||||
er => console.log(er),
|
||||
|
|
|
@ -280,15 +280,15 @@ export class DatasourceUpdateFormComponent implements OnInit {
|
|||
} else if (this.updateGroup.get('platformName').value) {
|
||||
this.selectedRepo.typology = this.updateGroup.get('platformName').value;
|
||||
}
|
||||
this.selectedRepo.officialName = this.updateGroup.get('officialName').value.toString();
|
||||
this.selectedRepo.description = this.updateGroup.get('repoDescription').value.toString();
|
||||
this.selectedRepo.officialName = this.updateGroup.get('officialName').value;
|
||||
this.selectedRepo.description = this.updateGroup.get('repoDescription').value;
|
||||
this.selectedRepo.countryCode = this.updateGroup.get('country').value;
|
||||
this.selectedRepo.countryName = this.countries.filter(x => x.code === this.updateGroup.get('country').value)[0].name;
|
||||
this.selectedRepo.longitude = this.updateGroup.get('longtitude').value;
|
||||
this.selectedRepo.latitude = this.updateGroup.get('latitude').value;
|
||||
this.selectedRepo.websiteUrl = this.updateGroup.get('websiteUrl').value;
|
||||
this.selectedRepo.organization = this.updateGroup.get('institutionName').value.toString();
|
||||
this.selectedRepo.englishName = this.updateGroup.get('englishName').value.toString();
|
||||
this.selectedRepo.organization = this.updateGroup.get('institutionName').value;
|
||||
this.selectedRepo.englishName = this.updateGroup.get('englishName').value;
|
||||
this.selectedRepo.logoUrl = this.updateGroup.get('logoUrl').value;
|
||||
this.selectedRepo.timezone = this.updateGroup.get('timezone').value;
|
||||
this.selectedRepo.datasourceClass = this.updateGroup.get('datasourceType').value;
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
<a href="http://v2.sherpa.ac.uk/opendoar/" target="_blank">
|
||||
List provided by
|
||||
<br>
|
||||
OpenDOAR<i class="fa fa-external-link" style="margin-left: 3px !important;"></i>
|
||||
OpenDOAR<i class="fa fa-external-link-alt" style="margin-left: 3px !important;"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -55,7 +55,7 @@
|
|||
<a href="http://www.re3data.org" target="_blank">
|
||||
List provided by
|
||||
<br>
|
||||
Re3data<i class="fa fa-external-link" style="margin-left: 3px !important;"></i>
|
||||
Re3data<i class="fa fa-external-link-alt" style="margin-left: 3px !important;"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -72,9 +72,9 @@
|
|||
Make sure that your Open Access Journal is compatible with the OpenAIRE literature Guidelines.
|
||||
</h3>
|
||||
<div class="el-meta uk-margin uk-text-meta" style="z-index:9999; position:relative;">
|
||||
<a href="https://www.openaire.eu/support/helpdesk" target="_blank">
|
||||
<a href="https://www.openaire.eu/helpdesk/" target="_blank">
|
||||
For any questions please contact the OpenAIRE helpdesk.
|
||||
<i class="fa fa-external-link" style="margin-left: 3px !important;"></i>
|
||||
<i class="fa fa-external-link-alt" style="margin-left: 3px !important;"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -91,9 +91,9 @@
|
|||
Make sure that your publications aggregator is compatible with the OpenAIRE literature Guidelines.
|
||||
</h3>
|
||||
<div class="el-meta uk-margin uk-text-meta" style="z-index:9999; position:relative;">
|
||||
<a href="https://www.openaire.eu/support/helpdesk" target="_blank">
|
||||
<a href="http://www.openaire.eu/helpdesk/" target="_blank">
|
||||
For any questions please contact the OpenAIRE helpdesk.
|
||||
<i class="fa fa-external-link" style="margin-left: 3px !important;"></i>
|
||||
<i class="fa fa-external-link-alt" style="margin-left: 3px !important;"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -87,6 +87,7 @@ export class RegisterDatasourceSelectExistingComponent implements OnInit {
|
|||
}
|
||||
|
||||
getReposInCountry(i: number) {
|
||||
setTimeout( () => {
|
||||
const country = this.countries[i];
|
||||
console.log(`I got ${country} and ${this.mode}`);
|
||||
this.countryRepos = [];
|
||||
|
@ -121,6 +122,7 @@ export class RegisterDatasourceSelectExistingComponent implements OnInit {
|
|||
console.log('this.selectedCountry became', JSON.stringify(this.selectedCountry));
|
||||
}
|
||||
);
|
||||
}, 500);
|
||||
}
|
||||
|
||||
getLatestUpdate() {
|
||||
|
|
|
@ -94,18 +94,15 @@
|
|||
<div>
|
||||
<div class="openAIRECompliantLogo">
|
||||
<h2 class="openAIRECompliantLogoMessage">
|
||||
We successfully received the request to register your repository to the OpenAIRE compliant list of content providers.
|
||||
A validation process against the OpenAIRE guidelines compatibility has been started.
|
||||
You will be informed via email once the process is finished.
|
||||
<!--Congratulations! Your repository was successfully registered in OpenAIRE. You can download this logo to use in your site.-->
|
||||
Congratulations! Your repository was successfully registered in OpenAIRE. You can download this logo to use in your site.
|
||||
</h2>
|
||||
<!--<img src="../../../../assets/imgs/3_0ValidatedLogo.png" alt="OpenAireCompliant">-->
|
||||
<img src="../../../../assets/imgs/3_0ValidatedLogo.png" alt="OpenAireCompliant">
|
||||
</div>
|
||||
</div>
|
||||
<!--<a (click)="downloadLogo()">-->
|
||||
<!--Download-->
|
||||
<!--<i class="fa fa-download" style=""></i>-->
|
||||
<!--</a>-->
|
||||
<a (click)="downloadLogo()">
|
||||
Download
|
||||
<i class="fa fa-download" style=""></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -12,7 +12,6 @@ import { DatasourceNewInterfaceFormComponent } from '../sources-forms/datasource
|
|||
import { from, of } from 'rxjs';
|
||||
import { concatMap } from 'rxjs/operators';
|
||||
import {
|
||||
errorsInInterfaces,
|
||||
formErrorRegisterRepo,
|
||||
formInfoLoading, formInterfacesLoading, loadingInterfacesError, loadingRepoError,
|
||||
noInterfacesSaved
|
||||
|
@ -33,7 +32,6 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
datasourceId: string;
|
||||
repo: Repository;
|
||||
repoInterfaces: RepositoryInterface[] = [];
|
||||
interfacesToDelete: string[] = [];
|
||||
|
||||
/* queryParams are used to follow the steps without refreshing the page
|
||||
* This was needed for Help Service [which sends back info according to the current router.url].
|
||||
|
@ -66,13 +64,8 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
|
||||
ngOnInit() {
|
||||
if (this.datasourceType && this.currentMode) {
|
||||
// will execute getStep() every time there is a change in query params
|
||||
this.route.queryParams.subscribe(
|
||||
params => {
|
||||
this.getStep();
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -82,13 +75,13 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
const stepName = this.route.snapshot.queryParamMap.get('step');
|
||||
if (stepName === 'basicInformation') {
|
||||
if (!this.datasourceId) {
|
||||
this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=selectDatasource`);
|
||||
this.navigateToStep('selectDatasource');
|
||||
} else {
|
||||
this.currentStep = 1;
|
||||
}
|
||||
} else if (stepName === 'interfaces') {
|
||||
if (!this.repo) {
|
||||
this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=selectDatasource`);
|
||||
this.navigateToStep('selectDatasource');
|
||||
} else {
|
||||
this.currentStep = 2;
|
||||
}
|
||||
|
@ -96,34 +89,36 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
this.currentStep = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
navigateToStep(step: string) {
|
||||
this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=${step}`)
|
||||
.then( () => {
|
||||
this.getStep();
|
||||
this.rightHelperContent.ngOnInit();
|
||||
this.topHelperContent.ngOnInit();
|
||||
this.leftHelperContent.ngOnInit();
|
||||
this.bottomHelperContent.ngOnInit();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
moveAStep() {
|
||||
this.errorMessage = '';
|
||||
if (this.currentStep === 0) {
|
||||
if (this.datasourcesByCountry.goToNextStep()) {
|
||||
console.log(`got datasource with id ${this.datasourceId}`);
|
||||
this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=basicInformation`);
|
||||
this.navigateToStep('basicInformation');
|
||||
}
|
||||
} else if (this.currentStep === 1) {
|
||||
this.registerDatasource.updateRepo();
|
||||
} else if (this.currentStep === 2) {
|
||||
of(this.getInterfaces()).subscribe(
|
||||
errors => {
|
||||
if (errors > 0) {
|
||||
this.errorMessage = errorsInInterfaces;
|
||||
window.scrollTo(1, 1);
|
||||
} else {
|
||||
() => {
|
||||
if (this.repoInterfaces.length > 0) {
|
||||
this.registerRepository();
|
||||
} else {
|
||||
this.errorMessage = noInterfacesSaved;
|
||||
window.scrollTo(1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -135,10 +130,10 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
if (this.currentStep === 1) {
|
||||
this.repoInterfaces = [];
|
||||
this.repo = null;
|
||||
this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=selectDatasource`);
|
||||
this.navigateToStep('selectDatasource');
|
||||
} else if (this.currentStep === 2) {
|
||||
of(this.getInterfaces()).subscribe(
|
||||
() => this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=basicInformation`)
|
||||
() => this.navigateToStep('basicInformation')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -157,41 +152,21 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
removeInterfaceFromList(i: number) {
|
||||
const tempArray = this.dataForInterfaceComp;
|
||||
this.dataForInterfaceComp = [];
|
||||
if (tempArray[i] && tempArray[i][3] && tempArray[i][3].id) {
|
||||
this.interfacesToDelete.push(tempArray[i][3].id);
|
||||
}
|
||||
tempArray.splice(i, 1);
|
||||
this.dataForInterfaceComp = tempArray;
|
||||
console.log(JSON.stringify(this.dataForInterfaceComp));
|
||||
}
|
||||
|
||||
getInterfaces() {
|
||||
// this.repoInterfaces = [];
|
||||
let invalidFormsCount = 0;
|
||||
this.repoInterfaces = [];
|
||||
for (const el of this.interfacesArray.toArray()) {
|
||||
const intrf = el.getInterface();
|
||||
if (intrf) {
|
||||
if (intrf.id && this.repoInterfaces.some(intr => intr.id === intrf.id)) {
|
||||
const i = this.repoInterfaces.findIndex( intr => intr.id === intrf.id );
|
||||
this.repoInterfaces[i] = intrf;
|
||||
} else {
|
||||
this.repoInterfaces.push(intrf);
|
||||
}
|
||||
console.log(JSON.stringify(intrf));
|
||||
} else {
|
||||
invalidFormsCount = invalidFormsCount + 1;
|
||||
const repo_interface = el.getCurrentValues();
|
||||
if (repo_interface.id && this.repoInterfaces.some(intr => intr.id === repo_interface.id)) {
|
||||
const i = this.repoInterfaces.findIndex( intr => intr.id === repo_interface.id );
|
||||
this.repoInterfaces[i] = repo_interface;
|
||||
} else {
|
||||
this.repoInterfaces.push(repo_interface);
|
||||
}
|
||||
console.log(JSON.stringify(repo_interface));
|
||||
}
|
||||
}
|
||||
console.log('new interfaces is ', this.repoInterfaces);
|
||||
return invalidFormsCount;
|
||||
}
|
||||
|
||||
fillInterfacesForms() {
|
||||
|
@ -256,7 +231,7 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
this.getRepoInterfaces();
|
||||
} else {
|
||||
of(this.fillInterfacesForms()).subscribe(
|
||||
() => this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=interfaces`)
|
||||
() => this.navigateToStep('interfaces')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -281,12 +256,11 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
console.log(error);
|
||||
this.errorMessage = loadingInterfacesError;
|
||||
this.loadingMessage = '';
|
||||
window.scrollTo(1, 1);
|
||||
},
|
||||
() => {
|
||||
this.loadingMessage = '';
|
||||
of(this.fillInterfacesForms()).subscribe(
|
||||
() => this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=interfaces`)
|
||||
() => this.navigateToStep('interfaces')
|
||||
);
|
||||
}
|
||||
);
|
||||
|
@ -296,6 +270,27 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
window.open('../../../../assets/imgs/3_0ValidatedLogo.png', '_blank', 'enabledstatus=0,toolbar=0,menubar=0,location=0');
|
||||
}
|
||||
|
||||
// updateRepository() {
|
||||
// if (this.repo) {
|
||||
// this.loadingMessage = 'Saving changes';
|
||||
// this.errorMessage = '';
|
||||
// this.repoService.updateRepository(this.repo).subscribe(
|
||||
// response => {
|
||||
// console.log(`updateRepository responded: ${response.id}, ${response.registeredBy}`);
|
||||
// this.repo = response;
|
||||
// },
|
||||
// error => {
|
||||
// console.log(error);
|
||||
// this.loadingMessage = '';
|
||||
// this.errorMessage = formErrorRegisterRepo;
|
||||
// },
|
||||
// () => {
|
||||
// this.saveNewInterfaces();
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
|
||||
registerRepository() {
|
||||
if (this.repo) {
|
||||
this.loadingMessage = 'Saving changes';
|
||||
|
@ -309,7 +304,6 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
console.log(error);
|
||||
this.loadingMessage = '';
|
||||
this.errorMessage = formErrorRegisterRepo;
|
||||
window.scrollTo(1, 1);
|
||||
},
|
||||
() => {
|
||||
this.saveNewInterfaces();
|
||||
|
@ -323,13 +317,7 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
from(this.repoInterfaces).pipe(
|
||||
concatMap(intrf => {
|
||||
if (intrf.id) {
|
||||
let req;
|
||||
if (this.interfacesToDelete.some(id => id === intrf.id)) {
|
||||
req = this.repoService.deleteInterface(intrf.id, this.repo.registeredBy);
|
||||
} else {
|
||||
req = this.repoService.updateInterface(this.repo.id, this.repo.registeredBy, intrf);
|
||||
}
|
||||
return req;
|
||||
return this.repoService.updateInterface(this.repo.id, this.repo.registeredBy, intrf);
|
||||
} else {
|
||||
return this.repoService.addInterface(this.repo.datasourceType, this.repo.id, this.repo.registeredBy, intrf);
|
||||
}
|
||||
|
@ -340,14 +328,10 @@ export class RegisterExistingDatasourceComponent implements OnInit {
|
|||
console.log(er);
|
||||
this.loadingMessage = '';
|
||||
this.errorMessage = 'Not all changes were saved. Please try again';
|
||||
window.scrollTo(1, 1);
|
||||
},
|
||||
() => {
|
||||
this.loadingMessage = '';
|
||||
this.datasourceId = null;
|
||||
this.repo = null;
|
||||
this.repoInterfaces = [];
|
||||
this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=finish`);
|
||||
this.navigateToStep('finish');
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -83,18 +83,15 @@
|
|||
<div>
|
||||
<div class="openAIRECompliantLogo">
|
||||
<h2 class="openAIRECompliantLogoMessage">
|
||||
We successfully received the request to register your repository to the OpenAIRE compliant list of content providers.
|
||||
A validation process against the OpenAIRE guidelines compatibility has been started.
|
||||
You will be informed via email once the process is finished.
|
||||
<!--Congratulations! Your repository was successfully registered in OpenAIRE. You can download this logo to use in your site.-->
|
||||
Congratulations! Your repository was successfully registered in OpenAIRE. You can download this logo to use in your site.
|
||||
</h2>
|
||||
<!--<img src="../../../../assets/imgs/3_0ValidatedLogo.png" alt="OpenAireCompliant">-->
|
||||
<img src="../../../../assets/imgs/3_0ValidatedLogo.png" alt="OpenAireCompliant">
|
||||
</div>
|
||||
</div>
|
||||
<!--<a (click)="downloadLogo()">-->
|
||||
<!--Download-->
|
||||
<!--<i class="fa fa-download" style=""></i>-->
|
||||
<!--</a>-->
|
||||
<a (click)="downloadLogo()">
|
||||
Download
|
||||
<i class="fa fa-download" style=""></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -8,7 +8,7 @@ import { DatasourceCreateFormComponent } from '../sources-forms/datasource-creat
|
|||
import { DatasourceNewInterfaceFormComponent } from '../sources-forms/datasource-new-interface-form.component';
|
||||
import { from, of } from 'rxjs';
|
||||
import { concatMap } from 'rxjs/operators';
|
||||
import { errorsInInterfaces, formErrorRegisterRepo, noInterfacesSaved } from '../../../domain/shared-messages';
|
||||
import { formErrorRegisterRepo, noInterfacesSaved } from '../../../domain/shared-messages';
|
||||
|
||||
@Component({
|
||||
selector: 'app-register-new-datasource',
|
||||
|
@ -21,7 +21,6 @@ export class RegisterNewDatasourceComponent implements OnInit {
|
|||
datasourceType: string;
|
||||
repo: Repository = null;
|
||||
repoInterfaces: RepositoryInterface[] = [];
|
||||
interfacesToDelete: string[] = [];
|
||||
|
||||
/* queryParams are used to follow the steps without refreshing the page
|
||||
* This was needed for Help Service [which sends back info according to the current router.url].
|
||||
|
@ -51,14 +50,8 @@ export class RegisterNewDatasourceComponent implements OnInit {
|
|||
|
||||
ngOnInit() {
|
||||
if (this.datasourceType) {
|
||||
|
||||
// will execute getStep() every time there is a change in query params
|
||||
this.route.queryParams.subscribe(
|
||||
params => {
|
||||
this.getStep();
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -70,7 +63,7 @@ export class RegisterNewDatasourceComponent implements OnInit {
|
|||
this.currentStep = 1;
|
||||
} else if (stepName === 'interfaces') {
|
||||
if (!this.repo) {
|
||||
this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=basicInformation`);
|
||||
this.navigateToStep('basicInformation');
|
||||
} else {
|
||||
this.currentStep = 2;
|
||||
}
|
||||
|
@ -78,11 +71,19 @@ export class RegisterNewDatasourceComponent implements OnInit {
|
|||
this.currentStep = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
navigateToStep(step: string) {
|
||||
this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=${step}`)
|
||||
.then( () => {
|
||||
this.getStep();
|
||||
this.rightHelperContent.ngOnInit();
|
||||
this.topHelperContent.ngOnInit();
|
||||
this.leftHelperContent.ngOnInit();
|
||||
this.bottomHelperContent.ngOnInit();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
moveAStep() {
|
||||
this.errorMessage = '';
|
||||
|
@ -90,17 +91,11 @@ export class RegisterNewDatasourceComponent implements OnInit {
|
|||
this.registerDatasource.registerDatasource();
|
||||
} else if (this.currentStep === 2) {
|
||||
of(this.getInterfaces()).subscribe(
|
||||
errors => {
|
||||
if (errors > 0) {
|
||||
this.errorMessage = errorsInInterfaces;
|
||||
window.scrollTo(1, 1);
|
||||
} else {
|
||||
() => {
|
||||
if (this.repoInterfaces.length > 0) {
|
||||
this.addRepository();
|
||||
} else {
|
||||
this.errorMessage = noInterfacesSaved;
|
||||
window.scrollTo(1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -111,7 +106,7 @@ export class RegisterNewDatasourceComponent implements OnInit {
|
|||
this.errorMessage = '';
|
||||
if (this.currentStep === 2) {
|
||||
of(this.getInterfaces()).subscribe(
|
||||
() => this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=basicInformation`)
|
||||
() => this.navigateToStep('basicInformation')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -137,21 +132,13 @@ export class RegisterNewDatasourceComponent implements OnInit {
|
|||
|
||||
getInterfaces() {
|
||||
this.repoInterfaces = [];
|
||||
let invalidFormsCount = 0;
|
||||
for (const el of this.interfacesArray.toArray()) {
|
||||
const intrf = el.getInterface();
|
||||
if (intrf) {
|
||||
this.repoInterfaces.push(intrf);
|
||||
console.log(JSON.stringify(intrf));
|
||||
} else {
|
||||
invalidFormsCount = invalidFormsCount + 1;
|
||||
const repo_interface = el.getCurrentValues();
|
||||
this.repoInterfaces.push(repo_interface);
|
||||
console.log(JSON.stringify(repo_interface));
|
||||
}
|
||||
}
|
||||
console.log('new interfaces is ', this.repoInterfaces);
|
||||
return invalidFormsCount;
|
||||
}
|
||||
|
||||
fillInterfacesForms() {
|
||||
|
@ -183,7 +170,7 @@ export class RegisterNewDatasourceComponent implements OnInit {
|
|||
getCurrentRepo(repo: Repository) {
|
||||
this.repo = repo;
|
||||
of (this.fillInterfacesForms()).subscribe(
|
||||
() => this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=interfaces`)
|
||||
() => this.navigateToStep('interfaces')
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -231,9 +218,7 @@ export class RegisterNewDatasourceComponent implements OnInit {
|
|||
},
|
||||
() => {
|
||||
this.loadingMessage = '';
|
||||
this.repo = null;
|
||||
this.repoInterfaces = [];
|
||||
this.router.navigateByUrl(`/sources/register/${this.datasourceType}?step=finish`);
|
||||
this.navigateToStep('finish');
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import { Component, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
||||
import { Component, OnInit, QueryList, Type, ViewChild, ViewChildren } from '@angular/core';
|
||||
import { FormBuilder, FormGroup } from '@angular/forms';
|
||||
import { DatasourceInterfaceFormComponent } from './sources-forms/datasource-interface-form.component';
|
||||
import { Repository, RepositoryInterface } from '../../domain/typeScriptClasses';
|
||||
import { RepositoryService } from '../../services/repository.service';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { Description, interfaceFormDesc, } from '../../domain/oa-description';
|
||||
import { formInfoLoading, loadingRepoError } from '../../domain/shared-messages';
|
||||
import { DatasourceUpdateFormComponent } from './sources-forms/datasource-update-form.component';
|
||||
import { ConfirmationDialogComponent } from '../../shared/reusablecomponents/confirmation-dialog.component';
|
||||
|
@ -26,6 +28,8 @@ export class SourcesUpdateRepoComponent implements OnInit {
|
|||
@ViewChild('datasourceUpdateForm') datasourceUpdateForm: DatasourceUpdateFormComponent;
|
||||
|
||||
group: FormGroup;
|
||||
interfaceFormDesc: Description = interfaceFormDesc;
|
||||
updateDatasourceInterfaces: Type<any> = DatasourceInterfaceFormComponent;
|
||||
|
||||
@ViewChildren('interfacesArray') interfacesArray: QueryList<DatasourceNewInterfaceFormComponent>;
|
||||
dataForInterfaceComp: any[] = [];
|
||||
|
|
|
@ -18,10 +18,8 @@
|
|||
<!-- MIDDLE -->
|
||||
<div class=" uk-width-expand@m">
|
||||
|
||||
<repository-tiles #repositoryTiles [parent]="'sourcesUpdate'"
|
||||
(emitNoRepos)="setNoRepositories($event)"></repository-tiles>
|
||||
|
||||
<div *ngIf="!noRepositories" class="row openAIRECompliantLogoDownload">
|
||||
<repository-tiles [parent]="'sourcesUpdate'"></repository-tiles>
|
||||
<div class="row openAIRECompliantLogoDownload">
|
||||
<div class="col-lg-12">
|
||||
<div class="col-md-12">
|
||||
<div>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { RepositoryTilesComponent } from '../../shared/reusablecomponents/repository-tiles.component';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component ({
|
||||
selector: 'app-sources-update',
|
||||
|
@ -8,17 +7,10 @@ import { RepositoryTilesComponent } from '../../shared/reusablecomponents/reposi
|
|||
|
||||
export class SourcesUpdateComponent implements OnInit {
|
||||
|
||||
@ViewChild('repositoryTiles') repositoryTiles: RepositoryTilesComponent;
|
||||
noRepositories: boolean;
|
||||
|
||||
constructor() {}
|
||||
|
||||
ngOnInit() {}
|
||||
|
||||
setNoRepositories(norepos: boolean) {
|
||||
this.noRepositories = norepos;
|
||||
}
|
||||
|
||||
downloadLogo() {
|
||||
window.open('../../../assets/imgs/OpenAIRE_validated_icon_medium.png', '_blank', 'enabledstatus=0,toolbar=0,menubar=0,location=0');
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ import { ReusableComponentsModule } from '../../shared/reusablecomponents/reusab
|
|||
import { SourcesUpdateRepoComponent } from './sources-update-repo.component';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { RepoFilter } from './sourcesPipes';
|
||||
import { DatasourceInterfaceFormComponent } from './sources-forms/datasource-interface-form.component';
|
||||
import { DatasourceNewInterfaceFormComponent } from './sources-forms/datasource-new-interface-form.component';
|
||||
import { SrDataComponent } from './sources-register/sr-data.component';
|
||||
import { RegisterDatasourceSelectExistingComponent } from './sources-register/register-datasource-select-existing.component';
|
||||
|
@ -33,6 +34,9 @@ import { RegisterExistingDatasourceComponent } from './sources-register/register
|
|||
SourcesRouting,
|
||||
ReusableComponentsModule
|
||||
],
|
||||
entryComponents : [
|
||||
DatasourceInterfaceFormComponent
|
||||
],
|
||||
declarations: [
|
||||
SourcesComponent,
|
||||
SourcesRegisterComponent,
|
||||
|
@ -47,6 +51,7 @@ import { RegisterExistingDatasourceComponent } from './sources-register/register
|
|||
RegisterDatasourceSelectExistingComponent,
|
||||
DatasourceUpdateFormComponent,
|
||||
DatasourceCreateFormComponent,
|
||||
DatasourceInterfaceFormComponent,
|
||||
DatasourceNewInterfaceFormComponent,
|
||||
RepoFilter // a pipe that searches for string in repository name
|
||||
]
|
||||
|
|
|
@ -140,8 +140,10 @@ export class AuthenticationService {
|
|||
|
||||
public getUserEmail() {
|
||||
if (this.isLoggedIn) {
|
||||
console.log('bommin');
|
||||
return sessionStorage.getItem('email');
|
||||
} else {
|
||||
console.log('bommout');
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,8 @@ import { typologies } from '../domain/typologies';
|
|||
|
||||
const headerOptions = {
|
||||
headers : new HttpHeaders().set('Content-Type', 'application/json')
|
||||
.set('Accept', 'application/json'),
|
||||
.set('Accept', 'application/json; charset=utf-8')
|
||||
.set('Accept-Charset', 'charset=utf-8'),
|
||||
withCredentials: true
|
||||
};
|
||||
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
/*#footer#3 {*/
|
||||
/*margin-right: 280px;*/
|
||||
/*}*/
|
||||
|
||||
/*#footer#9 a, #footer#11 a, #footer#13 a {*/
|
||||
/*color: #dedede;*/
|
||||
/*line-height: 22px;*/
|
||||
/*padding: 2px 0;*/
|
||||
/*}*/
|
||||
|
||||
#footer\#9 a, #footer\#11 a, #footer\#13 a {
|
||||
color: #dedede;
|
||||
line-height: 22px;
|
||||
padding: 2px 0;
|
||||
}
|
||||
|
||||
#footer\#9 a:hover,#footer\#11 a:hover, #footer\#13 a:hover {
|
||||
color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
@media all and (min-width: 640px) {
|
||||
#footer\#3 {
|
||||
margin-right: 280px;
|
||||
}
|
||||
}
|
||||
|
||||
#footer\#7 a {
|
||||
color: rgba(255, 255, 255, 0.7) !important;
|
||||
text-align: left;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
|
||||
.uk-block-secondary {
|
||||
background: #003D8C none repeat scroll 0 0;
|
||||
}
|
||||
|
||||
.uk-block-secondary:not(.tm-block-texture) {
|
||||
border-color: #003D8C;
|
||||
}
|
||||
|
||||
.tm-bottom-d {
|
||||
color: #ffffff;
|
||||
font-size: 10px;
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.newsletter .uk-icon {
|
||||
padding-left: 0px;
|
||||
padding-bottom: 0px;
|
||||
}
|
|
@ -6,36 +6,28 @@
|
|||
<div class="uk-margin-small uk-margin-remove-top uk-text-left@s uk-text-center">
|
||||
<img src="../../../assets/imgs/Logo_Horizontal_white_small-74927fe1.png" data-width="126" data-height="30" class="el-image" alt="OpenAIRE">
|
||||
</div>
|
||||
<!--div id="footer#5" class="uk-margin uk-text-left@s uk-text-center">
|
||||
<img src="assets/commission.jpg" sizes="(min-width: 50px) 50px" data-width="427" data-height="285" class="el-image" alt="European Commission">
|
||||
</div-->
|
||||
<div class="uk-margin"><img style="margin-right: 8px; float: left;" src="../../../assets/imgs/commission.jpg" alt="flag black white low" width="50" height="33"><span style="font-size: 8pt; line-height: 0.7!important;">OpenAIRE-Advance receives funding from the European Union's Horizon 2020 Research and Innovation programme under Grant Agreement No. 777541.</span></div>
|
||||
<div id="footer#5" class="uk-margin uk-text-left@s uk-text-center">
|
||||
<img src="../../../assets/imgs/commission.jpg" sizes="(min-width: 50px) 50px" data-width="427" data-height="285" class="el-image" alt="European Commission">
|
||||
</div>
|
||||
<div id="footer#6" class="newsletter uk-margin uk-margin-remove-bottom uk-text-left@s uk-text-center uk-panel">
|
||||
|
||||
|
||||
<div class="uk-child-width-expand uk-grid-small uk-grid" uk-grid="">
|
||||
<div class="uk-width-auto@m uk-first-column"><a class="el-link" href="/newsletter/listing">
|
||||
<span class="el-image uk-icon" uk-icon="icon: rss; ratio: 1;">
|
||||
<!--<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> <circle cx="3.12" cy="16.8" r="1.85"></circle> <path fill="none" stroke="#000" stroke-width="1.1" d="M1.5,8.2 C1.78,8.18 2.06,8.16 2.35,8.16 C7.57,8.16 11.81,12.37 11.81,17.57 C11.81,17.89 11.79,18.19 11.76,18.5"></path> <path fill="none" stroke="#000" stroke-width="1.1" d="M1.5,2.52 C1.78,2.51 2.06,2.5 2.35,2.5 C10.72,2.5 17.5,9.24 17.5,17.57 C17.5,17.89 17.49,18.19 17.47,18.5"></path></svg>-->
|
||||
</span></a></div> <div>
|
||||
|
||||
|
||||
|
||||
<h5 class="el-title uk-margin uk-h5"> Newsletter </h5>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<h5 class="el-title uk-margin uk-h5">
|
||||
Newsletter
|
||||
</h5>
|
||||
<a target="_blank" href="https://www.openaire.eu/newsletter/view" class="el-link">
|
||||
<span class="el-image uk-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="3.12" cy="16.8" r="1.85"></circle>
|
||||
<path fill="none" stroke="#000" stroke-width="1.1" d="M1.5,8.2 C1.78,8.18 2.06,8.16 2.35,8.16 C7.57,8.16 11.81,12.37 11.81,17.57 C11.81,17.89 11.79,18.19 11.76,18.5"></path>
|
||||
<path fill="none" stroke="#000" stroke-width="1.1" d="M1.5,2.52 C1.78,2.51 2.06,2.5 2.35,2.5 C10.72,2.5 17.5,9.24 17.5,17.57 C17.5,17.89 17.49,18.19 17.47,18.5"></path>
|
||||
</svg>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<div id="footer#7" class="newsletter uk-margin-small uk-margin-remove-top uk-text-left@s uk-text-center uk-panel">
|
||||
|
||||
<div class="acymailing_module" id="acymailing_module_formAcymailing60611">
|
||||
<div class="acymailing_mootoolsbutton" id="acymailing_toggle_formAcymailing60611">
|
||||
<p><a class="acymailing_togglemodule" id="acymailing_togglemodule_formAcymailing60611" target="_blank" href="https://www.openaire.eu/past-newsletters/listing">Subscribe</a></p>
|
||||
<p><a class="acymailing_togglemodule" id="acymailing_togglemodule_formAcymailing60611" target="_blank" href="https://www.openaire.eu/#subscribe">Subscribe</a></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -56,7 +48,7 @@
|
|||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
<div class="">
|
||||
<div>
|
||||
<a href="http://www.linkedin.com/groups/OpenAIRE-3893548" target="_blank" class="el-link uk-icon-button uk-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.77,17.89 L5.77,7.17 L2.21,7.17 L2.21,17.89 L5.77,17.89 L5.77,17.89 Z M3.99,5.71 C5.23,5.71 6.01,4.89 6.01,3.86 C5.99,2.8 5.24,2 4.02,2 C2.8,2 2,2.8 2,3.85 C2,4.88 2.77,5.7 3.97,5.7 L3.99,5.7 L3.99,5.71 L3.99,5.71 Z"></path>
|
||||
|
@ -64,7 +56,7 @@
|
|||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
<div class="">
|
||||
<div>
|
||||
<a href="http://www.slideshare.net/OpenAIRE_eu" target="_blank" class="el-link uk-icon-button uk-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<line fill="none" stroke="#000" stroke-width="1.1" x1="13.4" y1="14" x2="6.3" y2="10.7"></line>
|
||||
|
@ -75,7 +67,7 @@
|
|||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
<div class="">
|
||||
<div>
|
||||
<a href="https://www.youtube.com/channel/UChFYqizc-S6asNjQSoWuwjw" target="_blank" class="el-link uk-icon-button uk-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15,4.1c1,0.1,2.3,0,3,0.8c0.8,0.8,0.9,2.1,0.9,3.1C19,9.2,19,10.9,19,12c-0.1,1.1,0,2.4-0.5,3.4c-0.5,1.1-1.4,1.5-2.5,1.6 c-1.2,0.1-8.6,0.1-11,0c-1.1-0.1-2.4-0.1-3.2-1c-0.7-0.8-0.7-2-0.8-3C1,11.8,1,10.1,1,8.9c0-1.1,0-2.4,0.5-3.4C2,4.5,3,4.3,4.1,4.2 C5.3,4.1,12.6,4,15,4.1z M8,7.5v6l5.5-3L8,7.5z"></path>
|
||||
|
@ -101,7 +93,6 @@
|
|||
<div id="footer#12" class="uk-width-medium uk-text-left@s uk-text-center uk-panel">
|
||||
<h3 class="el-title uk-h6">Support</h3>
|
||||
<ul class="uk-nav uk-nav-default uk-nav-parent-icon uk-nav-accordion" uk-nav="">
|
||||
<li><a href="https://www.openaire.eu/contact-noads">NOADs</a></li>
|
||||
<li><a target="_blank" href="https://www.openaire.eu/guides">Guides</a></li>
|
||||
<li><a target="_blank" href="https://www.openaire.eu/faqs">FAQs</a></li>
|
||||
<li><a target="_blank" href="https://www.openaire.eu/frontpage/webinars">Webinars</a></li>
|
||||
|
@ -116,7 +107,6 @@
|
|||
<li><a target="_blank" href="https://www.openaire.eu/news/">News</a></li>
|
||||
<li><a target="_blank" href="https://www.openaire.eu/events">Events</a></li>
|
||||
<li><a target="_blank" href="https://www.openaire.eu/blogs/magazine">Blogs</a></li>
|
||||
<li><a href="https://www.openaire.eu/newsletter/listing">Newsletters</a></li>
|
||||
<li><a target="_blank" href="https://www.openaire.eu/documents">Documents</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -141,7 +131,7 @@
|
|||
<div class="uk-width-expand@m">
|
||||
<div id="footer#22" class=" uk-text-small uk-margin uk-margin-remove-bottom uk-text-center@m uk-text-center uk-text-lead">
|
||||
<a href="http://creativecommons.org/licenses/by/4.0/" rel="license">
|
||||
<img src="/images/Icons/cc.svg" uk-svg="" hidden="true">
|
||||
<!--<img src="/images/Icons/cc.svg" uk-svg="" hidden="true">-->
|
||||
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="24" class=" uk-svg">
|
||||
<title></title>
|
||||
<g data-name="Creative Commons" id="Creative_Commons">
|
||||
|
@ -150,7 +140,7 @@
|
|||
<path d="M18.87,10a3.5,3.5,0,1,0,0,4" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></path>
|
||||
</g>
|
||||
</svg>
|
||||
<img src="/images/Icons/cc-by.svg" uk-svg="" hidden="true">
|
||||
<!--<img src="/images/Icons/cc-by.svg" uk-svg="" hidden="true">-->
|
||||
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="24" class=" uk-svg">
|
||||
<title></title>
|
||||
<g id="Attribution">
|
||||
|
@ -168,7 +158,7 @@
|
|||
<div class="uk-width-small@m">
|
||||
<div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-right@m uk-text-center">
|
||||
<a href="#" uk-totop="" uk-scroll="" class="uk-totop uk-icon">
|
||||
<!--<svg width="18" height="10" viewBox="0 0 18 10" xmlns="http://www.w3.org/2000/svg" icon="totop" ratio="1"><polyline fill="none" stroke="#000" stroke-width="1.2" points="1 9 9 1 17 9 "></polyline></svg>-->
|
||||
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,6 @@ import { Component, OnInit } from '@angular/core';
|
|||
@Component({
|
||||
selector: 'footer',
|
||||
templateUrl: './footer.component.html',
|
||||
styleUrls: ["./footer.component.css"]
|
||||
})
|
||||
|
||||
export class FooterComponent implements OnInit {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { Repository } from '../../domain/typeScriptClasses';
|
||||
import { RepositoryService } from '../../services/repository.service';
|
||||
import { AuthenticationService } from '../../services/authentication.service';
|
||||
|
@ -17,7 +17,6 @@ export class RepositoryTilesComponent implements OnInit {
|
|||
loadingMessage: string;
|
||||
|
||||
@Input() parent: string = '';
|
||||
@Output() emitNoRepos: EventEmitter<boolean> = new EventEmitter<boolean>();
|
||||
|
||||
constructor(private authService: AuthenticationService,
|
||||
private repoService: RepositoryService) {}
|
||||
|
@ -49,7 +48,6 @@ export class RepositoryTilesComponent implements OnInit {
|
|||
this.loadingMessage = '';
|
||||
if (!this.reposOfUser || !this.reposOfUser.length) {
|
||||
this.warningMessage = loadingUserRepoInfoEmpty;
|
||||
this.emitNoRepos.emit(true);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
|
@ -421,7 +421,7 @@ body {
|
|||
font-weight: normal;
|
||||
line-height: 30px;
|
||||
padding-bottom: 10px;
|
||||
padding-left: 20px;
|
||||
padding-left: 5px;
|
||||
padding-top: 3px;
|
||||
text-transform: none;
|
||||
/*color: #829333;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
export const environment = {
|
||||
production: true,
|
||||
API_ENDPOINT: '/api',
|
||||
API_ENDPOINT: '/uoa-repository-manager-service',
|
||||
FAQ_ENDPOINT: '/uoa-admin-tools/api',
|
||||
FAQ_HOMEPAGE: '/uoa-admin-tools/dashboard'
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue