Improve no type policy handling
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / policy-control / policy-instance-dialog.component.html
index f052cca..1e4145f 100644 (file)
@@ -17,6 +17,7 @@
   limitations under the License.
   ========================LICENSE_END===================================
   -->
+
 <div class="text-muted logo" fxLayout="row" fxLayoutGap="50px" fxLayoutAlign="space-around center">
     <div *ngIf="policyInstanceId">{{policyInstanceId}}</div>
 </div>
 
 <div class="text-muted" *ngIf="jsonSchemaObject.description">{{jsonSchemaObject.description}}</div>
 
-<div fxLayout="row" fxLayoutAlign="space-around start" fxLayout.lt-sm="column" fxLayoutAlign.lt-sm="flex-start center">
+<div [formGroup]="instanceForm" fxLayout="row" fxLayoutAlign="space-around start" fxLayout.lt-sm="column"
+    fxLayoutAlign.lt-sm="flex-start center">
 
 
     <mat-card class="card" [ngClass]="{'card-dark': darkMode}">
 
         <mat-form-field *ngIf="!this.policyInstanceId">
-            <mat-label [class.text-danger]="!this.ric">Select RIC</mat-label>
-            <mat-select [(value)]="this.ric">
+            <mat-label>Select RIC</mat-label>
+            <mat-select id="ricSelector" formControlName="ricSelector" matInput required [(value)]="this.ric">
                 <mat-option *ngFor="let ric of this.allRics" [value]="ric">
                     {{ric}}
                 </mat-option>
             </mat-select>
+            <div *ngIf="ricSelector.invalid && (ricSelector.dirty || ricSelector.touched)">
+                <div *ngIf="ricSelector.errors.required">
+                    <mat-error role="alert">A Ric must be selected.</mat-error>
+                </div>
+            </div>
         </mat-form-field>
 
         <h4 class="default-cursor" (click)="toggleVisible('form')">
@@ -63,9 +70,9 @@
             </json-schema-form>
         </div>
         <hr />
+        <button mat-raised-button (click)="this.onClose()">Close</button>
         <button mat-raised-button (click)="this.onSubmit()" [disabled]="!this.formIsValid || !this.ric"
             class="submitBtn">Submit</button>
-        <button mat-raised-button (click)="this.onClose()">Close</button>
         <hr />
         <h4 [class.text-danger]="!formIsValid && !isVisible.json" [class.default-cursor]="formIsValid || isVisible.json"
             (click)="toggleVisible('json')">
                     [class.text-danger]="!formIsValid">
                     {{formIsValid ? 'Json' : 'Not valid'}}
                 </strong>
-                <strong class="text-danger" *ngIf="!formIsValid && !prettyValidationErrors">Not submittable</strong>
+                <span *ngIf="!formIsValid && !prettyValidationErrors">Invalid form</span>
                 <span *ngIf="prettyValidationErrors">— errors:</span>
                 <div *ngIf="prettyValidationErrors" class="text-danger" [innerHTML]="prettyValidationErrors"></div>
             </div>
             <div>
-                <pre [class.text__dark]='this.darkMode'>{{prettyLiveFormData}}</pre>
+                <pre [class.text__dark]="this.darkMode">{{prettyLiveFormData}}</pre>
             </div>
         </div>
 
         </h4>
         <div *ngIf="isVisible.schema" fxLayout="column" [@expandSection]="true">
             <strong class="text-muted">Schema</strong>
-            <pre [class.text__dark]='this.darkMode'>{{schemaAsString}}</pre>
+            <pre [class.text__dark]="this.darkMode">{{schemaAsString}}</pre>
         </div>
     </mat-card>
 </div>
\ No newline at end of file