summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/pages/properties-assignment/tosca-function/tosca-custom-function/tosca-custom-function.component.html
blob: 831ce49de8b419a2714176f78d45263d6e5c1e4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!--
  ~ -
  ~  ============LICENSE_START=======================================================
  ~  Copyright (C) 2023 Nordix Foundation.
  ~  ================================================================================
  ~  Licensed 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.
  ~
  ~  SPDX-License-Identifier: Apache-2.0
  ~  ============LICENSE_END=========================================================
  -->

<div class="component-container">
  <ng-container [formGroup]="formGroup">
    <div *ngIf="!isDefaultCustomFunction" class="i-sdc-form-item">
      <label>Custom function name: </label>
      <div class="i-sdc-form-item">
        <input type="text" formControlName="customName" [value]="name" (input)="name = $event.target.value" required/>
      </div>
    </div>
    <div formArrayName="customParameterList">
      <div *ngFor="let parameter of parameters; let idx = index">
        <div *ngIf="idx > 0 && type != GET_INPUT" class="text-center"><span class="custom-plus-icon"></span></div>
        <div class="parameter-card" *ngIf="type != GET_INPUT">
          <div class="card-content">
            <ng-container *ngIf="parameter.type === STRING_FUNCTION_TYPE">
              <input type="text" [formControlName]="idx" [value]="parameter.value"/><br/>
            </ng-container>
            <ng-container *ngIf="parameter.type !== STRING_FUNCTION_TYPE">
              <tosca-function [property]="propertyInputList[idx]"
                              [customToscaFunctions]="customToscaFunctions"
                              [componentInstanceMap]="componentInstanceMap"
                              [allowClear]="false"
                              (onValidityChange)="onFunctionValidityChange($event, idx)">
              </tosca-function>
            </ng-container>
            <div *ngIf="type != GET_INPUT" class="buttons-container">
              <span class="delete-icon" (click)="removeParameter(idx)"></span>
            </div>
          </div>
        </div>
        <ng-container *ngIf="type === GET_INPUT">
          <app-tosca-get-function [property]="propertyInputList[idx]" [toscaGetFunction]="toscaGetFunction"
                                  [componentInstanceMap]="componentInstanceMap"
                                  [functionType]="GET_INPUT"
                                  (onValidityChange)="onGetFunctionValidityChange($event, idx)">
          </app-tosca-get-function>
        </ng-container>
      </div>
    </div>
  </ng-container>
  <div *ngIf="type != GET_INPUT" class="buttons-container">
    <a class="add-link" (click)="addStringParameter()">String Value</a> <a class="add-link" (click)="addFunction()">TOSCA Function Expression</a>
  </div>
</div>