argos/dmp-admin/src/app/dataset-profile-form/field-form/field-form.component.html

120 lines
5.5 KiB
HTML

<div>
<div [formGroup]="form">
<div class="row">
<div class="form-group col-md-6">
<label>Id</label>
<input type="text" class="form-control" formControlName="id">
</div>
<div class="form-row col-md-6">
<div formGroupName="viewStyle">
<div class="form-group">
<label>View style</label>
<select class="form-control" formControlName="renderStyle" (change)= "onchangeCombo($event)">
<option value="textarea">textarea</option>
<option value="booleanDecision">booleanDecision</option>
<option value='combobox'>combobox</option>
<option value="checkBox">checkBox</option>
<option value="freetext">freetext</option>
<option value="radiobox">radiobox</option>
</select>
</div>
</div>
</div>
</div>
<div class="form" [ngSwitch]="form.get('viewStyle').get('renderStyle').value">
<div *ngSwitchCase="'combobox'">
<combobox-component [form]="form" [dataModel]="dataModel"></combobox-component>
</div>
<div *ngSwitchCase="'radiobox'">
<radiobox-component [form]="form" [dataModel]="dataModel"></radiobox-component>
</div>
<div *ngSwitchCase="'freetext'">
<freetext-component [form]="form" [dataModel]="dataModel"></freetext-component>
</div>
<div *ngSwitchCase="'textarea'">
<textarea-component [form]="form" [dataModel]="dataModel"></textarea-component>
</div>
<div *ngSwitchCase="'booleanDecision'">
<booleanDecision-component [form]="form" [dataModel]="dataModel"></booleanDecision-component>
</div>
<div *ngSwitchCase="'checkBox'">
<checkbox-component [form]="form" [dataModel]="dataModel"></checkbox-component>
</div>
</div>
<!-- <div class="row">
<div class="form-group col-md-6">
<label>description</label>
<input type="text" class="form-control" formControlName="description">
</div>
<div class="form-group col-md-6">
<label>extendedDescription</label>
<input type="text" class="form-control" formControlName="extendedDescription">
</div>
</div> -->
<div class="row">
<div *ngIf="isFieldMultiplicityEnabled" formGroupName="multiplicity">
<div class="form-group">
<h5 style="margin-left:15px; font-weight:bold;">Multiplicity</h5>
<div class="col-md-2">
<label>Min</label>
<input type="number" class="form-control" formControlName="min">
</div>
<div class="col-md-2">
<label>Max</label>
<input type="number" class="form-control" formControlName="max">
</div>
</div>
</div>
<div class="form-group col-md-2">
<label>Ordinal</label>
<input type="number" class="form-control" formControlName="ordinal">
</div>
<div formGroupName="defaultValue">
<div class="form-group col-md-5">
<label>Default Value</label>
<input type="text" class="form-control" formControlName="value">
</div>
</div>
<div class="form-group col-md-5">
<label>Validation</label>
<div formArrayName="validations">
<div *ngFor="let validation of form.controls.validations.controls; let i=index">
<select class="form-control" [formControlName]="i">
<option *ngFor= "let option of validationsOptions" [value]="option.key">{{option.value}}</option>
</select>
</div>
</div>
</div>
</div>
</div>
<label *ngIf="showMultiplicity">
<input type="checkbox" [(ngModel)]="isFieldMultiplicityEnabled" (ngModelChange)="onIsFieldMultiplicityEnabledChange(isFieldMultiplicityEnabled)"
/> Multiplicity</label>
<div class="panel-group" style="margin-top:10px;">
<div *ngFor="let rule of dataModel.visible.rules let i=index;" class="panel panel-default">
<div class="panel-heading clearfix">
<a data-toggle="collapse" href="#{{indexPath + 'r' + i}}" class="panel-title pull-left" style="padding-top: 7.5px;">{{i + 1}}. Rule {{i + 1}}</a>
<div class="btn-group pull-right">
<button type="button" class="btn btn-sm" style="margin-left:5px;" (click)="DeleteRule(i);">
<span class="glyphicon glyphicon-erase"></span>
</button>
</div>
</div>
<div id="{{indexPath + 'r' + i}}" class="panel-collapse collapse in">
<div class="panel-body">
<rule-form [form]="form.get('visible').get('rules').get(''+i)" [dataModel]="rule"></rule-form>
</div>
</div>
</div>
</div>
<div>
<a (click)="addNewRule()" style="cursor: pointer">
Add Rule +
</a>
</div>
</div>