Initial form builder support!
This commit is contained in:
100
src/app/components/nodes/form-input/form-input.component.html
Normal file
100
src/app/components/nodes/form-input/form-input.component.html
Normal file
@@ -0,0 +1,100 @@
|
||||
<ion-item
|
||||
*ngIf="this.node
|
||||
&& (
|
||||
this.node.type === 'form_input_text'
|
||||
|| this.node.type === 'form_input_number'
|
||||
|| this.node.type === 'form_input_password'
|
||||
|| this.node.type === 'form_input_email'
|
||||
|| this.node.type === 'form_input_select'
|
||||
|| this.node.type === 'form_input_multiselect'
|
||||
|| this.node.type === 'form_input_textarea'
|
||||
)"
|
||||
>
|
||||
<ion-label [position]="'floating'" *ngIf="this.node.AdditionalData.label">
|
||||
{{ this.node.AdditionalData.label }}
|
||||
</ion-label>
|
||||
<ion-input
|
||||
*ngIf="this.node.type === 'form_input_text'"
|
||||
[(ngModel)]="value"
|
||||
[placeholder]="this.node.AdditionalData.placeholder"
|
||||
[required]="this.node.AdditionalData.required"
|
||||
[readonly]="this.isReadonly"
|
||||
(ionChange)="triggerChangeCheck()"
|
||||
></ion-input>
|
||||
<ion-input
|
||||
*ngIf="this.node.type === 'form_input_number'"
|
||||
[(ngModel)]="value"
|
||||
[type]="'number'"
|
||||
[placeholder]="this.node.AdditionalData.placeholder"
|
||||
[required]="this.node.AdditionalData.required"
|
||||
[readonly]="this.isReadonly"
|
||||
(ionChange)="triggerChangeCheck()"
|
||||
></ion-input>
|
||||
<ion-input
|
||||
*ngIf="this.node.type === 'form_input_password'"
|
||||
[(ngModel)]="value"
|
||||
[type]="'password'"
|
||||
[placeholder]="this.node.AdditionalData.placeholder"
|
||||
[required]="this.node.AdditionalData.required"
|
||||
[readonly]="this.isReadonly"
|
||||
(ionChange)="triggerChangeCheck()"
|
||||
></ion-input>
|
||||
<ion-input
|
||||
*ngIf="this.node.type === 'form_input_email'"
|
||||
[(ngModel)]="value"
|
||||
[type]="'email'"
|
||||
[placeholder]="this.node.AdditionalData.placeholder"
|
||||
[required]="this.node.AdditionalData.required"
|
||||
[readonly]="this.isReadonly"
|
||||
(ionChange)="triggerChangeCheck()"
|
||||
></ion-input>
|
||||
|
||||
<!-- TODO readonly handling -->
|
||||
<ion-select
|
||||
*ngIf="this.node.type === 'form_input_select'"
|
||||
[(ngModel)]="value"
|
||||
[placeholder]="this.node.AdditionalData.placeholder"
|
||||
[required]="this.node.AdditionalData.required"
|
||||
(ionChange)="triggerChangeCheck()"
|
||||
style="width: 100%;"
|
||||
>
|
||||
<ion-select-option
|
||||
*ngFor="let choice of selectChoices"
|
||||
[value]="choice.value"
|
||||
>{{ choice.display }}</ion-select-option>
|
||||
</ion-select>
|
||||
|
||||
<!-- TODO readonly handling -->
|
||||
<ion-select
|
||||
*ngIf="this.node.type === 'form_input_multiselect'"
|
||||
[(ngModel)]="value"
|
||||
[placeholder]="this.node.AdditionalData.placeholder"
|
||||
[required]="this.node.AdditionalData.required"
|
||||
(ionChange)="triggerChangeCheck()"
|
||||
[multiple]="true"
|
||||
style="width: 100%;"
|
||||
>
|
||||
<ion-select-option
|
||||
*ngFor="let choice of selectChoices"
|
||||
[value]="choice.value"
|
||||
>{{ choice.display }}</ion-select-option>
|
||||
</ion-select>
|
||||
|
||||
<ion-textarea
|
||||
*ngIf="this.node.type === 'form_input_textarea'"
|
||||
[(ngModel)]="value"
|
||||
[placeholder]="this.node.AdditionalData.placeholder"
|
||||
[required]="this.node.AdditionalData.required"
|
||||
(ionChange)="triggerChangeCheck()"
|
||||
[autoGrow]="true"
|
||||
style="width: 100%;"
|
||||
[readonly]="this.isReadonly"
|
||||
></ion-textarea>
|
||||
|
||||
<ion-button
|
||||
slot="end"
|
||||
style="margin-top: 5px;"
|
||||
*ngIf="!this.isReadonly && !this.isFilloutMode"
|
||||
(click)="onEditClick()"
|
||||
>Edit</ion-button>
|
||||
</ion-item>
|
||||
Reference in New Issue
Block a user