]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/catalog/search-templates.component.html
LP1852782 Catalog search form expand/collapse
[working/Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / catalog / search-templates.component.html
1 <eg-confirm-dialog #confirmDelete
2   i18n-dialogTitle i18n-dialogBody
3   dialogTitle="Confirm Delete"
4   dialogBody="Delete saved search template '{{selectedTemplate()}}'?">
5 </eg-confirm-dialog>
6
7 <eg-confirm-dialog #confirmDeleteAll
8   i18n-dialogTitle i18n-dialogBody
9   dialogTitle="Confirm Delete All"
10   dialogBody="Delete all saved templates?">
11 </eg-confirm-dialog>
12
13 <eg-confirm-dialog #confirmDeleteSearches
14   i18n-dialogTitle i18n-dialogBody
15   dialogTitle="Confirm clear searches"
16   dialogBody="Clear all recent searches?">
17 </eg-confirm-dialog>
18
19 <ng-template #searchName let-tab="tab" let-query="query" i18n>
20   <ng-container [ngSwitch]="tab">
21     <span *ngSwitchCase="'term'">Search:</span>
22     <span *ngSwitchCase="'ident'">Identifier:</span>
23     <span *ngSwitchCase="'marc'">MARC:</span>
24     <span *ngSwitchCase="'browse'">Browse:</span>
25   </ng-container> {{query}}
26 </ng-template>
27
28 <eg-string key='eg.catalog.recent_search.label' [template]="searchName">
29 </eg-string>
30
31 <div class="d-flex justify-content-end">
32   
33   <ng-container *ngIf="recentSearchesCount > 0">
34     <div ngbDropdown placement="bottom-right">
35       <button class="btn btn-light" id="recentSearches"
36         ngbDropdownToggle i18n>Recent Searches</button>
37       <div ngbDropdownMenu aria-labelledby="recentSearches">
38       <button class="dropdown-item" (click)="deleteSearches()" 
39         [disabled]="searches.length === 0" i18n>Clear Recent Searches</button>
40       <div class="dropdown-divider"></div>
41       <button [disabled]="true" *ngIf="searches.length === 0" 
42         class="dropdown-item font-italic" i18n>No Recent Searches</button>
43       <button *ngFor="let search of sortSearches()"
44         class="dropdown-item" 
45         (click)="searchSelected(search)"
46         [routerLink]="getSearchPath(search)"
47         [queryParams]="search.params">{{search.name}}</button>
48       </div>
49     </div>
50   </ng-container>
51
52   <div ngbDropdown placement="bottom-right">
53     <button class="btn btn-light" id="searchTemplates" 
54       ngbDropdownToggle i18n>Search Templates</button>
55     <div ngbDropdownMenu aria-labelledby="searchTemplates">
56       <button class="dropdown-item" i18n (click)="open()"
57         [disabled]="searchTab === 'cnbrowse'">Save Template</button>
58       <button class="dropdown-item" (click)="deleteTemplate()" 
59         [disabled]="!selectedTemplate()" i18n>Delete Selected</button>
60       <button class="dropdown-item" (click)="deleteAllTemplates()" 
61         [disabled]="templates.length === 0" i18n>Delete All Templates</button>
62       <div class="dropdown-divider"></div>
63       <button [disabled]="true" *ngIf="templates.length === 0" 
64         class="dropdown-item font-italic" i18n>No Saved Templates</button>
65       <button *ngFor="let tmpl of sortTemplates()"
66         class="dropdown-item" 
67         (click)="templateSelected(tmpl)"
68         [ngClass]="{'font-weight-bold': tmpl.name === selectedTemplate()}"
69         [routerLink]="getSearchPath(tmpl)"
70         [queryParams]="tmpl.params">{{tmpl.name}}</button>
71     </div>
72   </div>
73 </div>
74
75 <ng-template #dialogContent>
76   <div class="modal-header bg-info">
77     <h4 class="modal-title" i18n>Save Template</h4>
78     <button type="button" class="close" 
79       i18n-aria-label aria-label="Close" (click)="close()">
80       <span aria-hidden="true">&times;</span>
81     </button>
82   </div>
83   <div class="modal-body">
84     <div class="row">
85       <div class="col-lg-4" i18n id="templateNameLabel">Template Name:</div>
86       <div class="col-lg-6">
87         <input class="form-control" [(ngModel)]="templateName"
88           aria-labelledby="templateNameLabel"/>
89       </div>
90     </div>
91   </div>
92   <div class="modal-footer">
93     <button type="button" class="btn btn-success" 
94       (click)="saveTemplate()" i18n>Save</button>
95     <button type="button" class="btn btn-warning" 
96       (click)="close()" i18n>Cancel</button>
97   </div>
98 </ng-template>
99