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.
 
 
 
 
 

112 lines
4.7 KiB

<sqx-title message="{app} | {schema}" parameter1="app" [value1]="appsState.appName" parameter2="schema" [value2]="schemasState.schemaName"></sqx-title>
<sqx-panel desiredWidth="60rem" [showSidebar]="true">
<ng-container title>
<i class="schema-edit icon-pencil" (click)="editSchemaDialog.show()"></i> <span (dblclick)="editSchemaDialog.show()">{{schema.displayName}}</span>
</ng-container>
<ng-container menu>
<button type="button" class="btn btn-link btn-export mr-1" (click)="exportSchemaDialog.show()">
JSON Preview
</button>
<div class="btn-group mr-1" data-toggle="buttons" #buttonPublish>
<button type="button" class="btn btn-publishing btn-toggle" [class.btn-success]="schema.isPublished" [disabled]="schema.isPublished" (click)="publish()">
Published
</button>
<button type="button" class="btn btn-publishing btn-toggle" [class.btn-danger]="!schema.isPublished" [disabled]="!schema.isPublished" (click)="unpublish()">
Unpublished
</button>
</div>
<div class="dropdown dropdown-options">
<button type="button" class="btn btn-link btn-secondary ml-1" (click)="editOptionsDropdown.toggle()" [class.active]="editOptionsDropdown.isOpen | async" #buttonOptions>
<i class="icon-dots"></i>
</button>
<div class="dropdown-menu" *sqxModalView="editOptionsDropdown" [sqxModalTarget]="buttonOptions" @fade>
<a class="dropdown-item" (click)="configureScriptsDialog.show()">
Scripts
</a>
<a class="dropdown-item" (click)="cloneSchema()">
Clone
</a>
<a class="dropdown-item dropdown-item-delete"
(sqxConfirmClick)="deleteSchema()"
confirmTitle="Delete schema"
confirmText="Do you really want to delete the schema?">
Delete
</a>
</div>
</div>
<sqx-onboarding-tooltip helpId="history" [for]="buttonOptions" position="bottomRight" after="60000">
Open the context menu to delete the schema or to create some scripts for content changes.
</sqx-onboarding-tooltip>
<sqx-onboarding-tooltip helpId="history" [for]="buttonPublish" position="bottomRight" after="240000">
Note, that you have to publish the schema before you can add content to it.
</sqx-onboarding-tooltip>
</ng-container>
<ng-container content>
<div class="table-items-row table-items-row-empty" *ngIf="schema && schema.fields.length === 0">
No field created yet.
<button class="btn btn-success btn-sm ml-2" (click)="addFieldDialog.show()">
<i class="icon icon-plus"></i> Add Field
</button>
</div>
<ng-container *ngIf="patternsState.patterns | async; let patterns">
<div class="schemas" [sqxSortModel]="schema.fields" (sqxSorted)="sortFields($event)" dragHandle=".drag-handle">
<div *ngFor="let field of schema.fields; trackBy: trackByField">
<sqx-field [field]="field" [schema]="schema" [patterns]="patterns"></sqx-field>
</div>
</div>
<button class="btn btn-success field-button" (click)="addFieldDialog.show()">
<i class="icon icon-plus field-button-icon"></i> <div class="field-button-text">Add Field</div>
</button>
</ng-container>
</ng-container>
<ng-container sidebar>
<a class="panel-link" routerLink="help" routerLinkActive="active">
<i class="icon-help"></i>
</a>
</ng-container>
</sqx-panel>
<router-outlet></router-outlet>
<ng-container *sqxModalView="editSchemaDialog;onRoot:true">
<sqx-schema-edit-form [schema]="schema"
(completed)="editSchemaDialog.hide()">
</sqx-schema-edit-form>
</ng-container>
<ng-container *sqxModalView="addFieldDialog;onRoot:true;closeAuto:false">
<sqx-field-wizard [schema]="schema"
(completed)="addFieldDialog.hide()">
</sqx-field-wizard>
</ng-container>
<ng-container *sqxModalView="configureScriptsDialog;onRoot:true">
<sqx-schema-scripts-form [schema]="schema"
(completed)="configureScriptsDialog.hide()">
</sqx-schema-scripts-form>
</ng-container>
<ng-container *sqxModalView="exportSchemaDialog;onRoot:true">
<sqx-modal-dialog (closed)="exportSchemaDialog.hide()">
<ng-container title>
Export Schema
</ng-container>
<ng-container content>
<sqx-json-editor disabled [ngModel]="schemaExport"></sqx-json-editor>
</ng-container>
</sqx-modal-dialog>
</ng-container>