From 10ec09b0bca8cd1637a9670ed9c9cce00f242c81 Mon Sep 17 00:00:00 2001 From: Wladimir Coka Date: Sun, 27 Sep 2015 22:34:17 -0500 Subject: [PATCH 1/2] refactor(choices): avoid setting activeItem on mouseenter --- src/common.css | 5 +++++ src/uiSelectChoicesDirective.js | 1 - test/select.spec.js | 29 ----------------------------- 3 files changed, 5 insertions(+), 30 deletions(-) diff --git a/src/common.css b/src/common.css index e1026d4a1..2b6fe3865 100644 --- a/src/common.css +++ b/src/common.css @@ -17,6 +17,11 @@ top: 0px !important; } + +.ui-select-choices-row:hover { + background-color: #f5f5f5; +} + /* Select2 theme */ /* Mark invalid Select2 */ diff --git a/src/uiSelectChoicesDirective.js b/src/uiSelectChoicesDirective.js index 69e29b6cc..b8e15982b 100644 --- a/src/uiSelectChoicesDirective.js +++ b/src/uiSelectChoicesDirective.js @@ -41,7 +41,6 @@ uis.directive('uiSelectChoices', choices.attr('ng-repeat', RepeatParser.getNgRepeatExpression($select.parserResult.itemName, '$select.items', $select.parserResult.trackByExp, groupByExp)) .attr('ng-if', '$select.open') //Prevent unnecessary watches when dropdown is closed - .attr('ng-mouseenter', '$select.setActiveItem('+$select.parserResult.itemName +')') .attr('ng-click', '$select.select(' + $select.parserResult.itemName + ',false,$event)'); var rowsInner = element.querySelectorAll('.ui-select-choices-row-inner'); diff --git a/test/select.spec.js b/test/select.spec.js index 80f953c46..c8d60fdab 100644 --- a/test/select.spec.js +++ b/test/select.spec.js @@ -959,35 +959,6 @@ describe('ui-select tests', function() { }); - it('should invoke hover callback', function(){ - - var highlighted; - scope.onHighlightFn = function ($item) { - highlighted = $item; - }; - - var el = compileTemplate( - ' \ - {{$select.selected.name}} \ - \ -
\ -
\ -
\ -
' - ); - - expect(highlighted).toBeFalsy(); - - if (!isDropdownOpened(el)){ - openDropdown(el); - } - - $(el).find('.ui-select-choices-row div:contains("Samantha")').trigger('mouseover'); - scope.$digest(); - - expect(highlighted).toBe(scope.people[5]); - }); - it('should set $item & $model correctly when invoking callback on select and no single prop. binding', function () { scope.onSelectFn = function ($item, $model, $label) { From 1041786769bb8d25a45f1eafd83a2f2c3980c1ab Mon Sep 17 00:00:00 2001 From: Wladimir Coka Date: Mon, 28 Sep 2015 15:11:03 -0500 Subject: [PATCH 2/2] Remove unused method --- src/uiSelectController.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/uiSelectController.js b/src/uiSelectController.js index 486c245a2..245e94eb2 100644 --- a/src/uiSelectController.js +++ b/src/uiSelectController.js @@ -198,10 +198,6 @@ uis.controller('uiSelectCtrl', } }; - ctrl.setActiveItem = function(item) { - ctrl.activeIndex = ctrl.items.indexOf(item); - }; - ctrl.isActive = function(itemScope) { if ( !ctrl.open ) { return false;