-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcondor.min.js
2 lines (2 loc) · 2.11 KB
/
condor.min.js
1
2
// CONDOR 1.5 Made by Chen Ye, MIT License
!function(n){n.fn.condor=function(t){function u(){return c=a.children(".condor-active").length}function r(n,i,t){a.append("<div class='field "+i+" '><div class='ui left icon input "+t+"'><input type='"+e.inputType+"' placeholder='"+e.inactiveHint+"'><i class='plus icon'></i></div></div>")}function d(){return r("","condor-active",""),a.children(".condor-active").filter(function(){return 0===n(this).find("input").val().length}).first()}function l(){var i=a.children(".condor-add");return r("add another link","condor-add",e.inactiveInputClass),e.addCallback.call(),i}function s(){a.hasClass("no-new")&&(a.removeClass("no-new"),u(),c<e.maxInputs&&l(c))}function f(){a.children(".condor-add").remove()}function p(){a.on("click focusin",".condor-add",function(){h(n(this))})}function v(){a.on("propertychange keyup input paste",".condor-active",function(){var t=n(this),e=t.find("input");""===e.val()?(a.addClass("no-new"),f()):s()}),a.on("blur",".condor-active input",function(){""===this.value&&c>e.minInputs&&(n(this).parent().parent().remove(),c-=1,s())})}function h(n){var i,t,o=n.find("input"),r=n.find("i.icon");c+=1,n.find(".input").removeClass(e.inactiveInputClass),r.removeClass("plus"),r.addClass(e.activeIcon),o.attr("placeholder",e.activeHint),e.uniqueNames?(i=u(),t=e.namePrefix+"-"+i,o.attr("name",t)):o.attr("name",e.namePrefix),n.addClass("condor-active"),n.removeClass("condor-add"),a.addClass("no-new"),e.activateCallback.call()}function m(){e.prepopulate.forEach(function(n){var e=d(u()),a=e.find("input");a.val(n),h(e)})}function C(){for(a.addClass("no-new"),v(),p(),m(),i=c;i<e.minInputs;i++)l(c);h(a.children(".condor-add"))}var e,a=n(this),c=0,o={getValues:function(){var n=[],i=0;return a.find(".condor-active input").each(function(){0!==this.value.length&&(n[i]=this.value,i+=1)}),n}};return o[t]?o[t].apply(this,[]):(e=n.extend({minInputs:1,maxInputs:10,namePrefix:"inputs",uniqueNames:!0,inactiveHint:"add input",inactiveInputClass:"inverted",activeHint:"",activeIcon:"linkify",addCallback:function(){},activateCallback:function(){},inputType:"text",prepopulate:[]},t),C(),this)}}(jQuery);