aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.html
blob: 922cda6982b5e6274babf67998c2962ffc85e799 (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
101
102
103
104
105
106
107
108
109
110
<!--
  ~ -
  ~  ============LICENSE_START=======================================================
  ~  Copyright (C) 2016-2018 European Support Limited
  ~  Modification Copyright (C) 2022 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="service-dependencies-editor">
    <form class="w-sdc-form">

        <loader [display]="isLoading" [size]="'large'" [relative]="true"></loader>

        <div class="i-sdc-form-content">
            <div class="rule-builder-content">
                <div class="i-sdc-form-item rule-input-field property" *ngIf="filterType == FILTER_TYPE_CAPABILITY">
                    <label class="i-sdc-form-label required">{{"CAPABILITY_LABEL" | translate}}</label>
                    <ui-element-dropdown
                        class="i-sdc-form-select"
                        data-tests-id="servicePropertyName"
                        [values]="capabilityDropdownList"
                        [(value)]="currentRule.capabilityName"
                        (change)="onCapabilityChange()">
                    </ui-element-dropdown>
                </div>
                <div class="i-sdc-form-item rule-input-field property">
                    <label class="i-sdc-form-label required">{{"PROPERTY_LABEL" | translate}}</label>
                    <ui-element-dropdown
                            class="i-sdc-form-select"
                            data-tests-id="servicePropertyName"
                            [values]="servicePropertyDropdownList"
                            [(value)]="currentRule.servicePropertyName"
                            (change)="onPropertyChange()">
                    </ui-element-dropdown>
                </div>
                <div class="i-sdc-form-item rule-input-field operator">
                    <label class="i-sdc-form-label required">{{"OPERATOR_LABEL" | translate}}</label>
                    <ui-element-dropdown class="i-sdc-form-select" data-tests-id="constraintOperator"
                                         [testId]="'constraintOperator'"
                                         [values]="operatorTypes" [(value)]="currentRule.constraintOperator"></ui-element-dropdown>
                </div>
            </div>
            <div class="rule-builder-content">
                <div class="i-sdc-form-item">
                    <label class="i-sdc-form-label required">Value Type</label>
                    <input type="radio" name="sourceType"
                           data-tests-id="value-type-static"
                           [(ngModel)]="selectedSourceType"
                           [value]="SOURCE_TYPES.STATIC.value"
                           (ngModelChange)="onSourceTypeChange()"/> {{"VALUE_LABEL" | translate}}
                    <input type="radio" name="sourceType"
                           data-tests-id="value-type-tosca-function"
                           [(ngModel)]="selectedSourceType"
                           [value]="SOURCE_TYPES.TOSCA_FUNCTION.value"
                           (ngModelChange)="onSourceTypeChange()"/> {{"VALUE_EXPRESSION_LABEL" | translate}}
                </div>
            </div>
            <div class="rule-builder-content" *ngIf="isToscaFunctionSource() && selectedProperty">
                <div class="i-sdc-form-item rule-input-field">
                    <tosca-function [property]="selectedProperty"
                                    [componentInstanceMap]="componentInstanceMap"
                                    [allowClear]="false"
                                    (onValidityChange)="onToscaFunctionValidityChange($event)"
                    >
                    </tosca-function>
                </div>
            </div>
            <div *ngIf="isToscaFunctionSource() && !selectedProperty">
                {{"NODE_FILTER_SELECT_PROPERTY" | translate}}
            </div>
            <div class="rule-builder-content" *ngIf="isStaticSource()">
                <div class="i-sdc-form-item rule-input-field complex-input-field">
                    <dynamic-property
                        *ngIf="isComplexListMapType()"
                        [selectedPropertyId]="selectedProperty.uniqueId"
                        [property]="selectedProperty"
                        [expandedChildId]="selectedProperty.expandedChildPropertyId ?
                                selectedProperty.expandedChildPropertyId : selectedProperty.name"
                        [canBeDeclared]="true"
                        (propertyChanged)="updateComplexListMapTypeRuleValue()"
                        [rootProperty]="selectedProperty"
                        (expandChild)="selectedProperty.updateExpandedChildPropertyId($event)">
                    </dynamic-property>
                    <dynamic-element
                        *ngIf="!isComplexListMapType()"
                        [(value)]="currentRule.value"
                        class="rule-assigned-value"
                        data-tests-id="ruleAssignedValue"
                        (elementChanged)="onValueChange($event.isValid)"
                        [type]="selectedProperty ? selectedProperty.type : 'string'">
                    </dynamic-element>
                </div>
            </div>
        </div>
    </form>
</div>