Catalog alignment
[sdc.git] / catalog-ui / src / app / directives / property-types / data-type-fields-structure / data-type-fields-structure.html
1 <!--
2   ~ Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
3   ~
4   ~ Licensed under the Apache License, Version 2.0 (the "License");
5   ~ you may not use this file except in compliance with the License.
6   ~ You may obtain a copy of the License at
7   ~
8   ~      http://www.apache.org/licenses/LICENSE-2.0
9   ~
10   ~ Unless required by applicable law or agreed to in writing, software
11   ~ distributed under the License is distributed on an "AS IS" BASIS,
12   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   ~ See the License for the specific language governing permissions and
14   ~ limitations under the License.
15   -->
16
17
18 <div class="data-type-fields-structure">
19     <div class="open-close">
20         <div class="open-close-button" data-ng-class="{'expand':expand,'collapse':!expand}" data-ng-click="expandAndCollapse()"></div>
21         <span class="data-type-name">{{typeName.replace("org.openecomp.datatypes.heat.","")}}</span>
22     </div>
23     <div data-ng-show="expand" data-ng-repeat="property in dataTypeProperties" class="property">
24         <div class="i-sdc-form-item property-name">
25             <div tooltips tooltip-content="{{property.name}}">
26                 <input class="i-sdc-form-input"
27                        type="text"
28                        readonly="readonly"
29                        value="{{property.name}}"/>
30             </div>
31         </div>
32         <!--<div class="property-value">-->
33         <div data-ng-if="dataTypesService.isDataTypeForDataTypePropertyType(property)" class="inner-structure">
34             <fields-structure value-obj-ref="(valueObjRef[property.name])"
35                               type-name="property.type"
36                               parent-form-obj="parentFormObj"
37                               fields-prefix-name="fieldsPrefixName+property.name"
38                               read-only="readOnly"
39                               default-value="{{currentTypeDefaultValue[property.name]}}">
40
41             </fields-structure>
42         </div>
43         <div data-ng-if="!dataTypesService.isDataTypeForDataTypePropertyType(property)" ng-switch="property.type">
44             <div ng-switch-when="map">
45                 <type-map value-obj-ref="valueObjRef[property.name]"
46                           schema-property="property.schema.property"
47                           parent-form-obj="parentFormObj"
48                           fields-prefix-name="fieldsPrefixName+property.name"
49                           read-only="readOnly"
50                           default-value="{{currentTypeDefaultValue[property.name]}}"
51                           types="types"></type-map>
52             </div>
53             <div ng-switch-when="list">
54                 <type-list value-obj-ref="valueObjRef[property.name]"
55                            schema-property="property.schema.property"
56                            parent-form-obj="parentFormObj"
57                            fields-prefix-name="fieldsPrefixName+property.name"
58                            read-only="readOnly"
59                            default-value="{{currentTypeDefaultValue[property.name]}}"
60                            types="types"></type-list>
61             </div>
62             <div ng-switch-default class="primitive-value-field">
63                 <div class="i-sdc-form-item" data-ng-class="{error:(parentFormObj[fieldsPrefixName+property.name].$dirty && parentFormObj[fieldsPrefixName+property.name].$invalid)}">
64                     <!-- Has Constraints -->
65
66                     <!--<select class="i-sdc-form-select"-->
67                     <!--ng-if="(property.constraints)"-->
68                     <!--data-ng-disabled="readOnly"-->
69                     <!--name="{{fieldsPrefixName+property.name}}"-->
70                     <!--data-ng-change="onValueChange(property.name,'constraintsChange')"-->
71                     <!--data-ng-model="valueObjRef[property.name]"-->
72                     <!--&gt;-->
73                     <!--&lt;!&ndash; Get the default value in case exist &ndash;&gt;-->
74                     <!--<option value = "{{valueObjRef[property.name]}}" name = "{{valueObjRef[property.name]}}" hidden selected>-->
75                     <!--{{valueObjRef[property.name]}}-->
76                     <!--</option> -->
77                     <!--&lt;!&ndash; add all constratint to Select list &ndash;&gt;-->
78                     <!--<option ng-repeat='value in property.constraints[0].validValues' value="{{value}}" >-->
79                     <!--{{value}}-->
80                     <!--</option> -->
81                     <!--</select>-->
82                     <!-- Input without constraints -->
83                     <input class="i-sdc-form-input"
84                            data-tests-id="{{fieldsPrefixName+property.name}}"
85                            ng-if="!((property.simpleType||property.type) == 'boolean')"
86                            data-ng-maxlength="100"
87                            data-ng-readonly="readOnly"
88                            maxlength="{{(property.simpleType||property.type) == 'integer'? 10 : 100}}"
89                            data-ng-model="valueObjRef[property.name]"
90                            type="text"
91                            name="{{fieldsPrefixName+property.name}}"
92                            data-ng-pattern="getValidationPattern((property.simpleType||property.type))"
93                            data-ng-model-options="{ debounce: 200 }"
94                            data-ng-change="inputOnValueChange(property)"
95                            autofocus
96                     />
97                     <select class="i-sdc-form-select"
98                             data-tests-id="{{fieldsPrefixName+property.name}}"
99                             ng-if="(property.simpleType||property.type) == 'boolean'"
100                             data-ng-disabled="readOnly"
101                             name="{{fieldsPrefixName+property.name}}"
102                             data-ng-change="onValueChange(property.name,'boolean')"
103                             data-ng-model="valueObjRef[property.name]"
104                             data-ng-options="option.v as option.n for option in [{ n: '', v: undefined }, { n: 'false', v: false }, { n: 'true', v: true }]">
105                     </select>
106
107                     <div class="input-error" data-ng-show="parentFormObj[fieldsPrefixName+property.name].$dirty && parentFormObj[fieldsPrefixName+property.name].$invalid">
108                         <span ng-show="parentFormObj[fieldsPrefixName+property.name].$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '100' }"></span>
109                         <span ng-show="parentFormObj[fieldsPrefixName+property.name].$error.pattern" translate="PROPERTY_EDIT_PATTERN"></span>
110                         <span ng-show="parentFormObj[fieldsPrefixName+property.name].$error.customValidation" translate="PROPERTY_EDIT_MAP_UNIQUE_KEYS"></span>
111                     </div>
112                 </div>
113             </div>
114         </div>
115         <!--</div>-->
116
117     </div>
118 </div>