diff --git a/bower.json b/bower.json index 0e47823..52169f6 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "nya-bootstrap-select", - "version": "2.0.2", + "version": "2.0.3", "main": [ "dist/js/nya-bs-select.js", "dist/css/nya-bs-select.css" diff --git a/dist/css/nya-bs-select.css b/dist/css/nya-bs-select.css index feebd1a..50d6147 100644 --- a/dist/css/nya-bs-select.css +++ b/dist/css/nya-bs-select.css @@ -1,5 +1,5 @@ /** - * nya-bootstrap-select v2.0.2 + * nya-bootstrap-select v2.0.3 * Copyright 2014 Nyasoft * Licensed under MIT license */ diff --git a/dist/css/nya-bs-select.min.css b/dist/css/nya-bs-select.min.css index fec749f..5ba83e7 100644 --- a/dist/css/nya-bs-select.min.css +++ b/dist/css/nya-bs-select.min.css @@ -1,5 +1,5 @@ /** - * nya-bootstrap-select v2.0.2 + * nya-bootstrap-select v2.0.3 * Copyright 2014 Nyasoft * Licensed under MIT license */ diff --git a/dist/js/nya-bs-select.js b/dist/js/nya-bs-select.js index 3cc00b5..3b5e4a0 100644 --- a/dist/js/nya-bs-select.js +++ b/dist/js/nya-bs-select.js @@ -1,5 +1,5 @@ /** - * nya-bootstrap-select v2.0.2 + * nya-bootstrap-select v2.0.3 * Copyright 2014 Nyasoft * Licensed under MIT license */ @@ -256,11 +256,12 @@ var queryChildren = function(element, classList) { var children = element.children(), length = children.length, child, - valid = true, + valid, classes; if(length > 0) { for(var i = 0; i < length; i++) { child = children.eq(i); + valid = true; classes = getClassList(child[0]); if(classes.length > 0) { for(var j = 0; j < classList.length; j++) { diff --git a/dist/js/nya-bs-select.min.js b/dist/js/nya-bs-select.min.js index 5ba247e..af8b65f 100644 --- a/dist/js/nya-bs-select.min.js +++ b/dist/js/nya-bs-select.min.js @@ -1,6 +1,6 @@ /** - * nya-bootstrap-select v2.0.2 + * nya-bootstrap-select v2.0.3 * Copyright 2014 Nyasoft * Licensed under MIT license */ -!function(){"use strict";function a(){return++j}function b(a){return a&&a.window===a}function c(a){return"string"==typeof a}function d(a){if(null==a||b(a))return!1;var d=a.length;return 1===a.nodeType&&d?!0:c(a)||Array.isArray(a)||0===d||"number"==typeof d&&d>0&&d-1 in a}function e(){return Object.create(null)}function f(b,c){var d,e=typeof b;return"function"==e||"object"==e&&null!==b?"function"==typeof(d=b.$$hashKey)?d=b.$$hashKey():void 0===d&&(d=b.$$hashKey=(c||a)()):d=b,e+":"+d}function g(a,b,c){var d,e,f=[],g=[];for(d=0;dc;c++)if(v(b,a[c]))return!0;return!1},o=function(a,b){var c,d=a.length;if(0===d)return-1;for(c=0;d>c;c++)if(v(b,a[c]))return c;return-1},p=function(a,b,c){var d,e=a,f=typeof c;if(a==b)return null;do if("string"===f){if(d=" "+e.className+" ",1===e.nodeType&&d.replace(/[\t\r\n\f]/g," ").indexOf(c)>=0)return e}else if(e==c)return e;while((e=e.parentNode)&&e!=b&&9!==e.nodeType);return null},q=function(a){var b,c=a.className.replace(/[\t\r\n\f]/g," ").trim();b=c.split(" ");for(var d=0;d0)for(var h=0;f>h;h++){if(c=e.eq(h),d=q(c[0]),d.length>0)for(var i=0;id;d++)if(-1!==c.eq(d).text().toLowerCase().indexOf(b.toLowerCase()))return!0;return!1},u=angular.element,v=angular.equals,w=angular.copy,x=angular.module("nya.bootstrap.select",[]);x.controller("nyaBsSelectCtrl",function(){var a=this;a.keyIdentifier=null,a.valueIdentifier=null,a.isMultiple=!1,a.onCollectionChange=function(){},a.setId=function(b){a.id=b||"id#"+Math.floor(1e4*Math.random())}}),x.directive("nyaBsSelect",["$parse","$document","$timeout",function(a,b,c){var d="Nothing selected",e='',f='',g='',h='',j='
  • NO SEARCH RESULT
  • ';return{restrict:"ECA",require:["ngModel","nyaBsSelect"],controller:"nyaBsSelectCtrl",compile:function(k,l){console.log(k.attr("id")+" compiled"),k.addClass("btn-group");var m,x,y,z,A,B,C=k.children(),D=u(e),E=u(f),F=u(h);for(y=q(k[0]),y.forEach(function(a){/btn-(?:primary|info|success|warning|danger|inverse)/.test(a)&&(k.removeClass(a),D.removeClass("btn-default"),D.addClass(a)),(a="form-control")&&D.addClass(a)}),F.append(C),z=C.length,A=0;z>A;A++)B=C.eq(A),(B.hasClass("nya-bs-option")||B.attr("nya-bs-option"))&&B.find("a").attr("tabindex","0");return"true"===l.liveSearch&&(m=u(g),x=u(j),E.append(m),F.append(x)),D.children().eq(0).text(l.title?l.title:d),E.append(F),k.append(D),k.append(E),function(e,f,g,h){function j(){var a,b,c=M.children(),d=c.length;for(a=0;d>a;a++)if(b=c.eq(a),b.hasClass("active")&&b.hasClass("nya-bs-option"))return b;return null}function l(a){for(var b,c=a.childNodes,d=c.length,e=0;d>e;e++)if(b=c[e],1===b.nodeType&&"a"===b.tagName.toLowerCase()){b.focus();break}}function m(a){var b;return b=M.children().eq(a?0:M.children().length-1),!b.hasClass("nya-bs-option")||b.hasClass("disabled")||b.hasClass("not-match")?a?q(b[0],"nextSibling"):q(b[0],"previousSibling"):b[0]}function q(a,b){if(!a||r(a,"nya-bs-option")){for(var c=a;(c=i(c,b))&&c.nodeType;)if(r(c,"nya-bs-option")&&!r(c,"disabled")&&!r(c,"not-match"))return c;return null}}function x(a){var b,c,d,g=F.$modelValue;b=y(a),b&&(J?(c=Array.isArray(g)?w(g):[],d=o(c,b),-1===d?(c.push(b),a.addClass("selected")):(c.splice(d,1),a.removeClass("selected"))):(M.children().removeClass("selected"),c=b,a.addClass("selected")),F.$setViewValue(c),e.$digest()),J||f.removeClass("open"),A()}function y(a){var b;return E?(b=a.scope(),E(b)):G.valueIdentifier||G.keyIdentifier?(b=a.scope(),b[G.valueIdentifier]||b[G.keyIdentifier]):a.attr("value")}function z(a){var b=a.find("a");return 0===b.children().length||b.children().eq(0).hasClass("check-mark")?b[0].firstChild.cloneNode(!1):b.children().eq(0)[0].cloneNode(!0)}function A(){var a=F.$modelValue,b=K.children().eq(0);a&&(J&&0===a.length?g.title?(b.empty(),b.append(document.createTextNode(g.title))):(b.empty(),b.append(document.createTextNode(d))):c(function(){var c,e,f,h,i,j,k=M.children(),l=k.length,m=[];if(J&&"count"===g.selectedTextFormat?j=1:J&&g.selectedTextFormat&&(i=g.selectedTextFormat.match(/\s*count\s*>\s*(\d+)\s*/))&&(j=parseInt(i[1],10)),"undefined"!=typeof j&&a.length>j)return b.empty(),void b.append(document.createTextNode(a.length+" items selected"));for(f=0;l>f;f++)e=k.eq(f),e.hasClass("nya-bs-option")&&(c=y(e),J?Array.isArray(a)&&n(a,c)&&(h=e.attr("title"),m.push(h?document.createTextNode(h):z(e))):v(a,c)&&(h=e.attr("title"),m.push(h?document.createTextNode(h):z(e))));if(0===m.length)g.title?(b.empty(),b.append(document.createTextNode(g.title))):(b.empty(),b.append(document.createTextNode(d)));else if(1===m.length)b.empty(),b.append(m[0]);else for(b.empty(),f=0;fb;b++)if(a=c.eq(b),a.hasClass("nya-bs-option")||a.attr("nya-bs-option")){C=a[0].clientHeight;break}if(/\d+/.test(g.size)){var e=parseInt(g.size,10);M.css("max-height",e*C+"px"),M.css("overflow-y","auto")}}console.log(k.attr("id")+" linked");var C,D,E,F=h[0],G=h[1],H=!1,I=a(G.valueExp),J="undefined"!=typeof g.multiple,K=s(f,["dropdown-toggle"]),L=K.next(),M=s(L,["dropdown-menu","inner"]),N=s(L,["bs-searchbox"]),O=s(M,["no-search-result"]);G.valueExp&&(E=function(a,b){return I(a,b)}),G.setId(f.attr("id")),J&&(G.isMultiple=!0,F.$isEmpty=function(a){return!a||0===a.length}),"undefined"!=typeof g.disabled&&e.$watch(g.disabled,function(a){a?(K.addClass("disabled"),D=K.attr("tabindex"),K.attr("tabindex","-1"),H=!0):(K.removeClass("disabled"),D?K.attr("tabindex",D):K.removeAttr("tabindex"),H=!1)}),G.onCollectionChange=function(a){var b,c,d=[],f=F.$modelValue;if(f){if(a&&0!==a.length){if(E)for(b=0;ba;a++)b=f.eq(a),b.hasClass("nya-bs-option")&&(t(b.find("a"),d)?(b.removeClass("not-match"),e++):b.addClass("not-match"));0===e?O.addClass("show"):O.removeClass("show")}else{for(a=0;g>a;a++)b=f.eq(a),b.hasClass("nya-bs-option")&&b.removeClass("not-match");O.removeClass("show")}c=m(!0),c&&(f.removeClass("active"),u(c).addClass("active"))}),F.$render=function(){var a,b,c=F.$modelValue,d=M.children(),e=d.length;if("undefined"==typeof c)for(a=0;e>a;a++)d.eq(a).hasClass("nya-bs-option")&&d.eq(a).removeClass("selected");else for(a=0;e>a;a++)d.eq(a).hasClass("nya-bs-option")&&(b=y(d.eq(a)),J?n(c,b)?d.eq(a).addClass("selected"):d.eq(a).removeClass("selected"):v(c,b)?d.eq(a).addClass("selected"):d.eq(a).removeClass("selected"));console.log(G.id+" render end"),A()},f.on("keydown",function(a){var b=a.keyCode;if(27===b||13===b||38===b||40===b){if(a.preventDefault(),H)return void a.stopPropagation();var c,d,e,h,i=p(a.target,f[0],K[0]);"true"===g.liveSearch?d=p(a.target,f[0],N[0]):c=p(a.target,f[0],L[0]),i?(console.log("toggleButton"),13!==b&&38!==b&&40!==b||f.hasClass("open")||(a.stopPropagation(),f.addClass("open"),"undefined"==typeof C&&B(),"true"===g.liveSearch?(N.children().eq(0)[0].focus(),h=m(!0),h&&u(h).addClass("active")):(h=m(!0),h&&l(h)))):c?27===b?(K[0].focus(),f.removeClass("open"),a.stopPropagation()):38===b?(a.stopPropagation(),h=q(a.target.parentNode,"previousSibling"),h?l(h):(h=m(!1),h&&l(h))):40===b?(a.stopPropagation(),h=q(a.target.parentNode,"nextSibling"),h?l(h):(h=m(!0),h&&l(h))):13===b&&(a.stopPropagation(),e=u(a.target.parentNode),e.hasClass("nya-bs-option")&&(x(e),J||K[0].focus())):d&&(27===b?(K[0].focus(),f.removeClass("open"),a.stopPropagation()):38===b?(a.stopPropagation(),e=j(),e&&(h=q(e[0],"previousSibling"),h?(e.removeClass("active"),u(h).addClass("active")):(h=m(!1),h&&(e.removeClass("active"),u(h).addClass("active"))))):40===b?(a.stopPropagation(),e=j(),e&&(h=q(e[0],"nextSibling"),h?(e.removeClass("active"),u(h).addClass("active")):(h=m(!0),h&&(e.removeClass("active"),u(h).addClass("active"))))):13===b&&(e=j(),e&&(x(e),J||K[0].focus())))}})}}}}]),x.directive("nyaBsOption",["$parse",function(a){var b=/^\s*(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/;return{restrict:"A",transclude:"element",priority:1e3,terminal:!0,require:["^nyaBsSelect","^ngModel"],compile:function(c,i){var j=i.nyaBsOption,o=document.createComment(" end nyaBsOption: "+j+" "),p=j.match(b);if(!p)throw new Error("invalid expression");var q,r,s,t,w,x=i.value,y=x?a(x):null,z=p[3]||p[1],A=p[2],B=p[4],C=p[5]?a(p[5]):null,D=p[6],E={$id:f},F={};return D?t=a(D):(q=function(a,b){return f(b)},r=function(a){return a}),function(a,b,c,f,i){var j,p=f[0],D=f[1],G={};t&&(s=function(b,c,d){return A&&(E[A]=b),E[z]=c,E.$index=d,t(a,E)}),C&&(w=function(b,c){return A&&(F[A]=b),F[z]=c,C(a,F)}),A&&(p.keyIdentifier=A),z&&(p.valueIdentifier=z),y&&(p.valueExp=x,j=function(b,c){return A&&(G[A]=b),G[z]=c,y(a,G)});var H=e();a.$watchCollection(B,function(a){var c,f,t,x,y,B,C,E,F,G,I,J,K,L,M=b[0],N=e(),O=[];if(w&&(J=[]),d(a))B=a,y=s||q;else{y=s||r,B=[];for(var P in a)a.hasOwnProperty(P)&&"$"!=P.charAt(0)&&B.push(P);B.sort()}for(C=B.length,E=new Array(C),c=0;C>c;c++)if(f=a===B?c:B[c],t=a[f],x=y(f,t,c),L={},A&&(L[A]=f),L[z]=t,O.push(L),w&&(G=w(f,t),-1===J.indexOf(G)&&G&&J.push(G)),H[x])F=H[x],delete H[x],w&&(F.group=G),F.key=f,F.value=t,N[x]=F,E[c]=F;else{if(N[x])throw E.forEach(function(a){a&&a.scope&&(H[a.id]=a)}),new Error("Duplicates in a select are not allowed. Use 'track by' expression to specify unique keys.");E[c]={id:x,scope:void 0,clone:void 0,key:f,value:t},N[x]=!0,G&&(E[c].group=G)}J&&J.length>0&&(E=g(E,J,"group"));for(var Q in H)F=H[Q],h(F.clone).remove(),F.scope.$destroy();for(c=0;C>c;c++)F=E[c],F.scope?(I=M,k(F)!=I&&u(M).after(F.clone),M=l(F),m(F.scope,c,z,F.value,A,F.key,C,F.group)):i(function(a,b){F.scope=b;var d=o.cloneNode(!1);a[a.length++]=d,u(M).after(a),a.addClass("nya-bs-option"),t=j?j(F.key,F.value):F.value||F.key,p.isMultiple?Array.isArray(D.$modelValue)&&n(D.$modelValue,t)&&a.addClass("selected"):v(t,D.$modelValue)&&a.addClass("selected"),M=d,F.clone=a,N[F.id]=F,m(F.scope,c,z,F.value,A,F.key,C,F.group)}),J&&(K&&K===F.group?F.clone.removeClass("first-in-group"):F.clone.addClass("first-in-group"),K=F.group,F.clone.addClass("group-item"));H=N,p.onCollectionChange(O)})}}}}])}(); \ No newline at end of file +!function(){"use strict";function a(){return++j}function b(a){return a&&a.window===a}function c(a){return"string"==typeof a}function d(a){if(null==a||b(a))return!1;var d=a.length;return 1===a.nodeType&&d?!0:c(a)||Array.isArray(a)||0===d||"number"==typeof d&&d>0&&d-1 in a}function e(){return Object.create(null)}function f(b,c){var d,e=typeof b;return"function"==e||"object"==e&&null!==b?"function"==typeof(d=b.$$hashKey)?d=b.$$hashKey():void 0===d&&(d=b.$$hashKey=(c||a)()):d=b,e+":"+d}function g(a,b,c){var d,e,f=[],g=[];for(d=0;dc;c++)if(v(b,a[c]))return!0;return!1},o=function(a,b){var c,d=a.length;if(0===d)return-1;for(c=0;d>c;c++)if(v(b,a[c]))return c;return-1},p=function(a,b,c){var d,e=a,f=typeof c;if(a==b)return null;do if("string"===f){if(d=" "+e.className+" ",1===e.nodeType&&d.replace(/[\t\r\n\f]/g," ").indexOf(c)>=0)return e}else if(e==c)return e;while((e=e.parentNode)&&e!=b&&9!==e.nodeType);return null},q=function(a){var b,c=a.className.replace(/[\t\r\n\f]/g," ").trim();b=c.split(" ");for(var d=0;d0)for(var h=0;g>h;h++){if(c=f.eq(h),d=!0,e=q(c[0]),e.length>0)for(var i=0;id;d++)if(-1!==c.eq(d).text().toLowerCase().indexOf(b.toLowerCase()))return!0;return!1},u=angular.element,v=angular.equals,w=angular.copy,x=angular.module("nya.bootstrap.select",[]);x.controller("nyaBsSelectCtrl",function(){var a=this;a.keyIdentifier=null,a.valueIdentifier=null,a.isMultiple=!1,a.onCollectionChange=function(){},a.setId=function(b){a.id=b||"id#"+Math.floor(1e4*Math.random())}}),x.directive("nyaBsSelect",["$parse","$document","$timeout",function(a,b,c){var d="Nothing selected",e='',f='',g='',h='',j='
  • NO SEARCH RESULT
  • ';return{restrict:"ECA",require:["ngModel","nyaBsSelect"],controller:"nyaBsSelectCtrl",compile:function(k,l){console.log(k.attr("id")+" compiled"),k.addClass("btn-group");var m,x,y,z,A,B,C=k.children(),D=u(e),E=u(f),F=u(h);for(y=q(k[0]),y.forEach(function(a){/btn-(?:primary|info|success|warning|danger|inverse)/.test(a)&&(k.removeClass(a),D.removeClass("btn-default"),D.addClass(a)),(a="form-control")&&D.addClass(a)}),F.append(C),z=C.length,A=0;z>A;A++)B=C.eq(A),(B.hasClass("nya-bs-option")||B.attr("nya-bs-option"))&&B.find("a").attr("tabindex","0");return"true"===l.liveSearch&&(m=u(g),x=u(j),E.append(m),F.append(x)),D.children().eq(0).text(l.title?l.title:d),E.append(F),k.append(D),k.append(E),function(e,f,g,h){function j(){var a,b,c=L.children(),d=c.length;for(a=0;d>a;a++)if(b=c.eq(a),b.hasClass("active")&&b.hasClass("nya-bs-option"))return b;return null}function k(a){for(var b,c=a.childNodes,d=c.length,e=0;d>e;e++)if(b=c[e],1===b.nodeType&&"a"===b.tagName.toLowerCase()){b.focus();break}}function l(a){var b;return b=L.children().eq(a?0:L.children().length-1),!b.hasClass("nya-bs-option")||b.hasClass("disabled")||b.hasClass("not-match")?a?m(b[0],"nextSibling"):m(b[0],"previousSibling"):b[0]}function m(a,b){if(!a||r(a,"nya-bs-option")){for(var c=a;(c=i(c,b))&&c.nodeType;)if(r(c,"nya-bs-option")&&!r(c,"disabled")&&!r(c,"not-match"))return c;return null}}function q(a){var b,c,d,g=E.$modelValue;b=x(a),b&&(I?(c=Array.isArray(g)?w(g):[],d=o(c,b),-1===d?(c.push(b),a.addClass("selected")):(c.splice(d,1),a.removeClass("selected"))):(L.children().removeClass("selected"),c=b,a.addClass("selected")),E.$setViewValue(c),e.$digest()),I||f.removeClass("open"),z()}function x(a){var b;return D?(b=a.scope(),D(b)):F.valueIdentifier||F.keyIdentifier?(b=a.scope(),b[F.valueIdentifier]||b[F.keyIdentifier]):a.attr("value")}function y(a){var b=a.find("a");return 0===b.children().length||b.children().eq(0).hasClass("check-mark")?b[0].firstChild.cloneNode(!1):b.children().eq(0)[0].cloneNode(!0)}function z(){var a=E.$modelValue,b=J.children().eq(0);a&&(I&&0===a.length?g.title?(b.empty(),b.append(document.createTextNode(g.title))):(b.empty(),b.append(document.createTextNode(d))):c(function(){var c,e,f,h,i,j,k=L.children(),l=k.length,m=[];if(I&&"count"===g.selectedTextFormat?j=1:I&&g.selectedTextFormat&&(i=g.selectedTextFormat.match(/\s*count\s*>\s*(\d+)\s*/))&&(j=parseInt(i[1],10)),"undefined"!=typeof j&&a.length>j)return b.empty(),void b.append(document.createTextNode(a.length+" items selected"));for(f=0;l>f;f++)e=k.eq(f),e.hasClass("nya-bs-option")&&(c=x(e),I?Array.isArray(a)&&n(a,c)&&(h=e.attr("title"),m.push(h?document.createTextNode(h):y(e))):v(a,c)&&(h=e.attr("title"),m.push(h?document.createTextNode(h):y(e))));if(0===m.length)g.title?(b.empty(),b.append(document.createTextNode(g.title))):(b.empty(),b.append(document.createTextNode(d)));else if(1===m.length)b.empty(),b.append(m[0]);else for(b.empty(),f=0;fb;b++)if(a=c.eq(b),a.hasClass("nya-bs-option")||a.attr("nya-bs-option")){B=a[0].clientHeight;break}if(/\d+/.test(g.size)){var e=parseInt(g.size,10);L.css("max-height",e*B+"px"),L.css("overflow-y","auto")}}console.log(f.attr("id")+" linked");var B,C,D,E=h[0],F=h[1],G=!1,H=a(F.valueExp),I="undefined"!=typeof g.multiple,J=s(f,["dropdown-toggle"]),K=J.next(),L=s(K,["dropdown-menu","inner"]),M=s(K,["bs-searchbox"]),N=s(L,["no-search-result"]);F.valueExp&&(D=function(a,b){return H(a,b)}),F.setId(f.attr("id")),I&&(F.isMultiple=!0,E.$isEmpty=function(a){return!a||0===a.length}),"undefined"!=typeof g.disabled&&e.$watch(g.disabled,function(a){a?(J.addClass("disabled"),C=J.attr("tabindex"),J.attr("tabindex","-1"),G=!0):(J.removeClass("disabled"),C?J.attr("tabindex",C):J.removeAttr("tabindex"),G=!1)}),F.onCollectionChange=function(a){var b,c,d=[],f=E.$modelValue;if(f){if(a&&0!==a.length){if(D)for(b=0;ba;a++)b=f.eq(a),b.hasClass("nya-bs-option")&&(t(b.find("a"),d)?(b.removeClass("not-match"),e++):b.addClass("not-match"));0===e?N.addClass("show"):N.removeClass("show")}else{for(a=0;g>a;a++)b=f.eq(a),b.hasClass("nya-bs-option")&&b.removeClass("not-match");N.removeClass("show")}c=l(!0),c&&(f.removeClass("active"),u(c).addClass("active"))}),E.$render=function(){var a,b,c=E.$modelValue,d=L.children(),e=d.length;if("undefined"==typeof c)for(a=0;e>a;a++)d.eq(a).hasClass("nya-bs-option")&&d.eq(a).removeClass("selected");else for(a=0;e>a;a++)d.eq(a).hasClass("nya-bs-option")&&(b=x(d.eq(a)),I?n(c,b)?d.eq(a).addClass("selected"):d.eq(a).removeClass("selected"):v(c,b)?d.eq(a).addClass("selected"):d.eq(a).removeClass("selected"));console.log(F.id+" render end"),z()},f.on("keydown",function(a){var b=a.keyCode;if(27===b||13===b||38===b||40===b){if(a.preventDefault(),G)return void a.stopPropagation();var c,d,e,h,i=p(a.target,f[0],J[0]);"true"===g.liveSearch?d=p(a.target,f[0],M[0]):c=p(a.target,f[0],K[0]),i?(console.log("toggleButton"),13!==b&&38!==b&&40!==b||f.hasClass("open")||(a.stopPropagation(),f.addClass("open"),"undefined"==typeof B&&A(),"true"===g.liveSearch?(M.children().eq(0)[0].focus(),h=l(!0),h&&u(h).addClass("active")):(h=l(!0),h&&k(h)))):c?27===b?(J[0].focus(),f.removeClass("open"),a.stopPropagation()):38===b?(a.stopPropagation(),h=m(a.target.parentNode,"previousSibling"),h?k(h):(h=l(!1),h&&k(h))):40===b?(a.stopPropagation(),h=m(a.target.parentNode,"nextSibling"),h?k(h):(h=l(!0),h&&k(h))):13===b&&(a.stopPropagation(),e=u(a.target.parentNode),e.hasClass("nya-bs-option")&&(q(e),I||J[0].focus())):d&&(27===b?(J[0].focus(),f.removeClass("open"),a.stopPropagation()):38===b?(a.stopPropagation(),e=j(),e&&(h=m(e[0],"previousSibling"),h?(e.removeClass("active"),u(h).addClass("active")):(h=l(!1),h&&(e.removeClass("active"),u(h).addClass("active"))))):40===b?(a.stopPropagation(),e=j(),e&&(h=m(e[0],"nextSibling"),h?(e.removeClass("active"),u(h).addClass("active")):(h=l(!0),h&&(e.removeClass("active"),u(h).addClass("active"))))):13===b&&(e=j(),e&&(q(e),I||J[0].focus())))}})}}}}]),x.directive("nyaBsOption",["$parse",function(a){var b=/^\s*(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/;return{restrict:"A",transclude:"element",priority:1e3,terminal:!0,require:["^nyaBsSelect","^ngModel"],compile:function(c,i){var j=i.nyaBsOption,o=document.createComment(" end nyaBsOption: "+j+" "),p=j.match(b);if(!p)throw new Error("invalid expression");var q,r,s,t,w,x=i.value,y=x?a(x):null,z=p[3]||p[1],A=p[2],B=p[4],C=p[5]?a(p[5]):null,D=p[6],E={$id:f},F={};return D?t=a(D):(q=function(a,b){return f(b)},r=function(a){return a}),function(a,b,c,f,i){var j,p=f[0],D=f[1],G={};t&&(s=function(b,c,d){return A&&(E[A]=b),E[z]=c,E.$index=d,t(a,E)}),C&&(w=function(b,c){return A&&(F[A]=b),F[z]=c,C(a,F)}),A&&(p.keyIdentifier=A),z&&(p.valueIdentifier=z),y&&(p.valueExp=x,j=function(b,c){return A&&(G[A]=b),G[z]=c,y(a,G)});var H=e();a.$watchCollection(B,function(a){var c,f,t,x,y,B,C,E,F,G,I,J,K,L,M=b[0],N=e(),O=[];if(w&&(J=[]),d(a))B=a,y=s||q;else{y=s||r,B=[];for(var P in a)a.hasOwnProperty(P)&&"$"!=P.charAt(0)&&B.push(P);B.sort()}for(C=B.length,E=new Array(C),c=0;C>c;c++)if(f=a===B?c:B[c],t=a[f],x=y(f,t,c),L={},A&&(L[A]=f),L[z]=t,O.push(L),w&&(G=w(f,t),-1===J.indexOf(G)&&G&&J.push(G)),H[x])F=H[x],delete H[x],w&&(F.group=G),F.key=f,F.value=t,N[x]=F,E[c]=F;else{if(N[x])throw E.forEach(function(a){a&&a.scope&&(H[a.id]=a)}),new Error("Duplicates in a select are not allowed. Use 'track by' expression to specify unique keys.");E[c]={id:x,scope:void 0,clone:void 0,key:f,value:t},N[x]=!0,G&&(E[c].group=G)}J&&J.length>0&&(E=g(E,J,"group"));for(var Q in H)F=H[Q],h(F.clone).remove(),F.scope.$destroy();for(c=0;C>c;c++)F=E[c],F.scope?(I=M,k(F)!=I&&u(M).after(F.clone),M=l(F),m(F.scope,c,z,F.value,A,F.key,C,F.group)):i(function(a,b){F.scope=b;var d=o.cloneNode(!1);a[a.length++]=d,u(M).after(a),a.addClass("nya-bs-option"),t=j?j(F.key,F.value):F.value||F.key,p.isMultiple?Array.isArray(D.$modelValue)&&n(D.$modelValue,t)&&a.addClass("selected"):v(t,D.$modelValue)&&a.addClass("selected"),M=d,F.clone=a,N[F.id]=F,m(F.scope,c,z,F.value,A,F.key,C,F.group)}),J&&(K&&K===F.group?F.clone.removeClass("first-in-group"):F.clone.addClass("first-in-group"),K=F.group,F.clone.addClass("group-item"));H=N,p.onCollectionChange(O)})}}}}])}(); \ No newline at end of file diff --git a/docs/dist/css/main.css b/docs/dist/css/main.css index d2c3809..1823570 100644 --- a/docs/dist/css/main.css +++ b/docs/dist/css/main.css @@ -1,5 +1,5 @@ /** - * nya-bootstrap-select v2.0.2 + * nya-bootstrap-select v2.0.3 * Copyright 2014 Nyasoft * Licensed under MIT license */ diff --git a/docs/dist/css/nya-bs-select.css b/docs/dist/css/nya-bs-select.css index feebd1a..50d6147 100644 --- a/docs/dist/css/nya-bs-select.css +++ b/docs/dist/css/nya-bs-select.css @@ -1,5 +1,5 @@ /** - * nya-bootstrap-select v2.0.2 + * nya-bootstrap-select v2.0.3 * Copyright 2014 Nyasoft * Licensed under MIT license */ diff --git a/docs/dist/js/nya-bs-select.js b/docs/dist/js/nya-bs-select.js index 3cc00b5..3b5e4a0 100644 --- a/docs/dist/js/nya-bs-select.js +++ b/docs/dist/js/nya-bs-select.js @@ -1,5 +1,5 @@ /** - * nya-bootstrap-select v2.0.2 + * nya-bootstrap-select v2.0.3 * Copyright 2014 Nyasoft * Licensed under MIT license */ @@ -256,11 +256,12 @@ var queryChildren = function(element, classList) { var children = element.children(), length = children.length, child, - valid = true, + valid, classes; if(length > 0) { for(var i = 0; i < length; i++) { child = children.eq(i); + valid = true; classes = getClassList(child[0]); if(classes.length > 0) { for(var j = 0; j < classList.length; j++) { diff --git a/package.json b/package.json index 6df0587..edbb7cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nya-bootstrap-select", - "version": "2.0.2", + "version": "2.0.3", "description": "An angular directive wraps bootstrap-select", "repository": { "type": "git",