aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/pages/interface-definition/operation-creator/param-row/param-row.component.html
blob: 1ed0375a16bf5a6db9985c98c6cde08d4d72598c (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<!--
 * ============LICENSE_START=======================================================
 * SDC
 * ================================================================================
 * Copyright (C) 2022 Nordix Foundation. All rights reserved.
 * ================================================================================
 * 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.
 * ============LICENSE_END=========================================================
-->
 
<div class="cell field-name">
    <ui-element-input
        *ngIf="!isAssociateWorkflow"
        [testId]="'param-name-' + (param.name || 'unnamed')"
        [(value)]="param.name"
        (valueChange)="onChangeName()"
        [readonly]="readonly">
    </ui-element-input>
    <span *ngIf="isAssociateWorkflow">{{param.name}}</span>
</div>

<div class="cell field-type">
    <ui-element-dropdown
        *ngIf="!isAssociateWorkflow"
        [testId]="'param-type-' + (param.name || 'unnamed')"
        [values]="propTypeEnum"
        [(value)]="param.type"
        (valueChange)="onChangeType()"
        [readonly]="readonly">
    </ui-element-dropdown>
    <span *ngIf="isAssociateWorkflow">{{param.type}}</span>
</div>

<div class="cell field-property" *ngIf="isInputParam">
    <select
        *ngIf="filteredInputProps.length || operationOutputCats.length || !isAssociateWorkflow"
        [(ngModel)]="param.inputId"
        (change)="onChangeProperty($event)"
        [ngClass]="{'disabled': readonly}"
        [attr.data-tests-id]="'value-param-property-' + (param.name || 'unnamed')">
        <option
            *ngFor="let prop of filteredInputProps"
            [ngValue]="prop.value">
            {{prop.label}}
        </option>
        <optgroup
            *ngFor="let operation of operationOutputCats"
            label="{{operation.operationName}}">
            <option
                *ngFor="let output of operation.outputs"
                [ngValue]="output.value">
                {{output.label}}
            </option>
        </optgroup>
        <optgroup
                *ngFor="let cap of filteredCapabilitiesProps"
                label="{{cap.capabilityName}}">
            <option
                    *ngFor="let prop of cap.properties"
                    [ngValue]="prop.value">
                {{prop.label}}
            </option>
        </optgroup>
    </select>
    <span
        *ngIf="!filteredInputProps.length && !operationOutputCats.length && isAssociateWorkflow"
        class="no-properties-error">
        {{ 'PARAM_NONE_OF_TYPE' | translate }}
    </span>
</div>

<div class="cell field-mandatory" *ngIf="!isAssociateWorkflow">
    <checkbox
        *ngIf="!isAssociateWorkflow"
        [attr.data-tests-id]="'param-mandatory-' + (param.name || 'unnamed')"
        [(checked)]="param.required"
        [ngClass]="{'disabled':readonly}">
    </checkbox>
</div>

<div class="cell remove" *ngIf="!isAssociateWorkflow && !readonly">
    <svg-icon
        name="trash-o"
        mode="info"
        size="small"
        [attr.data-tests-id]="'param-remove-' + (param.name || 'unnamed')"
        (click)="onRemoveParam(param)"
        [clickable]="true">
  </svg-icon>
</div>