From 686bfca341b531dc65144555e78c2e1ecb664fec Mon Sep 17 00:00:00 2001 From: Samuli Ulmanen Date: Mon, 9 Jun 2014 13:59:48 +0300 Subject: [PATCH 1/3] update jquery path --- test/karma.conf.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/karma.conf.js b/test/karma.conf.js index b5658bc..d5f21b3 100644 --- a/test/karma.conf.js +++ b/test/karma.conf.js @@ -15,7 +15,7 @@ module.exports = function(config) { // list of files / patterns to load in the browser files: [ // Dependencies - 'bower_components/jquery/jquery.js', + 'bower_components/jquery/dist/jquery.js', 'bower_components/angular/angular.js', 'bower_components/angular-mocks/angular-mocks.js', 'bower_components/select2/select2.js', From 54cf676ca2e25a91f07605e961c3e62d101d6412 Mon Sep 17 00:00:00 2001 From: Samuli Ulmanen Date: Mon, 9 Jun 2014 14:00:44 +0300 Subject: [PATCH 2/3] watch config for changes and redraw --- src/select2.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/select2.js b/src/select2.js index 828032d..f6ff747 100644 --- a/src/select2.js +++ b/src/select2.js @@ -149,7 +149,7 @@ angular.module('ui.select2', []).value('uiSelect2Config', {}).directive('uiSelec // Set the view and model value and update the angular template manually for the ajax/multiple select2. elm.bind("change", function (e) { e.stopImmediatePropagation(); - + if (scope.$$phase || scope.$root.$$phase) { return; } @@ -188,6 +188,12 @@ angular.module('ui.select2', []).value('uiSelect2Config', {}).directive('uiSelec elm.select2('readonly', !!value); }); + if(attrs.uiSelect2) { + attrs.$observe('uiSelect2', function(newVal) { + elm.select2(angular.extend({}, options, scope.$eval(attrs.uiSelect2))); + }); + } + if (attrs.ngMultiple) { scope.$watch(attrs.ngMultiple, function(newVal) { attrs.$set('multiple', !!newVal); From e7cbe7dac0286eebb705ae540fc1249bf2833299 Mon Sep 17 00:00:00 2001 From: Samuli Ulmanen Date: Tue, 10 Jun 2014 14:04:10 +0300 Subject: [PATCH 3/3] use scope watch instead of --- .gitignore | 3 ++- src/select2.js | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d8d7394..eff14bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules bower_components -demo/bower_components \ No newline at end of file +demo/bower_components +.tern-port diff --git a/src/select2.js b/src/select2.js index f6ff747..393b709 100644 --- a/src/select2.js +++ b/src/select2.js @@ -189,8 +189,10 @@ angular.module('ui.select2', []).value('uiSelect2Config', {}).directive('uiSelec }); if(attrs.uiSelect2) { - attrs.$observe('uiSelect2', function(newVal) { + scope.$watch(attrs.uiSelect2, function(newVal) { + if(newVal) { elm.select2(angular.extend({}, options, scope.$eval(attrs.uiSelect2))); + } }); }