Initial OpenECOMP SDC commit
[sdc.git] / catalog-ui / app / scripts / directives / property-types / type-list / type-list-directive.html
1 <div>
2     <div data-ng-if="!isSchemaTypeDataType">
3         <div class="i-sdc-form-item list-new-item" data-ng-class="{error:(parentFormObj['listNewItem'+fieldsPrefixName].$dirty && parentFormObj['listNewItem'+fieldsPrefixName].$invalid)}">
4             <input class="i-sdc-form-input"
5                    data-tests-id="listNewItem{{fieldsPrefixName}}"
6                    ng-if="!((schemaProperty.simpleType||schemaProperty.type) == 'boolean')"
7                    data-ng-disabled="readOnly"
8                    data-ng-model="listNewItem.value"
9                    type="text"
10                    name="listNewItem{{fieldsPrefixName}}"
11                    data-ng-pattern="getValidationPattern((schemaProperty.simpleType||schemaProperty.type))"
12                    data-ng-model-options="{ debounce: 200 }"
13                    placeholder="Type a value and then click ADD"
14                    data-ng-maxlength="maxLength"
15                    maxlength="{{maxLength}}"
16                    sdc-keyboard-events="" key-enter="schemaProperty.type && !parentFormObj['listNewItem'+fieldsPrefixName].$invalid && listNewItem.value && addListItem"
17                    autofocus />
18             <select class="i-sdc-form-select"
19                     data-tests-id="listNewItem{{fieldsPrefixName}}"
20                     ng-if="(schemaProperty.simpleType||schemaProperty.type) == 'boolean'"
21                     data-ng-disabled="readOnly"
22                     name="listNewItem{{fieldsPrefixName}}"
23                     data-ng-model="listNewItem.value">
24                 <option value="true">true</option>
25                 <option value="false">false</option>
26             </select>
27             <div class="input-error" data-ng-show="parentFormObj['listNewItem'+fieldsPrefixName].$dirty && parentFormObj['listNewItem'+fieldsPrefixName].$invalid">
28                 <span ng-show="parentFormObj['listNewItem'+fieldsPrefixName].$error.pattern" translate="PROPERTY_EDIT_PATTERN"></span>
29                 <span ng-show="parentFormObj['listNewItem'+fieldsPrefixName].$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '{{maxLength}}' }"></span>
30             </div>
31         </div>
32         <div class="add-btn add-list-item" data-tests-id="add-list-item{{fieldsPrefixName}}"
33              data-ng-class="{'disabled': readOnly || !schemaProperty.type || parentFormObj['listNewItem'+fieldsPrefixName].$invalid || !listNewItem.value}" data-ng-click="addListItem()">Add</div>
34         <div class="list-value-items">
35                                     <span class="list-value-item" data-ng-repeat="value in valueObjRef track by $index">
36                                         {{value}}
37                                         <span class="delete-list-item sprite-new small-x-button" data-ng-click="deleteListItem($index)"></span>
38                                     </span>
39         </div>
40     </div>
41     <div data-ng-if="isSchemaTypeDataType">
42         <div class="dt-list">
43             <div data-ng-repeat="value in valueObjRef track by $index" class="dt-list-item">
44                 <span class="delete-dt-list-item" data-ng-click="deleteListItem($index)"></span>
45                 <fields-structure value-obj-ref="valueObjRef[$index]"
46                                   type-name="schemaProperty.type"
47                                   parent-form-obj="parentFormObj"
48                                   fields-prefix-name="fieldsPrefixName+''+$index"
49                                   read-only="readOnly"
50                                   types="types"></fields-structure>
51             </div>
52             <div class="add-btn add-list-item" data-tests-id="add-list-item"
53                        data-ng-class="{'disabled': readOnly}" data-ng-click="listNewItem.value='{}';addListItem();">Add</div>
54         </div>
55
56     </div>
57 </div>