+
diff --git a/apps/red-ui/src/app/modules/file-preview/components/structured-component-management/structured-component-management.component.ts b/apps/red-ui/src/app/modules/file-preview/components/structured-component-management/structured-component-management.component.ts
index cf90cbbac..1191df27a 100644
--- a/apps/red-ui/src/app/modules/file-preview/components/structured-component-management/structured-component-management.component.ts
+++ b/apps/red-ui/src/app/modules/file-preview/components/structured-component-management/structured-component-management.component.ts
@@ -1,10 +1,16 @@
-import { Component, Input, signal } from '@angular/core';
+import { Component, Input, QueryList, signal, ViewChildren } from '@angular/core';
import { ComponentLogEntry, Dictionary, File, WorkflowFileStatuses } from '@red/domain';
import { IconButtonTypes, LoadingService } from '@iqser/common-ui';
import { ComponentLogService } from '@services/files/component-log.service';
import { FilesMapService } from '@services/files/files-map.service';
import { UserPreferenceService } from '@users/user-preference.service';
import { firstValueFrom } from 'rxjs';
+import { List } from '@common-ui/utils';
+import { EditableStructuredComponentValueComponent } from '../editable-structured-component-value/editable-structured-component-value.component';
+
+interface DeselectEvent {
+ name: string;
+}
@Component({
selector: 'redaction-structured-component-management',
@@ -15,10 +21,11 @@ export class StructuredComponentManagementComponent {
@Input() file: File;
@Input() dictionaries: Dictionary[];
+ @ViewChildren('editableComponent') editableComponents: List
;
+
readonly componentLogData = signal(undefined);
readonly openScmDialogByDefault = signal(this.userPreferences.getOpenScmDialogByDefault());
readonly iconButtonTypes = IconButtonTypes;
- selectedEntry: ComponentLogEntry;
constructor(
private readonly _componentLogService: ComponentLogService,
@@ -27,8 +34,11 @@ export class StructuredComponentManagementComponent {
readonly userPreferences: UserPreferenceService,
) {}
- selectEntry(entry: ComponentLogEntry) {
- this.selectedEntry = this.selectedEntry?.name !== entry.name ? entry : null;
+ deselectLast() {
+ const lastSelected = this.editableComponents.find(c => c.selected);
+ if (lastSelected) {
+ lastSelected.deselect();
+ }
}
get canEdit() {
diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json
index 1aa05e456..71b4cddbb 100644
--- a/apps/red-ui/src/assets/i18n/redact/de.json
+++ b/apps/red-ui/src/assets/i18n/redact/de.json
@@ -495,7 +495,12 @@
},
"component-management": {
"actions": {
- "edit": ""
+ "add": "",
+ "cancel": "",
+ "delete": "",
+ "edit": "",
+ "save": "",
+ "undo": ""
},
"components": "",
"table-header": {
diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json
index 09ea9f10e..73321e5f0 100644
--- a/apps/red-ui/src/assets/i18n/redact/en.json
+++ b/apps/red-ui/src/assets/i18n/redact/en.json
@@ -495,7 +495,12 @@
},
"component-management": {
"actions": {
- "edit": "Edit"
+ "add": "Add",
+ "cancel": "Cancel",
+ "delete": "Remove value",
+ "edit": "Edit",
+ "save": "Save",
+ "undo": "Undo"
},
"components": "Components",
"table-header": {
diff --git a/apps/red-ui/src/assets/i18n/scm/de.json b/apps/red-ui/src/assets/i18n/scm/de.json
index 3a94f7c25..af906e040 100644
--- a/apps/red-ui/src/assets/i18n/scm/de.json
+++ b/apps/red-ui/src/assets/i18n/scm/de.json
@@ -495,7 +495,12 @@
},
"component-management": {
"actions": {
- "edit": ""
+ "add": "",
+ "cancel": "",
+ "delete": "",
+ "edit": "",
+ "save": "",
+ "undo": ""
},
"components": "",
"table-header": {
diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json
index ae141c18d..439ae5836 100644
--- a/apps/red-ui/src/assets/i18n/scm/en.json
+++ b/apps/red-ui/src/assets/i18n/scm/en.json
@@ -495,7 +495,12 @@
},
"component-management": {
"actions": {
- "edit": "Edit"
+ "add": "Add",
+ "cancel": "Cancel",
+ "delete": "Remove value",
+ "edit": "Edit",
+ "save": "Save",
+ "undo": "Undo"
},
"components": "Components",
"table-header": {