]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
c501a15f9b1fb90cb731cac1584010900a041f11
[ceph.git] /
1 <cds-modal size="md"
2            [open]="open"
3            (overlaySelected)="closeModal()">
4   <cds-modal-header (closeSelect)="closeModal()">
5     <h3 cdsModalHeaderHeading
6         i18n>{{ action | titlecase }} {{ resource | upperFirst }}</h3>
7   </cds-modal-header>
8   <ng-container *cdFormLoading="loading">
9     <section class="cds--modal-content">
10       <form name="form"
11             #formDir="ngForm"
12             [formGroup]="form">
13
14       <!-- FsName -->
15       <div class="form-item">
16         <cds-text-label for="fsName"
17                         i18n
18                         cdRequiredField="FS name"
19                         [invalid]="!form.controls['fsName'].valid && (form.controls['fsName'].dirty)"
20                         [invalidText]="fsNameError"
21                         i18n-invalidText>FS name
22           <input cdsText
23                  placeholder="Name..."
24                  i18n-placeholder
25                  id="fsName"
26                  name="fsName"
27                  formControlName="fsName"
28                  size="sm"
29                  [invalid]="!form.controls['fsName'].valid && (form.controls['fsName'].dirty)"
30                  autofocus>
31         </cds-text-label>
32         <ng-template #fsNameError>
33           <span class="invalid-feedback"
34                 *ngIf="form.showError('fsName', formDir, 'required')"
35                 i18n>This field is required.</span>
36         </ng-template>
37       </div>
38
39       <!-- UserId -->
40       <div class="form-item">
41         <cds-text-label for="userId"
42                         i18n
43                         cdRequiredField="User ID"
44                         [helperText]="userIdHelperText"
45                         [invalid]="!form.controls['userId'].valid && (form.controls['userId'].dirty)"
46                         [invalidText]="userIdError"
47                         i18n-invalidText>User ID
48           <input cdsText
49                  value="client."
50                  readonly>
51
52           <input cdsText
53                  placeholder="Name..."
54                  i18n-placeholder
55                  id="userId"
56                  name="userId"
57                  formControlName="userId"
58                  [invalid]="!form.controls['userId'].valid && (form.controls['userId'].dirty)">
59         </cds-text-label>
60         <ng-template #userIdHelperText>
61           You can manage users from
62           <a routerLink="/ceph-users"
63              (click)="closeModal()">Ceph Users</a>
64           page
65         </ng-template>
66         <ng-template #userIdError>
67           <span class="invalid-feedback"
68                 *ngIf="form.showError('userId', formDir, 'required')"
69                 i18n>This field is required.</span>
70         </ng-template>
71       </div>
72
73       <!-- Directory -->
74       <div class="form-item">
75         <cds-text-label for="directory"
76                         i18n
77                         cdRequiredField="Directory"
78                         [invalid]="!form.controls['directory'].valid && (form.controls['directory'].dirty)"
79                         [invalidText]="directoryError"
80                         helperText="Path to restrict access to"
81                         [skeleton]="directoryStore.isLoading"
82                         i18n-invalidText
83                         i18n-helperText>Directory
84           <input cdsText
85                  type="text"
86                  [placeholder]="directoryStore.isLoading ? '' : 'Directory path'"
87                  i18n-placeholder
88                  id="directory"
89                  name="directory"
90                  formControlName="directory"
91                  [skeleton]="directoryStore.isLoading"
92                  [invalid]="!form.controls['directory'].valid && (form.controls['directory'].dirty)"
93                  [disabled]="directoryStore.isLoading"
94                  [ngbTypeahead]="search">
95         </cds-text-label>
96         <ng-template #directoryError>
97           <span class="invalid-feedback"
98                 *ngIf="form.showError('directory', formDir, 'required')"
99                 i18n>This field is required.</span>
100         </ng-template>
101       </div>
102
103       <!-- Permissions -->
104       <div class="form-item">
105         <fieldset>
106           <label class="cds--label"
107                  i18n>Permissions</label>
108             <ng-container *ngFor="let permission of clientPermissions">
109               <cds-checkbox i18n-label
110                             [id]="permission.name"
111                             [name]="permission.name"
112                             [formControlName]="permission.name">
113               {{ permission.name | titlecase }}
114               <cd-help-text *ngIf="permission.description">
115                 {{ permission.description }}
116               </cd-help-text>
117             </cds-checkbox>
118           </ng-container>
119         </fieldset>
120         </div>
121       </form>
122     </section>
123     <cd-form-button-panel (submitActionEvent)="onSubmit()"
124                           [form]="form"
125                           [submitText]="(action | titlecase)"
126                           [modalForm]="true"></cd-form-button-panel>
127   </ng-container>
128 </cds-modal>