Initial OpenECOMP SDC commit
[sdc.git] / catalog-ui / app / scripts / view-models / forms / attribute-form / attribute-form-view.html
diff --git a/catalog-ui/app/scripts/view-models/forms/attribute-form/attribute-form-view.html b/catalog-ui/app/scripts/view-models/forms/attribute-form/attribute-form-view.html
new file mode 100644 (file)
index 0000000..432b32f
--- /dev/null
@@ -0,0 +1,153 @@
+<sdc-modal modal="modalInstanceAttribute" type="classic" class="sdc-edit-attribute-container" buttons="footerButtons"  header="{{isNew ? 'Add' : 'Update' }} Attribute" show-close-button="true">
+
+    <div class="sdc-edit-attribute-form-container" >
+        <form novalidate class="w-sdc-form two-columns" name="forms.editForm" >
+
+            <div class="w-sdc-form-columns-wrapper">
+
+                <div class="w-sdc-form-column">
+
+                    <!-- Name -->
+                    <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.attributeName.$dirty && forms.editForm.attributeName.$invalid)}">
+                        <label class="i-sdc-form-label required">Name</label>
+                        <input class="i-sdc-form-input"
+                        data-tests-id="attributeName"
+                        data-ng-maxlength="50"
+                        data-ng-disabled="!isNew"
+                        maxlength="50"
+                        data-ng-model="editAttributeModel.attribute.name"
+                        type="text"
+                        name="attributeName"
+                        data-ng-pattern="propertyNameValidationPattern"
+                        data-required
+                        data-ng-model-options="{ debounce: 200 }"
+                        data-ng-change="validateName()"
+                        autofocus />
+                        <div class="input-error" data-ng-show="forms.editForm.attributeName.$dirty && forms.editForm.attributeName.$invalid">
+                            <span ng-show="forms.editForm.attributeName.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Attribute name' }"></span>
+                            <span ng-show="forms.editForm.attributeName.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '128' }"></span>
+                            <span ng-show="forms.editForm.attributeName.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
+                            <span ng-show="forms.editForm.attributeName.$error.nameExist" translate="NEW_ATTRIBUTE_ERROR_NAME_EXISTS"></span>
+                        </div>
+                    </div>
+
+                    <!-- Description -->
+                    <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.description.$dirty && forms.editForm.description.$invalid)}">
+                        <label class="i-sdc-form-label">Description</label>
+                        <textarea  class="i-sdc-form-textarea"
+                        data-ng-maxlength="256"
+                        data-ng-disabled="editAttributeModel.attribute.readonly"
+                        maxlength="256"
+                        data-ng-pattern="commentValidationPattern"
+                        name="description"
+                        data-ng-model="editAttributeModel.attribute.description"
+                        data-ng-model-options="{ debounce: 200 }"
+                        data-tests-id="description"></textarea>
+                        <div class="input-error" data-ng-show="forms.editForm.description.$dirty && forms.editForm.description.$invalid">
+                            <span ng-show="forms.editForm.description.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '256' }"></span>
+                            <span ng-show="forms.editForm.description.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
+                            <span ng-show="forms.editForm.description.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Description' }"></span>
+                        </div>
+                    </div>
+
+
+                </div>
+
+                <div class="w-sdc-form-column">
+                    <!-- Type -->
+                    <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.type.$dirty && forms.editForm.type.$invalid)}">
+                        <label class="i-sdc-form-label required">Type</label>
+                        <select class="i-sdc-form-select"
+                                data-tests-id="type-field"
+                                data-required
+                                data-ng-disabled="editAttributeModel.attribute.readonly"
+                                name="type"
+                                data-ng-change="onTypeChange()"
+                                data-ng-model="editAttributeModel.attribute.type"
+                                data-ng-options="type for type in editAttributeModel.types">
+                            <option value="">Choose Type</option>
+                        </select>
+                        <div class="input-error" data-ng-show="forms.editForm.type.$dirty && forms.editForm.type.$invalid">
+                            <span ng-show="forms.editForm.type.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Type' }"></span>
+                        </div>
+                    </div>
+
+                    <!-- schema -->
+                    <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.schema.$dirty && forms.editForm.schema.$invalid)}"
+                         data-ng-if="showSchema()">
+                        <label class="i-sdc-form-label required">Entry Schema</label>
+                        <select class="i-sdc-form-select" ng-if="isSchemaEditable()"
+                        data-required
+                        name="schema"
+                        data-ng-disabled="editAttributeModel.attribute.readonly"
+                        data-ng-change="onTypeChange(false)"
+                        data-ng-model="editAttributeModel.attribute.schema.property.type"
+                        data-ng-options="type for type in editAttributeModel.simpleTypes">
+                        <option value="">Choose Schema Type</option>
+                        </select>
+                        <input class="i-sdc-form-input"
+                               ng-if="!isSchemaEditable()"
+                               data-tests-id="schema"
+                               data-ng-disabled="true"
+                               data-ng-model="editAttributeModel.attribute.schema.property.type"
+                               type="text"
+                               name="schema"/>
+                        <div class="input-error" data-ng-show="forms.editForm.schema.$dirty && forms.editForm.schema.$invalid">
+                            <span ng-show="forms.editForm.schema.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Entry schema' }"></span>
+                        </div>
+                    </div>
+
+                    <!-- Default value -->
+                    <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.value.$dirty && forms.editForm.value.$invalid)}">
+                        <label class="i-sdc-form-label">Default Value</label>
+                        <input class="i-sdc-form-input"
+                               data-tests-id="defaultvalue"
+                               ng-if="!(editAttributeModel.attribute.type == 'boolean')"
+                               data-ng-maxlength="100"
+                               data-ng-disabled="editAttributeModel.attribute.readonly && !isAttributeValueOwner()"
+                               maxlength="100"
+                               data-ng-model="editAttributeModel.attribute[isAttributeValueOwner()?'value':'defaultValue']"
+                               type="text"
+                               name="value"
+                               data-custom-validation="" data-validation-func="validateUniqueKeys"
+                               data-tests-id="defaultvalue"
+                               data-ng-pattern="validationPattern"
+                               data-ng-model-options="{ debounce: 200 }"
+                               data-ng-change="!forms.editForm.value.$error.pattern && ('integer'==editAttributeModel.attribute.type && forms.editForm.value.$setValidity('pattern', validateIntRange(editAttributeModel.attribute.value)) || onValueChange())"
+                               autofocus />
+                        <select class="i-sdc-form-select"
+                                data-tests-id="booleantype"
+                                ng-if="editAttributeModel.attribute.type == 'boolean'"
+                                data-ng-disabled="editAttributeModel.attribute.readonly && !isAttributeValueOwner()"
+                                name="value"
+                                data-ng-change="onValueChange()"
+                                data-ng-model="editAttributeModel.attribute[isAttributeValueOwner()?'value':'defaultValue']">
+                            <option value="true">true</option>
+                            <option value="false">false</option>
+                        </select>
+                        <div class="input-error" data-ng-show="forms.editForm.value.$dirty && forms.editForm.value.$invalid">
+                            <span ng-show="forms.editForm.value.$error.required" translate="VALIDATION_ERROR_REQUIRED" translate-values="{'field': 'Default value' }"></span>
+                            <span ng-show="forms.editForm.value.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '100' }"></span>
+                            <span ng-show="forms.editForm.value.$error.pattern" translate="{{getValidationTranslate()}}"></span>
+                            <span ng-show="forms.editForm.value.$error.customValidation" translate="ATTRIBUTE_EDIT_MAP_UNIQUE_KEYS"></span>
+                        </div>
+                    </div>
+
+                    <!-- hidden -->
+                    <div class="i-sdc-form-item" data-ng-if="isAttributeValueOwner()">
+                        <label class="i-sdc-form-label">Hidden</label>
+                        <input class="i-sdc-form-input"
+                        data-tests-id="hidden"
+                        data-ng-disabled="editAttributeModel.attribute.readonly && !isAttributeValueOwner()"
+                        data-ng-model="editAttributeModel.attribute.hidden"
+                        type="checkbox"
+                        name="hidden"/>
+                    </div>
+                </div>
+
+            </div>
+
+        </form>
+    </div>
+
+</sdc-modal>