RED-3760 - new help mode keys

This commit is contained in:
Valentin Mihai 2022-05-09 20:36:06 +03:00
parent 525578011d
commit 3da59a8001
17 changed files with 104 additions and 256 deletions

View File

@ -23,7 +23,7 @@
[tooltip]="'dossier-details.edit-owner' | translate"
class="ml-14"
icon="iqser:edit"
iqserHelpMode="edit_dossier_owner"
iqserHelpMode="dashboard_in_dossier"
tooltipPosition="below"
></iqser-circle-button>
</ng-container>
@ -43,7 +43,7 @@
[strokeWidth]="15"
[subtitle]="'dossier-overview.dossier-details.charts.documents-in-dossier' | translate"
direction="row"
helpModeKey="filter_for_status"
helpModeKey="dashboard_in_dossier"
></redaction-simple-doughnut-chart>
</div>
@ -51,11 +51,7 @@
<iqser-progress-bar *ngFor="let config of statusConfig" [config]="config"></iqser-progress-bar>
</div>
<div
*ngIf="stats.hasFiles && needsWorkFilters$ | async as filters"
class="mt-32 legend pb-32"
iqserHelpMode="filter_for_editing_notes"
>
<div *ngIf="stats.hasFiles && needsWorkFilters$ | async as filters" class="mt-32 legend pb-32" iqserHelpMode="dashboard_in_dossier">
<div
(click)="filterService.toggleFilter('needsWorkFilters', filter.id)"
*ngFor="let filter of filters"

View File

@ -361,21 +361,21 @@ export class ConfigService {
label: this._translateService.instant('dossier-overview.quick-filters.assigned-to-me'),
checker: this._assignedToMeChecker,
disabled: entities.filter(this._assignedToMeChecker).length === 0,
helpModeKey: 'documents_quickfilter',
helpModeKey: 'filter_document_list',
},
{
id: 'unassigned',
label: this._translateService.instant('dossier-overview.quick-filters.unassigned'),
checker: this._unassignedChecker,
disabled: entities.filter(this._unassignedChecker).length === 0,
helpModeKey: 'documents_quickfilter',
helpModeKey: 'filter_document_list',
},
{
id: 'assigned-to-others',
label: this._translateService.instant('dossier-overview.quick-filters.assigned-to-others'),
checker: this._assignedToOthersChecker,
disabled: entities.filter(this._assignedToOthersChecker).length === 0,
helpModeKey: 'documents_quickfilter',
helpModeKey: 'filter_document_list',
},
].map(filter => new NestedFilter(filter));
}

View File

@ -83,6 +83,8 @@
[type]="iconButtonTypes.dark"
icon="iqser:trash"
id="deleteDossier"
iqserHelpMode="edit_dossier_delete_dossier"
[dialogElement]="true"
></iqser-icon-button>
<iqser-icon-button
@ -91,6 +93,8 @@
[label]="'dossier-listing.archive.action' | translate"
[type]="iconButtonTypes.dark"
icon="red:archive"
iqserHelpMode="edit_dossier_archive_dossier"
[dialogElement]="true"
></iqser-icon-button>
</div>
</form>

View File

@ -41,8 +41,7 @@ export class FileActionsComponent implements OnChanges {
@Input() dossier: Dossier;
@Input() type: 'file-preview' | 'dossier-overview-list' | 'dossier-overview-workflow';
@Input() maxWidth: number;
@Input() fileActionsHelpModeKey: 'document_features' | 'editor_document_features' = 'document_features';
@Input() fileActionsHelpModeKey: 'document_features_in_dossier' | 'document_features_in_editor' = 'document_features_in_dossier';
toggleTooltip?: string;
assignTooltip?: string;
buttonType?: CircleButtonType;

View File

@ -6,7 +6,7 @@
[scrollableParentView]="scrollableParentView"
[tooltip]="(currentUser.isManager ? 'dossier-listing.edit.action' : 'dossier-listing.dossier-info.action') | translate"
[type]="circleButtonTypes.dark"
iqserHelpMode="edit_dossier"
iqserHelpMode="edit_dossier_dossier_info"
></iqser-circle-button>
<iqser-circle-button

View File

@ -29,8 +29,6 @@
<iqser-circle-button
(action)="resize($event)"
*ngIf="annotationPermissions.canResizeAnnotation && annotations.length === 1"
[iqserHelpMode]="helpModeKey + '_resize'"
[scrollableParentView]="scrollableParentView"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.resize.label' | translate"
[type]="buttonType"
@ -40,23 +38,19 @@
<iqser-circle-button
(action)="annotationActionsService.changeLegalBasis($event, annotations)"
*ngIf="annotationPermissions.canChangeLegalBasis"
[scrollableParentView]="scrollableParentView"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.edit-reason.label' | translate"
[type]="buttonType"
icon="iqser:edit"
iqserHelpMode="redaction_edit_reason"
></iqser-circle-button>
<iqser-circle-button
(action)="acceptRecommendation($event)"
*ngIf="annotationPermissions.canAcceptRecommendation"
[scrollableParentView]="scrollableParentView"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.accept-recommendation.label' | translate"
[type]="buttonType"
icon="iqser:check"
iqserHelpMode="recommendation_accept_or_reject"
></iqser-circle-button>
<iqser-circle-button
@ -107,7 +101,6 @@
<iqser-circle-button
(action)="annotationActionsService.recategorizeImages($event, annotations)"
*ngIf="annotationPermissions.canRecategorizeImage"
[iqserHelpMode]="helpModeKey + '_recategorize'"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.recategorize-image' | translate"
[type]="buttonType"
@ -126,18 +119,15 @@
<iqser-circle-button
(action)="annotationActionsService.forceAnnotation($event, annotations)"
*ngIf="annotationPermissions.canForceRedaction"
[scrollableParentView]="scrollableParentView"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.force-redaction.label' | translate"
[type]="buttonType"
icon="red:thumb-up"
iqserHelpMode="skipped_force_redaction"
></iqser-circle-button>
<iqser-circle-button
(action)="annotationActionsService.forceAnnotation($event, annotations, true)"
*ngIf="annotationPermissions.canForceHint"
[iqserHelpMode]="helpModeKey + '_force_hint'"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.force-hint.label' | translate"
[type]="buttonType"
@ -147,7 +137,6 @@
<iqser-circle-button
(action)="hideAnnotation($event)"
*ngIf="isImage && isVisible"
[iqserHelpMode]="helpModeKey + '_hide'"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.hide' | translate"
[type]="buttonType"
@ -166,8 +155,6 @@
<iqser-circle-button
(action)="removeOrSuggestRemoveAnnotation($event, true)"
*ngIf="annotationPermissions.canRemoveOrSuggestToRemoveFromDictionary"
[iqserHelpMode]="helpModeKey + '_remove_from_dictionary'"
[scrollableParentView]="scrollableParentView"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.remove-annotation.remove-from-dict' | translate"
[type]="buttonType"
@ -177,8 +164,6 @@
<iqser-circle-button
(action)="markAsFalsePositive($event)"
*ngIf="annotationPermissions.canMarkAsFalsePositive"
[iqserHelpMode]="helpModeKey + '_false_positive'"
[scrollableParentView]="scrollableParentView"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.remove-annotation.false-positive' | translate"
[type]="buttonType"
@ -188,8 +173,6 @@
<iqser-circle-button
(action)="removeOrSuggestRemoveAnnotation($event, false)"
*ngIf="annotationPermissions.canRemoveOrSuggestToRemoveOnlyHere"
[iqserHelpMode]="helpModeKey + '_remove_only_here'"
[scrollableParentView]="scrollableParentView"
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.remove-annotation.only-here' | translate"
[type]="buttonType"

View File

@ -78,22 +78,6 @@ export class AnnotationActionsComponent implements OnChanges {
return this.annotations?.length === 1 && this.annotations?.[0].resizing;
}
get scrollableParentView(): ScrollableParentView {
return ScrollableParentViews.ANNOTATIONS_LIST;
}
get helpModeKey() {
const type = this.annotations[0]?.typeLabel?.split('.')[1];
const typeValue = this.annotations[0]?.typeValue;
if (type === 'hint' && (typeValue === 'formula' || typeValue === 'image')) {
return 'image';
}
if (type === 'redaction' || type === 'manual-redaction') {
return 'redaction';
}
return type;
}
ngOnChanges(): void {
this._setPermissions();
this._changeRef.markForCheck();

View File

@ -3,7 +3,7 @@
<span [translateParams]="highlightGroup" [translate]="'highlights'" class="all-caps-label"></span>
</div>
<div *ngIf="(isWritable$ | async) && (multiSelectInactive$ | async)">
<div *ngIf="(isWritable$ | async) && (multiSelectInactive$ | async)" iqserHelpMode="highlights">
<iqser-circle-button
(action)="convertHighlights(highlightGroup)"
[size]="28"
@ -11,7 +11,6 @@
[type]="circleButtonTypes.dark"
class="mr-2"
icon="red:convert"
iqserHelpMode="convert_highlights"
tooltipPosition="above"
></iqser-circle-button>
@ -21,7 +20,6 @@
[tooltip]="'file-preview.highlights.remove' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
iqserHelpMode="remove_highlights"
tooltipPosition="above"
></iqser-circle-button>
</div>

View File

@ -35,7 +35,7 @@
[tooltip]="assignTooltip$ | async"
icon="iqser:edit"
tooltipPosition="below"
iqserHelpMode="assign_reviewer"
iqserHelpMode="document_features_in_editor"
></iqser-circle-button>
<iqser-circle-button

View File

@ -4,7 +4,7 @@
[class.active]="viewModeService.isStandard"
[matTooltip]="'file-preview.standard-tooltip' | translate"
class="red-tab"
iqserHelpMode="standard_view"
iqserHelpMode="view"
>
{{ 'file-preview.standard' | translate }}
</button>
@ -15,7 +15,7 @@
[disabled]="(canSwitchToDeltaView$ | async) === false"
[matTooltip]="'file-preview.delta-tooltip' | translate"
class="red-tab"
iqserHelpMode="delta_view"
iqserHelpMode="view"
>
{{ 'file-preview.delta' | translate }}
</button>
@ -26,7 +26,7 @@
[disabled]="(canSwitchToRedactedView$ | async) === false"
[matTooltip]="'file-preview.redacted-tooltip' | translate"
class="red-tab"
iqserHelpMode="preview_view"
iqserHelpMode="view"
>
{{ 'file-preview.redacted' | translate }}
</button>
@ -37,7 +37,7 @@
[disabled]="(canSwitchToHighlightsView$ | async) === false"
[matTooltip]="'file-preview.text-highlights-tooltip' | translate"
class="red-tab"
iqserHelpMode="highlights_view"
iqserHelpMode="view"
>
{{ 'file-preview.text-highlights' | translate }}
</button>

View File

@ -23,7 +23,7 @@
<redaction-file-actions
[dossier]="dossier"
[file]="file"
fileActionsHelpModeKey="editor_document_features"
fileActionsHelpModeKey="document_features_in_editor"
type="file-preview"
></redaction-file-actions>
@ -103,6 +103,8 @@
<redaction-annotation-actions
[annotations]="[annotation]"
[canPerformAnnotationActions]="canPerformAnnotationActions$ | async"
[iqserHelpMode]="getActionsHelpModeKey(annotation)"
[scrollableParentView]="scrollableParentView"
></redaction-annotation-actions>
</ng-template>

View File

@ -14,6 +14,8 @@ import {
OnAttach,
OnDetach,
processFilters,
ScrollableParentView,
ScrollableParentViews,
shareDistinctLast,
} from '@iqser/common-ui';
import { MatDialogRef, MatDialogState } from '@angular/material/dialog';
@ -52,6 +54,17 @@ import { NGXLogger } from 'ngx-logger';
import { StampService } from './services/stamp.service';
import Annotation = Core.Annotations.Annotation;
const HelpModeKeys = {
redaction: 'redaction_text',
'manual-redaction': 'redaction_text',
recommendation: 'recommendation',
skipped: 'skipped',
hint: 'hint_text',
'hint-ocr': 'hint_picture',
'hint-formula': 'picture',
'hint-image': 'image',
};
@Component({
templateUrl: './file-preview-screen.component.html',
styleUrls: ['./file-preview-screen.component.scss'],
@ -486,6 +499,19 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni
this.handleAnnotationSelected([]);
}
get scrollableParentView(): ScrollableParentView {
return ScrollableParentViews.ANNOTATIONS_LIST;
}
getActionsHelpModeKey(annotation: AnnotationWrapper): string {
const type = annotation?.typeLabel?.split('.')[1];
const typeValue = annotation?.typeValue;
if (type === 'hint' && (typeValue === 'ocr' || typeValue === 'formula' || typeValue === 'image')) {
return HelpModeKeys[`${type}-${typeValue}`];
}
return HelpModeKeys[type];
}
private _setExcludedPageStyles() {
const file = this._filesMapService.get(this.dossierId, this.fileId);
setTimeout(() => {

View File

@ -5,13 +5,13 @@
[attr.aria-expanded]="btn.ariaExpanded && btn.ariaExpanded | async"
[disabled]="btn.disabled"
[icon]="btn.icon"
[iqserHelpMode]="helpModeKey"
[scrollableParentView]="scrollableParentView"
[showDot]="btn.showDot"
[tooltipClass]="btn.tooltipClass"
[tooltipPosition]="tooltipPosition"
[tooltip]="btn.tooltip | translate"
[type]="btn.buttonType || buttonType"
[iqserHelpMode]="helpModeKey"
[scrollableParentView]="scrollableParentView"
></iqser-circle-button>
<!-- download redacted file-->
@ -19,11 +19,11 @@
*ngIf="btn.type === 'downloadBtn'"
[dossier]="btn.dossier"
[files]="btn.files"
[iqserHelpMode]="helpModeKey"
[scrollableParentView]="scrollableParentView"
[tooltipClass]="btn.tooltipClass"
[tooltipPosition]="tooltipPosition"
[type]="buttonType"
[iqserHelpMode]="helpModeKey"
[scrollableParentView]="scrollableParentView"
></redaction-file-download-btn>
<!-- exclude from redaction -->
@ -33,10 +33,10 @@
(click)="$event.stopPropagation()"
[checked]="btn.checked"
[disabled]="btn.disabled"
[iqserHelpMode]="helpModeKey"
[matTooltipPosition]="tooltipPosition"
[matTooltip]="btn.tooltip | translate"
[ngClass]="btn.class"
[iqserHelpMode]="helpModeKey"
[scrollableParentView]="scrollableParentView"
color="primary"
></mat-slide-toggle>

View File

@ -17,7 +17,7 @@ export class ExpandableFileActionsComponent implements OnChanges {
@Input() actions: Action[];
@Input() buttonType: CircleButtonType;
@Input() tooltipPosition: IqserTooltipPosition;
@Input() helpModeKey: 'document_features' | 'editor_document_features';
@Input() helpModeKey: 'document_features_in_dossier' | 'document_features_in_editor';
displayedButtons: Action[];
hiddenButtons: Action[];
@ -30,7 +30,7 @@ export class ExpandableFileActionsComponent implements OnChanges {
) {}
get scrollableParentView(): ScrollableParentView {
return this.helpModeKey === 'document_features' ? ScrollableParentViews.VIRTUAL_SCROLL : undefined;
return this.helpModeKey === 'document_features_in_dossier' ? ScrollableParentViews.VIRTUAL_SCROLL : undefined;
}
ngOnChanges(changes: SimpleChanges) {

View File

@ -26,7 +26,7 @@ export class SimpleDoughnutChartComponent implements OnChanges, OnInit {
@Input() totalType: 'sum' | 'count' | 'simpleLabel' = 'sum';
@Input() counterText: string;
@Input() filterKey = 'statusFilters';
@Input() helpModeKey: 'filter_for_status';
@Input() helpModeKey: 'dashboard_in_dossier';
filtersEnabled: boolean;
chartData: any[] = [];

View File

@ -1,30 +1,12 @@
{
"assign_reviewer": {
"en": "/en/index-en.html?contextId=assign_reviewer",
"de": "",
"it": "",
"fr": ""
},
"bulk_select_annotations": {
"en": "/en/index-en.html?contextId=bulk_select_annotations",
"de": "",
"it": "",
"fr": ""
},
"delta_view": {
"en": "/en/index-en.html?contextId=delta_view",
"de": "",
"it": "",
"fr": ""
},
"document_features": {
"en": "/en/index-en.html?contextId=document_features",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier": {
"en": "/en/index-en.html?contextId=edit_dossier",
"document_features_in_dossier": {
"en": "/en/index-en.html?contextId=document_features_in_dossier",
"de": "",
"it": "",
"fr": ""
@ -41,14 +23,8 @@
"it": "",
"fr": ""
},
"edit_dossier_owner": {
"en": "/en/index-en.html?contextId=edit_dossier_owner",
"de": "",
"it": "",
"fr": ""
},
"redaction_edit_reason": {
"en": "/en/index-en.html?contextId=redaction_edit_reason",
"dashboard_in_dossier": {
"en": "/en/index-en.html?contextId=dashboard_in_dossier",
"de": "",
"it": "",
"fr": ""
@ -65,12 +41,6 @@
"it": "",
"fr": ""
},
"filter_for_editing_notes": {
"en": "/en/index-en.html?contextId=filter_for_editing_notes",
"de": "",
"it": "",
"fr": ""
},
"filter_for_status": {
"en": "/en/index-en.html?contextId=filter_for_status",
"de": "",
@ -101,104 +71,8 @@
"it": "",
"fr": ""
},
"preview_view": {
"en": "/en/index-en.html?contextId=delta_view",
"de": "",
"it": "",
"fr": ""
},
"highlights_view": {
"en": "/en/index-en.html?contextId=highlights_view",
"de": "",
"it": "",
"fr": ""
},
"convert_highlights": {
"en": "/en/index-en.html?contextId=convert_highlights",
"de": "",
"it": "",
"fr": ""
},
"remove_highlights": {
"en": "/en/index-en.html?contextId=remove_highlights",
"de": "",
"it": "",
"fr": ""
},
"recommendation_accept_or_reject": {
"en": "/en/index-en.html?contextId=recommendation_accept_or_reject",
"de": "",
"it": "",
"fr": ""
},
"redaction_false_positive": {
"en": "/en/index-en.html?contextId=redaction_false_positive",
"de": "",
"it": "",
"fr": ""
},
"recommendation_false_positive": {
"en": "/en/index-en.html?contextId=recommendation_false_positive",
"de": "",
"it": "",
"fr": ""
},
"skipped_remove_from_dictionary": {
"en": "/en/index-en.html?contextId=skipped_remove_from_dictionary",
"de": "",
"it": "",
"fr": ""
},
"hint_remove_from_dictionary": {
"en": "/en/index-en.html?contextId=hint_remove_from_dictionary",
"de": "",
"it": "",
"fr": ""
},
"recommendation_remove_from_dictionary": {
"en": "/en/index-en.html?contextId=recommendation_remove_from_dictionary",
"de": "",
"it": "",
"fr": ""
},
"redaction_remove_only_here": {
"en": "/en/index-en.html?contextId=redaction_remove_only_here",
"de": "",
"it": "",
"fr": ""
},
"hint_remove_only_here": {
"en": "/en/index-en.html?contextId=hint_remove_only_here",
"de": "",
"it": "",
"fr": ""
},
"hint_recategorize": {
"en": "/en/index-en.html?contextId=hint_recategorize",
"de": "",
"it": "",
"fr": ""
},
"hint_hide": {
"en": "/en/index-en.html?contextId=hint_hide",
"de": "",
"it": "",
"fr": ""
},
"hint_force_hint": {
"en": "/en/index-en.html?contextId=hint_force_hint",
"de": "",
"it": "",
"fr": ""
},
"redaction_recategorize": {
"en": "/en/index-en.html?contextId=redaction_recategorize",
"de": "",
"it": "",
"fr": ""
},
"redaction_hide": {
"en": "/en/index-en.html?contextId=redaction_hide",
"view": {
"en": "/en/index-en.html?contextId=view",
"de": "",
"it": "",
"fr": ""
@ -215,12 +89,6 @@
"it": "",
"fr": ""
},
"standard_view": {
"en": "/en/index-en.html?contextId=standard_view",
"de": "",
"it": "",
"fr": ""
},
"workload_filter": {
"en": "/en/index-en.html?contextId=workload_filter",
"de": "",
@ -233,18 +101,6 @@
"it": "",
"fr": ""
},
"delete_document_filter": {
"en": "/en/index-en.html?contextId=delete_document_filter",
"de": "",
"it": "",
"fr": ""
},
"delete_dossier_filter": {
"en": "",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_in_dossier": {
"en": "/en/index-en.html?contextId=edit_dossier_in_dossier",
"de": "",
@ -257,32 +113,8 @@
"it": "",
"fr": ""
},
"recommendation_resize": {
"en": "/en/index-en.html?contextId=recommendation_resize",
"de": "",
"it": "",
"fr": ""
},
"hint_resize": {
"en": "/en/index-en.html?contextId=hint_resize",
"de": "",
"it": "",
"fr": ""
},
"skipped_force_redaction": {
"en": "/en/index-en.html?contextId=skipped_force_redaction",
"de": "",
"it": "",
"fr": ""
},
"editor_document_features": {
"en": "/en/index-en.html?contextId=editor_document_features",
"de": "",
"it": "",
"fr": ""
},
"documents_quickfilter": {
"en": "/en/index-en.html?contextId=documents_quickfilter",
"document_features_in_editor": {
"en": "/en/index-en.html?contextId=document_features_in_editor",
"de": "",
"it": "",
"fr": ""
@ -305,14 +137,8 @@
"it": "",
"fr": ""
},
"dossiers_scroll_up_button": {
"en": "/en/index-en.html?contextId=dossiers_scroll_up_and_down",
"de": "",
"it": "",
"fr": ""
},
"dossiers_scroll_down_button": {
"en": "/en/index-en.html?contextId=dossiers_scroll_up_and_down",
"scroll_dossier_list": {
"en": "/en/index-en.html?contextId=scroll_dossier_list",
"de": "",
"it": "",
"fr": ""
@ -335,6 +161,18 @@
"it": "",
"fr": ""
},
"edit_dossier_delete_dossier": {
"en": "/en/index-en.html?contextId=edit_dossier_delete_dossier",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_archive_dossier": {
"en": "/en/index-en.html?contextId=edit_dossier_archive_dossier",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_download_package": {
"en": "/en/index-en.html?contextId=edit_dossier_download_package",
"de": "",
@ -389,26 +227,44 @@
"it": "",
"fr": ""
},
"redaction_remove_from_dictionary": {
"en": "/en/index-en.html?contextId=redaction_remove_from_dictionary",
"redaction_text": {
"en": "/en/index-en.html?contextId=redaction_text",
"de": "",
"it": "",
"fr": ""
},
"skipped_resize": {
"en": "/en/index-en.html?contextId=skipped_resize_redaction",
"recommendation": {
"en": "/en/index-en.html?contextId=recommendation",
"de": "",
"it": "",
"fr": ""
},
"skipped_recategorize": {
"en": "/en/index-en.html?contextId=skipped_recategorize_redaction",
"skipped": {
"en": "/en/index-en.html?contextId=skipped",
"de": "",
"it": "",
"fr": ""
},
"skipped_hide": {
"en": "/en/index-en.html?contextId=skipped_hide",
"hint_text": {
"en": "/en/index-en.html?contextId=hint_text",
"de": "",
"it": "",
"fr": ""
},
"hint_picture": {
"en": "/en/index-en.html?contextId=hint_picture",
"de": "",
"it": "",
"fr": ""
},
"picture": {
"en": "/en/index-en.html?contextId=picture",
"de": "",
"it": "",
"fr": ""
},
"image": {
"en": "/en/index-en.html?contextId=image",
"de": "",
"it": "",
"fr": ""

@ -1 +1 @@
Subproject commit 83f2fbd88feb455d27397f470b9cadf72aa3471e
Subproject commit 46f19f216fb158d90439cfaa0dcd94f7d9f71f72