mirror of https://github.com/Squidex/squidex.git
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.
131 lines
5.4 KiB
131 lines
5.4 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-text mr-1" (click)="exportSchemaDialog.show()">
|
|
JSON Preview
|
|
</button>
|
|
|
|
<div class="btn-group mr-1" #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-text-secondary ml-1" (click)="editOptionsDropdown.toggle()" [class.active]="editOptionsDropdown.isOpen | async" #buttonOptions>
|
|
<i class="icon-dots"></i>
|
|
</button>
|
|
<div class="dropdown-menu" *sqxModalView="editOptionsDropdown;closeAlways:true" [sqxModalTarget]="buttonOptions" @fade>
|
|
<a class="dropdown-item" (click)="configureScriptsDialog.show()">
|
|
Edit Scripts
|
|
</a>
|
|
<a class="dropdown-item" (click)="configurePreviewUrlsDialog.show()">
|
|
Edit Preview Urls
|
|
</a>
|
|
|
|
<div class="dropdown-divider"></div>
|
|
|
|
<a class="dropdown-item" (click)="cloneSchema()">
|
|
Clone
|
|
</a>
|
|
|
|
<div class="dropdown-divider"></div>
|
|
|
|
<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="bottom-right" 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="bottom-right" 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 type="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"
|
|
(sqxSort)="sortFields($event)">
|
|
<div *ngFor="let field of schema.fields; trackBy: trackByField.bind(this)">
|
|
<sqx-field [field]="field" [schema]="schema" [patterns]="patterns"></sqx-field>
|
|
</div>
|
|
</div>
|
|
|
|
<button type="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>
|
|
<div class="panel-nav">
|
|
<a class="panel-link" routerLink="help" routerLinkActive="active" title="Help" titlePosition="left">
|
|
<i class="icon-help"></i>
|
|
</a>
|
|
</div>
|
|
</ng-container>
|
|
</sqx-panel>
|
|
|
|
<router-outlet></router-outlet>
|
|
|
|
<ng-container *sqxModalView="editSchemaDialog;onRoot:true">
|
|
<sqx-schema-edit-form [schema]="schema"
|
|
(complete)="editSchemaDialog.hide()">
|
|
</sqx-schema-edit-form>
|
|
</ng-container>
|
|
|
|
<ng-container *sqxModalView="addFieldDialog;onRoot:true;closeAuto:false">
|
|
<sqx-field-wizard [schema]="schema"
|
|
(complete)="addFieldDialog.hide()">
|
|
</sqx-field-wizard>
|
|
</ng-container>
|
|
|
|
<ng-container *sqxModalView="configureScriptsDialog;onRoot:true">
|
|
<sqx-schema-scripts-form [schema]="schema"
|
|
(complete)="configureScriptsDialog.hide()">
|
|
</sqx-schema-scripts-form>
|
|
</ng-container>
|
|
|
|
<ng-container *sqxModalView="configurePreviewUrlsDialog;onRoot:true">
|
|
<sqx-schema-preview-urls-form [schema]="schema"
|
|
(complete)="configurePreviewUrlsDialog.hide()">
|
|
</sqx-schema-preview-urls-form>
|
|
</ng-container>
|
|
|
|
<ng-container *sqxModalView="exportSchemaDialog;onRoot:true">
|
|
<sqx-modal-dialog (close)="exportSchemaDialog.hide()" large="true">
|
|
<ng-container title>
|
|
Export Schema
|
|
</ng-container>
|
|
|
|
<ng-container content>
|
|
<div class="json-preview">
|
|
<sqx-json-editor disabled [ngModel]="schemaExport"></sqx-json-editor>
|
|
</div>
|
|
</ng-container>
|
|
</sqx-modal-dialog>
|
|
</ng-container>
|