2 ~ Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
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
8 ~ http://www.apache.org/licenses/LICENSE-2.0
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.
19 <div data-ng-repeat="i in getNumber(mapKeys.length) track by $index" class="map-item" data-ng-class="{'primitive-value-map':!isSchemaTypeDataType}">
20 <div class="i-sdc-form-item map-item-field" data-ng-class="{error:(parentFormObj['mapKey'+fieldsPrefixName+$index].$dirty && parentFormObj['mapKey'+fieldsPrefixName+$index].$invalid)}">
21 <label class="i-sdc-form-label required">Key</label>
22 <input class="i-sdc-form-input"
23 data-tests-id="mapKey{{fieldsPrefixName}}{{$index}}"
24 data-ng-model="mapKeys[$index]"
26 data-ng-maxlength="50"
28 name="mapKey{{fieldsPrefixName}}{{$index}}"
29 data-ng-pattern="MapKeyValidationPattern"
30 data-ng-model-options="{ debounce: 200 }"
31 data-ng-change="changeKeyOfMap(mapKeys[$index], $index,'mapKey'+fieldsPrefixName+$index);$event.stopPropagation();"
32 data-ng-readonly="readOnly"
35 <div class="input-error" data-ng-show="parentFormObj['mapKey'+fieldsPrefixName+$index].$dirty && parentFormObj['mapKey'+fieldsPrefixName+$index].$invalid">
36 <span ng-show="parentFormObj['mapKey'+fieldsPrefixName+$index].$error.keyExist" translate="PROPERTY_EDIT_MAP_UNIQUE_KEYS"></span>
37 <span ng-show="parentFormObj['mapKey'+fieldsPrefixName+$index].$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Key' }"></span>
38 <span ng-show="parentFormObj['mapKey'+fieldsPrefixName+$index].$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '50' }"></span>
39 <span ng-show="parentFormObj['mapKey'+fieldsPrefixName+$index].$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
42 <div data-ng-if="!isSchemaTypeDataType" class="i-sdc-form-item map-item-field" data-ng-class="{error:(parentFormObj['mapValue'+fieldsPrefixName+$index].$dirty && parentFormObj['mapValue'+fieldsPrefixName+$index].$invalid)}">
43 <label class="i-sdc-form-label required">Value</label>
45 <input class="i-sdc-form-input"
46 ng-if="!constraints && !((schemaProperty.simpleType||schemaProperty.type) == 'boolean')"
47 data-ng-readonly="readOnly"
48 data-ng-model="valueObjRef[mapKeys[$index]]"
50 name="mapValue{{fieldsPrefixName}}{{$index}}"
51 data-tests-id="mapValue{{fieldsPrefixName}}{{$index}}"
52 data-ng-pattern="getValidationPattern((schemaProperty.simpleType||schemaProperty.type))"
53 data-ng-change="!parentFormObj['mapValue'+fieldsPrefixName+$index].$error.pattern && parseToCorrectType(valueObjRef, key, (schemaProperty.simpleType||schemaProperty.type))"
54 data-ng-model-options="{ debounce: 200 }"
55 data-ng-maxlength="maxLength"
56 maxlength="{{maxLength}}"
59 <select class="i-sdc-form-select"
60 data-tests-id="mapValue{{fieldsPrefixName}}{{$index}}"
61 ng-if="!constraints && (schemaProperty.simpleType||schemaProperty.type) == 'boolean'"
62 data-ng-disabled="readOnly"
63 name="mapValue{{fieldsPrefixName}}{{$index}}"
64 data-ng-model="valueObjRef[mapKeys[$index]]"
66 <option value="true">true</option>
67 <option value="false">false</option>
71 <select class="i-sdc-form-select"
72 data-tests-id="constraints"
74 data-ng-disabled="readOnly"
75 data-ng-model="valueObjRef[mapKeys[$index]]">
77 <!-- Get the saved value for the relevant key -->
78 <option ng-if = "valueObjRef[mapKeys[$index]]" value = "{{valueObjRef[mapKeys[$index]]}}" name = "{{valueObjRef[mapKeys[$index]]}}" hidden selected>
79 {{valueObjRef[mapKeys[$index]]}}
81 <!-- add all constratint to Select list -->
82 <option ng-repeat='value in constraints' value="{{value}}" name="{{value}}">
87 <div class="input-error" data-ng-show="parentFormObj['mapValue'+fieldsPrefixName+$index].$dirty && parentFormObj['mapValue'+fieldsPrefixName+$index].$invalid">
88 <span ng-show="parentFormObj['mapValue'+fieldsPrefixName+$index].$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Value' }"></span>
89 <span ng-show="parentFormObj['mapValue'+fieldsPrefixName+$index].$error.pattern" translate="PROPERTY_EDIT_PATTERN"></span>
90 <span ng-show="parentFormObj['mapValue'+fieldsPrefixName+$index].$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '{{maxLength}}' }"></span>
93 <div data-ng-if="isSchemaTypeDataType" class="i-sdc-form-item map-item-field">
94 <label class="i-sdc-form-label">Value</label>
95 <fields-structure value-obj-ref="valueObjRef[mapKeysStatic[$index]]"
96 type-name="schemaProperty.type"
97 parent-form-obj="parentFormObj"
98 fields-prefix-name="'mapValue'+fieldsPrefixName+''+$index"
102 <span ng-click="deleteMapItem($index)" class="delete-map-item" data-tests-id="delete-map-item{{fieldsPrefixName}}{{$index}}" data-ng-class="{'disabled': readOnly}"></span>
104 <div class="add-map-item" data-ng-class="{'schema-data-type':isSchemaTypeDataType}">
105 <div class="add-btn" data-tests-id="add-map-item"
106 data-ng-class="{'disabled': readOnly || !schemaProperty.type || mapKeys.indexOf('')>-1 || !isMapKeysUnique}" data-ng-click="addMapItemFields()">Add</div>