2 <div class="eg-grid-toolbar mb-2">
4 <div class="btn-toolbar">
7 <div class="btn-grp" *ngIf="gridContext.toolbarButtons.length">
8 <button *ngFor="let btn of gridContext.toolbarButtons"
9 [disabled]="btn.disabled"
10 class="btn btn-outline-dark mr-1" (click)="performButtonAction(btn)">
16 <div class="form-check form-check-inline"
17 *ngIf="gridContext.toolbarCheckboxes.length">
18 <ng-container *ngFor="let cb of gridContext.toolbarCheckboxes">
19 <label class="form-check-label">
20 <input class="form-check-input" type="checkbox"
21 [(ngModel)]="cb.isChecked"
22 (click)="cb.onChange($event.target.checked)"/>
29 <!-- push everything else to the right -->
30 <div class="flex-1"></div>
32 <div class="font-sm font-italic d-flex flex-column-reverse mr-2">
33 {{gridContext.rowSelector.selected().length}} selected
35 <div ngbDropdown class="mr-1" placement="bottom-right">
36 <button ngbDropdownToggle [disabled]="!gridContext.toolbarActions.length"
37 class="btn btn-outline-dark no-dropdown-caret">
38 <span title="Actions For Selected Rows" i18n-title
39 class="material-icons mat-icon-in-button">playlist_add_check</span>
41 <div class="dropdown-menu" ngbDropdownMenu>
42 <button class="dropdown-item" (click)="performAction(action)"
43 *ngFor="let action of gridContext.toolbarActions"
44 [disabled]="shouldDisableAction(action)">
45 <ng-container *ngIf="action.isGroup">
46 <span class="ml-2 font-weight-bold font-italic">{{action.label}}</span>
48 <ng-container *ngIf="action.group && !action.isGroup">
49 <!-- grouped entries are indented -->
50 <span class="ml-4">{{action.label}}</span>
52 <ng-container *ngIf="!action.group && !action.isGroup">
53 <span class="ml-2">{{action.label}}</span>
59 <button [disabled]="gridContext.pager.isFirstPage()" type="button"
60 class="btn btn-outline-dark mr-1" (click)="gridContext.pager.toFirst()">
61 <span title="First Page" i18n-title
62 class="material-icons mat-icon-in-button">first_page</span>
64 <button [disabled]="gridContext.pager.isFirstPage()" type="button"
65 class="btn btn-outline-dark mr-1" (click)="gridContext.pager.decrement()">
66 <span title="Previous Page" i18n-title
67 class="material-icons mat-icon-in-button">keyboard_arrow_left</span>
69 <button [disabled]="gridContext.pager.isLastPage()" type="button"
70 class="btn btn-outline-dark mr-1" (click)="gridContext.pager.increment()">
71 <span title="Next Page" i18n-title
72 class="material-icons mat-icon-in-button">keyboard_arrow_right</span>
76 Hiding jump-to-last since there's no analog in the angularjs grid and
77 it has limited value since the size of the data set is often unknown.
78 <button [disabled]="!gridContext.pager.resultCount || gridContext.pager.isLastPage()"
79 type="button" class="btn btn-outline-dark mr-1" (click)="gridContext.pager.toLast()">
80 <span title="First Page" i18n-title
81 class="material-icons mat-icon-in-button">last_page</span>
85 <div ngbDropdown class="mr-1" placement="bottom-right">
86 <button ngbDropdownToggle class="btn btn-outline-dark text-button">
87 <span title="Select Row Count" i18n-title i18n>
88 Rows {{gridContext.pager.limit}}
91 <div class="dropdown-menu" ngbDropdownMenu>
92 <a class="dropdown-item"
93 *ngFor="let count of [5, 10, 25, 50, 100]"
94 (click)="gridContext.pager.setLimit(count)">
95 <span class="ml-2">{{count}}</span>
100 <button type="button"
101 class="btn btn-outline-dark mr-1"
102 (click)="gridContext.overflowCells=!gridContext.overflowCells">
103 <span *ngIf="!gridContext.overflowCells"
104 title="Expand Cells Vertically" i18n-title
105 class="material-icons mat-icon-in-button">expand_more</span>
106 <span *ngIf="gridContext.overflowCells"
107 title="Collaps Cells Vertically" i18n-title
108 class="material-icons mat-icon-in-button">expand_less</span>
111 <eg-grid-column-config #columnConfDialog [columnSet]="gridContext.columnSet">
112 </eg-grid-column-config>
113 <div ngbDropdown placement="bottom-right">
114 <button ngbDropdownToggle class="btn btn-outline-dark no-dropdown-caret">
115 <span title="Show Grid Options" i18n-title
116 class="material-icons mat-icon-in-button">settings</span>
118 <div class="dropdown-menu" ngbDropdownMenu>
119 <a class="dropdown-item label-with-material-icon"
120 (click)="columnConfDialog.open({size:'lg'})">
121 <span class="material-icons">build</span>
122 <span class="ml-2" i18n>Manage Columns</span>
124 <a class="dropdown-item label-with-material-icon"
125 (click)="colWidthConfig.isVisible = !colWidthConfig.isVisible">
126 <span class="material-icons">compare_arrows</span>
127 <span class="ml-2" i18n>Manage Column Widths</span>
129 <a class="dropdown-item label-with-material-icon"
130 (click)="saveGridConfig()">
131 <span class="material-icons">save</span>
132 <span class="ml-2" i18n>Save Grid Settings</span>
134 <a class="dropdown-item label-with-material-icon"
135 (click)="gridContext.columnSet.reset()">
136 <span class="material-icons">restore</span>
137 <span class="ml-2" i18n>Reset Columns</span>
139 <a class="dropdown-item label-with-material-icon"
140 (click)="generateCsvExportUrl($event)"
141 [download]="csvExportFileName"
142 [href]="csvExportUrl">
143 <span class="material-icons">cloud_download</span>
144 <span class="ml-2" i18n>Download Full CSV</span>
146 <a class="dropdown-item label-with-material-icon" (click)="printHtml()">
147 <span class="material-icons">print</span>
148 <span class="ml-2" i18n>Print Full Grid</span>
151 <div class="dropdown-divider"></div>
153 <a class="dropdown-item label-with-material-icon"
154 (click)="col.visible=!col.visible" *ngFor="let col of gridContext.columnSet.columns">
155 <span *ngIf="col.visible" class="badge badge-success">✓</span>
156 <span *ngIf="!col.visible" class="badge badge-warning">✗</span>
157 <span class="ml-2">{{col.label}}</span>