3493643f9130dd1c83510aa33d1147c02e45130e
[working/Evergreen.git] /
1 <ng-template #dialogContent>
2   <div class="modal-header bg-info">
3     <h4 class="modal-title" i18n>Edit Setting</h4>
4     <button type="button" class="btn-close btn-close-white" 
5       i18n-aria-label aria-label="Close" (click)="close()"></button>
6   </div>
7   <div class="modal-body">
8     <div class="row justify-content-center">
9       <div class="col">
10         <h5 i18n>{{entry.label}}</h5>
11       </div>
12     </div>
13     <div class="row justify-content-center">
14         <div class="col">
15             <span i18n [innerHTML]="entry.description"></span>
16         </div>
17     </div>
18     <div class="row mt-3">
19         <div class="col-md-6">
20             <div class="input-group">
21                 <div class="input-group-prepend">
22                     <div class="input-group-text" i18n>Context</div>
23                     <eg-org-select [initialOrg]="entryContext"
24                       (onChange)="entryContext = $event"></eg-org-select>
25                 </div>
26             </div>
27         </div>
28     </div>
29     <div class="row mt-2">
30         <div class="col-md-6">
31             <ng-container [ngSwitch]="inputType()">
32
33               <ng-container *ngSwitchCase="'integer'">
34                 <div class="input-group">
35                   <div class="input-group-prepend">
36                     <div class="input-group-text" i18n>Value</div>
37                     <input
38                       class="form-control" type="number"
39                       name="entryValue"
40                       placeholder="Input a numerical value"
41                       i18n-placeholder
42                       [(ngModel)]="entryValue"/>
43                   </div>
44                 </div>
45               </ng-container>
46               <ng-container *ngSwitchCase="'currency'">
47                 <div class="input-group">
48                   <div class="input-group-prepend">
49                     <div class="input-group-text" i18n>Value</div>
50                     <div class="input-group-text" i18n>$</div>
51                     <input
52                       class="form-control" type="number"
53                       step="0.01"
54                       name="entryValue"
55                       placeholder="Input a monetary value"
56                       i18n-placeholder
57                       [(ngModel)]="entryValue"/>
58                   </div>
59                 </div>
60               </ng-container>
61               <ng-container *ngSwitchCase="'string'">
62                 <div class="input-group">
63                   <div class="input-group-prepend">
64                     <div class="input-group-text" i18n>Value</div>
65                     <input
66                       class="form-control" type="text"
67                       name="entryValue"
68                       placeholder="Input a value"
69                       i18n-placeholder
70                       [(ngModel)]="entryValue"/>
71                   </div>
72                 </div>
73               </ng-container>
74               <ng-container *ngSwitchCase="'interval'">
75                 <div class="input-group">
76                   <div class="input-group-prepend">
77                     <div class="input-group-text" i18n>Value</div>
78                     <input
79                       class="form-control" type="text"
80                       name="entryValue"
81                       placeholder="e.g. 1 day, 4 months"
82                       i18n-placeholder
83                       [(ngModel)]="entryValue"/>
84                   </div>
85                 </div>
86               </ng-container>
87               <ng-container *ngSwitchCase="'bool'">
88                 <div class="input-group">
89                   <div class="input-group-prepend">
90                     <div class="input-group-text" i18n>Value</div>
91                     <select
92                       class="custom-select" name="entryValue"
93                       placeholder="True or False" i18n-placeholder
94                       [(ngModel)]="entryValue">
95                       <option value='true' i18n>True</option>
96                       <option value='false' i18n>False</option>
97                     </select>
98                   </div>
99                 </div>
100               </ng-container>
101               <ng-container *ngSwitchCase="'array'">
102                 <div class="input-group">
103                   <div class="input-group-prepend">
104                     <div class="input-group-text" i18n>Value</div>
105                     <input
106                       class="form-control" type="text"
107                       name="entryValue"
108                       placeholder="Input a comma-separated list..."
109                       i18n-placeholder
110                       [(ngModel)]="entryValue"/>
111                   </div>
112                 </div>
113               </ng-container>
114               <ng-container *ngSwitchCase="'link'">
115                 <div class="input-group">
116                   <div class="input-group-prepend">
117                     <div class="input-group-text" i18n>Value</div>
118                       <ng-container [ngSwitch]="entry.fmClass">
119                         <ng-container *ngSwitchCase="'acpl'">
120                           <eg-item-location-select [permFilter]="entry.view_perm"
121                             [contextOrgId]="entryContext" (valueChange)="setInputValue($event ? $event.id() : null)">
122                           </eg-item-location-select>
123                         </ng-container>
124                         <ng-container *ngSwitchDefault>
125                           <eg-combobox placeholder="Select a value" [idlClass]="entry.fmClass" idlField="name"
126                             [asyncSupportsEmptyTermClick]="true" [displayTemplate]="fmClassLabel"
127                             (onChange)="setInputValue($event ? $event.id : null)">
128                           </eg-combobox>
129                         </ng-container>
130                       </ng-container><!-- fmClass ngSwitch -->
131                   </div>
132                 </div>
133               </ng-container>
134
135             </ng-container> <!-- input type ngSwitch -->
136         </div>
137     </div>
138   </div>
139   <div class="modal-footer">
140     <button type="button" class="btn btn-success" 
141       (click)="update()" i18n>Update Setting</button>
142     <button type="button" class="btn btn-warning" 
143       (click)="delete()" i18n>Delete Setting</button>
144   </div>
145 </ng-template>
146
147 <ng-template #fmClassLabel let-r="result" i18n>
148   {{r.label}}
149 </ng-template>