Headless CMS and Content Managment Hub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

89 lines
4.2 KiB

<form [formGroup]="createForm.form" (ngSubmit)="createSchema()">
<sqx-modal-dialog (close)="cancel.emit()">
<ng-container title>
<ng-container *ngIf="import; else noImport">
Clone Schema
</ng-container>
<ng-template #noImport>
Create Schema
</ng-template>
</ng-container>
<ng-container content>
<sqx-form-error [error]="createForm.error | async"></sqx-form-error>
<div class="form-group">
<label for="schemaName">Name <small class="hint">(required)</small></label>
<sqx-control-errors for="name" submitOnly="true" [submitted]="createForm.submitted | async"></sqx-control-errors>
<input type="text" class="form-control" id="schemaName" formControlName="name" autocomplete="off" sqxTransformInput="LowerCase" sqxFocusOnInit />
<sqx-form-hint>
You can only use letters, numbers and dashes and not more than 40 characters.
</sqx-form-hint>
</div>
<div class="form-group mt-4">
<div class="row">
<div class="col-6 type">
<label>
<input type="radio" class="radio-input" name="isSingleton" formControlName="isSingleton" [value]="false" />
<div class="row no-gutters">
<div class="col-auto">
<div class="btn-radio" [class.active]="createForm.form.controls['isSingleton'].value !== true">
<i class="icon-multiple-content"></i>
</div>
</div>
<div class="col">
<div class="type-title">Multiple contents</div>
<div class="type-text text-muted">Best for multiple instances like blog posts, pages, authors, products...</div>
</div>
</div>
</label>
</div>
<div class="col-6 type">
<label>
<input type="radio" class="radio-input" name="isSingleton" formControlName="isSingleton" [value]="true" />
<div class="row no-gutters">
<div class="col-auto">
<div class="btn-radio" [class.active]="createForm.form.controls['isSingleton'].value === true">
<i class="icon-single-content"></i>
</div>
</div>
<div class="col">
<div class="type-title">Single content</div>
<div class="type-text text-muted">Best for single instances like the home page, privacy policies, settings...</div>
</div>
</div>
</label>
</div>
</div>
</div>
<div class="form-group">
<button type="button" class="btn btn-sm btn-text" (click)="toggleImport()" [class.hidden]="showImport">
Import schema
</button>
<button type="button" class="btn btn-sm btn-text force" (click)="toggleImport()" [class.hidden]="!showImport">
Hide
</button>
<sqx-json-editor height="250" *ngIf="showImport" formControlName="importing"></sqx-json-editor>
</div>
<sqx-form-alert marginBottom="0">
These values cannot be changed later.
</sqx-form-alert>
</ng-container>
<ng-container footer>
<button type="reset" class="float-left btn btn-secondary" (click)="cancel.emit()">Cancel</button>
<button type="submit" class="float-right btn btn-success">Create</button>
</ng-container>
</sqx-modal-dialog>
</form>