mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-13 13:03:04 +00:00
[CST-5270] Finished functionalities
This commit is contained in:
@@ -1,52 +1,49 @@
|
|||||||
<div dsSection #sectionRef="sectionRef"
|
<div dsSection #sectionRef="sectionRef" [attr.id]="'section_' + sectionData.id"
|
||||||
[attr.id]="'section_' + sectionData.id"
|
[ngClass]="{ 'section-focus' : sectionRef.isSectionActive() }" [mandatory]="sectionData.mandatory"
|
||||||
[ngClass]="{ 'section-focus' : sectionRef.isSectionActive() }"
|
[submissionId]="submissionId" [sectionType]="sectionData.sectionType" [sectionId]="sectionData.id">
|
||||||
[mandatory]="sectionData.mandatory"
|
<ngb-accordion #acc="ngbAccordion" *ngIf="(sectionRef.isEnabled() | async)"
|
||||||
[submissionId]="submissionId"
|
(panelChange)="sectionRef.sectionChange($event)" activeIds="{{ sectionData.id }}" [destroyOnHide]="false">
|
||||||
[sectionType]="sectionData.sectionType"
|
|
||||||
[sectionId]="sectionData.id">
|
|
||||||
<ngb-accordion #acc="ngbAccordion"
|
|
||||||
*ngIf="(sectionRef.isEnabled() | async)"
|
|
||||||
(panelChange)="sectionRef.sectionChange($event)"
|
|
||||||
activeIds="{{ sectionData.id }}"
|
|
||||||
[destroyOnHide]="false">
|
|
||||||
<ngb-panel id="{{ sectionData.id }}">
|
<ngb-panel id="{{ sectionData.id }}">
|
||||||
<ng-template ngbPanelTitle>
|
<ng-template ngbPanelTitle>
|
||||||
<span class="float-left section-title" tabindex="0">{{ 'submission.sections.'+sectionData.header | translate }}</span>
|
<span class="float-left section-title" tabindex="0">{{ 'submission.sections.'+sectionData.header | translate
|
||||||
|
}}</span>
|
||||||
<div class="d-inline-block float-right">
|
<div class="d-inline-block float-right">
|
||||||
<i *ngIf="!(sectionRef.isValid() | async) && !(sectionRef.hasErrors())" class="fas fa-exclamation-circle text-warning mr-3"
|
<i *ngIf="!(sectionRef.isValid() | async) && !(sectionRef.hasErrors()) && !(sectionRef.isInfo())"
|
||||||
title="{{'submission.sections.status.warnings.title' | translate}}" role="img" [attr.aria-label]="'submission.sections.status.warnings.aria' | translate"></i>
|
class="fas fa-exclamation-circle text-warning mr-3"
|
||||||
<i *ngIf="(sectionRef.hasErrors())" class="fas fa-exclamation-circle text-danger mr-3"
|
title="{{'submission.sections.status.warnings.title' | translate}}" role="img"
|
||||||
title="{{'submission.sections.status.errors.title' | translate}}" role="img" [attr.aria-label]="'submission.sections.status.errors.aria' | translate"></i>
|
[attr.aria-label]="'submission.sections.status.warnings.aria' | translate"></i>
|
||||||
<i *ngIf="(sectionRef.isValid() | async) && !(sectionRef.hasErrors())" class="fas fa-check-circle text-success mr-3"
|
<i *ngIf="(sectionRef.hasErrors()) && !(sectionRef.isInfo())"
|
||||||
title="{{'submission.sections.status.valid.title' | translate}}" role="img" [attr.aria-label]="'submission.sections.status.valid.aria' | translate"></i>
|
class="fas fa-exclamation-circle text-danger mr-3"
|
||||||
<a class="close"
|
title="{{'submission.sections.status.errors.title' | translate}}" role="img"
|
||||||
tabindex="0"
|
[attr.aria-label]="'submission.sections.status.errors.aria' | translate"></i>
|
||||||
role="button"
|
<i *ngIf="(sectionRef.isValid() | async) && !(sectionRef.hasErrors()) && !(sectionRef.isInfo())"
|
||||||
[attr.aria-label]="(sectionRef.isOpen() ? 'submission.sections.toggle.aria.close' : 'submission.sections.toggle.aria.open') | translate: {sectionHeader: ('submission.sections.'+sectionData.header | translate)}"
|
class="fas fa-check-circle text-success mr-3"
|
||||||
[title]="(sectionRef.isOpen() ? 'submission.sections.toggle.close' : 'submission.sections.toggle.open') | translate">
|
title="{{'submission.sections.status.valid.title' | translate}}" role="img"
|
||||||
|
[attr.aria-label]="'submission.sections.status.valid.aria' | translate"></i>
|
||||||
|
<i *ngIf="sectionRef.isInfo() " class="fas fa-info-circle text-info mr-3"
|
||||||
|
title="{{'submission.sections.status.info.title' | translate}}" role="img"
|
||||||
|
[attr.aria-label]="'submission.sections.status.info.aria' | translate"></i>
|
||||||
|
<a class="close" tabindex="0" role="button"
|
||||||
|
[attr.aria-label]="(sectionRef.isOpen() ? 'submission.sections.toggle.aria.close' : 'submission.sections.toggle.aria.open') | translate: {sectionHeader: ('submission.sections.'+sectionData.header | translate)}"
|
||||||
|
[title]="(sectionRef.isOpen() ? 'submission.sections.toggle.close' : 'submission.sections.toggle.open') | translate">
|
||||||
<span *ngIf="sectionRef.isOpen()" class="fas fa-chevron-up fa-fw"></span>
|
<span *ngIf="sectionRef.isOpen()" class="fas fa-chevron-up fa-fw"></span>
|
||||||
<span *ngIf="!sectionRef.isOpen()" class="fas fa-chevron-down fa-fw"></span>
|
<span *ngIf="!sectionRef.isOpen()" class="fas fa-chevron-down fa-fw"></span>
|
||||||
</a>
|
</a>
|
||||||
<a href="javascript:void(0);" class="close mr-3" *ngIf="!sectionRef.isMandatory()"
|
<a href="javascript:void(0);" class="close mr-3" *ngIf="!sectionRef.isMandatory()"
|
||||||
(click)="removeSection($event)">
|
(click)="removeSection($event)">
|
||||||
<i class="fas fa-trash-o" aria-hidden="true" tabindex="0"></i>
|
<i class="fas fa-trash-o" aria-hidden="true" tabindex="0"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template ngbPanelContent>
|
<ng-template ngbPanelContent>
|
||||||
<div id="sectionGenericError_{{sectionData.id}}" *ngIf="sectionRef.hasGenericErrors()">
|
<div id="sectionGenericError_{{sectionData.id}}" *ngIf="sectionRef.hasGenericErrors()">
|
||||||
<ds-alert *ngFor="let error of sectionRef.getErrors(); let i = index"
|
<ds-alert *ngFor="let error of sectionRef.getErrors(); let i = index" [content]="error" [dismissible]="true"
|
||||||
[content]="error"
|
[type]="AlertTypeEnum.Error" (close)="sectionRef.removeError(i)"></ds-alert>
|
||||||
[dismissible]="true"
|
|
||||||
[type]="AlertTypeEnum.Error"
|
|
||||||
(close)="sectionRef.removeError(i)"></ds-alert>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="sectionContent_{{sectionData.id}}"
|
<div id="sectionContent_{{sectionData.id}}" (click)="sectionRef.setFocus($event)">
|
||||||
(click)="sectionRef.setFocus($event)">
|
|
||||||
<ng-container *ngComponentOutlet="getSectionContent(); injector: objectInjector;"></ng-container>
|
<ng-container *ngComponentOutlet="getSectionContent(); injector: objectInjector;"></ng-container>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</ngb-panel>
|
</ngb-panel>
|
||||||
</ngb-accordion>
|
</ngb-accordion>
|
||||||
</div>
|
</div>
|
@@ -94,8 +94,8 @@ export class SectionsDirective implements OnDestroy, OnInit {
|
|||||||
* @param {SectionsService} sectionService
|
* @param {SectionsService} sectionService
|
||||||
*/
|
*/
|
||||||
constructor(private changeDetectorRef: ChangeDetectorRef,
|
constructor(private changeDetectorRef: ChangeDetectorRef,
|
||||||
private submissionService: SubmissionService,
|
private submissionService: SubmissionService,
|
||||||
private sectionService: SectionsService) {
|
private sectionService: SectionsService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -272,6 +272,19 @@ export class SectionsDirective implements OnDestroy, OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if section is information
|
||||||
|
*
|
||||||
|
* @returns {Observable<boolean>}
|
||||||
|
* Emits true whenever section is information
|
||||||
|
*/
|
||||||
|
public isInfo(): boolean {
|
||||||
|
return this.sectionService.getIsInformational(this.sectionType);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove error from list
|
* Remove error from list
|
||||||
*
|
*
|
||||||
|
@@ -60,11 +60,11 @@ export class SectionsService {
|
|||||||
* @param {TranslateService} translate
|
* @param {TranslateService} translate
|
||||||
*/
|
*/
|
||||||
constructor(private formService: FormService,
|
constructor(private formService: FormService,
|
||||||
private notificationsService: NotificationsService,
|
private notificationsService: NotificationsService,
|
||||||
private scrollToService: ScrollToService,
|
private scrollToService: ScrollToService,
|
||||||
private submissionService: SubmissionService,
|
private submissionService: SubmissionService,
|
||||||
private store: Store<SubmissionState>,
|
private store: Store<SubmissionState>,
|
||||||
private translate: TranslateService) {
|
private translate: TranslateService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -197,7 +197,7 @@ export class SectionsService {
|
|||||||
path: pathCombiner.getPath(error.fieldId.replace(/\_/g, '.')).path,
|
path: pathCombiner.getPath(error.fieldId.replace(/\_/g, '.')).path,
|
||||||
message: error.message
|
message: error.message
|
||||||
} as SubmissionSectionError))
|
} as SubmissionSectionError))
|
||||||
.filter((sectionError: SubmissionSectionError) => findIndex(state.errorsToShow, {path: sectionError.path}) === -1);
|
.filter((sectionError: SubmissionSectionError) => findIndex(state.errorsToShow, { path: sectionError.path }) === -1);
|
||||||
return [...state.errorsToShow, ...sectionErrors];
|
return [...state.errorsToShow, ...sectionErrors];
|
||||||
})
|
})
|
||||||
))
|
))
|
||||||
@@ -262,7 +262,7 @@ export class SectionsService {
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
distinctUntilChanged()
|
distinctUntilChanged()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -371,7 +371,7 @@ export class SectionsService {
|
|||||||
return this.store.select(submissionObjectFromIdSelector(submissionId)).pipe(
|
return this.store.select(submissionObjectFromIdSelector(submissionId)).pipe(
|
||||||
filter((submissionState: SubmissionObjectEntry) => isNotUndefined(submissionState)),
|
filter((submissionState: SubmissionObjectEntry) => isNotUndefined(submissionState)),
|
||||||
map((submissionState: SubmissionObjectEntry) => {
|
map((submissionState: SubmissionObjectEntry) => {
|
||||||
return isNotUndefined(submissionState.sections) && isNotUndefined(findKey(submissionState.sections, {sectionType: sectionType}));
|
return isNotUndefined(submissionState.sections) && isNotUndefined(findKey(submissionState.sections, { sectionType: sectionType }));
|
||||||
}),
|
}),
|
||||||
distinctUntilChanged());
|
distinctUntilChanged());
|
||||||
}
|
}
|
||||||
@@ -514,4 +514,16 @@ export class SectionsService {
|
|||||||
return metadata;
|
return metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return if the section is an informational type section.
|
||||||
|
* @param sectionType
|
||||||
|
*/
|
||||||
|
public getIsInformational(sectionType: SectionsType): boolean {
|
||||||
|
if (sectionType === SectionsType.SherpaPolicies) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -1,20 +1,45 @@
|
|||||||
<div class="mb-3 border-bottom" data-test="collapse">
|
<div class="mb-3 border-bottom" data-test="collapse">
|
||||||
<div class="w-100 d-flex justify-content-between collapse-toggle" (click)="collapse.toggle()">
|
<div class="w-100 d-flex justify-content-between collapse-toggle" (click)="collapse.toggle()">
|
||||||
<button type="button" class="btn btn-link p-0" (click)="$event.preventDefault()"
|
<div class="d-flex">
|
||||||
[attr.aria-expanded]="!collapse.collapsed" aria-controls="collapseExample">
|
<button type="button" class="btn btn-link p-0 mr-4" (click)="$event.preventDefault()"
|
||||||
{{version.articleVersion | titlecase}} {{ 'submission.sections.sherpa.publisher.policy.version' | translate
|
[attr.aria-expanded]="!collapse.collapsed" aria-controls="collapseExample">
|
||||||
}}
|
{{version.articleVersion | titlecase}} {{ 'submission.sections.sherpa.publisher.policy.version' |
|
||||||
</button>
|
translate
|
||||||
|
}}
|
||||||
|
</button>
|
||||||
|
<div>
|
||||||
|
<span *ngIf="!!version?.embargo && !!version?.embargo.amount;else noEmbargoTitle"> <i
|
||||||
|
class="fas fa-hourglass-half"></i> {{version.embargo.amount}}
|
||||||
|
{{version.embargo.units[1]}}</span>
|
||||||
|
<ng-template #noEmbargoTitle>
|
||||||
|
<span><i class="fas fa-hourglass-half"></i> {{
|
||||||
|
'submission.sections.sherpa.publisher.policy.noembargo' | translate }}</span>
|
||||||
|
</ng-template>
|
||||||
|
|
||||||
|
<span class="m-1 ml-4">
|
||||||
|
<i class="far fa-folder-open"></i>
|
||||||
|
<span *ngIf="!!version?.locations && version.locations.length > 0; else noLocations">
|
||||||
|
{{version.locations[0]}} <span
|
||||||
|
*ngIf="version.locations.length > 1">+{{version.locations.length-1}}</span>
|
||||||
|
</span>
|
||||||
|
<ng-template #noLocations>
|
||||||
|
<span>{{
|
||||||
|
'submission.sections.sherpa.publisher.policy.nolocation' | translate }}</span>
|
||||||
|
</ng-template>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="d-inline-block">
|
<div class="d-inline-block">
|
||||||
<span *ngIf="collapse.collapsed" class="fas fa-chevron-down"></span>
|
<span *ngIf="collapse.collapsed" class="fas fa-chevron-down"></span>
|
||||||
<span *ngIf="!collapse.collapsed" class="fas fa-chevron-up"></span>
|
<span *ngIf="!collapse.collapsed" class="fas fa-chevron-up"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div #collapse="ngbCollapse" [ngbCollapse]="isCollapsed">
|
<div #collapse="ngbCollapse" [ngbCollapse]="isCollapsed">
|
||||||
<div class="ml-4">
|
<div *ngIf="!!version" class="ml-4">
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!version?.embargo && !!version?.embargo.amount">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.publisher.policy.embargo' | translate }}</p>
|
<p class="m-1"><i class="fas fa-hourglass-half"></i> {{
|
||||||
|
'submission.sections.sherpa.publisher.policy.embargo' | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<p class="m-1" *ngIf="!!version.embargo;else noEmbargo">{{version.embargo.amount}}
|
<p class="m-1" *ngIf="!!version.embargo;else noEmbargo">{{version.embargo.amount}}
|
||||||
@@ -22,36 +47,39 @@
|
|||||||
<ng-template #noEmbargo>
|
<ng-template #noEmbargo>
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.publisher.policy.noembargo' | translate }}</p>
|
<p class="m-1">{{ 'submission.sections.sherpa.publisher.policy.noembargo' | translate }}</p>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!version?.licenses && version.licenses.length > 0">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.publisher.policy.license' | translate }}</p>
|
<p class="m-1"><i class="fas fa-certificate"></i> {{
|
||||||
|
'submission.sections.sherpa.publisher.policy.license' | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<p class="m-1" *ngFor="let license of version.licenses">{{license}}</p>
|
<p class="m-1" *ngFor="let license of version.licenses">{{license}}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!version?.prerequisites && version.prerequisites.length > 0">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.publisher.policy.prerequisites' | translate }}</p>
|
<p class="m-1"><i class="fas fa-exclamation-circle"></i> {{
|
||||||
|
'submission.sections.sherpa.publisher.policy.prerequisites' | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<p class="m-1" *ngFor="let prerequisite of version.prerequisites">{{prerequisite}}</p>
|
<p class="m-1" *ngFor="let prerequisite of version.prerequisites">{{prerequisite}}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!version?.locations && version.locations.length > 0">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.publisher.policy.location' | translate }}</p>
|
<p class="m-1"><i class="far fa-folder-open"></i> {{
|
||||||
|
'submission.sections.sherpa.publisher.policy.location' | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<p class="m-1" *ngFor="let location of version.locations">{{location}}</p>
|
<p class="m-1" *ngFor="let location of version.locations">{{location}}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!version?.conditions && version.conditions.length > 0">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.publisher.policy.conditions' | translate }}</p>
|
<p class="m-1"><i class="fas fa-tasks"></i> {{
|
||||||
|
'submission.sections.sherpa.publisher.policy.conditions' | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<p class="m-1" *ngFor="let condition of version.conditions">{{condition}}</p>
|
<p class="m-1" *ngFor="let condition of version.conditions">{{condition}}</p>
|
||||||
|
@@ -1,33 +0,0 @@
|
|||||||
:host ::ng-deep {
|
|
||||||
.card {
|
|
||||||
border: none;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
|
|
||||||
|
|
||||||
.card-header {
|
|
||||||
border: none;
|
|
||||||
background-color: transparent;
|
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.125);
|
|
||||||
|
|
||||||
button {
|
|
||||||
text-align: left;
|
|
||||||
padding: 0px;
|
|
||||||
width: 100%;
|
|
||||||
color: #000;
|
|
||||||
font-weight: 600;
|
|
||||||
|
|
||||||
.fas {
|
|
||||||
background: #fff;
|
|
||||||
color: #000;
|
|
||||||
margin-right: 10px;
|
|
||||||
height: 1.25em;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -2,6 +2,9 @@ import { Component, Input } from '@angular/core';
|
|||||||
|
|
||||||
import { PermittedVersions } from '../../../../core/submission/models/sherpa-policies-details.model';
|
import { PermittedVersions } from '../../../../core/submission/models/sherpa-policies-details.model';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This component represents a section that contains the inner accordions for the publisher policy versions.
|
||||||
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-content-accordion',
|
selector: 'ds-content-accordion',
|
||||||
templateUrl: './content-accordion.component.html',
|
templateUrl: './content-accordion.component.html',
|
||||||
@@ -16,5 +19,5 @@ export class ContentAccordionComponent {
|
|||||||
/**
|
/**
|
||||||
* A boolean representing if div should start collapsed
|
* A boolean representing if div should start collapsed
|
||||||
*/
|
*/
|
||||||
public isCollapsed = false;
|
public isCollapsed = true;
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<div class="ml-4">
|
<div class="ml-4">
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!metadata?.id">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.record.information.id' | translate }}</p>
|
<p class="m-1">{{ 'submission.sections.sherpa.record.information.id' | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!metadata?.dateCreated">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.record.information.date.created' | translate }}</p>
|
<p class="m-1">{{ 'submission.sections.sherpa.record.information.date.created' | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!metadata?.dateModified">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.record.information.date.modified' | translate }}</p>
|
<p class="m-1">{{ 'submission.sections.sherpa.record.information.date.modified' | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!metadata?.uri">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{ 'submission.sections.sherpa.record.information.uri' | translate }}</p>
|
<p class="m-1">{{ 'submission.sections.sherpa.record.information.uri' | translate }}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -36,4 +36,4 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
@@ -2,6 +2,9 @@ import { Component, Input } from '@angular/core';
|
|||||||
|
|
||||||
import { Metadata } from '../../../../core/submission/models/sherpa-policies-details.model';
|
import { Metadata } from '../../../../core/submission/models/sherpa-policies-details.model';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This component represents a section that contains the matadata informations.
|
||||||
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-metadata-information',
|
selector: 'ds-metadata-information',
|
||||||
templateUrl: './metadata-information.component.html',
|
templateUrl: './metadata-information.component.html',
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<div class="ml-4">
|
<div class="ml-4">
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!journal?.titles && journal.titles.length > 0">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{'submission.sections.sherpa.publication.information.title' | translate}}</p>
|
<p class="m-1">{{'submission.sections.sherpa.publication.information.title' | translate}}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!journal?.issns && journal.issns.length > 0">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{'submission.sections.sherpa.publication.information.issns' | translate}}</p>
|
<p class="m-1">{{'submission.sections.sherpa.publication.information.issns' | translate}}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!journal?.url">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{'submission.sections.sherpa.publication.information.url' | translate}}</p>
|
<p class="m-1">{{'submission.sections.sherpa.publication.information.url' | translate}}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!journal?.publishers && journal.publishers.length > 0">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{'submission.sections.sherpa.publication.information.publishers' | translate}}</p>
|
<p class="m-1">{{'submission.sections.sherpa.publication.information.publishers' | translate}}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!journal?.romeoPub">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{'submission.sections.sherpa.publication.information.romeoPub' | translate}}</p>
|
<p class="m-1">{{'submission.sections.sherpa.publication.information.romeoPub' | translate}}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -51,9 +51,9 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!journal?.zetoPub">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">{{'submission.sections.sherpa.publication.information.zetoPub' | translate}}</p>
|
<p class="m-1">{{'submission.sections.sherpa.publication.information.zetoPub' | translate}}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<p class="m-1">
|
<p class="m-1">
|
||||||
@@ -61,4 +61,4 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
@@ -2,6 +2,9 @@ import { Component, Input } from '@angular/core';
|
|||||||
|
|
||||||
import { Journal } from '../../../../core/submission/models/sherpa-policies-details.model';
|
import { Journal } from '../../../../core/submission/models/sherpa-policies-details.model';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This component represents a section that contains the journal publication information.
|
||||||
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-publication-information',
|
selector: 'ds-publication-information',
|
||||||
templateUrl: './publication-information.component.html',
|
templateUrl: './publication-information.component.html',
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<ds-content-accordion *ngFor="let permittedVersions of policy.permittedVersions" [version]="permittedVersions">
|
<ds-content-accordion *ngFor="let permittedVersions of policy.permittedVersions" [version]="permittedVersions">
|
||||||
</ds-content-accordion>
|
</ds-content-accordion>
|
||||||
<div class="row">
|
<div class="row" *ngIf="!!policy?.urls">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p class="m-1">
|
<p class="m-1">
|
||||||
{{'submission.sections.sherpa.publisher.policy.more.information' | translate}}
|
{{'submission.sections.sherpa.publisher.policy.more.information' | translate}}
|
||||||
@@ -20,4 +20,4 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
@@ -2,6 +2,9 @@ import { Component, Input } from '@angular/core';
|
|||||||
|
|
||||||
import { Policy } from '../../../../core/submission/models/sherpa-policies-details.model';
|
import { Policy } from '../../../../core/submission/models/sherpa-policies-details.model';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This component represents a section that contains the publisher policy informations.
|
||||||
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-publisher-policy',
|
selector: 'ds-publisher-policy',
|
||||||
templateUrl: './publisher-policy.component.html',
|
templateUrl: './publisher-policy.component.html',
|
||||||
|
@@ -1,35 +1,3 @@
|
|||||||
:host ::ng-deep {
|
|
||||||
.card {
|
|
||||||
border: none;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
|
|
||||||
|
|
||||||
.card-header {
|
|
||||||
border: none;
|
|
||||||
background-color: transparent;
|
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.125);
|
|
||||||
|
|
||||||
button {
|
|
||||||
text-align: left;
|
|
||||||
padding: 0px;
|
|
||||||
// width: auto;
|
|
||||||
font-weight: bold;
|
|
||||||
|
|
||||||
.fas {
|
|
||||||
background: #207698;
|
|
||||||
color: #fff;
|
|
||||||
margin-right: 10px;
|
|
||||||
height: 1.25em;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.refresh-container {
|
.refresh-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: right;
|
justify-content: right;
|
||||||
|
@@ -14,10 +14,9 @@ import { SectionsService } from '../sections.service';
|
|||||||
import { SectionModelComponent } from '../models/section.model';
|
import { SectionModelComponent } from '../models/section.model';
|
||||||
import { SubmissionService } from '../../submission.service';
|
import { SubmissionService } from '../../submission.service';
|
||||||
import { hasValue, isEmpty } from '../../../shared/empty.util';
|
import { hasValue, isEmpty } from '../../../shared/empty.util';
|
||||||
import { debounce, debounceTime, timeInterval } from 'rxjs/operators';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This component represents a section for managing item's access conditions.
|
* This component represents a section for the sherpa policy informations structure.
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-section-sherpa-policies',
|
selector: 'ds-section-sherpa-policies',
|
||||||
|
@@ -3894,6 +3894,10 @@
|
|||||||
|
|
||||||
"submission.sections.status.warnings.aria": "has warnings",
|
"submission.sections.status.warnings.aria": "has warnings",
|
||||||
|
|
||||||
|
"submission.sections.status.info.title": "Additional Information",
|
||||||
|
|
||||||
|
"submission.sections.status.info.aria": "Additional Information",
|
||||||
|
|
||||||
"submission.sections.toggle.open": "Open section",
|
"submission.sections.toggle.open": "Open section",
|
||||||
|
|
||||||
"submission.sections.toggle.close": "Close section",
|
"submission.sections.toggle.close": "Close section",
|
||||||
@@ -4020,6 +4024,8 @@
|
|||||||
|
|
||||||
"submission.sections.sherpa.publisher.policy.noembargo": "No Embargo",
|
"submission.sections.sherpa.publisher.policy.noembargo": "No Embargo",
|
||||||
|
|
||||||
|
"submission.sections.sherpa.publisher.policy.nolocation": "None",
|
||||||
|
|
||||||
"submission.sections.sherpa.publisher.policy.license": "License",
|
"submission.sections.sherpa.publisher.policy.license": "License",
|
||||||
|
|
||||||
"submission.sections.sherpa.publisher.policy.prerequisites": "Prerequisites",
|
"submission.sections.sherpa.publisher.policy.prerequisites": "Prerequisites",
|
||||||
@@ -4042,11 +4048,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
"submission.submit.breadcrumbs": "New submission",
|
"submission.submit.breadcrumbs": "New submission",
|
||||||
|
|
||||||
"submission.submit.title": "New submission",
|
"submission.submit.title": "New submission",
|
||||||
|
Reference in New Issue
Block a user