1 <cd-modal [modalRef]=
"activeModal">
2 <ng-container i18n=
"form title"
3 class=
"modal-title">{{ action | titlecase }} {{ resource | upperFirst }}
</ng-container>
5 <ng-container class=
"modal-content">
9 <div class=
"modal-body">
10 <div class=
"form-group row">
12 class=
"cd-col-form-label">
13 <ng-container i18n
>Name
</ng-container>
14 <span class=
"required"></span>
16 <div class=
"cd-col-form-input">
22 formControlName=
"name"
24 <span class=
"invalid-feedback"
25 *
ngIf=
"form.showError('name', frm, 'required')"
26 i18n
>This field is required!
</span>
27 <span class=
"invalid-feedback"
28 *
ngIf=
"form.showError('name', frm, 'pattern')"
29 i18n
>The name can only consist of alphanumeric characters, dashes and underscores.
</span>
30 <span class=
"invalid-feedback"
31 *
ngIf=
"form.showError('name', frm, 'uniqueName')"
32 i18n
>The chosen erasure code profile name is already in use.
</span>
37 <div class=
"form-group row">
39 class=
"cd-col-form-label">
40 <ng-container i18n
>Root
</ng-container>
41 <cd-helper [html]=
"tooltips.root">
43 <span class=
"required"></span>
45 <div class=
"cd-col-form-input">
46 <select class=
"form-select"
49 formControlName=
"root">
50 <option *
ngIf=
"!buckets"
52 i18n
>Loading...
</option>
53 <option *
ngFor=
"let bucket of buckets"
58 <span class=
"invalid-feedback"
59 *
ngIf=
"form.showError('root', frm, 'required')"
60 i18n
>This field is required!
</span>
64 <!-- Failure Domain Type -->
65 <div class=
"form-group row">
66 <label for=
"failure_domain"
67 class=
"cd-col-form-label">
68 <ng-container i18n
>Failure domain type
</ng-container>
69 <cd-helper [html]=
"tooltips.failure_domain">
71 <span class=
"required"></span>
73 <div class=
"cd-col-form-input">
74 <select class=
"form-select"
77 formControlName=
"failure_domain">
78 <option *
ngIf=
"!failureDomains"
80 i18n
>Loading...
</option>
81 <option *
ngFor=
"let domain of failureDomainKeys"
83 {{ domain }} ( {{failureDomains[domain].length}} )
86 <span class=
"invalid-feedback"
87 *
ngIf=
"form.showError('failure_domain', frm, 'required')"
88 i18n
>This field is required!
</span>
93 <div class=
"form-group row">
94 <label for=
"device_class"
95 class=
"cd-col-form-label">
96 <ng-container i18n
>Device class
</ng-container>
97 <cd-helper [html]=
"tooltips.device_class">
100 <div class=
"cd-col-form-input">
101 <select class=
"form-select"
104 formControlName=
"device_class">
106 i18n
>Let Ceph decide
</option>
107 <option *
ngFor=
"let deviceClass of devices"
108 [ngValue]=
"deviceClass">
116 <div class=
"modal-footer">
117 <cd-form-button-panel (submitActionEvent)=
"onSubmit()"
119 [submitText]=
"(action | titlecase) + ' ' + (resource | upperFirst)"></cd-form-button-panel>