1 <sdc-modal modal="modalInstanceAttribute" type="classic" class="sdc-edit-attribute-container" buttons="footerButtons" header="{{isNew ? 'Add' : 'Update' }} Attribute" show-close-button="true">
3 <div class="sdc-edit-attribute-form-container" >
4 <form novalidate class="w-sdc-form two-columns" name="forms.editForm" >
6 <div class="w-sdc-form-columns-wrapper">
8 <div class="w-sdc-form-column">
11 <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.attributeName.$dirty && forms.editForm.attributeName.$invalid)}">
12 <label class="i-sdc-form-label required">Name</label>
13 <input class="i-sdc-form-input"
14 data-tests-id="attributeName"
15 data-ng-maxlength="50"
16 data-ng-disabled="!isNew"
18 data-ng-model="editAttributeModel.attribute.name"
21 data-ng-pattern="propertyNameValidationPattern"
23 data-ng-model-options="{ debounce: 200 }"
24 data-ng-change="validateName()"
26 <div class="input-error" data-ng-show="forms.editForm.attributeName.$dirty && forms.editForm.attributeName.$invalid">
27 <span ng-show="forms.editForm.attributeName.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Attribute name' }"></span>
28 <span ng-show="forms.editForm.attributeName.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '128' }"></span>
29 <span ng-show="forms.editForm.attributeName.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
30 <span ng-show="forms.editForm.attributeName.$error.nameExist" translate="NEW_ATTRIBUTE_ERROR_NAME_EXISTS"></span>
35 <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.description.$dirty && forms.editForm.description.$invalid)}">
36 <label class="i-sdc-form-label">Description</label>
37 <textarea class="i-sdc-form-textarea"
38 data-ng-maxlength="256"
39 data-ng-disabled="editAttributeModel.attribute.readonly"
41 data-ng-pattern="commentValidationPattern"
43 data-ng-model="editAttributeModel.attribute.description"
44 data-ng-model-options="{ debounce: 200 }"
45 data-tests-id="description"></textarea>
46 <div class="input-error" data-ng-show="forms.editForm.description.$dirty && forms.editForm.description.$invalid">
47 <span ng-show="forms.editForm.description.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '256' }"></span>
48 <span ng-show="forms.editForm.description.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
49 <span ng-show="forms.editForm.description.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Description' }"></span>
56 <div class="w-sdc-form-column">
58 <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.type.$dirty && forms.editForm.type.$invalid)}">
59 <label class="i-sdc-form-label required">Type</label>
60 <select class="i-sdc-form-select"
61 data-tests-id="type-field"
63 data-ng-disabled="editAttributeModel.attribute.readonly"
65 data-ng-change="onTypeChange()"
66 data-ng-model="editAttributeModel.attribute.type"
67 data-ng-options="type for type in editAttributeModel.types">
68 <option value="">Choose Type</option>
70 <div class="input-error" data-ng-show="forms.editForm.type.$dirty && forms.editForm.type.$invalid">
71 <span ng-show="forms.editForm.type.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Type' }"></span>
76 <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.schema.$dirty && forms.editForm.schema.$invalid)}"
77 data-ng-if="showSchema()">
78 <label class="i-sdc-form-label required">Entry Schema</label>
79 <select class="i-sdc-form-select" ng-if="isSchemaEditable()"
82 data-ng-disabled="editAttributeModel.attribute.readonly"
83 data-ng-change="onTypeChange(false)"
84 data-ng-model="editAttributeModel.attribute.schema.property.type"
85 data-ng-options="type for type in editAttributeModel.simpleTypes">
86 <option value="">Choose Schema Type</option>
88 <input class="i-sdc-form-input"
89 ng-if="!isSchemaEditable()"
90 data-tests-id="schema"
91 data-ng-disabled="true"
92 data-ng-model="editAttributeModel.attribute.schema.property.type"
95 <div class="input-error" data-ng-show="forms.editForm.schema.$dirty && forms.editForm.schema.$invalid">
96 <span ng-show="forms.editForm.schema.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Entry schema' }"></span>
100 <!-- Default value -->
101 <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.value.$dirty && forms.editForm.value.$invalid)}">
102 <label class="i-sdc-form-label">Default Value</label>
103 <input class="i-sdc-form-input"
104 data-tests-id="defaultvalue"
105 ng-if="!(editAttributeModel.attribute.type == 'boolean')"
106 data-ng-maxlength="2500"
107 data-ng-disabled="editAttributeModel.attribute.readonly && !isAttributeValueOwner()"
109 data-ng-model="attributeValue.value"
112 data-custom-validation="" data-validation-func="validateUniqueKeys"
113 data-ng-pattern="validationPattern"
114 data-ng-model-options="{ debounce: 200 }"
115 data-ng-change="!forms.editForm.value.$error.pattern && ('integer'==editAttributeModel.attribute.type && forms.editForm.value.$setValidity('pattern', validateIntRange(editAttributeModel.attribute.value)) || onValueChange())"
117 <select class="i-sdc-form-select"
118 data-tests-id="booleantype"
119 ng-if="editAttributeModel.attribute.type == 'boolean'"
120 data-ng-disabled="editAttributeModel.attribute.readonly && !isAttributeValueOwner()"
122 data-ng-change="onValueChange()"
123 data-ng-model="attributeValue.value">
124 <option value="true">true</option>
125 <option value="false">false</option>
127 <div class="input-error" data-ng-show="forms.editForm.value.$dirty && forms.editForm.value.$invalid">
128 <span ng-show="forms.editForm.value.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Default value' }"></span>
129 <span ng-show="forms.editForm.value.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '100' }"></span>
130 <span ng-show="forms.editForm.value.$error.pattern" translate="{{getValidationTranslate()}}"></span>
131 <span ng-show="forms.editForm.value.$error.customValidation" translate="ATTRIBUTE_EDIT_MAP_UNIQUE_KEYS"></span>
136 <div class="i-sdc-form-item" data-ng-if="isAttributeValueOwner()">
137 <label class="i-sdc-form-label">Hidden</label>
138 <input class="i-sdc-form-input"
139 data-tests-id="hidden"
140 data-ng-disabled="editAttributeModel.attribute.readonly && !isAttributeValueOwner()"
141 data-ng-model="editAttributeModel.attribute.hidden"