From 8aa6e5a9f1faef57505e6511e0719f2d83a28a3b Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Mon, 3 Jun 2024 10:34:13 +0200
Subject: [PATCH] OZG-5789 Use material required props

---
 .../src/lib/form/text-input/text-input.component.ts    |  1 +
 .../src/lib/form/textarea/textarea.component.ts        |  1 +
 .../vorgang-forward-form.component.html                |  2 ++
 .../autocomplete-editor.component.html                 |  1 +
 .../autocomplete-editor.component.ts                   |  1 +
 .../ui/editor/date-editor/date-editor.component.html   | 10 ++--------
 .../ui/editor/text-editor/text-editor.component.html   | 10 ++--------
 .../textarea-editor/textarea-editor.component.html     | 10 ++--------
 .../user-profile-search.component.html                 |  1 +
 9 files changed, 13 insertions(+), 24 deletions(-)

diff --git a/alfa-client/libs/design-system/src/lib/form/text-input/text-input.component.ts b/alfa-client/libs/design-system/src/lib/form/text-input/text-input.component.ts
index 143fd2b021..f4955382ce 100644
--- a/alfa-client/libs/design-system/src/lib/form/text-input/text-input.component.ts
+++ b/alfa-client/libs/design-system/src/lib/form/text-input/text-input.component.ts
@@ -41,6 +41,7 @@ type TextInputVariants = VariantProps<typeof textInputVariants>;
           [ngClass]="textInputVariants({ variant })"
           [placeholder]="placeholder"
           [autocomplete]="autocomplete"
+          [attr.aria-required]="required"
         />
       </div>
       <ng-content select="[error]"></ng-content>
diff --git a/alfa-client/libs/design-system/src/lib/form/textarea/textarea.component.ts b/alfa-client/libs/design-system/src/lib/form/textarea/textarea.component.ts
index e449fe77bf..60c7735f46 100644
--- a/alfa-client/libs/design-system/src/lib/form/textarea/textarea.component.ts
+++ b/alfa-client/libs/design-system/src/lib/form/textarea/textarea.component.ts
@@ -39,6 +39,7 @@ type TextareaVariants = VariantProps<typeof textareaVariants>;
         [ngClass]="textareaVariants({ variant })"
         [placeholder]="placeholder"
         [autocomplete]="autocomplete"
+        [attr.aria-required]="required"
       ></textarea>
       <ng-content select="[error]"></ng-content>
     </div>
diff --git a/alfa-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward-form.component.html b/alfa-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward-form.component.html
index 4425e0e321..e7bf47e035 100644
--- a/alfa-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward-form.component.html
+++ b/alfa-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forward-formular/vorgang-forward-form/vorgang-forward-form.component.html
@@ -29,6 +29,7 @@
     [formControlName]="formServiceClass.FIELD_EMAIL"
     autocomplete="email"
     placeholder="E-Mail Adresse"
+    [required]="true"
   >
   </ozgcloud-text-editor>
 
@@ -36,6 +37,7 @@
     label="Passwort"
     [formControlName]="formServiceClass.FIELD_PASSWORD"
     placeholder="Passwort für die Verschlüsselung"
+    [required]="true"
   >
   </ozgcloud-text-editor>
 
diff --git a/alfa-client/libs/ui/src/lib/ui/editor/autocomplete-editor/autocomplete-editor.component.html b/alfa-client/libs/ui/src/lib/ui/editor/autocomplete-editor/autocomplete-editor.component.html
index 3ca3c2d4ca..6f484f807e 100644
--- a/alfa-client/libs/ui/src/lib/ui/editor/autocomplete-editor/autocomplete-editor.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/editor/autocomplete-editor/autocomplete-editor.component.html
@@ -29,6 +29,7 @@
   <input
     #autocompleteInput
     [attr.data-test-id]="(label | convertForDataTest) + '-autocomplete-input'"
+    [required]="required"
     type="text"
     matInput
     [matAutocomplete]="auto"
diff --git a/alfa-client/libs/ui/src/lib/ui/editor/autocomplete-editor/autocomplete-editor.component.ts b/alfa-client/libs/ui/src/lib/ui/editor/autocomplete-editor/autocomplete-editor.component.ts
index 1d1a10a12d..814dc618b5 100644
--- a/alfa-client/libs/ui/src/lib/ui/editor/autocomplete-editor/autocomplete-editor.component.ts
+++ b/alfa-client/libs/ui/src/lib/ui/editor/autocomplete-editor/autocomplete-editor.component.ts
@@ -45,6 +45,7 @@ export class AutocompleteEditorComponent
 {
   @Input() label: string;
   @Input() values: Selectable[] = [];
+  @Input() required: boolean = false;
 
   @Output() onKeyUp: EventEmitter<void> = new EventEmitter();
   @Output() onOptionSelected: EventEmitter<Selectable> = new EventEmitter();
diff --git a/alfa-client/libs/ui/src/lib/ui/editor/date-editor/date-editor.component.html b/alfa-client/libs/ui/src/lib/ui/editor/date-editor/date-editor.component.html
index a30e6e9b74..589e1679db 100644
--- a/alfa-client/libs/ui/src/lib/ui/editor/date-editor/date-editor.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/editor/date-editor/date-editor.component.html
@@ -24,19 +24,13 @@
 
 -->
 <mat-form-field>
-  <mat-label
-    >{{ label
-    }}<ng-container *ngIf="required">
-      <i aria-hidden="true">*</i>
-      <i class="sr-only">(erforderlich)</i>
-    </ng-container>
-  </mat-label>
+  <mat-label>{{ label }}</mat-label>
   <input
     matInput
     [matDatepicker]="picker"
     [formControl]="fieldControl"
     (blur)="touch()"
-    [attr.aria-required]="required"
+    [required]="required"
     [attr.data-test-id]="(label | convertForDataTest) + '-date-input'"
     (dateInput)="inputEvent($event)"
     (blur)="onBlur()"
diff --git a/alfa-client/libs/ui/src/lib/ui/editor/text-editor/text-editor.component.html b/alfa-client/libs/ui/src/lib/ui/editor/text-editor/text-editor.component.html
index 6d1b98c413..bcf6e536c2 100644
--- a/alfa-client/libs/ui/src/lib/ui/editor/text-editor/text-editor.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/editor/text-editor/text-editor.component.html
@@ -29,13 +29,7 @@
   appearance="{{ appearance }}"
   [floatLabel]="readOnly || autoFocus ? 'always' : 'auto'"
 >
-  <mat-label
-    >{{ label
-    }}<ng-container *ngIf="required">
-      <i aria-hidden="true">*</i>
-      <i class="sr-only">(erforderlich)</i>
-    </ng-container>
-  </mat-label>
+  <mat-label>{{ label }}</mat-label>
   <div class="wrapper">
     <input
       #inputElement
@@ -45,7 +39,7 @@
       [autocomplete]="autocomplete"
       [readonly]="readOnly"
       (blur)="touch()"
-      [attr.aria-required]="required"
+      [required]="required"
       [attr.data-test-id]="(label | convertForDataTest) + '-text-input'"
       [class.with-clear-button]="showClearButton$ | async"
     />
diff --git a/alfa-client/libs/ui/src/lib/ui/editor/textarea-editor/textarea-editor.component.html b/alfa-client/libs/ui/src/lib/ui/editor/textarea-editor/textarea-editor.component.html
index c1ef2c020d..cf3135707e 100644
--- a/alfa-client/libs/ui/src/lib/ui/editor/textarea-editor/textarea-editor.component.html
+++ b/alfa-client/libs/ui/src/lib/ui/editor/textarea-editor/textarea-editor.component.html
@@ -24,13 +24,7 @@
 
 -->
 <mat-form-field [appearance]="appearance" [floatLabel]="autoFocus ? 'always' : 'auto'">
-  <mat-label
-    >{{ label
-    }}<ng-container *ngIf="required">
-      <i aria-hidden="true">*</i>
-      <i class="sr-only">(erforderlich)</i>
-    </ng-container>
-  </mat-label>
+  <mat-label>{{ label }}</mat-label>
 
   <textarea
     #autosize="cdkTextareaAutosize"
@@ -38,7 +32,7 @@
     matInput
     cdkTextareaAutosize
     [formControl]="fieldControl"
-    [attr.aria-required]="required"
+    [required]="required"
     [attr.data-test-id]="(label | convertForDataTest) + '-textarea-input'"
     (blur)="touch()"
   ></textarea>
diff --git a/alfa-client/libs/user-profile/src/lib/user-profile-search-container/user-profile-search/user-profile-search.component.html b/alfa-client/libs/user-profile/src/lib/user-profile-search-container/user-profile-search/user-profile-search.component.html
index e88bfb7788..156bc444e3 100644
--- a/alfa-client/libs/user-profile/src/lib/user-profile-search-container/user-profile-search/user-profile-search.component.html
+++ b/alfa-client/libs/user-profile/src/lib/user-profile-search-container/user-profile-search/user-profile-search.component.html
@@ -27,6 +27,7 @@
   <ozgcloud-autocomplete-editor
     data-test-id="user-search"
     label="Bearbeiter"
+    [required]="true"
     [formControlName]="formServiceClass.SEARCH_FIELD"
     [values]="searchedUserProfiles.resource"
     (onKeyUp)="onKeyUp()"
-- 
GitLab