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;">
<datasource-update-form #datasourceUpdateForm
[selectedRepo]="repo"
[mode]="this.mode"
[showButton]=true
(emittedUrl)="getNewLogoUrl($event)"></datasource-update-form>
(emittedUrl)="getNewLogoUrl($event)">
</datasource-update-form>
</li>
<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;">

View File

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

View File

@ -108,21 +108,26 @@
</div>
</div>
<!-- <div class="">-->
<!-- <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">-->
<!-- <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="">-->
<!-- <img class="el-image" src="../../../assets/imgs/datasourcetypes/Cris.svg" alt="" width="50">-->
<!-- </div>-->
<!-- <h3>CRIS systems</h3>-->
<!-- <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>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div class="">
<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">
<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="">
<img class="el-image" src="../../../assets/imgs/datasourcetypes/Cris.svg" alt="" width="50">
</div>
<h3>CRIS systems</h3>
<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">Please make sure your CRIS is registered in DRIS the Directory of Research
Information Systems, and is compatible with the OpenAIRE Guidelines for CRIS Managers.
<a href="https://dspacecris.eurocris.org/cris/explore/dris" target="_blank">
List provided by DRIS.<i class="fas fa-external-link-alt" style="margin-left: 3px !important;"></i>
</a>
</p>
</div>
</div>
</div>
</div>
</div>

View File

@ -5,10 +5,13 @@
{{ alertMessage }}
</div>
<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 }}">
<i class="fas fa-external-link-alt" style="margin-right:3px;"></i>{{ sourceTitle }}
</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>
<span *ngIf="latestUpdate && (latestUpdate !== 'null')">
<b>Last Updated: </b>{{ latestUpdate }}
@ -29,12 +32,12 @@
</div>
<div *ngIf="selectedCountry">
<div>
<h2 class="heading_b uk-margin-bottom uk-margin-medium-top">{{ sourceTitle }} Repositories in {{
selectedCountry.name ? selectedCountry.name : selectedCountry.code }}</h2>
<h2 class="heading_b uk-margin-bottom uk-margin-medium-top">{{ sourceTitle }}
{{mode === 'cris' ? '- Research Information Systems' : 'Repositories'}} in
{{selectedCountry.name ? selectedCountry.name : selectedCountry.code }}</h2>
</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;">
<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>
@ -51,21 +54,17 @@
</div>
<div class="form-group"
*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;">
<div class="form-group" *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;">
<input type="radio" value="{{ repo.id }}" id="{{ repo.id }}" name="repositories"
(change)="onChooseRepository(repo.id)" [disabled]="repo.registeredby !== null">
<span>
{{(repo.officialname !== null) ? repo.officialname : repo.englishname }}
<span *ngIf="repo.registeredby !== null"
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]="">
<i class="fas fa-external-link-alt externalLink"></i>
</a>
</span>
<span>{{(repo.officialname !== null) ? repo.officialname : repo.englishname }}
<span *ngIf="repo.registeredby !== null"
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]="">
<i class="fas fa-external-link-alt externalLink"></i>
</a>
</span>
<!--TODO uncomment if we still need the next button everywhere-->
<!--<div *ngIf="repoId == repo.id" class="uk-float-right">-->
<!--<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';
} else if (this.mode === 'cris') {
this.sourceUrl = 'https://eurocris.org';
this.sourceTitle = 'euroCris';
this.sourceTitle = 'euroCRIS';
}
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">
<!--<span class="current-info audible">current step: </span>-->
<span class="number">1</span>
<span class="title">Select Repository</span>
<span class="title">Select {{currentMode === 'cris' ? 'Datasource' : 'Repository'}}</span>
</a>
</li>
<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"
class="body step-0 {{ (currentStep == 0) ? 'current' : '' }}" data-step="0" aria-hidden="false">
<app-select-existing-datasource *ngIf="(currentStep === 0) && (currentMode !== null) && !loadingMessage"
#datasourcesByCountry
[mode]="currentMode"
(emitRepoId)="getRepoId($event)"
(promptNext)="goToStep2($event)">
<app-select-existing-datasource
*ngIf="(currentStep === 0) && (currentMode !== null) && !loadingMessage"
#datasourcesByCountry
[mode]="currentMode"
(emitRepoId)="getRepoId($event)"
(promptNext)="goToStep2($event)">
</app-select-existing-datasource>
</section>
@ -136,7 +137,8 @@
<datasource-update-terms-form #updateTermsForm
[selectedRepo]="repo"
[showButton]=false
(emittedInfo)="getTerms($event)"></datasource-update-terms-form>
(emittedInfo)="getTerms($event)">
</datasource-update-terms-form>
</div>
</section>

View File

@ -6,7 +6,7 @@ import { Component, OnInit } from '@angular/core';
import { RegisterExistingDatasourceComponent } from './register-existing-datasource.component';
@Component ({
selector: 'app-sr-literature',
selector: 'app-sr-cris',
templateUrl: './register-existing-datasource.component.html'
})
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
if (this.mode === 'cris') {
this.longtitudeDesc.mandatory = false;
this.latitudeDesc.mandatory = false;
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