From b9d3f5c0ba4e2c4be3888ffcaae16c049b769a72 Mon Sep 17 00:00:00 2001
From: Fadil <Fadil.zemmari@xelians.fr>
Date: Mon, 14 Dec 2020 16:44:20 +0100
Subject: [PATCH] [TECH] Fix angular 10 migration errors

---
 .../editable-email-input/editable-email-input.component.ts | 2 +-
 .../components/editable-field/editable-field.component.ts  | 7 ++++---
 .../components/editable-field/editable-field.module.ts     | 2 ++
 .../editable-file/editable-file.component.ts               | 2 +-
 .../editable-input/editable-input.component.ts             | 2 +-
 .../editable-select/editable-select.component.ts           | 2 +-
 .../editable-textarea/editable-textarea.component.ts       | 2 +-
 .../vitamui-input-positive-number.component.ts             | 2 +-
 .../components/vitamui-input/vitamui-input.component.ts    | 2 +-
 .../src/app/modules/sidenav-page.class.ts                  | 7 ++++---
 .../src/app/modules/vitamui-common.module.ts               | 2 ++
 .../testing/src/vitamui-common-test.module.ts              | 5 ++++-
 12 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-email-input/editable-email-input.component.ts b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-email-input/editable-email-input.component.ts
index 90acff248..7b57fa5ba 100644
--- a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-email-input/editable-email-input.component.ts
+++ b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-email-input/editable-email-input.component.ts
@@ -57,7 +57,7 @@ export const EDITABLE_EMAIL_INPUT_VALUE_ACCESSOR: any = {
 
 export class EditableEmailInputComponent extends EditableFieldComponent {
 
-  @ViewChild('select') select: MatSelect;
+  @ViewChild('select', {static: false}) select: MatSelect;
 
   constructor(formBuilder: FormBuilder, elementRef: ElementRef) {
     super(elementRef);
diff --git a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-field.component.ts b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-field.component.ts
index 00d899e55..91d5d0b47 100644
--- a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-field.component.ts
+++ b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-field.component.ts
@@ -41,8 +41,9 @@ import { AsyncValidatorFn, ControlValueAccessor, FormControl, ValidatorFn } from
 
 import { VitamUIFieldErrorComponent } from '../vitamui-field-error/vitamui-field-error.component';
 
-@Directive()
-// tslint:disable-next-line:directive-class-suffix
+@Directive({
+  selector: '[appEditableFieldComponent]'
+})
 export class EditableFieldComponent implements AfterContentInit, ControlValueAccessor {
 
   @Input() label: string;
@@ -70,7 +71,7 @@ export class EditableFieldComponent implements AfterContentInit, ControlValueAcc
   @Output() editOpen = new EventEmitter<void>();
   @Output() editClose = new EventEmitter<boolean>();
 
-  @ViewChild(CdkConnectedOverlay) cdkConnectedOverlay: CdkConnectedOverlay;
+  @ViewChild(CdkConnectedOverlay, {static: false}) cdkConnectedOverlay: CdkConnectedOverlay;
   @ContentChildren(VitamUIFieldErrorComponent) errors: QueryList<VitamUIFieldErrorComponent>;
 
   @HostBinding('class.readonly') readonly = false;
diff --git a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-field.module.ts b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-field.module.ts
index c43cba4e3..f20cc4856 100644
--- a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-field.module.ts
+++ b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-field.module.ts
@@ -61,6 +61,7 @@ import { EditableToggleGroupComponent } from './editable-toggle-group/editable-t
 import { EmailsInputModule } from './emails-input/emails-input.module';
 import { LevelInputModule } from './level-input/level-input.module';
 import { MultipleEmailInputComponent } from './multiple-email-input/multiple-email-input.component';
+import { EditableFieldComponent } from './editable-field.component';
 
 
 @NgModule({
@@ -94,6 +95,7 @@ import { MultipleEmailInputComponent } from './multiple-email-input/multiple-ema
     HumanizedDurationPipe,
     MultipleEmailInputComponent,
     SubLevelPipe,
+    EditableFieldComponent
   ],
   exports: [
     EditableInputComponent,
diff --git a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-file/editable-file.component.ts b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-file/editable-file.component.ts
index 01263e793..f1aabf7c7 100644
--- a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-file/editable-file.component.ts
+++ b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-file/editable-file.component.ts
@@ -57,7 +57,7 @@ export class EditableFileComponent extends EditableFieldComponent {
   @Input() accept: string;
   file: File;
 
-  @ViewChild('fileInput') fileInput: ElementRef;
+  @ViewChild('fileInput', {static: false}) fileInput: ElementRef;
 
   constructor(elementRef: ElementRef) {
     super(elementRef);
diff --git a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-input/editable-input.component.ts b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-input/editable-input.component.ts
index 0b8b659c7..287c49d51 100644
--- a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-input/editable-input.component.ts
+++ b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-input/editable-input.component.ts
@@ -56,7 +56,7 @@ export class EditableInputComponent extends EditableFieldComponent {
 
   @Input() maxlength: number;
   @Input() type = 'text';
-  @ViewChild('input') private input: ElementRef;
+  @ViewChild('input', {static: false}) private input: ElementRef;
 
   constructor(elementRef: ElementRef) {
     super(elementRef);
diff --git a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-select/editable-select.component.ts b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-select/editable-select.component.ts
index 3ee72d6fc..5521a31c5 100644
--- a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-select/editable-select.component.ts
+++ b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-select/editable-select.component.ts
@@ -63,7 +63,7 @@ export class EditableSelectComponent extends EditableFieldComponent {
 
   @ContentChildren(EditableOptionComponent) options: QueryList<EditableOptionComponent>;
 
-  @ViewChild('select') select: MatSelect;
+  @ViewChild('select', {static: false}) select: MatSelect;
   @ViewChild('confirmDialog', { static: true }) confirmDialog: TemplateRef<EditableFieldComponent>;
 
   @Input() showConfirmDialog = false;
diff --git a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-textarea/editable-textarea.component.ts b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-textarea/editable-textarea.component.ts
index 67cb8b6e1..3cd1d9c8a 100644
--- a/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-textarea/editable-textarea.component.ts
+++ b/ui/ui-frontend-common/src/app/modules/components/editable-field/editable-textarea/editable-textarea.component.ts
@@ -55,7 +55,7 @@ export const EDITABLE_TEXTAREA_VALUE_ACCESSOR: any = {
 export class EditableTextareaComponent extends EditableFieldComponent {
 
   @Input() maxlength: number;
-  @ViewChild('input') private input: ElementRef;
+  @ViewChild('input', {static: false}) private input: ElementRef;
 
   constructor(elementRef: ElementRef) {
     super(elementRef);
diff --git a/ui/ui-frontend-common/src/app/modules/components/vitamui-input/vitamui-input-positive-number.component.ts b/ui/ui-frontend-common/src/app/modules/components/vitamui-input/vitamui-input-positive-number.component.ts
index e6db47639..eff968482 100644
--- a/ui/ui-frontend-common/src/app/modules/components/vitamui-input/vitamui-input-positive-number.component.ts
+++ b/ui/ui-frontend-common/src/app/modules/components/vitamui-input/vitamui-input-positive-number.component.ts
@@ -69,7 +69,7 @@ export class VitamUIInputPositiveNumberComponent implements ControlValueAccessor
   set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }
   // tslint:disable-next-line:variable-name
   private _disabled = false;
-  @ViewChild('vitamUIInputPositiveNumber') private input: ElementRef;
+  @ViewChild('vitamUIInputPositiveNumber', {static: false}) private input: ElementRef;
 
   @HostBinding('class.vitamui-focused') focused = false;
   @HostBinding('class.vitamui-float') labelFloat = false;
diff --git a/ui/ui-frontend-common/src/app/modules/components/vitamui-input/vitamui-input.component.ts b/ui/ui-frontend-common/src/app/modules/components/vitamui-input/vitamui-input.component.ts
index c1f2ef513..e6d41eede 100644
--- a/ui/ui-frontend-common/src/app/modules/components/vitamui-input/vitamui-input.component.ts
+++ b/ui/ui-frontend-common/src/app/modules/components/vitamui-input/vitamui-input.component.ts
@@ -69,7 +69,7 @@ export class VitamUIInputComponent implements ControlValueAccessor, OnInit {
   set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }
   // tslint:disable-next-line:variable-name
   private _disabled = false;
-  @ViewChild('vitamUIInput') private input: ElementRef;
+  @ViewChild('vitamUIInput', {static: false}) private input: ElementRef;
 
   @HostBinding('class.vitamui-focused') focused = false;
   @HostBinding('class.vitamui-float') labelFloat = false;
diff --git a/ui/ui-frontend-common/src/app/modules/sidenav-page.class.ts b/ui/ui-frontend-common/src/app/modules/sidenav-page.class.ts
index 4f277322b..009ba3227 100644
--- a/ui/ui-frontend-common/src/app/modules/sidenav-page.class.ts
+++ b/ui/ui-frontend-common/src/app/modules/sidenav-page.class.ts
@@ -43,13 +43,14 @@ import { takeUntil } from 'rxjs/operators';
 import { AppRootComponent } from './app-root-component.class';
 import { GlobalEventService } from './global-event.service';
 
-@Directive()
-// tslint:disable-next-line:directive-class-suffix
+@Directive({
+  selector: '[appSidenavPage]'
+})
 export class SidenavPage<T> extends AppRootComponent implements AfterViewInit, OnDestroy {
 
   openedItem: T;
 
-  @ViewChild('panel') panel: MatSidenav;
+  @ViewChild('panel', {static: false}) panel: MatSidenav;
 
   private destroy = new Subject<void>();
 
diff --git a/ui/ui-frontend-common/src/app/modules/vitamui-common.module.ts b/ui/ui-frontend-common/src/app/modules/vitamui-common.module.ts
index 10c2ddac9..2f00996a5 100644
--- a/ui/ui-frontend-common/src/app/modules/vitamui-common.module.ts
+++ b/ui/ui-frontend-common/src/app/modules/vitamui-common.module.ts
@@ -97,6 +97,7 @@ import { SecurityModule } from './security/security.module';
 import { StartupService } from './startup.service';
 import { SubrogationModule } from './subrogation/subrogation.module';
 import { VitamUIHttpInterceptor } from './vitamui-http-interceptor';
+import { SidenavPage } from './sidenav-page.class';
 
 export function startupServiceFactory(startupService: StartupService) {
   // leave it like this due to run packagr issue :
@@ -110,6 +111,7 @@ export function startupServiceFactory(startupService: StartupService) {
   declarations: [
     BlankComponent,
     ErrorDialogComponent,
+    SidenavPage
   ],
   imports: [
     CommonModule,
diff --git a/ui/ui-frontend-common/testing/src/vitamui-common-test.module.ts b/ui/ui-frontend-common/testing/src/vitamui-common-test.module.ts
index 518275d46..3de6ed8c0 100644
--- a/ui/ui-frontend-common/testing/src/vitamui-common-test.module.ts
+++ b/ui/ui-frontend-common/testing/src/vitamui-common-test.module.ts
@@ -178,7 +178,9 @@ export class VitamUISlideToggleStubComponent implements ControlValueAccessor {
 
 // Editable fields
 
-@Directive()
+@Directive({
+  selector: '[EditableFieldStubComponent]'
+})
 // tslint:disable-next-line:directive-class-suffix
 export class EditableFieldStubComponent implements ControlValueAccessor {
   @Input() validator: ValidatorFn;
@@ -353,6 +355,7 @@ export class RowCollapseTriggerForStubDirective {
     StepperStubComponent,
     StrongifyStubPipe,
     TruncateStubPipe,
+    EditableFieldStubComponent
   ],
   exports: [
     ApplicationSelectContentStubComponent,
-- 
GitLab