From 41cec4d68056268a5977399976738cecc343a653 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Mon, 8 Sep 2014 16:58:47 +0200 Subject: [PATCH] refactor(select): remove code duplication --- src/ng/directive/select.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/ng/directive/select.js b/src/ng/directive/select.js index 13bbba70..2035c974 100644 --- a/src/ng/directive/select.js +++ b/src/ng/directive/select.js @@ -414,21 +414,13 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) { ctrl.$render = render; - scope.$watchCollection(valuesFn, function () { - if (!renderScheduled) { - scope.$$postDigest(render); - renderScheduled = true; - } - }); - if ( multiple ) { - scope.$watchCollection(function() { return ctrl.$modelValue; }, function () { - if (!renderScheduled) { - scope.$$postDigest(render); - renderScheduled = true; - } - }); + scope.$watchCollection(valuesFn, scheduleRendering); + + if (multiple) { + scope.$watchCollection(function() { return ctrl.$modelValue; }, scheduleRendering); } + function getSelectedSet() { var selectedSet = false; if (multiple) { @@ -448,6 +440,14 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) { } + function scheduleRendering() { + if (!renderScheduled) { + scope.$$postDigest(render); + renderScheduled = true; + } + } + + function render() { renderScheduled = false;