tabindex=1 so the grid body can capture keyboard events.
-->
- <tr role="row" class="eg-grid-row eg-grid-body-row {{context.rowClassCallback(row)}}"
+ <tr scope="row" class="eg-grid-row eg-grid-body-row {{context.rowClassCallback(row)}}"
[ngClass]="{'selected': context.rowSelector.contains(context.getRowIndex(row))}"
*ngFor="let row of context.dataSource.getPageOfRows(context.pager); let idx = index">
<ng-container *ngIf="!context.disableSelect">
<td class="eg-grid-cell eg-grid-checkbox-cell">
+ <div class="eg-grid-cell-contents">
<input type='checkbox'
[ngModel]="context.rowSelector.indexes[context.getRowIndex(row)]"
(ngModelChange)="context.rowSelector.toggle(context.getRowIndex(row))"
[ngbPopover]="contextMenu"
placement="right"
triggers="manual">
+ </div>
</td>
</ng-container>
<td class="eg-grid-cell eg-grid-number-cell">
- {{context.pager.rowNumber(idx)}}
+ <div class="eg-grid-cell-contents">{{context.pager.rowNumber(idx)}}</div>
</td>
<td *ngIf="context.rowFlairIsEnabled" class="eg-grid-cell eg-grid-flair-cell">
<!-- using *ngIf allows us to assign the flair callback to a value,
obviating the need for multiple calls of the same function -->
<ng-container *ngIf="context.rowFlairCallback(row); let flair">
<ng-container *ngIf="flair.icon">
+ <div class="eg-grid-cell-contents">
<!-- tooltip is disabled when no title is set -->
<span class="material-icons"
ngbTooltip="{{flair.title || ''}}" triggers="mouseenter:mouseleave">
{{flair.icon}}
</span>
+ </div>
</ng-container>
</ng-container>
</td>
</div>
</td>
+ <!-- This is set to visually-hidden so its presence in a <tr> doesn't disrupt table columns -->
<ng-template class="visually-hidden" #contextMenu let-gridContext="gridContext">
<eg-grid-toolbar-actions-menu [gridContext]="gridContext" [viaContextMenu]="true">
</eg-grid-toolbar-actions-menu>
<tr row="row" class="eg-grid-row eg-grid-header-row">
<ng-container *ngIf="!context.disableSelect">
- <th class="eg-grid-cell eg-grid-header-cell eg-grid-checkbox-cell">
+ <th scope="col" class="eg-grid-cell eg-grid-header-cell eg-grid-checkbox-cell">
<input type='checkbox' (click)="handleBatchSelect($event)"
i18n-aria-label aria-label="All rows"
[(ngModel)]="batchRowCheckbox">
</th>
</ng-container>
- <th class="eg-grid-cell eg-grid-header-cell eg-grid-number-cell">
+ <th scope="col" class="eg-grid-cell eg-grid-header-cell eg-grid-number-cell">
<span i18n="number|Row Number Header">#</span>
</th>
- <th *ngIf="context.rowFlairIsEnabled"
+ <th *ngIf="context.rowFlairIsEnabled" scope="col"
class="eg-grid-cell eg-grid-header-cell eg-grid-flair-cell">
<span class="material-icons">notifications</span>
</th>
<th *ngFor="let col of context.columnSet.displayColumns()"
+ scope="col"
draggable="true"
(dragstart)="dragColumn = col"
(drop)="onColumnDrop(col)"
<ng-container *ngIf="!context.disableSelect">
<td class="eg-grid-cell eg-grid-header-cell"></td>
</ng-container>
- <th class="eg-grid-cell eg-grid-header-cell"></th>
- <th *ngIf="context.rowFlairIsEnabled"
+ <th scope="col" class="eg-grid-cell eg-grid-header-cell"></th>
+ <th *ngIf="context.rowFlairIsEnabled" scope="col"
class="eg-grid-cell eg-grid-header-cell {{context.idlFieldDef}} eg-grid-class-{{context.idlClass}}"></th>
- <th *ngFor="let col of context.columnSet.displayColumns()"
+ <th *ngFor="let col of context.columnSet.displayColumns()" scope="col"
class="eg-grid-cell eg-grid-filter-control-cell eg-grid-col-{{col.name}} eg-grid-type-{{col.datatype}} eg-grid-class-{{context.idlClass}}">
<eg-grid-filter-control [context]="context" [col]="col"></eg-grid-filter-control>
</th>
outline: none; /* for keyboard events */
}
-.eg-grid-body-row {
-}
-
.eg-grid-body-row.selected,
.eg-grid-column-config-dialog .visible {
color: #004085;
white-space: normal;
}
-.eg-grid-body-cell {
-}
-
.eg-grid-header-cell {
font-weight: bold;
white-space: normal;
.eg-grid-column-width-icon {
cursor: pointer;
font-size: 18px;
- color: #007bff;
+ color: #0A58CA;
}
.eg-grid-column-config-dialog {
}
/* Firefox td > div height fix */
-.eg-grid tr,
-.eg-grid th,
-.eg-grid td {
- height: 100%;
+@-moz-document url-prefix() {
+ .eg-grid tr,
+ .eg-grid th,
+ .eg-grid td {
+ height: 100%;
+ }
}
/* GRID PADDING */
text-align: right;
}
-.compact .eg-grid-type-id .eg-grid-cell-contents,
-.compact .eg-grid-type-number .eg-grid-cell-contents,
-.compact .eg-grid-type-money .eg-grid-cell-contents,
-.compact .eg-grid-col-circ_count .eg-grid-cell-contents {
+.compact td.eg-grid-type-id .eg-grid-cell-contents,
+.compact td.eg-grid-type-number .eg-grid-cell-contents,
+.compact td.eg-grid-type-money .eg-grid-cell-contents,
+.compact td.eg-grid-col-circ_count .eg-grid-cell-contents {
padding: .1rem .25rem .1rem .4rem;
}