Merge remote-tracking branch 'upstream/main' into fix-specs-without-expectations_contribute-main

# Conflicts:
#	src/app/shared/browse-by/shared-browse-by.module.ts
This commit is contained in:
Alexandre Vryghem
2023-12-15 22:02:18 +01:00
447 changed files with 15702 additions and 5030 deletions

View File

@@ -134,6 +134,7 @@
<div class="m-2">
<div (click)="setAccepted(!accepted)">
<input type="checkbox"
class="mr-2"
title="accepted"
[checked]="accepted">
<span> {{ 'submission.sections.ccLicense.confirmation' | translate }}</span>

View File

@@ -3,7 +3,7 @@ import { Component, Injector, Input, OnInit, ViewChild } from '@angular/core';
import { SectionsDirective } from '../sections.directive';
import { SectionDataObject } from '../models/section-data.model';
import { rendersSectionType } from '../sections-decorator';
import { AlertType } from '../../../shared/alert/aletr-type';
import { AlertType } from '../../../shared/alert/alert-type';
/**
* This component represents a section that contains the submission license form.

View File

@@ -7,7 +7,7 @@ import { SectionModelComponent } from '../models/section.model';
import { renderSectionFor } from '../sections-decorator';
import { SectionDataObject } from '../models/section-data.model';
import { SubmissionService } from '../../submission.service';
import { AlertType } from '../../../shared/alert/aletr-type';
import { AlertType } from '../../../shared/alert/alert-type';
import { SectionsService } from '../sections.service';
import { WorkspaceitemSectionIdentifiersObject } from '../../../core/submission/models/workspaceitem-section-identifiers.model';

View File

@@ -1,7 +1,7 @@
import { Component, Input } from '@angular/core';
import { Policy } from '../../../../core/submission/models/sherpa-policies-details.model';
import { AlertType } from '../../../../shared/alert/aletr-type';
import { AlertType } from '../../../../shared/alert/alert-type';
/**
* This component represents a section that contains the publisher policy informations.

View File

@@ -1,4 +1,4 @@
import { AlertType } from '../../../shared/alert/aletr-type';
import { AlertType } from '../../../shared/alert/alert-type';
import { Component, Inject } from '@angular/core';
import { BehaviorSubject, Observable, of, Subscription } from 'rxjs';

View File

@@ -1,16 +1,13 @@
<ng-container *ngIf="fileData">
<div class="row">
<div class="col-md-2">
<!--ds-themed-thumbnail [thumbnail]="bitstreamsList[bitstreamKey].url | async"></ds-themed-thumbnail-->
<ds-themed-thumbnail [thumbnail]="fileData?.thumbnail"></ds-themed-thumbnail>
</div>
<div class="col-md-10">
<div class="col-md-12">
<div class="float-left w-75">
<h3>{{fileName}} <span class="text-muted">({{fileData?.sizeBytes | dsFileSize}})</span></h3>
</div>
<div class="float-right w-15">
<ng-container>
<ds-themed-file-download-link [cssClasses]="'btn btn-link-focus'" [isBlank]="true" [bitstream]="getBitstream()" [enableRequestACopy]="false">
<ds-themed-file-download-link [cssClasses]="'btn btn-link-focus'" [isBlank]="true"
[bitstream]="getBitstream()" [enableRequestACopy]="false">
<i class="fa fa-download fa-2x text-normal" aria-hidden="true"></i>
</ds-themed-file-download-link>
<button class="btn btn-link-focus"
@@ -46,7 +43,9 @@
<p>{{ 'submission.sections.upload.delete.confirm.info' | translate }}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" (click)="c('cancel')">{{ 'submission.sections.upload.delete.confirm.cancel' | translate }}</button>
<button type="button" class="btn btn-danger" (click)="c('ok')">{{ 'submission.sections.upload.delete.confirm.submit' | translate }}</button>
<button type="button" class="btn btn-secondary"
(click)="c('cancel')">{{ 'submission.sections.upload.delete.confirm.cancel' | translate }}</button>
<button type="button" class="btn btn-danger"
(click)="c('ok')">{{ 'submission.sections.upload.delete.confirm.submit' | translate }}</button>
</div>
</ng-template>

View File

@@ -15,15 +15,23 @@
</ng-container>
<ng-container *ngFor="let entry of getAllMetadataValue(fileDescrKey)">
<ng-container *ngIf="entry.value !== ''">
{{entry.value | dsTruncate:['150']}}
{{entry.value | dsTruncate:['150']}}
</ng-container>
<ng-container *ngIf="entry.value === ''">
<span *ngIf="metadata[fileDescrKey].indexOf(entry) === 0" class="text-muted">{{'submission.sections.upload.no-entry' | translate}} {{fileDescrKey}}</span>
<span *ngIf="metadata[fileDescrKey].indexOf(entry) === 0"
class="text-muted">{{'submission.sections.upload.no-entry' | translate}} {{fileDescrKey}}</span>
</ng-container>
<span class="clearfix"></span>
</ng-container>
</ng-container>
<div class="mt-1" *ngIf="fileFormat">
{{'admin.registries.bitstream-formats.edit.head' | translate:{format: fileFormat} }}
</div>
<div class="mt-1" *ngIf="fileCheckSum">
Checksum {{fileCheckSum.checkSumAlgorithm}}: {{fileCheckSum.value}}
</div>
<span class="clearfix"></span>
<ds-submission-section-upload-access-conditions [accessConditions]="fileData.accessConditions"></ds-submission-section-upload-access-conditions>
</div>

View File

@@ -38,6 +38,13 @@ export class SubmissionSectionUploadFileViewComponent implements OnInit {
*/
public fileDescrKey = 'Description';
public fileFormat!: string;
public fileCheckSum!: {
checkSumAlgorithm: string;
value: string;
};
/**
* Initialize instance variables
*/
@@ -46,6 +53,8 @@ export class SubmissionSectionUploadFileViewComponent implements OnInit {
this.metadata[this.fileTitleKey] = Metadata.all(this.fileData.metadata, 'dc.title');
this.metadata[this.fileDescrKey] = Metadata.all(this.fileData.metadata, 'dc.description');
}
this.fileCheckSum = this.fileData.checkSum;
this.fileFormat = this.fileData.format.shortDescription;
}
/**

View File

@@ -21,7 +21,7 @@ import { SectionsType } from '../sections-type';
import { renderSectionFor } from '../sections-decorator';
import { SectionDataObject } from '../models/section-data.model';
import { SubmissionObjectEntry } from '../../objects/submission-objects.reducer';
import { AlertType } from '../../../shared/alert/aletr-type';
import { AlertType } from '../../../shared/alert/alert-type';
import { RemoteData } from '../../../core/data/remote-data';
import { Group } from '../../../core/eperson/models/group.model';
import { SectionsService } from '../sections.service';