connect-admin/src/app/pages/curator/curator.component.html

120 lines
6.1 KiB
HTML

<ng-template #buttons>
<!--<a class="portal-link uk-margin-small-right" (click)="privacy()">Privacy policy statement</a>-->
<button class="uk-button uk-margin-small-right" (click)="resetMessages(); resetForm()">Cancel</button>
<button *ngIf="enabled && (hasChanged || affiliationsChanged)" class="uk-button uk-button-primary" (click)="resetMessages(); updateCurator()">Save</button>
<button *ngIf="!enabled || (!hasChanged && !affiliationsChanged)" class="uk-button uk-button-default" disabled>Save</button>
</ng-template>
<div class="uk-padding uk-padding-remove-top uk-text-large uk-text-center uk-width">Manage Personal Info</div>
<div class="uk-margin-large-bottom uk-flex uk-grid-divider" uk-grid>
<div *ngIf="showLoading" class="uk-animation-fade uk-width-1-1" role="alert">
<span class="loading-gif uk-align-center"></span>
</div>
<div *ngIf="curatorId != null && curator != null && !showLoading" class="uk-width-1-1 uk-margin-left">
<div class="uk-alert uk-alert-primary uk-flex uk-flex-middle">
<span class="uk-icon uk-margin-small-right" uk-icon="info"></span>
<div>
Your personal info will be visible in the Curators' page of your Community Gateway.
Read <a (click)="privacy()">privacy policy statement</a>.<br>
<span *ngIf="!newCurator && !curatorsEnabled">
Curators' page is disabled. Please enable it <a routerLink="/pages" routerLinkActive="router-link-active" [queryParams]="{communityId: communityId, type: 'other'}">here</a>.
</span>
</div>
</div>
</div>
<table *ngIf="curatorId != null && curator != null && !showLoading" class="uk-width-1-2@m uk-width-1-1@s uk-align-center">
<tbody class="uk-table uk-align-center">
<tr *ngIf="curator.name != null">
<td for="name" class="uk-text-bold uk-text-right">
Name
<span class="uk-text-danger uk-text-bold">
*
</span>
:
</td>
<td class="uk-text-left uk-width-1-1">
<div *ngIf="!curator.name || curator.name === ''" class=" uk-text-danger uk-text-small style=display:none"> Please add name. </div>
<input type="text"
class="form-control uk-input" id="name"
[(ngModel)]="curator.name" (input)="resetMessages(); onNameChange()" #name="ngModel" required>
</td>
</tr>
<tr *ngIf="photo != null">
<td for="photo" class="uk-text-bold uk-align-right">Photo:</td>
<td class="uk-text-left">
<div class="uk-flex uk-flex-middle" uk-grid>
<div class="uk-width-auto@l">
<img class="uk-border-circle curator-photo" src="{{photo}}" alt="Curator Photo">
</div>
<div class="uk-width-expand@l uk-grid-margin-small" uk-grid>
<div uk-form-custom class="uk-width-auto">
<input id="photo" type="file" (change)="fileChangeEvent($event)" (input)="resetMessages(); change()"/>
<button class="uk-button portal-button" type="button" tabindex="-1">
Upload a photo
</button>
</div>
<div *ngIf="photo !== 'assets/common-assets/curator-default.png'" class="uk-width-auto">
<button class="uk-button uk-button-danger" type="button" (click)="resetMessages(); removePhotoModal.open()">
Remove
</button>
</div>
</div>
</div>
<div class="uk-margin-small-top uk-text-warning">
Maximum photo resolution is 256x256 pixels.
</div>
</td>
</tr>
<tr *ngIf="curator.bio != null">
<td for="bio" class="uk-text-bold uk-text-right">Biography:</td>
<td class="uk-text-left">
<textarea placeholder={{curator.bio}} type="text"
class="form-control uk-textarea" rows="6"
id="bio"
[(ngModel)]="curator.bio"
(input)="resetMessages(); change()">
</textarea>
</td>
</tr>
<tr *ngIf="curator.bio != null">
<td class="uk-text-right"></td>
<td class="uk-text-left">
<div class="uk-text-danger uk-text-bold">
* Required fields
</div>
</td>
</tr>
<tr>
<td class="uk-text-right"></td>
<td>
<div *ngIf="updateErrorMessage" class="uk-alert uk-alert-danger" role="alert">{{updateErrorMessage}}</div>
<div *ngIf="successfulSaveMessage" class="uk-alert uk-alert-success" role="alert">{{successfulSaveMessage}}</div>
</tr>
</tbody>
</table>
<div *ngIf="curatorId != null && curator != null && !showLoading" class="uk-width-1-2@m uk-width-1-1@s">
<affiliations [curatorAffiliations]="true" [affiliations]="curator.affiliations"
(affiliationsChange)="affiliationsChanged = $event"
(resetCuratorMessages)="resetMessages();">
</affiliations>
</div>
</div>
<div class="uk-float-right uk-flex uk-flex-middle uk-visible@m" style="z-index: 100; bottom: 45px; position: fixed; right: 45px;">
<ng-container *ngTemplateOutlet="buttons"></ng-container>
</div>
<div class="uk-float-right uk-margin-bottom uk-hidden@m">
<ng-container *ngTemplateOutlet="buttons"></ng-container>
</div>
<modal-alert #removePhotoModal (alertOutput)="removePhoto()">
Your photo will be removed after you save your data. Are you sure you want to proceed?
</modal-alert>
<modal-alert #privacyStatement (alertOutput)="privacyStatement.cancel()">
<div class="">
Your personal data and photo are processed by OpenAIRE in conformity with personal data protection legal framework.
They will be stored safely in our system for as long as OpenAIRE exists. Since you press the "save" button,
you give us the consent to make them public in your Community Gateway to let users know who is
configuring the platform. You always have the right to exercise your rights and ask for access,
rectification, erasure and restriction of your data. Please contact <a href="mailto:rcd-helpdesk@openaire.eu">rcd-helpdesk@openaire.eu</a> if
you have any inquiries.
</div>
</modal-alert>