diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts
index 73b7148c1..57e28460d 100644
--- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts
+++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts
@@ -14,7 +14,7 @@ import { firstValueFrom } from 'rxjs';
templateUrl: './user-details.component.html',
styleUrls: ['./user-details.component.scss'],
})
-export class UserDetailsComponent extends BaseFormComponent implements OnChanges, OnDestroy {
+export class UserDetailsComponent extends BaseFormComponent implements OnChanges {
readonly iconButtonTypes = IconButtonTypes;
@Input() user: User;
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-configurations-dialog/file-attributes-configurations-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-configurations-dialog/file-attributes-configurations-dialog.component.ts
index 6e2e7f942..1d2d34bcb 100644
--- a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-configurations-dialog/file-attributes-configurations-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-configurations-dialog/file-attributes-configurations-dialog.component.ts
@@ -1,4 +1,4 @@
-import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core';
+import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { UntypedFormGroup, Validators } from '@angular/forms';
import { FileAttributeEncodingTypes, IFileAttributesConfig } from '@red/domain';
@@ -9,7 +9,7 @@ import { BaseDialogComponent } from '@iqser/common-ui';
templateUrl: './file-attributes-configurations-dialog.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
-export class FileAttributesConfigurationsDialogComponent extends BaseDialogComponent implements OnInit {
+export class FileAttributesConfigurationsDialogComponent extends BaseDialogComponent {
readonly encodingTypeOptions = Object.keys(FileAttributeEncodingTypes);
readonly translations = fileAttributeEncodingTypesTranslations;
readonly #configuration = this._data.config;
diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts
index 60a0e18bb..2cc4d16bc 100644
--- a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnDestroy, OnInit } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { BaseFormComponent, LoadingService } from '@iqser/common-ui';
import { GeneralSettingsService } from '@services/general-settings.service';
import { IGeneralConfiguration } from '@red/domain';
@@ -10,7 +10,7 @@ import { firstValueFrom } from 'rxjs';
selector: 'redaction-general-config-form',
templateUrl: './general-config-form.component.html',
})
-export class GeneralConfigFormComponent extends BaseFormComponent implements OnInit, OnDestroy {
+export class GeneralConfigFormComponent extends BaseFormComponent implements OnInit {
private _initialConfiguration: IGeneralConfiguration;
constructor(
diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts
index 02dbffb7d..08284bc17 100644
--- a/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts
@@ -11,7 +11,7 @@ import { firstValueFrom } from 'rxjs';
selector: 'redaction-smtp-form',
templateUrl: './smtp-form.component.html',
})
-export class SmtpFormComponent extends BaseFormComponent implements OnInit, OnDestroy {
+export class SmtpFormComponent extends BaseFormComponent implements OnInit {
readonly iconButtonTypes = IconButtonTypes;
private _initialConfiguration: ISmtpConfiguration;
diff --git a/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts b/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts
index c239b296d..042813839 100644
--- a/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts
+++ b/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts
@@ -3,13 +3,12 @@ import { Dossier, File, IComment } from '@red/domain';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { UserService } from '@services/user.service';
import { PermissionsService } from '@services/permissions.service';
-import { InputWithActionComponent, LoadingService, trackByFactory } from '@iqser/common-ui';
+import { InputWithActionComponent, LoadingService, trackByFactory, ContextComponent } from '@iqser/common-ui';
import { firstValueFrom, Observable } from 'rxjs';
import { CommentingService } from '../../services/commenting.service';
import { tap } from 'rxjs/operators';
import { FilePreviewStateService } from '../../services/file-preview-state.service';
import { ManualRedactionService } from '../../services/manual-redaction.service';
-import { ContextComponent } from '@utils/context.component';
interface CommentsTemplate {
dossier: Dossier;
diff --git a/apps/red-ui/src/app/modules/file-preview/components/page-indicator/page-indicator.component.html b/apps/red-ui/src/app/modules/file-preview/components/page-indicator/page-indicator.component.html
index 38c94bf0b..331337b1d 100644
--- a/apps/red-ui/src/app/modules/file-preview/components/page-indicator/page-indicator.component.html
+++ b/apps/red-ui/src/app/modules/file-preview/components/page-indicator/page-indicator.component.html
@@ -1,4 +1,5 @@
implements OnChanges, OnInit {
@Input() active = false;
@Input() showDottedIcon = false;
@Input() number: number;
@@ -61,10 +56,13 @@ export class PageIndicatorComponent extends AutoUnsubscribe implements OnDestroy
}
ngOnInit() {
- this.addSubscription = this.pageRotationService.isRotated$(this.number).subscribe(value => {
- this.isRotated = value;
- this._changeDetectorRef.detectChanges();
- });
+ const isRotated$ = this.pageRotationService.isRotated$(this.number).pipe(
+ tap(value => {
+ this.isRotated = value;
+ this._changeDetectorRef.detectChanges();
+ }),
+ );
+ super._initContext({ isRotated: isRotated$ });
}
ngOnChanges() {
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts
index da06a178b..4740e83b9 100644
--- a/apps/red-ui/src/app/modules/file-preview/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/file-preview/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts
@@ -55,7 +55,6 @@ export class AcceptRecommendationDialogComponent extends BaseDialogComponent imp
}
async ngOnInit() {
- super.ngOnInit();
this.possibleDictionaries = await this._dictionaryService.getDictionariesOptions(this._dossier.dossierTemplateId, this._dossier.id);
this.form.patchValue({
dictionary: this.possibleDictionaries.find(dict => dict.type === this.data.annotations[0].recommendationType).type,
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts
index c0ee5badc..d0256c6ee 100644
--- a/apps/red-ui/src/app/modules/file-preview/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/file-preview/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts
@@ -33,7 +33,6 @@ export class ChangeLegalBasisDialogComponent extends BaseDialogComponent impleme
}
async ngOnInit() {
- super.ngOnInit();
const data = await firstValueFrom(this._justificationsService.getForDossierTemplate(this._data.dossier.dossierTemplateId));
this.legalOptions = data
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/document-info-dialog/document-info-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/document-info-dialog/document-info-dialog.component.ts
index ff2a2aa0a..3846939ee 100644
--- a/apps/red-ui/src/app/modules/file-preview/dialogs/document-info-dialog/document-info-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/file-preview/dialogs/document-info-dialog/document-info-dialog.component.ts
@@ -29,7 +29,6 @@ export class DocumentInfoDialogComponent extends BaseDialogComponent implements
}
async ngOnInit() {
- super.ngOnInit();
this.attributes = (
await firstValueFrom(this._fileAttributesService.loadFileAttributesConfig(this._dossier.dossierTemplateId))
).fileAttributeConfigs.filter(attr => attr.editable);
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts
index 0fa81e0de..b374c8943 100644
--- a/apps/red-ui/src/app/modules/file-preview/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/file-preview/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts
@@ -40,7 +40,6 @@ export class ForceAnnotationDialogComponent extends BaseDialogComponent implemen
}
async ngOnInit() {
- super.ngOnInit();
const data = await firstValueFrom(this._justificationsService.getForDossierTemplate(this._data.dossier.dossierTemplateId));
this.legalOptions = data.map(lbm => ({
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts
index b3acd6846..b59fa2c38 100644
--- a/apps/red-ui/src/app/modules/file-preview/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/file-preview/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts
@@ -72,7 +72,6 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme
}
async ngOnInit() {
- super.ngOnInit();
this.possibleDictionaries = await this._dictionaryService.getDictionariesOptions(this._dossier.dossierTemplateId, this._dossier.id);
const data = await firstValueFrom(this._justificationsService.getForDossierTemplate(this._dossier.dossierTemplateId));
this.legalOptions = data.map(lbm => ({
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.ts
index 1589d4fb0..fc5256af6 100644
--- a/apps/red-ui/src/app/modules/file-preview/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/file-preview/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.ts
@@ -25,8 +25,6 @@ export class RecategorizeImageDialogComponent extends BaseDialogComponent implem
}
ngOnInit() {
- super.ngOnInit();
-
this.form = this._formBuilder.group({
type: [this.data.annotations[0].type, Validators.required],
comment: [null],
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.ts
index 0ad30acaf..4596a3b48 100644
--- a/apps/red-ui/src/app/modules/file-preview/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/file-preview/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.ts
@@ -23,8 +23,6 @@ export class ResizeAnnotationDialogComponent extends BaseDialogComponent impleme
}
ngOnInit() {
- super.ngOnInit();
-
const controlsConfig = { comment: [null] };
if (this._data.annotation.isModifyDictionary) {
diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts
index 977a431ff..138b56f2c 100644
--- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts
+++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts
@@ -2,7 +2,6 @@ import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit } from '@a
import { UserService } from '@services/user.service';
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { Dossier, IDossierRequest } from '@red/domain';
-import { AutoUnsubscribe } from '@iqser/common-ui';
import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { BehaviorSubject, firstValueFrom } from 'rxjs';
import { PermissionsService } from '@services/permissions.service';
@@ -15,7 +14,7 @@ import { compareLists } from '@utils/functions';
styleUrls: ['./edit-dossier-team.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
-export class EditDossierTeamComponent extends AutoUnsubscribe implements EditDossierSectionInterface, OnInit, OnDestroy {
+export class EditDossierTeamComponent implements EditDossierSectionInterface, OnInit {
form: UntypedFormGroup;
searchQuery = '';
@@ -31,9 +30,7 @@ export class EditDossierTeamComponent extends AutoUnsubscribe implements EditDos
private readonly _formBuilder: UntypedFormBuilder,
private readonly _dossiersService: DossiersService,
private readonly _permissionsService: PermissionsService,
- ) {
- super();
- }
+ ) {}
get selectedOwnerId(): string {
return this.form.get('owner').value;
diff --git a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.ts b/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.ts
index 3d79a2c10..6c5ca2331 100644
--- a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.ts
+++ b/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.ts
@@ -1,6 +1,5 @@
-import { ChangeDetectionStrategy, Component, Input, OnChanges, OnDestroy, OnInit } from '@angular/core';
+import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit } from '@angular/core';
import { UserService } from '@services/user.service';
-import { AutoUnsubscribe } from '@iqser/common-ui';
import { User } from '@red/domain';
import { TranslateService } from '@ngx-translate/core';
import { NamePipeOptions } from '@shared/pipes/name.pipe';
@@ -11,7 +10,7 @@ import { NamePipeOptions } from '@shared/pipes/name.pipe';
styleUrls: ['./initials-avatar.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
-export class InitialsAvatarComponent extends AutoUnsubscribe implements OnInit, OnChanges, OnDestroy {
+export class InitialsAvatarComponent implements OnInit, OnChanges {
@Input() color = 'lightgray';
@Input() size: 'small' | 'large' = 'small';
@Input() withName = false;
@@ -22,9 +21,7 @@ export class InitialsAvatarComponent extends AutoUnsubscribe implements OnInit,
namePipeOptions: NamePipeOptions;
- constructor(private readonly _userService: UserService, private readonly _translateService: TranslateService) {
- super();
- }
+ constructor(private readonly _userService: UserService, private readonly _translateService: TranslateService) {}
_user: User;
diff --git a/apps/red-ui/src/app/utils/context.component.ts b/apps/red-ui/src/app/utils/context.component.ts
deleted file mode 100644
index 4adf56774..000000000
--- a/apps/red-ui/src/app/utils/context.component.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { combineLatest, Observable, of } from 'rxjs';
-import { map, startWith } from 'rxjs/operators';
-import { ValuesOf } from '@iqser/common-ui';
-
-export class ContextComponent {
- componentContext$: Observable | null = of({} as T);
-
- protected _initContext(context: Record>>): void {
- const observables = Object.values(context).map(obs => obs.pipe(startWith(null)));
- const keys = Object.keys(context);
- this.componentContext$ = combineLatest(observables).pipe(map(values => this._mapKeysToObs(keys, values)));
- }
-
- protected _mapKeysToObs(keys: string[], observables: ValuesOf[]): T {
- return keys.reduce((acc, key, index) => ({ ...acc, [key]: observables[index] }), {} as T);
- }
-}
diff --git a/apps/red-ui/src/assets/config/config.json b/apps/red-ui/src/assets/config/config.json
index 62578148a..8e7d077a8 100644
--- a/apps/red-ui/src/assets/config/config.json
+++ b/apps/red-ui/src/assets/config/config.json
@@ -1,7 +1,7 @@
{
"ADMIN_CONTACT_NAME": null,
"ADMIN_CONTACT_URL": null,
- "API_URL": "https://dev-08.iqser.cloud/redaction-gateway-v1",
+ "API_URL": "https://dev-05.iqser.cloud/redaction-gateway-v1",
"APP_NAME": "RedactManager",
"AUTO_READ_TIME": 3,
"BACKEND_APP_VERSION": "4.4.40",
@@ -11,7 +11,7 @@
"MAX_RETRIES_ON_SERVER_ERROR": 3,
"OAUTH_CLIENT_ID": "redaction",
"OAUTH_IDP_HINT": null,
- "OAUTH_URL": "https://dev-08.iqser.cloud/auth/realms/redaction",
+ "OAUTH_URL": "https://dev-05.iqser.cloud/auth/realms/redaction",
"RECENT_PERIOD_IN_HOURS": 24,
"SELECTION_MODE": "structural",
"MANUAL_BASE_URL": "https://docs.redactmanager.com/preview"
diff --git a/libs/common-ui b/libs/common-ui
index 859e41dd6..63616184b 160000
--- a/libs/common-ui
+++ b/libs/common-ui
@@ -1 +1 @@
-Subproject commit 859e41dd62a236ee84511ae11d78980810483d07
+Subproject commit 63616184b5a462bfc2fce486950fba5af88c3287