|
5 | 5 | ></app-column-selector> |
6 | 6 |
|
7 | 7 | <div class="mat-elevation-z8 overflow-auto"> |
8 | | - <div class="loading-shade" *ngIf="isLoadingResults"> |
| 8 | + <div *ngIf="isLoadingResults" class="loading-shade"> |
9 | 9 | <mat-spinner *ngIf="isLoadingResults"></mat-spinner> |
10 | 10 | </div> |
11 | | - <table mat-table [dataSource]="data" matSort matSortActive="name" matSortDirection="asc" matSortDisableClear> |
| 11 | + <table [dataSource]="data" mat-table matSort matSortActive="name" matSortDirection="asc" matSortDisableClear> |
12 | 12 | <ng-container matColumnDef="name"> |
13 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header class="min-width-150"> |
| 13 | + <th *matHeaderCellDef class="min-width-150" mat-header-cell mat-sort-header> |
14 | 14 | <div [ngClass]="this.sort.active === 'name' ? 'column-title-color' : 'column-title-color-inactive'"> |
15 | 15 | {{ "LORA-GATEWAY-TABLE.NAME" | translate }} |
16 | 16 | </div> |
17 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 17 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
18 | 18 | </th> |
19 | | - <td mat-cell *matCellDef="let gateway"> |
| 19 | + <td *matCellDef="let gateway" mat-cell> |
20 | 20 | <a |
21 | 21 | [routerLink]="'/gateways/gateway-detail/' + gateway.gatewayId" |
22 | | - routerLinkActive="active" |
23 | 22 | class="application-link" |
| 23 | + routerLinkActive="active" |
24 | 24 | > |
25 | 25 | {{ gateway.name }} |
26 | 26 | </a> |
27 | 27 | </td> |
28 | 28 | </ng-container> |
29 | 29 |
|
30 | 30 | <ng-container matColumnDef="gatewayId"> |
31 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header class="min-width-150"> |
| 31 | + <th *matHeaderCellDef class="min-width-150" mat-header-cell mat-sort-header> |
32 | 32 | <div [ngClass]="this.sort.active === 'gatewayId' ? 'column-title-color' : 'column-title-color-inactive'"> |
33 | 33 | {{ "LORA-GATEWAY-TABLE.GATEWAYID" | translate }} |
34 | 34 | </div> |
35 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 35 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
36 | 36 | </th> |
37 | | - <td mat-cell *matCellDef="let gateway"> |
| 37 | + <td *matCellDef="let gateway" mat-cell> |
38 | 38 | {{ gateway.gatewayId }} |
39 | 39 | </td> |
40 | 40 | </ng-container> |
41 | 41 |
|
42 | 42 | <ng-container matColumnDef="organizationName"> |
43 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header> |
| 43 | + <th *matHeaderCellDef mat-header-cell mat-sort-header> |
44 | 44 | <div [ngClass]="this.sort.active === 'organizationName' ? 'column-title-color' : 'column-title-color-inactive'"> |
45 | 45 | {{ "LORA-GATEWAY-TABLE.ORGANIZATION" | translate }} |
46 | 46 | </div> |
47 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 47 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
48 | 48 | </th> |
49 | | - <td mat-cell *matCellDef="let gateway"> |
| 49 | + <td *matCellDef="let gateway" mat-cell> |
50 | 50 | {{ gateway.organizationName }} |
51 | 51 | </td> |
52 | 52 | </ng-container> |
53 | 53 |
|
54 | 54 | <ng-container matColumnDef="rxPacketsReceived"> |
55 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header> |
| 55 | + <th *matHeaderCellDef mat-header-cell mat-sort-header> |
56 | 56 | <div |
57 | 57 | [ngClass]="this.sort.active === 'rxPacketsReceived' ? 'column-title-color' : 'column-title-color-inactive'" |
58 | 58 | > |
59 | 59 | {{ "LORA-GATEWAY-TABLE.PACKETS-RECEIVED" | translate }} |
60 | 60 | </div> |
61 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 61 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
62 | 62 | </th> |
63 | | - <td mat-cell *matCellDef="let gateway"> |
| 63 | + <td *matCellDef="let gateway" mat-cell> |
64 | 64 | {{ gateway.rxPacketsReceived }} |
65 | 65 | </td> |
66 | 66 | </ng-container> |
67 | 67 |
|
68 | 68 | <ng-container matColumnDef="txPacketsEmitted"> |
69 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header> |
| 69 | + <th *matHeaderCellDef mat-header-cell mat-sort-header> |
70 | 70 | <div [ngClass]="this.sort.active === 'txPacketsEmitted' ? 'column-title-color' : 'column-title-color-inactive'"> |
71 | 71 | {{ "LORA-GATEWAY-TABLE.PACKETS-SENT" | translate }} |
72 | 72 | </div> |
73 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 73 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
74 | 74 | </th> |
75 | | - <td mat-cell *matCellDef="let gateway"> |
| 75 | + <td *matCellDef="let gateway" mat-cell> |
76 | 76 | {{ gateway.txPacketsEmitted }} |
77 | 77 | </td> |
78 | 78 | </ng-container> |
79 | 79 |
|
80 | 80 | <ng-container matColumnDef="placement"> |
81 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header> |
| 81 | + <th *matHeaderCellDef mat-header-cell mat-sort-header> |
82 | 82 | <div [ngClass]="this.sort.active === 'placement' ? 'column-title-color' : 'column-title-color-inactive'"> |
83 | 83 | ' |
84 | 84 |
|
85 | 85 | {{ "LORA-GATEWAY-TABLE.PLACEMENT" | translate }} |
86 | 86 | </div> |
87 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 87 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
88 | 88 | </th> |
89 | | - <td mat-cell *matCellDef="let gateway"> |
| 89 | + <td *matCellDef="let gateway" mat-cell> |
90 | 90 | {{ gateway.placement ? ("GATEWAY.PLACEMENT." + gateway.placement | translate) : "" }} |
91 | 91 | </td> |
92 | 92 | </ng-container> |
93 | 93 |
|
94 | 94 | <ng-container matColumnDef="modelName"> |
95 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header class="min-width-150"> |
| 95 | + <th *matHeaderCellDef class="min-width-150" mat-header-cell mat-sort-header> |
96 | 96 | <div [ngClass]="this.sort.active === 'modelName' ? 'column-title-color' : 'column-title-color-inactive'"> |
97 | 97 | {{ "LORA-GATEWAY-TABLE.MODEL-NAME" | translate }} |
98 | 98 | </div> |
99 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 99 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
100 | 100 | </th> |
101 | | - <td mat-cell *matCellDef="let gateway"> |
| 101 | + <td *matCellDef="let gateway" mat-cell> |
102 | 102 | {{ gateway.modelName }} |
103 | 103 | </td> |
104 | 104 | </ng-container> |
105 | 105 |
|
106 | 106 | <ng-container matColumnDef="antennaType"> |
107 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header> |
| 107 | + <th *matHeaderCellDef mat-header-cell mat-sort-header> |
108 | 108 | <div [ngClass]="this.sort.active === 'antennaType' ? 'column-title-color' : 'column-title-color-inactive'"> |
109 | 109 | {{ "LORA-GATEWAY-TABLE.ANTENNA-TYPE" | translate }} |
110 | 110 | </div> |
111 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 111 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
112 | 112 | </th> |
113 | | - <td mat-cell *matCellDef="let gateway"> |
| 113 | + <td *matCellDef="let gateway" mat-cell> |
114 | 114 | {{ gateway.antennaType }} |
115 | 115 | </td> |
116 | 116 | </ng-container> |
117 | 117 |
|
118 | 118 | <ng-container matColumnDef="status"> |
119 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header> |
| 119 | + <th *matHeaderCellDef mat-header-cell mat-sort-header> |
120 | 120 | <div [ngClass]="this.sort.active === 'status' ? 'column-title-color' : 'column-title-color-inactive'"> |
121 | 121 | {{ "LORA-GATEWAY-TABLE.STATUS" | translate }} |
122 | 122 | </div> |
123 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 123 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
124 | 124 | </th> |
125 | | - <td mat-cell *matCellDef="let gateway"> |
| 125 | + <td *matCellDef="let gateway" mat-cell> |
126 | 126 | {{ gateway.status ? ("GATEWAY.STATUS." + gateway.status | translate) : "" }} |
127 | 127 | </td> |
128 | 128 | </ng-container> |
129 | 129 |
|
130 | 130 | <ng-container matColumnDef="gatewayResponsibleName"> |
131 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header class="min-width-150"> |
| 131 | + <th *matHeaderCellDef class="min-width-150" mat-header-cell mat-sort-header> |
132 | 132 | <div |
133 | 133 | [ngClass]=" |
134 | 134 | this.sort.active === 'gatewayResponsibleName' ? 'column-title-color' : 'column-title-color-inactive' |
135 | 135 | " |
136 | 136 | > |
137 | 137 | {{ "LORA-GATEWAY-TABLE.RESPONSIBLE-NAME" | translate }} |
138 | 138 | </div> |
139 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 139 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
140 | 140 | </th> |
141 | | - <td mat-cell *matCellDef="let gateway"> |
| 141 | + <td *matCellDef="let gateway" mat-cell> |
142 | 142 | {{ gateway.gatewayResponsibleName }} |
143 | 143 | </td> |
144 | 144 | </ng-container> |
145 | 145 |
|
146 | 146 | <ng-container matColumnDef="gatewayResponsibleEmail"> |
147 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header class="min-width-150"> |
| 147 | + <th *matHeaderCellDef class="min-width-150" mat-header-cell mat-sort-header> |
148 | 148 | <div |
149 | 149 | [ngClass]=" |
150 | 150 | this.sort.active === 'gatewayResponsibleEmail' ? 'column-title-color' : 'column-title-color-inactive' |
151 | 151 | " |
152 | 152 | > |
153 | 153 | {{ "LORA-GATEWAY-TABLE.RESPONSIBLE-EMAIL" | translate }} |
154 | 154 | </div> |
155 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 155 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
156 | 156 | </th> |
157 | | - <td mat-cell *matCellDef="let gateway"> |
| 157 | + <td *matCellDef="let gateway" mat-cell> |
158 | 158 | {{ gateway.gatewayResponsibleEmail }} |
159 | 159 | </td> |
160 | 160 | </ng-container> |
161 | 161 |
|
162 | 162 | <ng-container matColumnDef="gatewayResponsiblePhoneNumber"> |
163 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header> |
| 163 | + <th *matHeaderCellDef mat-header-cell mat-sort-header> |
164 | 164 | <div |
165 | 165 | [ngClass]=" |
166 | 166 | this.sort.active === 'gatewayResponsiblePhoneNumber' ? 'column-title-color' : 'column-title-color-inactive' |
167 | 167 | " |
168 | 168 | > |
169 | 169 | {{ "LORA-GATEWAY-TABLE.RESPONSIBLE-PHONE-NUMBER" | translate }} |
170 | 170 | </div> |
171 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 171 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
172 | 172 | </th> |
173 | | - <td mat-cell *matCellDef="let gateway"> |
| 173 | + <td *matCellDef="let gateway" mat-cell> |
174 | 174 | {{ gateway.gatewayResponsiblePhoneNumber }} |
175 | 175 | </td> |
176 | 176 | </ng-container> |
177 | 177 |
|
178 | 178 | <ng-container matColumnDef="operationalResponsibleName"> |
179 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header class="min-width-150"> |
| 179 | + <th *matHeaderCellDef class="min-width-150" mat-header-cell mat-sort-header> |
180 | 180 | <div |
181 | 181 | [ngClass]=" |
182 | 182 | this.sort.active === 'operationalResponsibleName' ? 'column-title-color' : 'column-title-color-inactive' |
183 | 183 | " |
184 | 184 | > |
185 | 185 | {{ "LORA-GATEWAY-TABLE.OPERATIONAL-NAME" | translate }} |
186 | 186 | </div> |
187 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 187 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
188 | 188 | </th> |
189 | | - <td mat-cell *matCellDef="let gateway"> |
| 189 | + <td *matCellDef="let gateway" mat-cell> |
190 | 190 | {{ gateway.operationalResponsibleName }} |
191 | 191 | </td> |
192 | 192 | </ng-container> |
193 | 193 |
|
194 | 194 | <ng-container matColumnDef="operationalResponsibleEmail"> |
195 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header class="min-width-150"> |
| 195 | + <th *matHeaderCellDef class="min-width-150" mat-header-cell mat-sort-header> |
196 | 196 | <div |
197 | 197 | [ngClass]=" |
198 | 198 | this.sort.active === 'operationalResponsibleEmail' ? 'column-title-color' : 'column-title-color-inactive' |
199 | 199 | " |
200 | 200 | > |
201 | 201 | {{ "LORA-GATEWAY-TABLE.OPERATIONAL-EMAIL" | translate }} |
202 | 202 | </div> |
203 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 203 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
204 | 204 | </th> |
205 | | - <td mat-cell *matCellDef="let gateway"> |
| 205 | + <td *matCellDef="let gateway" mat-cell> |
206 | 206 | {{ gateway.operationalResponsibleEmail }} |
207 | 207 | </td> |
208 | 208 | </ng-container> |
209 | 209 |
|
210 | 210 | <ng-container matColumnDef="tags"> |
211 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header class="min-width-250"> |
| 211 | + <th *matHeaderCellDef class="min-width-250" mat-header-cell mat-sort-header> |
212 | 212 | <div [ngClass]="this.sort.active === 'tags' ? 'column-title-color' : 'column-title-color-inactive'"> |
213 | 213 | {{ "LORA-GATEWAY-TABLE.TAGS" | translate }} |
214 | 214 | </div> |
215 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 215 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
216 | 216 | </th> |
217 | | - <td mat-cell *matCellDef="let gateway"> |
| 217 | + <td *matCellDef="let gateway" mat-cell> |
218 | 218 | {{ gateway.tagsString }} |
219 | 219 | </td> |
220 | 220 | </ng-container> |
221 | 221 |
|
222 | 222 | <ng-container matColumnDef="location"> |
223 | | - <th mat-header-cell *matHeaderCellDef class="min-width-150"> |
| 223 | + <th *matHeaderCellDef class="min-width-150" mat-header-cell> |
224 | 224 | <div [ngClass]="this.sort.active === 'location' ? 'column-title-color' : 'column-title-color-inactive'"> |
225 | 225 | {{ "LORA-GATEWAY-TABLE.LOCATION" | translate }} |
226 | 226 | </div> |
227 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 227 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
228 | 228 | </th> |
229 | | - <td mat-cell *matCellDef="let gateway"> |
| 229 | + <td *matCellDef="let gateway" mat-cell> |
230 | 230 | {{ gateway.location.latitude | number : "2.1-6" }}, |
231 | 231 | {{ gateway.location.longitude | number : "2.1-6" }} |
232 | 232 | </td> |
233 | 233 | </ng-container> |
234 | 234 |
|
235 | 235 | <ng-container matColumnDef="createdAt"> |
236 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header> |
| 236 | + <th *matHeaderCellDef mat-header-cell mat-sort-header> |
237 | 237 | <div [ngClass]="this.sort.active === 'createdAt' ? 'column-title-color' : 'column-title-color-inactive'"> |
238 | 238 | {{ "LORA-GATEWAY-TABLE.CREATED-AT" | translate }} |
239 | 239 | </div> |
240 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 240 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
241 | 241 | </th> |
242 | | - <td mat-cell *matCellDef="let gateway"> |
| 242 | + <td *matCellDef="let gateway" mat-cell> |
243 | 243 | {{ gateway.createdAt | dateOnly }} |
244 | 244 | </td> |
245 | 245 | </ng-container> |
246 | 246 |
|
247 | 247 | <ng-container matColumnDef="lastSeenAt"> |
248 | | - <th mat-header-cell *matHeaderCellDef mat-sort-header class="min-width-150"> |
| 248 | + <th *matHeaderCellDef class="min-width-150" mat-header-cell mat-sort-header> |
249 | 249 | <div [ngClass]="this.sort.active === 'lastSeenAt' ? 'column-title-color' : 'column-title-color-inactive'"> |
250 | 250 | {{ "LORA-GATEWAY-TABLE.LAST-SEEN-AT" | translate }} |
251 | 251 | </div> |
252 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 252 | + <app-table-sort-icon [sortDirection]="getSortDirection('active')"/> |
253 | 253 | </th> |
254 | | - <td mat-cell *matCellDef="let gateway"> |
| 254 | + <td *matCellDef="let gateway" mat-cell> |
255 | 255 | {{ lastActive(gateway) }} |
256 | 256 | </td> |
257 | 257 | </ng-container> |
258 | 258 |
|
259 | 259 | <ng-container matColumnDef="onlineStatus"> |
260 | | - <th mat-header-cell *matHeaderCellDef> |
261 | | - <div [ngClass]="this.sort.active === 'onlineStatus' ? 'column-title-color' : 'column-title-color-inactive'"> |
262 | | - {{ "LORA-GATEWAY-TABLE.STATUS" | translate }} |
263 | | - </div> |
264 | | - <app-table-sort-icon [sortDirection]="getSortDirection('active')" /> |
| 260 | + <th *matHeaderCellDef mat-header-cell> |
| 261 | + {{ "LORA-GATEWAY-TABLE.STATUS" | translate }} |
265 | 262 | </th> |
266 | | - <td mat-cell *matCellDef="let gateway"> |
| 263 | + <td *matCellDef="let gateway" mat-cell> |
267 | 264 | <ng-container *ngIf="gatewayStatus(gateway); then statusOk; else statusError"></ng-container> |
268 | 265 | <ng-template #statusOk> |
269 | 266 | <fa-icon [icon]="faCheckCircle" class="fa-ok"></fa-icon> |
|
275 | 272 | </ng-container> |
276 | 273 |
|
277 | 274 | <ng-container matColumnDef="menu"> |
278 | | - <th mat-header-cell *matHeaderCellDef></th> |
279 | | - <td mat-cell *matCellDef="let gateway" class="overflowVisible"> |
280 | | - <div class="dropdown" *ngIf="gateway.canEdit"> |
| 275 | + <th *matHeaderCellDef mat-header-cell></th> |
| 276 | + <td *matCellDef="let gateway" class="overflowVisible" mat-cell> |
| 277 | + <div *ngIf="gateway.canEdit" class="dropdown"> |
281 | 278 | <a |
282 | | - href="#" |
283 | | - role="button" |
284 | | - id="tableRowDropdown-{{ gateway.id }}" |
| 279 | + [attr.aria-label]="'LORA-GATEWAY-TABLE-ROW.SHOW-OPTIONS' | translate" |
| 280 | + aria-expanded="false" |
285 | 281 | class="applicationRow__edit dropdown-toggle" |
286 | 282 | data-toggle="dropdown" |
287 | | - aria-expanded="false" |
288 | | - [attr.aria-label]="'LORA-GATEWAY-TABLE-ROW.SHOW-OPTIONS' | translate" |
| 283 | + href="#" |
| 284 | + id="tableRowDropdown-{{ gateway.id }}" |
| 285 | + role="button" |
289 | 286 | ></a> |
290 | | - <ul class="dropdown-menu dropdown-menu--table" attr.aria-labelledby="tableRowDropdown-{{ gateway.id }}"> |
| 287 | + <ul attr.aria-labelledby="tableRowDropdown-{{ gateway.id }}" class="dropdown-menu dropdown-menu--table"> |
291 | 288 | <li class="dropdown-item"> |
292 | 289 | <a [routerLink]="['../gateway-edit', gateway.gatewayId]" routerLinkActive="active">{{ |
293 | | - "GEN.EDIT" | translate |
294 | | - }}</a> |
| 290 | + "GEN.EDIT" | translate |
| 291 | + }}</a> |
295 | 292 | </li> |
296 | 293 | <li class="dropdown-item"> |
297 | 294 | <a (click)="onOpenChangeOrganizationDialog(gateway.id)" routerLinkActive="active">{{ |
298 | | - "GATEWAY.CHANGE-ORGANIZATION.TITLE" | translate |
299 | | - }}</a> |
| 295 | + "GATEWAY.CHANGE-ORGANIZATION.TITLE" | translate |
| 296 | + }}</a> |
300 | 297 | </li> |
301 | 298 | <li class="dropdown-item"> |
302 | 299 | <a (click)="clickDelete(gateway)" [routerLink]="[]">{{ "GEN.DELETE" | translate }}</a> |
|
306 | 303 | </td> |
307 | 304 | </ng-container> |
308 | 305 |
|
309 | | - <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr> |
310 | | - <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr> |
| 306 | + <tr *matHeaderRowDef="displayedColumns" mat-header-row></tr> |
| 307 | + <tr *matRowDef="let row; columns: displayedColumns" mat-row></tr> |
311 | 308 | </table> |
312 | 309 | <mat-paginator |
| 310 | + [length]="resultsLength" |
313 | 311 | [pageSizeOptions]="pageSizeOptions" |
314 | 312 | [pageSize]="pageSize" |
315 | | - [length]="resultsLength" |
316 | 313 | showFirstLastButtons |
317 | 314 | > |
318 | 315 | </mat-paginator> |
|
0 commit comments