| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <td-steps mode="'vertical'"> |
| <td-step #detailsStep label="{{'Fee details' | translate}}" [state]="detailForm.valid ? 'complete' : detailForm.pristine ? 'none' : 'required'" [active]="true"> |
| <form [formGroup]="detailForm" layout="column"> |
| <fims-id-input [form]="detailForm" controlName="identifier" [readonly]="editMode"></fims-id-input> |
| <fims-text-input [form]="detailForm" controlName="name" placeholder="{{'Name' | translate}}"></fims-text-input> |
| <mat-form-field layout-margin flex> |
| <textarea matInput placeholder="{{'Description' | translate}}" formControlName="description"></textarea> |
| <mat-error *ngIf="detailForm.get('description').hasError('required')" translate> |
| Required |
| </mat-error> |
| </mat-form-field> |
| <div layout="row"> |
| <fims-text-input type="number" [form]="detailForm" controlName="amount" placeholder="{{'Amount' | translate}}"></fims-text-input> |
| <mat-radio-group formControlName="chargeMethod"> |
| <mat-radio-button *ngFor="let basis of chargeMethodOptions" [value]="basis.type" layout-margin> |
| {{basis.label}} |
| </mat-radio-button> |
| </mat-radio-group> |
| <mat-form-field layout-margin> |
| <mat-select formControlName="proportionalTo" placeholder="{{ 'Proportional to' | translate }}"> |
| <mat-option *ngFor="let proportionalTo of proportionalToOptions" [value]="proportionalTo.designator"> |
| {{proportionalTo.label}} |
| </mat-option> |
| </mat-select> |
| </mat-form-field> |
| </div> |
| <mat-slide-toggle formControlName="rangeEnabled" layout-margin translate layout-margin> |
| Apply amount only within range? |
| </mat-slide-toggle> |
| <ng-container *ngIf="detailForm.get('rangeEnabled').value === true"> |
| <mat-form-field layout-margin> |
| <mat-select formControlName="rangeIdentifier" placeholder="{{ 'Select range' | translate }}"> |
| <mat-option *ngFor="let range of ranges" [value]="range.identifier"> |
| {{range.identifier}} |
| </mat-option> |
| </mat-select> |
| </mat-form-field> |
| <mat-form-field layout-margin> |
| <mat-select formControlName="rangeSegmentIdentifier" placeholder="{{ 'Select range segment' | translate }}"> |
| <mat-option *ngFor="let segment of selectedRange?.segments" [value]="segment.identifier"> |
| {{segment.identifier}}({{segment.start | number:numberFormat}} - {{segment.end | number:numberFormat}}) |
| </mat-option> |
| </mat-select> |
| </mat-form-field> |
| </ng-container> |
| </form> |
| <ng-template td-step-actions> |
| <fims-form-final-action |
| [resourceName]="'FEE'" |
| [editMode]="editMode" |
| [disabled]="!detailForm.valid" |
| (onCancel)="cancel()" |
| (onSave)="save()"> |
| </fims-form-final-action> |
| </ng-template> |
| </td-step> |
| </td-steps> |