cloudfoundry/stratos

View on GitHub
src/frontend/packages/cloud-foundry/src/shared/components/schema-form/schema-form.component.html

Summary

Maintainability
Test Coverage
<ng-template #json>
  <form [formGroup]="jsonForm">
    <mat-form-field class="schema-form__raw">
      <textarea matInput placeholder="JSON" matAutosizeMinRows="2" matAutosizeMaxRows="5" formControlName="json"></textarea>
      <mat-error *ngIf="jsonForm.controls.json.hasError('notValidJson')">
        Not valid JSON. Please specify a valid JSON Object
      </mat-error>
    </mat-form-field>
  </form>
</ng-template>

<div *ngIf="mode === 'schema'; else json" class="schema-form">
  <mat-radio-group [(ngModel)]="schemaView" (change)="onSchemaViewChanged()" class="schema-form__radios">
    <mat-radio-button [value]="'schemaForm'" class="schema-form__radios-btn">Form</mat-radio-button>
    <mat-radio-button [value]="'schemaJson'" class="schema-form__radios-btn">JSON</mat-radio-button>
  </mat-radio-group>

  <div class="schema-form__form" *ngIf="schemaView === 'schemaForm'; else json">
    <json-schema-form loadExternalAssets="false" [options]="{ addSubmit: false }" [schema]="cleanSchema" [framework]="'material-design'" [data]="formInitialData" (validationErrors)="onFormValidationErrors($event)" (onChanges)="onFormChange($event)">
    </json-schema-form>
    <div *ngIf="!!formValidationErrorsStr" class="schema-form__form--data-bad" [innerHTML]="formValidationErrorsStr"></div>
  </div>
</div>