LP2000482 Angular 15 and Bootstrap 5 upgrade
[evergreen-equinox.git] / Open-ILS / src / eg2 / src / app / staff / share / holdings / copy-alerts-dialog.component.html
1 <eg-string #successMsg text="Successfully Modified Item Alerts" i18n-text></eg-string>
2 <eg-string #errorMsg text="Failed To Modify Item Alerts" i18n-text></eg-string>
3
4 <ng-template #dialogContent>
5   <div class="modal-header">
6     <h4 class="modal-title">
7       <ng-container *ngIf="mode === 'create'">
8         <span i18n>Adding alerts for {{copyIds.length}} item(s).</span>
9       </ng-container>
10       <ng-container *ngIf="mode === 'manage'">
11         <span i18n>Managing alerts for item {{copies[0].barcode()}}</span>
12       </ng-container>
13       <span i18n></span>
14     </h4>
15     <button type="button" class="btn-close btn-close-white" 
16       i18n-aria-label aria-label="Close" (click)="close()"></button>
17   </div>
18   <div class="modal-body p-4 form-validated">
19     <div class="row mt-2 p-2 rounded border border-success">
20       <div class="col-lg-4">
21         <eg-combobox [entries]="alertTypes" 
22           i18n-placeholder placeholder="Select Alert Type..."
23           [selectedId]="newAlert.alert_type()"
24           [mandatory]="true"
25           (onChange)="newAlert.alert_type($event ? $event.id : null)">
26         </eg-combobox>
27       </div>
28       <div class="col-lg-5">
29         <textarea class="form-control" rows="2" 
30           i18n-placeholder placeholder="New Alert Note..."
31           (ngModelChange)="newAlert.note($event)" [ngModel]="newAlert.note()">
32         </textarea>
33       </div>
34       <div class="col-lg-3">
35         <div class="d-flex flex-column">
36           <div class="form-check">
37             <input class="form-check-input" type="checkbox" 
38               [ngModel]="newAlert.temp() === 't'" 
39               (ngModelChange)="newAlert.temp($event ? 't' : 'f')"
40               id="new-alert-temporary">
41             <label class="form-label form-check-label" for="new-alert-temporary" i18n>
42               Temporary?
43             </label>
44           </div>
45           <div class="pt-2">
46             <button class="btn btn-success" (click)="addNew()" i18n>
47               Add New
48             </button>
49           </div>  
50         </div>  
51       </div>
52     </div>
53     <h4 class="mt-2" i18n *ngIf="newAlerts.length > 0">Pending New Alerts</h4>
54     <div class="row mt-2" *ngFor="let alert of newAlerts">
55       <div class="col-lg-4">{{getAlertTypeLabel(alert)}}</div>
56       <div class="col-lg-5">{{alert.note()}}</div>
57       <div class="col-lg-3">
58         <button class="btn btn-outline-danger" (click)="removeAlert(alert)" i18n>
59           Remove
60         </button>
61       </div>
62     </div>
63
64     <ng-container *ngIf="mode === 'manage'">
65       <!-- in manage mode list all of the alerts linked to the copy -->
66       <div class="row mt-2" 
67         *ngFor="let alert of copy.copy_alerts()">
68         <div class="col-lg-12 pb-2"><hr/></div>
69         <div class="col-lg-4">
70           <eg-combobox [entries]="alertTypes" [selectedId]="alert.alert_type()"
71             i18n-placeholder placeholder="Alert Type..."
72             [mandatory]="true"
73             (onChange)="alert.alert_type($event ? $event.id : null); alert.ischanged(true)">
74           </eg-combobox>
75           <div class="ps-2 pt-2" i18n>
76             Added: {{alert.create_time() | date:'shortDate'}}
77           </div>
78         </div>
79         <div class="col-lg-5">
80           <textarea class="form-control" rows="2" 
81             i18n-placeholder placeholder="Alert Note..."
82             (ngModelChange)="alert.note($event); alert.ischanged(true)"
83             [ngModel]="alert.note()">
84           </textarea>
85         </div>
86         <div class="col-lg-3">
87           <div class="d-flex flex-column">
88             <div class="form-check">
89               <input class="form-check-input" type="checkbox" 
90                 [ngModel]="alert.temp() === 't'" 
91                 (ngModelChange)="alert.temp($event ? 't' : 'f'); alert.ischanged(true)"
92                 id="alert-temporary-{{alert.id()}}">
93               <label class="form-label form-check-label" for="alert-temporary-{{alert.id()}}" i18n>
94                 Temporary?
95               </label>
96             </div>
97             <div class="form-check pt-2">
98               <input class="form-check-input" type="checkbox" 
99                 [ngModel]="alert.ack_time() !== null" 
100                 (ngModelChange)="alert.ack_time($event ? 'now' : null); alert.ischanged(true)"
101                 id="alert-temporary-{{alert.id()}}">
102               <label class="form-label form-check-label" for="alert-temporary-{{alert.id()}}" i18n>
103                 Clear?
104               </label>
105             </div>
106           </div>
107         </div>
108       </div>
109     </ng-container>
110   </div>
111   <div class="modal-footer">
112     <button type="button" class="btn btn-secondary" 
113       (click)="close()" i18n>Close</button>
114     <button class="btn btn-success me-2" 
115       (click)="applyChanges()" i18n>Apply Changes</button>
116   </div>
117 </ng-template>