Fixes for cris validation

This commit is contained in:
John Balasis 2022-05-06 15:51:43 +00:00
parent 7f0ea0db17
commit 34d85bdbb8
9 changed files with 393 additions and 275 deletions

565
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -49,8 +49,10 @@
<li aria-hidden="false" class="uk-active" style="animation-duration: 200ms;"> <li aria-hidden="false" class="uk-active" style="animation-duration: 200ms;">
<datasource-update-form #datasourceUpdateForm <datasource-update-form #datasourceUpdateForm
[selectedRepo]="repo" [selectedRepo]="repo"
[mode]="this.mode"
[showButton]=true [showButton]=true
(emittedUrl)="getNewLogoUrl($event)"></datasource-update-form> (emittedUrl)="getNewLogoUrl($event)">
</datasource-update-form>
</li> </li>
<li aria-hidden="true" style="animation-duration: 200ms;" class=""> <li aria-hidden="true" style="animation-duration: 200ms;" class="">
<div *ngIf="repo && repoInterfaces && !loadingMessage" class="uk-grid uk-grid-match uk-margin-top" style="padding: 0px 3px 0px 3px;"> <div *ngIf="repo && repoInterfaces && !loadingMessage" class="uk-grid uk-grid-match uk-margin-top" style="padding: 0px 3px 0px 3px;">

View File

@ -22,6 +22,7 @@ export class SourcesUpdateRepoComponent implements OnInit {
// repoId: string; // repoId: string;
logoURL: string; logoURL: string;
repo: Repository; repo: Repository;
mode: string = null;
repoInterfaces: RepositoryInterface[] = []; repoInterfaces: RepositoryInterface[] = [];
@ViewChild('datasourceUpdateForm') datasourceUpdateForm: DatasourceUpdateFormComponent; @ViewChild('datasourceUpdateForm') datasourceUpdateForm: DatasourceUpdateFormComponent;
@ -49,6 +50,9 @@ export class SourcesUpdateRepoComponent implements OnInit {
if (this.sharedService.getRepository()) { if (this.sharedService.getRepository()) {
this.repo = this.sharedService.getRepository(); this.repo = this.sharedService.getRepository();
if (this.repo.id.includes('eurocrisdris')) {
this.mode = 'cris';
}
this.logoURL = this.repo.logoUrl; this.logoURL = this.repo.logoUrl;
this.getRepoInterfaces(); this.getRepoInterfaces();
} }

View File

@ -108,21 +108,26 @@
</div> </div>
</div> </div>
<!-- <div class="">--> <div class="">
<!-- <div class="uk-text-center md-card md-card-default md-card-hover uk-scrollspy-inview uk-animation-slide-top-medium--> <div class="uk-text-center md-card md-card-default md-card-hover uk-scrollspy-inview uk-animation-slide-top-medium
<!-- datasourceTypeCard uk-inline-clip uk-transition-toggle" uk-scrollspy-class="" tabindex="0">--> datasourceTypeCard uk-inline-clip uk-transition-toggle" uk-scrollspy-class="" tabindex="0">
<!-- <a [routerLink]="['cris']" [queryParams]="{ step: 'selectDatasource' }" class="el-link uk-position-cover uk-margin-remove-adjacent"></a>--> <a [routerLink]="['cris']" [queryParams]="{ step: 'selectDatasource' }" class="el-link uk-position-cover uk-margin-remove-adjacent"></a>
<!-- <div class="md-card-content large-padding uk-margin-medium-top uk-margin-bottom">--> <div class="md-card-content large-padding uk-margin-medium-top uk-margin-bottom">
<!-- <div class="">--> <div class="">
<!-- <img class="el-image" src="../../../assets/imgs/datasourcetypes/Cris.svg" alt="" width="50">--> <img class="el-image" src="../../../assets/imgs/datasourcetypes/Cris.svg" alt="" width="50">
<!-- </div>--> </div>
<!-- <h3>CRIS systems</h3>--> <h3>CRIS systems</h3>
<!-- <div class="uk-transition-slide-bottom uk-position-bottom uk-overlay uk-overlay-primary" (click)="goTo('cris')" style="cursor: pointer">--> <div class="uk-transition-slide-bottom uk-position-bottom uk-overlay uk-overlay-primary" (click)="goTo('cris')" style="cursor: pointer">
<!-- <p class="uk-margin-remove">Stay tuned.</p>--> <p class="uk-margin-remove">Please make sure your CRIS is registered in DRIS the Directory of Research
<!-- </div>--> Information Systems, and is compatible with the OpenAIRE Guidelines for CRIS Managers.
<!-- </div>--> <a href="https://dspacecris.eurocris.org/cris/explore/dris" target="_blank">
<!-- </div>--> List provided by DRIS.<i class="fas fa-external-link-alt" style="margin-left: 3px !important;"></i>
<!-- </div>--> </a>
</p>
</div>
</div>
</div>
</div>
</div> </div>

View File

@ -5,10 +5,13 @@
{{ alertMessage }} {{ alertMessage }}
</div> </div>
<div class="uk-alert uk-alert-info"> <div class="uk-alert uk-alert-info">
Please make sure your repository is registered in Please make sure your {{mode === 'cris' ? 'Research Information System': 'repository'}} is registered in
<a target="_blank" href="{{ sourceUrl }}"> <a target="_blank" href="{{ sourceUrl }}">
<i class="fas fa-external-link-alt" style="margin-right:3px;"></i>{{ sourceTitle }} <i class="fas fa-external-link-alt" style="margin-right:3px;"></i>{{ sourceTitle }}
</a> </a>
<a *ngIf="mode === 'cris'" target="_blank" href="https://eurocris.org/dris/dris-form">
<br><i class="fas fa-external-link-alt" style="margin-right:3px;"></i>euroCRIS DRIS
</a>
. <br> . <br>
<span *ngIf="latestUpdate && (latestUpdate !== 'null')"> <span *ngIf="latestUpdate && (latestUpdate !== 'null')">
<b>Last Updated: </b>{{ latestUpdate }} <b>Last Updated: </b>{{ latestUpdate }}
@ -29,12 +32,12 @@
</div> </div>
<div *ngIf="selectedCountry"> <div *ngIf="selectedCountry">
<div> <div>
<h2 class="heading_b uk-margin-bottom uk-margin-medium-top">{{ sourceTitle }} Repositories in {{ <h2 class="heading_b uk-margin-bottom uk-margin-medium-top">{{ sourceTitle }}
selectedCountry.name ? selectedCountry.name : selectedCountry.code }}</h2> {{mode === 'cris' ? '- Research Information Systems' : 'Repositories'}} in
{{selectedCountry.name ? selectedCountry.name : selectedCountry.code }}</h2>
</div> </div>
<div *ngIf="loadingMessage" class="loading-big"> <div *ngIf="loadingMessage" class="loading-big">
<div class="loader-big" <div class="loader-big" style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">
style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">
{{ loadingMessage }} {{ loadingMessage }}
</div> </div>
<div class="whiteFilm"></div> <div class="whiteFilm"></div>
@ -51,21 +54,17 @@
</div> </div>
<div class="form-group" <div class="form-group" *ngFor="let repo of countryRepos | repoFilter: searchBox">
*ngFor="let repo of countryRepos | repoFilter: searchBox"> <label for="{{ repo.id }}" class="uk-button uk-link-muted visible_uk_links" style="display: block; text-align: left;">
<label for="{{ repo.id }}"
class="uk-button uk-link-muted visible_uk_links"
style="display: block; text-align: left;">
<input type="radio" value="{{ repo.id }}" id="{{ repo.id }}" name="repositories" <input type="radio" value="{{ repo.id }}" id="{{ repo.id }}" name="repositories"
(change)="onChooseRepository(repo.id)" [disabled]="repo.registeredby !== null"> (change)="onChooseRepository(repo.id)" [disabled]="repo.registeredby !== null">
<span> <span>{{(repo.officialname !== null) ? repo.officialname : repo.englishname }}
{{(repo.officialname !== null) ? repo.officialname : repo.englishname }} <span *ngIf="repo.registeredby !== null"
<span *ngIf="repo.registeredby !== null" class="uk-badge uk-badge-warning uk-margin-small-right uk-margin-small-left">Registered</span>
class="uk-badge uk-badge-warning uk-margin-small-right uk-margin-small-left">Registered</span> <a target="_blank" href="{{ (repo.websiteurl !== null) ? repo.websiteurl : '' }}" [ngStyle]="">
<a target="_blank" href="{{ (repo.websiteurl !== null) ? repo.websiteurl : '' }}" [ngStyle]=""> <i class="fas fa-external-link-alt externalLink"></i>
<i class="fas fa-external-link-alt externalLink"></i> </a>
</a> </span>
</span>
<!--TODO uncomment if we still need the next button everywhere--> <!--TODO uncomment if we still need the next button everywhere-->
<!--<div *ngIf="repoId == repo.id" class="uk-float-right">--> <!--<div *ngIf="repoId == repo.id" class="uk-float-right">-->
<!--<a class="uk-button uk-button-primary uk-border-rounded uk-vertical-align-middle"--> <!--<a class="uk-button uk-button-primary uk-border-rounded uk-vertical-align-middle"-->

View File

@ -53,7 +53,7 @@ export class RegisterDatasourceSelectExistingComponent implements OnInit {
this.sourceTitle = 'Re3data'; this.sourceTitle = 'Re3data';
} else if (this.mode === 'cris') { } else if (this.mode === 'cris') {
this.sourceUrl = 'https://eurocris.org'; this.sourceUrl = 'https://eurocris.org';
this.sourceTitle = 'euroCris'; this.sourceTitle = 'euroCRIS';
} }
this.getLatestUpdate(); this.getLatestUpdate();
} }

View File

@ -26,7 +26,7 @@
<a id="wizard_advanced-t-0" href="#wizard_advanced-h-0" aria-controls="wizard_advanced-p-0"> <a id="wizard_advanced-t-0" href="#wizard_advanced-h-0" aria-controls="wizard_advanced-p-0">
<!--<span class="current-info audible">current step: </span>--> <!--<span class="current-info audible">current step: </span>-->
<span class="number">1</span> <span class="number">1</span>
<span class="title">Select Repository</span> <span class="title">Select {{currentMode === 'cris' ? 'Datasource' : 'Repository'}}</span>
</a> </a>
</li> </li>
<li role="tab" class="{{ (currentStep < 1) ? 'disabled' : '' }} {{ (currentStep == 1) ? 'current' : '' }}" aria-disabled="true"> <li role="tab" class="{{ (currentStep < 1) ? 'disabled' : '' }} {{ (currentStep == 1) ? 'current' : '' }}" aria-disabled="true">
@ -70,11 +70,12 @@
<section id="wizard_advanced-p-0" role="tabpanel" aria-labelledby="wizard_advanced-h-0" <section id="wizard_advanced-p-0" role="tabpanel" aria-labelledby="wizard_advanced-h-0"
class="body step-0 {{ (currentStep == 0) ? 'current' : '' }}" data-step="0" aria-hidden="false"> class="body step-0 {{ (currentStep == 0) ? 'current' : '' }}" data-step="0" aria-hidden="false">
<app-select-existing-datasource *ngIf="(currentStep === 0) && (currentMode !== null) && !loadingMessage" <app-select-existing-datasource
#datasourcesByCountry *ngIf="(currentStep === 0) && (currentMode !== null) && !loadingMessage"
[mode]="currentMode" #datasourcesByCountry
(emitRepoId)="getRepoId($event)" [mode]="currentMode"
(promptNext)="goToStep2($event)"> (emitRepoId)="getRepoId($event)"
(promptNext)="goToStep2($event)">
</app-select-existing-datasource> </app-select-existing-datasource>
</section> </section>
@ -136,7 +137,8 @@
<datasource-update-terms-form #updateTermsForm <datasource-update-terms-form #updateTermsForm
[selectedRepo]="repo" [selectedRepo]="repo"
[showButton]=false [showButton]=false
(emittedInfo)="getTerms($event)"></datasource-update-terms-form> (emittedInfo)="getTerms($event)">
</datasource-update-terms-form>
</div> </div>
</section> </section>

View File

@ -6,7 +6,7 @@ import { Component, OnInit } from '@angular/core';
import { RegisterExistingDatasourceComponent } from './register-existing-datasource.component'; import { RegisterExistingDatasourceComponent } from './register-existing-datasource.component';
@Component ({ @Component ({
selector: 'app-sr-literature', selector: 'app-sr-cris',
templateUrl: './register-existing-datasource.component.html' templateUrl: './register-existing-datasource.component.html'
}) })
export class SrCrisComponent extends RegisterExistingDatasourceComponent implements OnInit { export class SrCrisComponent extends RegisterExistingDatasourceComponent implements OnInit {

View File

@ -136,10 +136,13 @@ export class DatasourceUpdateFormComponent implements OnInit {
// FIXME: Use eoscDatasourceType when we support the new model // FIXME: Use eoscDatasourceType when we support the new model
if (this.mode === 'cris') { if (this.mode === 'cris') {
this.longtitudeDesc.mandatory = false; this.longtitudeDesc.mandatory = false;
this.latitudeDesc.mandatory = false; this.latitudeDesc.mandatory = false;
this.datasourceTypeDesc.label = 'CRIS scope/type'; this.datasourceTypeDesc.label = 'CRIS scope/type';
} else {
this.longtitudeDesc.mandatory = true;
this.latitudeDesc.mandatory = true;
this.datasourceTypeDesc.label = 'Repository Type';
} }
// FIXME: Use eoscDatasourceType when we support the new model // FIXME: Use eoscDatasourceType when we support the new model