argos/dmp-frontend/src/app/dataset-profile-form/compositefield-form/compositefield-form.compone...

78 lines
3.2 KiB
HTML

<div>
<h4 style="font-weight: bold">Composite Field Description</h4>
<div fxLayout="row">
<mat-checkbox [(ngModel)]="isComposite" (ngModelChange)="onIsCompositeChange(isComposite)">Composite Field</mat-checkbox>
<mat-checkbox [(ngModel)]="isMultiplicityEnabled" (ngModelChange)="onIsMultiplicityEnabledChange(isMultiplicityEnabled)">Multiplicity</mat-checkbox>
<mat-checkbox [formControl]="this.form.get('hasCommentField')"> Comment</mat-checkbox>
</div>
<div fxLayout="row">
<div fxFlex>
<mat-form-field class="full-width">
<input matInput type="text" placeholder="Title" [formControl]="this.form.get('title')">
</mat-form-field>
</div>
<div fxFlex>
<mat-form-field class="full-width">
<input matInput type="text" placeholder="Description" [formControl]="this.form.get('description')">
</mat-form-field>
</div>
<div fxFlex>
<mat-form-field class="full-width">
<input matInput type="text" placeholder="Extended Description" [formControl]="this.form.get('extendedDescription')">
</mat-form-field>
</div>
</div>
<div fxLayout="row">
<div fxFlex *ngIf="isMultiplicityEnabled">
<mat-form-field class="full-width">
<input matInput placeholder="Min" type="number" [formControl]="this.form.get('multiplicity').get('min')">
</mat-form-field>
</div>
<div fxFlex *ngIf="isMultiplicityEnabled">
<mat-form-field class="full-width">
<input matInput placeholder="Max" type="number" [formControl]="this.form.get('multiplicity').get('max')">
</mat-form-field>
</div>
<div fxFlex>
<mat-form-field class="full-width">
<input matInput type="number" placeholder="Ordinal" [formControl]="this.form.get('ordinal')">
</mat-form-field>
</div>
<div fxFlex *ngIf="isComposite">
<mat-form-field class="full-width">
<input matInput type="string" placeholder="Id" [formControl]="this.form.get('id')">
</mat-form-field>
</div>
</div>
</div>
<div fxLayout="row">
<h4 style="font-weight: bold">Field Description</h4>
<div *ngIf="isComposite">
<button mat-button (click)="addNewField()" style="cursor: pointer">
Add Child Field +
</button>
</div>
</div>
<field-form *ngIf="!isComposite" [form]="form.get('fields').get(''+0)" [dataModel]="dataModel.fields[0]" [showMultiplicity]="false"
[indexPath]="indexPath + 'f' + 0"></field-form>
<div *ngIf="isComposite">
<mat-expansion-panel *ngFor="let field of dataModel.fields let i=index;" #panel>
<mat-expansion-panel-header>
<mat-panel-title *ngIf="form.get('fields').get(''+i).get('title').value && !panel.expanded">{{i + 1}}. {{form.get('fields').get(''+i).get('title').value}}</mat-panel-title>
<div class="btn-group pull-right">
<button type="button" class="btn btn-sm" style="margin-left:5px;" (click)="DeleteField(i);">
<span class="glyphicon glyphicon-erase"></span>
</button>
</div>
</mat-expansion-panel-header>
<div id="{{indexPath + 'f' + i}}" *ngIf="panel.expanded">
<field-form [form]="form.get('fields').get(''+i)" [dataModel]="field" [indexPath]="indexPath + 'f' + i"></field-form>
</div>
</mat-expansion-panel>
</div>