[ADF-4892] DocumentList - set appropriate column aria-sort state (#5079)

* set specific aria-sort state

* return false when table has no sorting

* move logic to component

* aria sort method

* tests
This commit is contained in:
Cilibiu Bogdan
2019-09-18 17:21:35 +03:00
committed by Eugenio Romano
parent 30089f485f
commit d5b4caa5ed
4 changed files with 80 additions and 5 deletions

View File

@@ -238,6 +238,13 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
}
}
isColumnSortActive(column: DataColumn): boolean {
if (!column || !this.data.getSorting()) {
return false;
}
return column.key === this.data.getSorting().key;
}
ngDoCheck() {
const changes = this.differ.diff(this.rows);
if (changes) {
@@ -705,6 +712,16 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
const name = this.getNameColumnValue();
return name ? row.getValue(name.key) : '';
}
getAriaSort(column: DataColumn): string {
if (!this.isColumnSortActive(column)) {
return 'ADF-DATATABLE.ACCESSIBILITY.SORT_NONE';
}
return this.isColumnSorted(column, 'asc') ?
'ADF-DATATABLE.ACCESSIBILITY.SORT_ASCENDING' :
'ADF-DATATABLE.ACCESSIBILITY.SORT_DESCENDING';
}
}
export interface DataTableDropEvent {