diff --git a/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.html b/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.html index 221b3652d5bf5c756501872321ee1d15791507fd..c1c78494d49c5e0b3cbc566d684637743ddbd0a2 100644 --- a/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.html +++ b/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.html @@ -1,18 +1,3 @@ -<div *ngIf="canEdit" - class="upload-button-wrapper" -> - <button solidifyAlternativeButton - color="primary" - type="button" - solidifyShortCuts - (onEnter)="openModalUpload()" - (click)="openModalUpload()" - > - <solidify-icon [iconName]="iconNameEnum.uploadFile"></solidify-icon> - {{labelTranslateEnum.sendDocumentFile | translate}} - </button> -</div> - <div *ngIf="(numberUploadInProgressObs | async) > 0 || (uploadStatusObs | async)?.length > 0" class="file-in-progress" > @@ -76,3 +61,24 @@ > </solidify-data-table> </div> + +<div *ngIf="canEdit" + class="upload-button-wrapper" +> + <button solidifyAlternativeButton + color="primary" + type="button" + solidifyShortCuts + (onEnter)="fileInput.click()" + (click)="fileInput.click()" + > + <solidify-icon [iconName]="iconNameEnum.uploadFile"></solidify-icon> + {{labelTranslateEnum.uploadAFile | translate}} + <input id="file-upload" + #fileInput + class="hide" + type="file" + (change)="onFileChange($event)" + /> + </button> +</div> diff --git a/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.scss b/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.scss index 8d5b8239023e50ef3003a8b948c3d5c54f700d19..32c9632666ea755d21453431446e90301606e5c3 100644 --- a/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.scss +++ b/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.scss @@ -3,8 +3,12 @@ :host { @include spinner-wrapper; + .hide { + display: none; + } + .wrapper { - min-height: 550px; + min-height: 220px; display: grid; justify-content: center; grid-template-columns: 1fr; @@ -13,6 +17,7 @@ .upload-button-wrapper { display: flex; justify-content: center; + margin: 10px 0; } .file-in-progress { diff --git a/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.ts b/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.ts index dadceb0397445e5ec2032d3149f19fdbfc2eb5a7..6504f31ef6e256d100097d0f2a6d5996081ccca0 100644 --- a/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.ts +++ b/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.ts @@ -481,11 +481,12 @@ export class DepositDocumentFileContainer extends SharedAbstractRoutable impleme // )); // } - openModalUpload(): void { + openModalUpload(file: File): void { const dialogRef = this._dialog.open(DepositDocumentFileUploadDialog, { width: "500px", data: { mode: "create", + file: file, } as DepositDocumentFileUploadDialogData, }); this.subscribe(dialogRef.afterClosed().pipe( @@ -549,4 +550,12 @@ export class DepositDocumentFileContainer extends SharedAbstractRoutable impleme // }), // )); // } + + onFileChange(event: Event & any): void { + if (event.target.files.length > 0) { + const file = event.target.files[0]; + this.openModalUpload(file); + // this.isInError = this.isFileNameInvalid(this.file); + } + } } diff --git a/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.html b/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.html index aa48379f6606ac747656560b3a0fd9de93d826a1..efc073c42cb452da2b291b440324f1b4748876ab 100644 --- a/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.html +++ b/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.html @@ -1,24 +1,4 @@ -<solidify-base-action-dialog [titleToTranslate]="(isDetailOrEdit ? labelTranslateEnum.documentFile : labelTranslateEnum.sendDocumentFile) | translate"> - <div class="file-header"> - <h2>{{labelTranslateEnum.file | translate }}</h2> - <div *ngIf="isCreate" - class="button-add-files-wrapper" - > - <button solidifyAlternativeButton - (click)="fileInput.click()" - > - {{labelTranslateEnum.add | translate}} - <input id="file-upload" - #fileInput - class="hide" - type="file" - [name]="file" - (change)="onFileChange($event)" - /> - </button> - </div> - </div> - +<solidify-base-action-dialog [titleToTranslate]="(isDetailOrEdit ? labelTranslateEnum.file : labelTranslateEnum.uploadAFile) | translate"> <div *ngIf="file | isNotNullNorUndefined" class="file-result" > @@ -30,17 +10,6 @@ <mat-panel-title> <span [class.is-in-error]="isInError">{{file.name}}</span> </mat-panel-title> - <mat-panel-description> - <button *ngIf="isCreate" - mat-icon-button - class="trash" - (click)="delete()" - [matTooltip]="labelTranslateEnum.delete | translate" - [matTooltipPosition]="'left'" - > - <solidify-icon [iconName]="iconNameEnum.delete"></solidify-icon> - </button> - </mat-panel-description> </mat-expansion-panel-header> <ul *ngIf="isAtLeastOneFileInfoPresent"> <li *ngIf="file.type | isNotNullNorUndefined"> @@ -196,7 +165,7 @@ <button mat-button [mat-dialog-close]="" [solidifyAutoFocus]="true" - >{{labelTranslateEnum.close | translate}} + >{{labelTranslateEnum.cancel | translate}} </button> <button *ngIf="isCreate || isEdit" mat-flat-button diff --git a/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.scss b/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.scss index d844298877c44ddf15409e760ba4c9a11831c0b0..3ae575e28bcb04cf11ba675fa5d8b5fc760148ef 100644 --- a/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.scss +++ b/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.scss @@ -1,19 +1,6 @@ @import "../../../../../../sass/abstracts/abstracts"; :host { - - .hide { - display: none; - } - - .file-header { - display: grid; - grid-template-columns: max-content max-content; - justify-content: space-between; - align-items: center; - margin-bottom: 10px; - } - .file-result { margin-bottom: 20px; @@ -81,21 +68,6 @@ } } - - .button-add-files-wrapper { - text-align: center; - - button { - - &:focus { - background-color: $primary-color-lighter !important; - color: white !important; - } - - } - } - - .footer { justify-content: flex-end; align-items: center; diff --git a/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.ts b/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.ts index 7783f4fdf20dbd012cd3eff230763c130a626a72..5e5fb51fd213ca54940cbed16ce240d392fc1c07 100644 --- a/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.ts +++ b/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.ts @@ -48,7 +48,6 @@ import { FormValidationHelper, isNonEmptyString, isNotNullNorUndefined, - isNullOrUndefined, KeyValue, MappingObjectUtil, MemoizedUtil, @@ -154,6 +153,11 @@ export class DepositDocumentFileUploadDialog extends SharedAbstractContainer imp super.ngOnInit(); this._store.dispatch(new SharedDocumentFileTypeAction.GetAll()); + if (this.isCreate) { + this.file = this.data.file; + this.isInError = this.isFileNameInvalid(this.file); + } + this.form = this._fb.group({ [this.formDefinition.documentFileTypeId]: [undefined, [Validators.required]], [this.formDefinition.licenseId]: [undefined, []], @@ -186,13 +190,6 @@ export class DepositDocumentFileUploadDialog extends SharedAbstractContainer imp } } - onFileChange(event: Event & any): void { - if (event.target.files.length > 0) { - this.file = event.target.files[0]; - this.isInError = this.isFileNameInvalid(this.file); - } - } - getDate(lastModified: number): Date { return new Date(lastModified); } @@ -300,5 +297,6 @@ class FormComponentFormDefinition extends BaseFormDefinition { export interface DepositDocumentFileUploadDialogData { mode: "edit" | "create" | "detail"; + file: File; documentFile: DocumentFile; } diff --git a/src/app/shared/enums/label-translate.enum.ts b/src/app/shared/enums/label-translate.enum.ts index 2a4ff2ca301dcd485ba2bf19091934645c766ed8..a8b24be4527db8731f3f8a76e6df45bfd21aef9f 100644 --- a/src/app/shared/enums/label-translate.enum.ts +++ b/src/app/shared/enums/label-translate.enum.ts @@ -418,7 +418,7 @@ export class LabelTranslateEnum { static contributorsAndAffiliations: string = MARK_AS_TRANSLATABLE("general.label.contributorsAndAffiliations"); static descriptionOfTheDocument: string = MARK_AS_TRANSLATABLE("general.label.descriptionOfTheDocument"); static finalVerificationAndSubmission: string = MARK_AS_TRANSLATABLE("general.label.finalVerificationAndSubmission"); - static sendDocumentFile: string = MARK_AS_TRANSLATABLE("general.label.sendDocumentFile"); + static uploadAFile: string = MARK_AS_TRANSLATABLE("general.label.uploadAFile"); static documentFile: string = MARK_AS_TRANSLATABLE("general.label.documentFile"); static documentFiles: string = MARK_AS_TRANSLATABLE("general.label.documentFiles"); static filesAreInErrorAndPreventSubmission: string = MARK_AS_TRANSLATABLE("general.label.filesAreInErrorAndPreventSubmission"); diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 49e57ebf9f906b648405ca0ea4b1de80f40b0dbc..4ef59e8573659e5f824d5c464a95a718fa1eaa68 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -871,7 +871,6 @@ "search": "Suche", "secondaryBibliographicMetadata": "general.label.secondaryBibliographicMetadata", "selectLanguage": "Sprache auswählen", - "sendDocumentFile": "general.label.sendDocumentFile", "sensitivity": "Empfindlichkeit", "sentRequest": "Gesendete Anfrage", "sentRequests": "Gesendete Anfragen", @@ -920,6 +919,7 @@ "units": "Einheiten", "updated": "Aktualisiert", "updatedBy": "Aktualisiert von", + "uploadAFile": "general.label.uploadAFile", "uploadAvatar": "Avatar hochladen", "uploadLogo": "Logo hochladen", "url": "Url", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 7d9adac3f7594f4e3a1548e1bf7b731c75df8da6..f5784fb1cc57a442560b115fcb5c48ab039bfe8e 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -871,7 +871,6 @@ "search": "Search", "secondaryBibliographicMetadata": "Secondary bibliographic metadata", "selectLanguage": "Select language", - "sendDocumentFile": "Send document file", "sensitivity": "Sensitivity", "sentRequest": "Sent request", "sentRequests": "Sent requests", @@ -920,6 +919,7 @@ "units": "Units", "updated": "Updated", "updatedBy": "Updated by", + "uploadAFile": "Upload a file", "uploadAvatar": "Upload avatar", "uploadLogo": "Upload logo", "url": "Url", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 891956325273953d37d358757cebbf125ed1a381..b19deccb85cc63c1c4c2ee7db772bd82334e8ceb 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -871,7 +871,6 @@ "search": "Rechercher", "secondaryBibliographicMetadata": "Métadonnées bibliographiques secondaires", "selectLanguage": "Sélectionner une langue", - "sendDocumentFile": "Envoyer un document", "sensitivity": "Sensibilité", "sentRequest": "Demande envoyée", "sentRequests": "Demandes envoyées", @@ -920,6 +919,7 @@ "units": "Unités", "updated": "Mise à jour", "updatedBy": "Mis à jour par", + "uploadAFile": "Charger un fichier", "uploadAvatar": "Charger avatar", "uploadLogo": "Charger logo", "url": "Url",