diff --git a/apps/red-ui/src/app/modules/admin/admin.module.ts b/apps/red-ui/src/app/modules/admin/admin.module.ts index 9220d7818..b5570876a 100644 --- a/apps/red-ui/src/app/modules/admin/admin.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin.module.ts @@ -44,6 +44,8 @@ import { BaseEntityScreenComponent } from './base-entity-screen/base-entity-scre import { CloneDossierTemplateDialogComponent } from './dialogs/clone-dossier-template-dialog/clone-dossier-template-dialog.component'; import { AdminSideNavComponent } from './admin-side-nav/admin-side-nav.component'; import { ConfigureCertificateDialogComponent } from './dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component'; +import { PkcsSignatureConfigurationComponent } from './dialogs/configure-digital-signature-dialog/pkcs-signature-configuration/pkcs-signature-configuration.component'; +import { KmsSignatureConfigurationComponent } from './dialogs/configure-digital-signature-dialog/kms-signature-configuration/kms-signature-configuration.component'; const dialogs = [ AddEditDossierTemplateDialogComponent, @@ -86,6 +88,8 @@ const components = [ BaseEntityScreenComponent, GeneralConfigFormComponent, SmtpFormComponent, + PkcsSignatureConfigurationComponent, + KmsSignatureConfigurationComponent, ...dialogs, ...screens, diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.html index 815a4f04a..2811695b0 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.html @@ -1,27 +1,48 @@
-
+
-
-
- - {{ translations[option].title | translate }} + +
+
+ + {{ translations.options[option].title | translate }} +
+

+ {{ translations.options[option].description | translate }} +

-

- {{ translations[option].description | translate }} -

-
+ + + + +
- -
+ + +
+
+ + +
+
+ +
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.ts index cd296adb4..881ba41a6 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.ts @@ -1,5 +1,7 @@ -import { Component } from '@angular/core'; +import { Component, Injector, ViewChild } from '@angular/core'; import { digitalSignatureDialogTranslations } from '../../translations/digital-signature-dialog-translations'; +import { BaseDialogComponent } from '../../../../../../../../libs/common-ui/src'; +import { MatDialogRef } from '@angular/material/dialog'; enum CertificateType { PKCS = 'pkcs', @@ -10,11 +12,24 @@ enum CertificateType { templateUrl: './configure-certificate-dialog.component.html', styleUrls: ['./configure-certificate-dialog.component.scss'], }) -export class ConfigureCertificateDialogComponent { +export class ConfigureCertificateDialogComponent extends BaseDialogComponent { + // @ViewChild(EditDossierGeneralInfoComponent) generalInfoComponent: EditDossierGeneralInfoComponent; + // @ViewChild(EditDossierDownloadPackageComponent) downloadPackageComponent: EditDossierDownloadPackageComponent; + + readonly certificateType = CertificateType; readonly certificateOptions = Object.values(CertificateType); readonly translations = digitalSignatureDialogTranslations; selectedOption = this.certificateOptions[0]; + isInConfiguration = false; - displaySignatureConfiguration() {} + constructor(protected readonly _injector: Injector, protected readonly _dialogRef: MatDialogRef) { + super(_injector, _dialogRef); + } + + toggleIsInConfiguration() { + this.isInConfiguration = !this.isInConfiguration; + } + + save() {} } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms-signature-configuration/kms-signature-configuration.component.html b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms-signature-configuration/kms-signature-configuration.component.html new file mode 100644 index 000000000..c0ad9c296 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms-signature-configuration/kms-signature-configuration.component.html @@ -0,0 +1 @@ + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms/kms.component.html b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms-signature-configuration/kms-signature-configuration.component.scss similarity index 100% rename from apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms/kms.component.html rename to apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms-signature-configuration/kms-signature-configuration.component.scss diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms-signature-configuration/kms-signature-configuration.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms-signature-configuration/kms-signature-configuration.component.ts new file mode 100644 index 000000000..348ee0547 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms-signature-configuration/kms-signature-configuration.component.ts @@ -0,0 +1,9 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; + +@Component({ + selector: 'redaction-kms-signature-configuration', + templateUrl: './kms-signature-configuration.component.html', + styleUrls: ['./kms-signature-configuration.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class KmsSignatureConfigurationComponent {} diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms/kms.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms/kms.component.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs-signature-configuration/pkcs-signature-configuration.component.html b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs-signature-configuration/pkcs-signature-configuration.component.html new file mode 100644 index 000000000..c0ad9c296 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs-signature-configuration/pkcs-signature-configuration.component.html @@ -0,0 +1 @@ + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms/kms.component.scss b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs-signature-configuration/pkcs-signature-configuration.component.scss similarity index 100% rename from apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/kms/kms.component.scss rename to apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs-signature-configuration/pkcs-signature-configuration.component.scss diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs-signature-configuration/pkcs-signature-configuration.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs-signature-configuration/pkcs-signature-configuration.component.ts new file mode 100644 index 000000000..445735cba --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs-signature-configuration/pkcs-signature-configuration.component.ts @@ -0,0 +1,9 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; + +@Component({ + selector: 'redaction-pkcs-signature-configuration', + templateUrl: './pkcs-signature-configuration.component.html', + styleUrls: ['./pkcs-signature-configuration.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class PkcsSignatureConfigurationComponent {} diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs/pkcs.component.html b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs/pkcs.component.html deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs/pkcs.component.scss b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs/pkcs.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs/pkcs.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/pkcs/pkcs.component.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/red-ui/src/app/modules/admin/translations/digital-signature-dialog-translations.ts b/apps/red-ui/src/app/modules/admin/translations/digital-signature-dialog-translations.ts index e63781c97..c4776bd53 100644 --- a/apps/red-ui/src/app/modules/admin/translations/digital-signature-dialog-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/digital-signature-dialog-translations.ts @@ -1,12 +1,19 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; export const digitalSignatureDialogTranslations = { - pkcs: { - title: _('digital-signature-dialog.options.pkcs.title'), - description: _('digital-signature-dialog.options.pkcs.description'), + title: { + beforeConfiguration: _('digital-signature-dialog.title.before-configuration'), + pkcs: _('digital-signature-dialog.title.pkcs'), + kms: _('digital-signature-dialog.title.kms'), }, - kms: { - title: _('digital-signature-dialog.options.kms.title'), - description: _('digital-signature-dialog.options.kms.description'), + options: { + pkcs: { + title: _('digital-signature-dialog.options.pkcs.title'), + description: _('digital-signature-dialog.options.pkcs.description'), + }, + kms: { + title: _('digital-signature-dialog.options.kms.title'), + description: _('digital-signature-dialog.options.kms.description'), + }, }, } as const; diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.html b/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.html index 5c032b36c..21cb3dcdf 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.html +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.html @@ -3,37 +3,21 @@
-
- -
-
- -
- -

{{ fileToImport.name }}

- -
-
- - {{ 'import-redactions-dialog.only-for-specific-pages' | translate }} - + +
+ + {{ 'import-redactions-dialog.only-for-specific-pages' | translate }} + -
- -
+
+
- +
@@ -45,5 +29,3 @@ - - diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.scss b/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.scss index 7fca79465..0f476c1e4 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.scss +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.scss @@ -1,62 +1,3 @@ -@use 'variables'; - -.upload-area, -.file-area { - display: flex; - align-items: center; - border-radius: 8px; - width: 586px; - background: variables.$grey-2; -} - -.upload-area { - gap: 16px; - height: 88px; - cursor: pointer; - - mat-icon, - div { - opacity: 0.5; - transition: 0.1s; - } - - mat-icon { - margin-left: 32px; - } - - div { - font-size: 16px; - font-weight: 500; - } -} - -.file-area { - gap: 10px; - height: 48px; - - mat-icon:first-child { - opacity: 0.5; - margin-left: 16px; - } - - mat-icon:last-child { - margin-left: auto; - margin-right: 16px; - cursor: pointer; - } - - mat-icon { - transform: scale(0.7); - } - - p { - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - max-width: 490px; - } -} - .only-for-pages { margin-top: 16px; margin-left: 21px; diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.ts index 2cffea8d5..c9f20d3e0 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/import-redactions-dialog/import-redactions-dialog.ts @@ -33,28 +33,13 @@ export class ImportRedactionsDialogComponent extends BaseDialogComponent { super(_injector, _dialogRef); } - triggerAttachFile() { - this.attachFileInput.nativeElement.click(); - } - - attachFile(event) { - const files = event.target['files']; - this.fileToImport = files[0]; - - // input field needs to be set as empty in case the same file will be selected second time - event.target.value = ''; - + fileChanged(file: File | null) { + this.fileToImport = file; if (!this.fileToImport) { - console.error('No file to import!'); - return; + this.onlyForSpecificPages = false; } } - removeFile() { - this.fileToImport = null; - this.onlyForSpecificPages = false; - } - async save(): Promise { this._loadingService.start(); const import$ = this._redactionImportService.importRedactions(this.data.dossierId, this.data.fileId, this.fileToImport); diff --git a/apps/red-ui/src/app/modules/shared/directives/drag-drop-file-upload.directive.ts b/apps/red-ui/src/app/modules/shared/directives/drag-drop-file-upload.directive.ts deleted file mode 100644 index 77daf3780..000000000 --- a/apps/red-ui/src/app/modules/shared/directives/drag-drop-file-upload.directive.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Directive, EventEmitter, Output, HostListener, HostBinding } from '@angular/core'; - -const DRAG_OVER_BACKGROUND_COLOR = '#e2eefd'; -const DEFAULT_BACKGROUND_COLOR = '#f4f5f7'; - -@Directive({ - selector: '[redactionDragDropFileUpload]', -}) -export class DragDropFileUploadDirective { - @Output() readonly fileDropped = new EventEmitter(); - @HostBinding('style.background-color') private background = DEFAULT_BACKGROUND_COLOR; - - @HostListener('dragover', ['$event']) - onDragOver(event) { - event.preventDefault(); - event.stopPropagation(); - if (event.dataTransfer.types.includes('Files')) { - this.background = DRAG_OVER_BACKGROUND_COLOR; - } - } - - @HostListener('dragleave', ['$event']) - onDragLeave(event) { - event.preventDefault(); - event.stopPropagation(); - this.background = DEFAULT_BACKGROUND_COLOR; - } - - @HostListener('drop', ['$event']) - onDrop(event) { - event.preventDefault(); - event.stopPropagation(); - if (event.dataTransfer.types.includes('Files')) { - this.background = DEFAULT_BACKGROUND_COLOR; - const files = event.dataTransfer.files; - if (files.length > 0) { - this.fileDropped.emit({ target: { files } }); - } - } - } -} diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts index b6acecd3f..823543687 100644 --- a/apps/red-ui/src/app/modules/shared/shared.module.ts +++ b/apps/red-ui/src/app/modules/shared/shared.module.ts @@ -30,7 +30,7 @@ import { FileStatsComponent } from './components/file-stats/file-stats.component import { FileNameColumnComponent } from '@shared/components/file-name-column/file-name-column.component'; import { DossierNameColumnComponent } from '@shared/components/dossier-name-column/dossier-name-column.component'; import { MAT_DATE_FORMATS } from '@angular/material/core'; -import { DragDropFileUploadDirective } from '@shared/directives/drag-drop-file-upload.directive'; +import { DragDropFileUploadDirective } from '../../../../../../libs/common-ui/src/lib/upload-file/drag-drop-file-upload.directive'; import { DossiersTypeSwitchComponent } from '@shared/components/dossiers-type-switch/dossiers-type-switch.component'; import { TranslateModule } from '@ngx-translate/core'; import { RouterModule } from '@angular/router'; @@ -59,7 +59,7 @@ const components = [ ...buttons, ]; -const utils = [DatePipe, NamePipe, NavigateLastDossiersScreenDirective, LongPressDirective, DragDropFileUploadDirective]; +const utils = [DatePipe, NamePipe, NavigateLastDossiersScreenDirective, LongPressDirective]; const modules = [MatConfigModule, ScrollingModule, IconsModule, FormsModule, ReactiveFormsModule, CommonUiModule]; diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index 213a510b9..2af73dc3b 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -657,8 +657,10 @@ "digital-signature": "Digitale Signatur", "digital-signature-dialog": { "actions": { + "back": "", "cancel": "", - "continue": "" + "continue": "", + "save": "" }, "options": { "kms": { @@ -670,7 +672,11 @@ "title": "" } }, - "title": "" + "title": { + "before-configuration": "", + "kms": "", + "pkcs": "" + } }, "digital-signature-screen": { "action": { @@ -1548,8 +1554,6 @@ "backend-version": "Backend-Version der Anwendung", "chart": { "cumulative": "Seiten insgesamt", - "legend": "Legende", - "licensed-total": "Insgesamt lizensiert", "pages-per-month": "Seiten pro Monat", "total-pages": "Gesamtzahl der Seiten" }, diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index c05c1b693..df1024ef6 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -657,8 +657,10 @@ "digital-signature": "Digital Signature", "digital-signature-dialog": { "actions": { + "back": "Back", "cancel": "Cancel", - "continue": "Continue" + "continue": "Continue", + "save": "Save Configurations" }, "options": { "kms": { @@ -670,7 +672,11 @@ "title": "I want to upload a PKCS#12 file" } }, - "title": "Configure Digital Signature Certificate" + "title": { + "before-configuration": "Configure Digital Signature Certificate", + "kms": "Configure a Certificate with Amazon KMS", + "pkcs": "Configure a PKCS#12 Certificate" + } }, "digital-signature-screen": { "action": { @@ -1548,8 +1554,6 @@ "backend-version": "Backend Application Version", "chart": { "cumulative": "Cumulative Pages", - "legend": "Legend", - "licensed-total": "Licensed Total", "pages-per-month": "Pages per Month", "total-pages": "Total Pages" }, diff --git a/libs/common-ui b/libs/common-ui index ad3c87b4a..c695f5c44 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit ad3c87b4a09961d8f32778c0c912e586cd4576cd +Subproject commit c695f5c4419f4fd8d76946d5a474dccbda0edad2