UNPKG

@deepkit/api-console-gui

Version:

API Console GUI

66 lines 2.5 kB
import { __decorate } from "tslib"; import { Component, computed, input, model } from '@angular/core'; import { isBackReferenceType, isReferenceType, ReflectionClass } from '@deepkit/type'; import { isReferenceLike } from '../../utils'; import { OptionDirective, SelectBoxComponent } from '@deepkit/desktop-ui'; import { FormsModule } from '@angular/forms'; import { InputComponent } from './input.component'; let ClassInputComponent = class ClassInputComponent { constructor() { this.isReferenceLike = isReferenceLike; this.model = model.required(); this.decoration = input(); this.type = input.required(); this.schema = computed(() => ReflectionClass.from(this.type())); } get showOnlyPrimaryKey() { const type = this.type(); return (isReferenceType(type) || isBackReferenceType(type)) && this.model().asReference(); } }; ClassInputComponent = __decorate([ Component({ template: ` <div class="box children"> @if (isReferenceLike(type())) { <dui-select textured style="width: 100%; margin-bottom: 5px;" [(ngModel)]="model().asReference"> <dui-option [value]="false">{{ schema().getClassName() }}</dui-option> <dui-option [value]="true">Reference</dui-option> </dui-select> } @if (showOnlyPrimaryKey && schema().getPrimary(); as p) { <div style="padding: 4px;"> <api-console-input [optional]="false" [model]="model().getProperty(p.name)" [type]="p.property"></api-console-input> </div> } @if (!showOnlyPrimaryKey) { @for (p of schema().getProperties(); track $index; let last = $last) { <api-console-input [class.last]="last" [decoration]="p.property" [model]="model().getProperty(p.name)" [type]="p.property"></api-console-input> } } </div> `, styles: [` .children { position: relative; border: 1px solid var(--dui-line-color-light); border-radius: 3px; background-color: var(--dui-window-header-bg); margin-left: 20px; } `], imports: [ SelectBoxComponent, FormsModule, OptionDirective, InputComponent, ], }) ], ClassInputComponent); export { ClassInputComponent }; //# sourceMappingURL=class-input.component.js.map