UI support for default custom function names
[sdc.git] / catalog-ui / src / app / ng2 / pages / service-dependencies-editor / service-dependencies-editor.component.html
1 <!--
2   ~ -
3   ~  ============LICENSE_START=======================================================
4   ~  Copyright (C) 2016-2018 European Support Limited
5   ~  Modification Copyright (C) 2022 Nordix Foundation.
6   ~  ================================================================================
7   ~  Licensed under the Apache License, Version 2.0 (the "License");
8   ~  you may not use this file except in compliance with the License.
9   ~  You may obtain a copy of the License at
10   ~
11   ~       http://www.apache.org/licenses/LICENSE-2.0
12   ~
13   ~  Unless required by applicable law or agreed to in writing, software
14   ~  distributed under the License is distributed on an "AS IS" BASIS,
15   ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   ~  See the License for the specific language governing permissions and
17   ~  limitations under the License.
18   ~
19   ~  SPDX-License-Identifier: Apache-2.0
20   ~  ============LICENSE_END=========================================================
21   -->
22
23 <div class="service-dependencies-editor">
24     <form class="w-sdc-form">
25
26         <loader [display]="isLoading" [size]="'large'" [relative]="true"></loader>
27
28         <div class="i-sdc-form-content">
29             <div class="rule-builder-content">
30                 <div class="i-sdc-form-item rule-input-field property" *ngIf="filterType == FILTER_TYPE_CAPABILITY">
31                     <label class="i-sdc-form-label required">{{"CAPABILITY_LABEL" | translate}}</label>
32                     <ui-element-dropdown
33                         class="i-sdc-form-select"
34                         data-tests-id="servicePropertyName"
35                         [values]="capabilityDropdownList"
36                         [(value)]="currentRule.capabilityName"
37                         (change)="onCapabilityChange()">
38                     </ui-element-dropdown>
39                 </div>
40                 <div class="i-sdc-form-item rule-input-field property">
41                     <label class="i-sdc-form-label required">{{"PROPERTY_LABEL" | translate}}</label>
42                     <ui-element-dropdown
43                             class="i-sdc-form-select"
44                             data-tests-id="servicePropertyName"
45                             [values]="servicePropertyDropdownList"
46                             [(value)]="currentRule.servicePropertyName"
47                             (change)="onPropertyChange()">
48                     </ui-element-dropdown>
49                 </div>
50                 <div class="i-sdc-form-item rule-input-field operator">
51                     <label class="i-sdc-form-label required">{{"OPERATOR_LABEL" | translate}}</label>
52                     <ui-element-dropdown class="i-sdc-form-select" data-tests-id="constraintOperator"
53                                          [testId]="'constraintOperator'"
54                                          [values]="operatorTypes" [(value)]="currentRule.constraintOperator"></ui-element-dropdown>
55                 </div>
56             </div>
57             <div class="rule-builder-content">
58                 <div class="i-sdc-form-item">
59                     <label class="i-sdc-form-label required">Value Type</label>
60                     <input type="radio" name="sourceType"
61                            data-tests-id="value-type-static"
62                            [(ngModel)]="selectedSourceType"
63                            [value]="SOURCE_TYPES.STATIC.value"
64                            (ngModelChange)="onSourceTypeChange()"/> {{"VALUE_LABEL" | translate}}
65                     <input type="radio" name="sourceType"
66                            data-tests-id="value-type-tosca-function"
67                            [(ngModel)]="selectedSourceType"
68                            [value]="SOURCE_TYPES.TOSCA_FUNCTION.value"
69                            (ngModelChange)="onSourceTypeChange()"/> {{"VALUE_EXPRESSION_LABEL" | translate}}
70                 </div>
71             </div>
72             <div class="rule-builder-content" *ngIf="isToscaFunctionSource() && selectedProperty">
73                 <div class="i-sdc-form-item rule-input-field">
74                     <tosca-function [property]="selectedProperty"
75                                     [componentInstanceMap]="componentInstanceMap"
76                                     [customToscaFunctions]="customToscaFunctions"
77                                     [allowClear]="false"
78                                     (onValidityChange)="onToscaFunctionValidityChange($event)"
79                     >
80                     </tosca-function>
81                 </div>
82             </div>
83             <div *ngIf="isToscaFunctionSource() && !selectedProperty">
84                 {{"NODE_FILTER_SELECT_PROPERTY" | translate}}
85             </div>
86             <div class="rule-builder-content" *ngIf="isStaticSource()">
87                 <div class="i-sdc-form-item rule-input-field complex-input-field">
88                     <dynamic-property
89                         *ngIf="isComplexListMapType()"
90                         [selectedPropertyId]="selectedProperty.uniqueId"
91                         [property]="selectedProperty"
92                         [expandedChildId]="selectedProperty.expandedChildPropertyId ?
93                                 selectedProperty.expandedChildPropertyId : selectedProperty.name"
94                         [canBeDeclared]="true"
95                         (propertyChanged)="updateComplexListMapTypeRuleValue()"
96                         [rootProperty]="selectedProperty"
97                         (expandChild)="selectedProperty.updateExpandedChildPropertyId($event)">
98                     </dynamic-property>
99                     <dynamic-element
100                         *ngIf="!isComplexListMapType()"
101                         [(value)]="currentRule.value"
102                         class="rule-assigned-value"
103                         data-tests-id="ruleAssignedValue"
104                         (elementChanged)="onValueChange($event.isValid)"
105                         [type]="selectedProperty ? selectedProperty.type : 'string'">
106                     </dynamic-element>
107                 </div>
108             </div>
109         </div>
110     </form>
111 </div>