922cda6982b5e6274babf67998c2962ffc85e799
[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                                     [allowClear]="false"
77                                     (onValidityChange)="onToscaFunctionValidityChange($event)"
78                     >
79                     </tosca-function>
80                 </div>
81             </div>
82             <div *ngIf="isToscaFunctionSource() && !selectedProperty">
83                 {{"NODE_FILTER_SELECT_PROPERTY" | translate}}
84             </div>
85             <div class="rule-builder-content" *ngIf="isStaticSource()">
86                 <div class="i-sdc-form-item rule-input-field complex-input-field">
87                     <dynamic-property
88                         *ngIf="isComplexListMapType()"
89                         [selectedPropertyId]="selectedProperty.uniqueId"
90                         [property]="selectedProperty"
91                         [expandedChildId]="selectedProperty.expandedChildPropertyId ?
92                                 selectedProperty.expandedChildPropertyId : selectedProperty.name"
93                         [canBeDeclared]="true"
94                         (propertyChanged)="updateComplexListMapTypeRuleValue()"
95                         [rootProperty]="selectedProperty"
96                         (expandChild)="selectedProperty.updateExpandedChildPropertyId($event)">
97                     </dynamic-property>
98                     <dynamic-element
99                         *ngIf="!isComplexListMapType()"
100                         [(value)]="currentRule.value"
101                         class="rule-assigned-value"
102                         data-tests-id="ruleAssignedValue"
103                         (elementChanged)="onValueChange($event.isValid)"
104                         [type]="selectedProperty ? selectedProperty.type : 'string'">
105                     </dynamic-element>
106                 </div>
107             </div>
108         </div>
109     </form>
110 </div>