PATH:
home
/
letacommog
/
crmleta
/
consumerportal
/
libraries
/
angularjs
/
directives
/
modelOptions
angular.module("modelOptions",[]).directive("ngModelOptions",function(){return{priority:1,restrict:"A",require:["ngModel"],link:function(a,b,c,d){function e(){var e;switch(i){case"inputradio":e=c.ngValue?a.$eval(c.ngValue):b.val();break;case"inputcheckbox":e=b.prop("checked");break;case"select":e=f();break;default:e=b.val(),c.ngTrim&&"false"===c.ngTrim.toLowerCase()||(e=e.replace(/^\s+|\s+$/g,""))}a.$apply(function(){d[0].$setViewValue(e)})}function f(){if(!c.ngOptions)throw"Must have ng-options";var d,e=c.ngOptions.match(h),f=e[8],g=e[7],i=a.$eval(g),j=b.val();return f?angular.forEach(i,function(a,b){a[f.replace(/^.*?\./,"")]==j&&(d=b)}):d=j,/.*\..*/.test(e[1])?a.$eval(e[1].replace(/^.*?\./,g+"["+d+"].")):i[d]}var g,h=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,i=b[0].nodeName.toLowerCase()+(c.type||""),j=[],k={debounce:0,updateOn:"default"},l=angular.extend(k,a.$eval(c.ngModelOptions)),m="object"==typeof l.debounce,n=l.updateOn.split(" ");j="inputtext"===i||"textarea"===i?["keydown","input","change"]:"inputradio"===i||"inputcheckbox"===i?["click"]:"select"===i?["change"]:["keydown","input","change"],angular.forEach(j,function(a){try{b.off(a)}catch(c){}}),l.updateOn.match(/default/i)&&b.on(j.join(" "),function(){var a=l.debounce["default"]||l.debounce||0;clearTimeout(g),g=setTimeout(function(){e()},a)}),angular.forEach(n,function(a){if("default"!==a){var c;c=m?l.debounce[a]:l.debounce;var d=c;"undefined"==typeof d&&(d=l.debounce["default"]||0),b.on(a,function(){clearTimeout(g),g=setTimeout(function(){e()},d)})}})}}});
[+]
..
[-] ngModelOptions.js
[edit]
[-] package.json
[edit]
[-] README.md
[edit]
[+]
tests
[-] gruntFile.js
[edit]
[-] LICENSE
[edit]
[-] ngModelOptions.min.js
[edit]
[-] .gitignore
[edit]