diff --git a/dist/angular-select2.js b/dist/angular-select2.js
index 45af39e..5185bfe 100644
--- a/dist/angular-select2.js
+++ b/dist/angular-select2.js
@@ -138,6 +138,7 @@ angular.module("rt.select2", [])
var keys = (keyName ? sortedKeys(values) : values) || [];
var options = [];
+ optionItems = {};
for (var i = 0; i < keys.length; i++) {
var locals = {};
var key = i;
@@ -151,11 +152,12 @@ angular.module("rt.select2", [])
var label = displayFn(scope, locals) || "";
if (label.toLowerCase().indexOf(query.term.toLowerCase()) > -1) {
- options.push({
+ optionItems[value] = {
id: value,
text: label,
obj: values[key]
- });
+ };
+ options.push(optionItems[value]);
}
}
@@ -248,6 +250,7 @@ angular.module("rt.select2", [])
};
select2Stack.$register(controlObj);
scope.$on("destroy", function () {
+ element.select2("destroy");
select2Stack.$unregister(controlObj);
});
diff --git a/dist/angular-select2.min.js b/dist/angular-select2.min.js
index c200f70..28d279e 100644
--- a/dist/angular-select2.min.js
+++ b/dist/angular-select2.min.js
@@ -1 +1 @@
-angular.module("rt.select2",[]).value("select2Config",{}).factory("select2Stack",function(){var a=[];return{$register:function(b){a.push(b)},$unregister:function(b){var c=a.indexOf(b);-1!==c&&a.splice(c,1)},closeAll:function(){a.forEach(function(a){a.close()})}}}).directive("select2",["$rootScope","$timeout","$parse","$filter","select2Config","select2Stack",function(a,b,c,d,e,f){"use strict";function g(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b.sort()}var h=d("filter"),i={},j=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/;return e&&angular.extend(i,e),{require:"ngModel",priority:1,restrict:"E",template:'',replace:!0,link:function(a,d,e,k){function l(b){if(q){var c=q(a);if(c)return h(b,c)}return b}function m(a){n(p?function(b){for(var c=[],d=0;d-1&&c.push(e)}a(c)}:function(){a(r[k.$viewValue]||{obj:{}})})}var n,o=angular.extend({},i,a.$eval(e.options)),p=angular.isDefined(e.multiple)||o.multiple;o.multiple=p,p&&(k.$isEmpty=function(a){return!a||0===a.length}),e.placeholder&&(o.placeholder=e.placeholder);var q=c(e.optionsFilter),r={};if(e.s2Options){var s;if(!(s=e.s2Options.match(j)))throw new Error("Invalid s2Options encountered!");var t=c(s[2]||s[1]),u=c(s[7]),v=s[4]||s[6],w=c(s[2]?s[1]:v),x=s[5];n=function(b){r={};for(var c=l(u(a)),d=(x?g(c):c)||[],e=[],f=0;f-1&&e.push({id:j,text:k,obj:c[i]})}b.callback({results:e})},a.$watch(s[7],function(){k.$render()})}else{if(!o.query)throw new Error("You need to supply a query function!");var y=o.query;o.query=function(a){var b=a.callback;a.callback=function(a){for(var c=0;c',replace:!0,link:function(a,d,e,k){function l(b){if(q){var c=q(a);if(c)return h(b,c)}return b}function m(a){n(p?function(b){for(var c=[],d=0;d-1&&c.push(e)}a(c)}:function(){a(r[k.$viewValue]||{obj:{}})})}var n,o=angular.extend({},i,a.$eval(e.options)),p=angular.isDefined(e.multiple)||o.multiple;o.multiple=p,p&&(k.$isEmpty=function(a){return!a||0===a.length}),e.placeholder&&(o.placeholder=e.placeholder);var q=c(e.optionsFilter),r={};if(e.s2Options){var s;if(!(s=e.s2Options.match(j)))throw new Error("Invalid s2Options encountered!");var t=c(s[2]||s[1]),u=c(s[7]),v=s[4]||s[6],w=c(s[2]?s[1]:v),x=s[5];n=function(b){r={};for(var c=l(u(a)),d=(x?g(c):c)||[],e=[],f=0;f-1&&(r[j]={id:j,text:k,obj:c[i]},e.push(r[j]))}b.callback({results:e})},a.$watch(s[7],function(){k.$render()})}else{if(!o.query)throw new Error("You need to supply a query function!");var y=o.query;o.query=function(a){var b=a.callback;a.callback=function(a){for(var c=0;c -1) {
- options.push({
+ optionItems[value] = {
id: value,
text: label,
obj: values[key]
- });
+ };
+ options.push(optionItems[value]);
}
}
@@ -249,6 +251,7 @@ angular.module("rt.select2", [])
select2Stack.$register(controlObj);
scope.$on("destroy", function () {
select2Stack.$unregister(controlObj);
+ element.select2("destroy");
});
$timeout(function () {