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.
138 lines
5.8 KiB
138 lines
5.8 KiB
<sqx-title [message]="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)="exportDialog.show()">
|
|
JSON View
|
|
</button>
|
|
|
|
<div class="btn-group mr-1" #buttonPublish>
|
|
<button type="button" class="btn btn-publishing btn-toggle" [class.btn-success]="schema.isPublished" [disabled]="!schema.canPublish" (click)="publish()">
|
|
Published
|
|
</button>
|
|
<button type="button" class="btn btn-publishing btn-toggle" [class.btn-danger]="!schema.isPublished" [disabled]="!schema.canUnpublish" (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>
|
|
|
|
<ng-container *sqxModal="editOptionsDropdown;closeAlways:true">
|
|
<div class="dropdown-menu" [sqxAnchoredTo]="buttonOptions" @fade>
|
|
<a class="dropdown-item" (click)="configureScriptsDialog.show()">
|
|
Scripts
|
|
</a>
|
|
<a class="dropdown-item" (click)="configurePreviewUrlsDialog.show()">
|
|
Preview Urls
|
|
</a>
|
|
|
|
<ng-container *ngIf="schemasState.canCreate">
|
|
<div class="dropdown-divider"></div>
|
|
|
|
<a class="dropdown-item" (click)="cloneSchema()">
|
|
Clone
|
|
</a>
|
|
</ng-container>
|
|
|
|
<ng-container>
|
|
<div class="dropdown-divider"></div>
|
|
|
|
<a class="dropdown-item dropdown-item-delete"
|
|
[class.disabled]="!schema.canDelete"
|
|
(sqxConfirmClick)="deleteSchema()"
|
|
confirmTitle="Delete schema"
|
|
confirmText="Do you really want to delete the schema?">
|
|
Delete
|
|
</a>
|
|
</ng-container>
|
|
</div>
|
|
</ng-container>
|
|
</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()" *ngIf="schema.canAddField">
|
|
<i class="icon icon-plus"></i> Add Field
|
|
</button>
|
|
</div>
|
|
|
|
<ng-container *ngIf="patternsState.patterns | async; let patterns">
|
|
<div class="schemas"
|
|
cdkDropList
|
|
[cdkDropListDisabled]="!schema.canOrderFields"
|
|
[cdkDropListData]="schema.fields"
|
|
(cdkDropListDropped)="sortFields($event)">
|
|
<div *ngFor="let field of schema.fields; trackBy: trackByFieldFn"
|
|
class="table-drag"
|
|
cdkDrag
|
|
cdkDragLockAxis="y">
|
|
<sqx-field [field]="field" [schema]="schema" [patterns]="patterns">
|
|
<i cdkDragHandle class="icon-drag2 drag-handle"></i>
|
|
</sqx-field>
|
|
</div>
|
|
</div>
|
|
|
|
<button type="button" class="btn btn-success field-button" (click)="addFieldDialog.show()" *ngIf="schema.canAddField">
|
|
<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 *sqxModal="editSchemaDialog">
|
|
<sqx-schema-edit-form [schema]="schema"
|
|
(complete)="editSchemaDialog.hide()">
|
|
</sqx-schema-edit-form>
|
|
</ng-container>
|
|
|
|
<ng-container *sqxModal="addFieldDialog">
|
|
<sqx-field-wizard [schema]="schema"
|
|
(complete)="addFieldDialog.hide()">
|
|
</sqx-field-wizard>
|
|
</ng-container>
|
|
|
|
<ng-container *sqxModal="configureScriptsDialog">
|
|
<sqx-schema-scripts-form [schema]="schema"
|
|
(complete)="configureScriptsDialog.hide()">
|
|
</sqx-schema-scripts-form>
|
|
</ng-container>
|
|
|
|
<ng-container *sqxModal="configurePreviewUrlsDialog">
|
|
<sqx-schema-preview-urls-form [schema]="schema"
|
|
(complete)="configurePreviewUrlsDialog.hide()">
|
|
</sqx-schema-preview-urls-form>
|
|
</ng-container>
|
|
|
|
<ng-container *sqxModal="exportDialog">
|
|
<sqx-schema-export-form [schema]="schema"
|
|
(complete)="exportDialog.hide()">
|
|
</sqx-schema-export-form>
|
|
</ng-container>
|