summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/pages/properties-assignment/constraints/constraints.component.html
blob: 46d4114250ac5d167113becc80c64654f969d63f (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
111
112
113
114
115
116
117
118
119
120
121
122
123
<!--
  ~ -
  ~  ============LICENSE_START=======================================================
  ~  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="app-constraints">
  <form novalidate class="w-sdc-form two-columns">
    <div class="w-sdc-form-columns-wrapper" *ngFor="let constraint of constraints; let constraintIndex = index; trackBy:trackByFn">
        <div class="w-sdc-form-column-small">
            <select class="i-sdc-form-select"
                    data-tests-id="constraints"
                    [disabled]="isViewOnly"
                    (change)="onChangeConstraintType(constraintIndex, $event.target.value)">
              <option *ngIf="constraint" [value]="constraint.type"
                      hidden selected>
                {{ConstraintTypesMapping[constraint.type]}}
              </option>
              <option *ngFor="let constraintType of constraintTypes"
                      [value]="constraintType"
                      [disabled]="disableConstraint(constraintType, constraint.type)">
                {{ConstraintTypesMapping[constraintType]}}
              </option>
            </select>
        </div>

        <div class="w-sdc-form-columns-wrapper">

          <div class="w-sdc-form-column">
            <!-- ConstraintTypes.in_range-->
            <div class="w-sdc-form-columns-wrapper" *ngIf="constraint.type == 'inRange'">
              <div class="w-sdc-form-column">
                <input type="text" class="i-sdc-form-input myClass"
                      (input)="onChangeConstrainValueIndex(constraintIndex, $event.target.value, 0)"
                      [disabled]="isViewOnly"
                      [value]="getInRangeValue(constraintIndex, 0)"/>
              </div>
              <div class="w-sdc-form-column">
                <input type="text" class="i-sdc-form-input myClass"
                      (input)="onChangeConstrainValueIndex(constraintIndex, $event.target.value, 1)"
                      [disabled]="isViewOnly"
                      [value]="getInRangeValue(constraintIndex, 1)"/>
              </div>
            </div>

            <!-- ConstraintTypes.valid_values-->
            <div *ngIf="constraint.type == 'validValues'">
              <div class="w-sdc-form-columns-wrapper-block">
                <div class="add-btn add-list-item w-sdc-form-column-block"
                    [ngClass]="{'disabled': isViewOnly}"
                    (click)="addToList(constraintIndex)">Add to List</div>
              </div>
              <div class="w-sdc-form-columns-wrapper" *ngFor="let value of constraint.value; let valueIndex = index; trackBy:trackByFn">
                <div class="w-sdc-form-column">
                  <input type="text" class="i-sdc-form-input" *ngIf="propertyType !== 'boolean'"
                         [disabled]="isViewOnly"
                         [value]="value"
                        (input)="onChangeConstrainValueIndex(constraintIndex, $event.target.value, valueIndex)"/>
                  <select class="i-sdc-form-select" *ngIf="propertyType == 'boolean'"
                          [disabled]="isViewOnly"
                          [value]="value"
                          (input)="onChangeConstrainValueIndex(constraintIndex, $event.target.value, valueIndex)">
                    <option ngValue="true">true</option>
                    <option ngValue="false">false</option>
                  </select>
                </div>
                <div class="w-sdc-form-column">
                  <span class="sprite-new delete-btn" [ngClass]="{'disabled': isViewOnly}" (click)="removeFromList(constraintIndex, valueIndex)"></span>
                </div>
              </div>
            </div>

            <!-- ConstraintTypes.equal-->
            <div *ngIf="constraint.type == 'equal'">
              <input type="text" class="i-sdc-form-input" *ngIf="propertyType !== 'boolean'"
                     [disabled]="isViewOnly"
                     (input)="onChangeConstraintValue(constraintIndex, $event.target.value)"
                     [value]="constraint.value"/>
              <select class="i-sdc-form-select" *ngIf="propertyType == 'boolean'"
                      [disabled]="isViewOnly"
                      [value]="constraint.value"
                      (input)="onChangeConstraintValue(constraintIndex, $event.target.value)">
                <option ngValue="true">true</option>
                <option ngValue="false">false</option>
              </select>
            </div>

            <!-- all other ConstraintTypes-->
            <div *ngIf="constraint.type != 'inRange' && constraint.type != 'validValues' && constraint.type != 'equal'">
              <input type="text" class="i-sdc-form-input myClass"
                     [disabled]="isViewOnly"
                     (input)="onChangeConstraintValue(constraintIndex, $event.target.value)"
                     [value]="constraint.value"/>
            </div>
          </div>

          <div class="w-sdc-form-column-vsmall">
              <span class="sprite-new delete-btn" [ngClass]="{'disabled': isViewOnly}" (click)="removeConstraint(constraintIndex)"></span>
          </div>
        </div>

    </div>
    <div class="w-sdc-form-columns-wrapper-small" *ngIf="!isViewOnly">
        <div class="add-btn add-list-item w-sdc-form-column-small" *ngIf="!isViewOnly" [ngClass]="{'disabled': isViewOnly}"
        (click)="addConstraint()"> Add Constraint </div>
    </div>
  </form>
</div>