Skip to content
This repository was archived by the owner on Jun 14, 2018. It is now read-only.

Commit 2aae70d

Browse files
mgm-vi-verroneandrewconnell
authored andcommitted
fix(table): resolve dupe of uif-sort-order icon
Fixed the duplication of `uif-sort-order` icon due an upgrade on `ng-transclude` in Angular 1.6.x. This fix applies to Angular 1.5.x as well. See angular/angular.js#15223 for reference. Fixes #475.
1 parent b6518e2 commit 2aae70d

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/components/table/tableDirective.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -585,8 +585,12 @@ export class TableHeaderDirective implements angular.IDirective {
585585
newOrderBy === attrs.uifOrderBy) {
586586
let cells: JQuery = instanceElement.parent().children();
587587
for (let i: number = 0; i < cells.length; i++) {
588-
if (cells.eq(i).children().length === 2) {
589-
cells.eq(i).children().eq(1).remove();
588+
let _children: JQuery = cells.eq(i).children();
589+
if (_children.length > 0) {
590+
let _sorter: JQuery = _children.eq(_children.length - 1);
591+
if (_sorter.hasClass('uif-sort-order')) {
592+
_sorter.remove();
593+
}
590594
}
591595
}
592596

@@ -596,10 +600,13 @@ export class TableHeaderDirective implements angular.IDirective {
596600
});
597601

598602
scope.$watch('table.orderAsc', (newOrderAsc: boolean, oldOrderAsc: boolean, tableHeaderScope: ITableHeaderScope): void => {
599-
if (instanceElement.children().length === 2) {
600-
let oldCssClass: string = oldOrderAsc ? 'ms-Icon--caretDown' : 'ms-Icon--caretUp';
601-
let newCssClass: string = newOrderAsc ? 'ms-Icon--caretDown' : 'ms-Icon--caretUp';
602-
instanceElement.children().eq(1).children().eq(0).removeClass(oldCssClass).addClass(newCssClass);
603+
if (instanceElement.children().length > 0) {
604+
let _sorter: JQuery = instanceElement.children().eq(instanceElement.children().length - 1);
605+
if (_sorter.hasClass('uif-sort-order')) {
606+
let oldCssClass: string = oldOrderAsc ? 'ms-Icon--caretDown' : 'ms-Icon--caretUp';
607+
let newCssClass: string = newOrderAsc ? 'ms-Icon--caretDown' : 'ms-Icon--caretUp';
608+
_sorter.children().eq(0).removeClass(oldCssClass).addClass(newCssClass);
609+
}
603610
}
604611
});
605612

0 commit comments

Comments
 (0)