LeeChSien/angular-option-tree

View on GitHub
angular-option-tree.min.js

Summary

Maintainability
A
0 mins
Test Coverage
/*!
 * angular-option-tree v0.8.0
 * Author: Jason Lee
 * License: MIT
 */
!function(){"use strict";function a(){for(var a="",b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",c=0;10>c;c++)a+=b.charAt(Math.floor(Math.random()*b.length));return a}function b(a,c){var d=[];for(var e in a)if(a[e]===parseInt(a[e],10)){if(a[e]==c)return d.push(e),d}else if(d=b(a[e],c),d.length>0)return d.unshift(e),d;return[]}angular.module("option-tree",[]).directive("optionTree",["$http",function(c){return{restrict:"AC",link:function(d,e,f){function g(a){if(k.hasOwnProperty("preselect")&&delete k.preselect,$(e).val()){var c=b(a,$(e).val());c.length>0&&(k.preselect={},k.preselect[$(e).attr("name")]=c)}}function h(a){if(j){var b=$(e).val();$(i).optionTree("destroy"),$(e).val(b)}else j=!0;g(a),$(i).optionTree(a,k)}var i="",j=!1,k={select_class:$(e).attr("option-tree-class"),choose:$(e).attr("option-tree-prompt")};$(e).attr("name")||$(e).attr("name",a()),i="input[name='"+e.attr("name")+"']",d.$watch(f.optionTree,function(a){h(a)}),$(e).attr("option-tree-src")&&c.get($(e).attr("option-tree-src")).success(function(a){h(a)})}}}])}();