fix(admin): polish products
Add accessible names to the table-view select-all and per-row checkboxes — they had none, while the grid-view equivalent already did (product name via aria-label). New adminProducts.selectAllRows/ selectRow keys added across en/ru/hy. Reviewed toolbar, filters, bulk actions, empty/loading states, and grid view: all buttons already route through app-button (own :focus-visible), empty state already uses shared EmptyStateComponent. No orphaned bindings or corrupted glyphs found. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -88,7 +88,7 @@
|
||||
<app-table [class.density-compact]="density === 'compact'">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" (change)="selectAll.emit($any($event.target).checked)" /></th>
|
||||
<th><input type="checkbox" [attr.aria-label]="'adminProducts.selectAllRows' | translate" (change)="selectAll.emit($any($event.target).checked)" /></th>
|
||||
<th>{{ 'adminProducts.name' | translate }}</th>
|
||||
@if (isColumnVisible('sku')) { <th>{{ 'backoffice.sku' | translate }}</th> }
|
||||
@if (isColumnVisible('brand')) { <th>{{ 'adminProducts.brand' | translate }}</th> }
|
||||
@@ -102,7 +102,7 @@
|
||||
<tbody>
|
||||
@for (product of products; track product.id) {
|
||||
<tr>
|
||||
<td><input type="checkbox" [checked]="isSelected(product.id)" (change)="selectionChange.emit({ id: product.id, checked: $any($event.target).checked })" /></td>
|
||||
<td><input type="checkbox" [checked]="isSelected(product.id)" [attr.aria-label]="('adminProducts.selectRow' | translate) + ': ' + product.name" (change)="selectionChange.emit({ id: product.id, checked: $any($event.target).checked })" /></td>
|
||||
<td>{{ product.name }}</td>
|
||||
@if (isColumnVisible('sku')) { <td>{{ product.sku }}</td> }
|
||||
@if (isColumnVisible('brand')) { <td>{{ product.brand }}</td> }
|
||||
|
||||
Reference in New Issue
Block a user