Fix import VFC with attributes
[sdc.git] / catalog-ui / src / app / ng2 / pages / workspace / attributes / attribute-modal.component.html
1 <form>
2     <div class="attr-container">
3
4         <div class="attr-col">
5             <!-- ATTRIBUTE NAME - MANDATORY -->
6             <div>
7                 <sdc-input
8                         #attributeName
9                         label="Name"
10                         [required]="true"
11                         [(value)]="attributeToEdit.name"
12                         [disabled]="isEdit"
13                         name="attributeName"
14                         testId="attributeName"
15                         [maxLength]="255">
16                 </sdc-input>
17                 <sdc-validation [validateElement]="attributeName" (validityChanged)="onValidityChange($event, 'name')">
18                     <sdc-required-validator message="{{'VALIDATION_ERROR_REQUIRED' | translate : { 'field' : 'Name' } }}"></sdc-required-validator>
19                     <sdc-regex-validator message="{{'VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED' | translate }}" [pattern]="validationPatterns.propertyName"></sdc-regex-validator>
20                 </sdc-validation>
21             </div>
22
23             <!-- ATTRIBUTE DESCRIPTION - OPTIONAL -->
24             <div>
25                 <sdc-textarea #attributeDescription
26                               [(value)]="attributeToEdit.description"
27                               [required]="false"
28                               testId="description"
29                               [maxLength]="256"
30                               label="Description">
31                 </sdc-textarea>
32             </div>
33         </div>
34
35         <div class="attr-col">
36
37             <div class="attributeType">
38                 <!-- ATTRIBUTE TYPE - MANDATORY -->
39                 <sdc-dropdown #attributeType [disabled]="false" label="Type" [required]="true"
40                               [selectedOption]="toDropDownOption(this.attributeToEdit.type)" placeHolder="Choose Type"
41                               [options]="types" (changed)="onTypeSelected($event)">
42                     <sdc-validation [validateElement]="attributeType" (validityChanged)="onValidityChange($event, 'type')">
43                         <sdc-required-validator message="'required field'"></sdc-required-validator>
44                     </sdc-validation>
45                 </sdc-dropdown>
46             </div>
47
48             <!-- ATTRIBUTE DEFAULT VALUE TEXT - OPTIONAL -->
49             <div *ngIf="attributeToEdit.type != 'boolean'">
50                 <sdc-input
51                         #_default
52                         [required]="false"
53                         label="Default Value"
54                         [(value)]="attributeToEdit._default"
55                         [disabled]="false"
56                         name="_default"
57                         testId="defaultValue"
58                         [maxLength]="255"
59                         (valueChange)="defaultValueChanged()">
60                 </sdc-input>
61
62                 <sdc-validation [validateElement]="_default" (validityChanged)="onValidityChange($event, 'default')">
63                     <sdc-regex-validator *ngIf="this.attributeToEdit._default && this.attributeToEdit._default.length > 0" message="{{ this.defaultValueErrorMessage }}"
64                                          [pattern]="defaultValuePattern"></sdc-regex-validator>
65                     <sdc-custom-validator *ngIf="this.attributeToEdit.type == 'map' && this.attributeToEdit.schema.property.type" message="{{ 'PROPERTY_EDIT_MAP_UNIQUE_KEYS' | translate }}"
66                                           [callback]="isMapUnique" [disabled]="false"></sdc-custom-validator>
67                 </sdc-validation>
68             </div>
69
70             <!-- ATTRIBUTE DEFAULT VALUE BOOLEAN- OPTIONAL -->
71             <div *ngIf="attributeToEdit.type == 'boolean'">
72                 <sdc-dropdown [disabled]="false" label="Default Value"
73                               [required]="false"
74                               [selectedOption]="toDropDownOption(this.attributeToEdit._default)" placeHolder="Choose Default Value"
75                               [options]="booleanValues" (changed)="onBooleanDefaultValueSelected($event)">
76
77                 </sdc-dropdown>
78             </div>
79
80             <div *ngIf="attributeToEdit.type == 'list' || attributeToEdit.type == 'map'">
81                 <!-- ATTRIBUTE ENTRY SCHEMA - MANDATORY -->
82                 <sdc-dropdown #entrySchema
83                               [disabled]="false" label="Entry Schema" [required]="true"
84                               [selectedOption]="toDropDownOption(this.attributeToEdit.schema.property.type)" placeHolder="Choose Schema Type"
85                               [options]="entrySchemaValues" (changed)="onEntrySchemaTypeSelected($event)">
86                     <sdc-validation [validateElement]="entrySchema" (validityChanged)="onValidityChange($event, 'entrySchema')">
87                         <sdc-required-validator message="'required !TODO - CHANGE MESSAGE'"></sdc-required-validator>
88                     </sdc-validation>
89                 </sdc-dropdown>
90             </div>
91         </div>
92     </div>
93
94 </form>