]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
b9c6b2c96513ff5007eea283aab78e5a16e38e6f
[ceph.git] /
1 <cd-modal [pageURL]="pageURL">
2   <span class="modal-title"
3         i18n>{{ action | titlecase }} {{ resource | upperFirst }}</span>
4   <ng-container class="modal-content">
5     <form
6       #frm="ngForm"
7       [formGroup]="syncPolicyForm"
8       *cdFormLoading="loading"
9       novalidate>
10       <div class="modal-body">
11         <!-- Group Id -->
12         <div class="form-group row">
13           <label
14             class="cd-col-form-label required"
15             for="group_id"
16             i18n>Group Name</label>
17           <div class="cd-col-form-input">
18             <input
19               id="group_id"
20               name="group_id"
21               class="form-control"
22               type="text"
23               i18n-placeholder
24               placeholder="Group Name..."
25               formControlName="group_id"
26               [readonly]="editing"/>
27             <span
28               class="invalid-feedback"
29               *ngIf="syncPolicyForm.showError('group_id', frm, 'required')"
30               i18n>This field is required.</span>
31           </div>
32         </div>
33         <!-- Status -->
34         <div class="form-group row">
35           <label
36             class="cd-col-form-label required"
37             for="status"
38             i18n>Status</label>
39           <div class="cd-col-form-input">
40             <select
41                 id="status"
42                 name="status"
43                 class="form-select"
44                 formControlName="status">
45               <option
46                 i18n
47                 value="{{syncPolicyStatus.ENABLED}}">{{syncPolicyStatus.ENABLED | upperFirst }}</option>
48               <option
49                 i18n
50                 value="{{syncPolicyStatus.ALLOWED}}">{{syncPolicyStatus.ALLOWED | upperFirst }}</option>
51               <option
52                 i18n
53                 value="{{syncPolicyStatus.FORBIDDEN}}">{{syncPolicyStatus.FORBIDDEN | upperFirst }}</option>
54             </select>
55             <span
56               class="invalid-feedback"
57               *ngIf="syncPolicyForm.showError('status', frm, 'required')"
58               i18n>This field is required.</span>
59           </div>
60         </div>
61         <!-- Bucket Name -->
62         <div class="form-group row">
63           <label
64             class="cd-col-form-label"
65             for="bucket_name"
66             i18n>Bucket Name</label>
67           <div class="cd-col-form-input">
68             <input
69               id="bucket_name"
70               name="bucket_name"
71               class="form-control"
72               type="text"
73               i18n-placeholder
74               placeholder="Bucket Name..."
75               formControlName="bucket_name"
76               [ngbTypeahead]="bucketDataSource"/>
77             <span
78               class="invalid-feedback"
79               *ngIf="syncPolicyForm.showError('bucket_name', frm, 'bucketNameNotAllowed')"
80               i18n>The bucket with chosen name does not exist.</span>
81           </div>
82         </div>
83       </div>
84
85       <div class="modal-footer">
86         <div class="text-right">
87           <cd-form-button-panel (submitActionEvent)="submit()"
88                                 [form]="syncPolicyForm"
89                                 [submitText]="(action | titlecase) + ' ' + (resource | upperFirst)"></cd-form-button-panel>
90         </div>
91       </div>
92     </form>
93   </ng-container>
94 </cd-modal>