diff --git a/dist/jquery.tagsinput.min.js b/dist/jquery.tagsinput.min.js index fbb0c7f..7616d2f 100644 --- a/dist/jquery.tagsinput.min.js +++ b/dist/jquery.tagsinput.min.js @@ -1 +1 @@ -!function(a){var b=new Array,c=new Array;a.fn.doAutosize=function(b){var c=a(this).data("minwidth"),d=a(this).data("maxwidth"),e="",f=a(this),g=a("#"+a(this).data("tester_id"));if(e!==(e=f.val())){var h=e.replace(/&/g,"&").replace(/\s/g," ").replace(//g,">");g.html(h);var i=g.width(),j=i+b.comfortZone>=c?i+b.comfortZone:c,k=f.width(),l=k>j&&j>=c||j>c&&d>j;l&&f.width(j)}},a.fn.resetAutosize=function(b){var c=a(this).data("minwidth")||b.minInputWidth||a(this).width(),d=a(this).data("maxwidth")||b.maxInputWidth||a(this).closest(".tagsinput").width()-b.inputPadding,e=a(this),f=a("").css({position:"absolute",top:-9999,left:-9999,width:"auto",fontSize:e.css("fontSize"),fontFamily:e.css("fontFamily"),fontWeight:e.css("fontWeight"),letterSpacing:e.css("letterSpacing"),whiteSpace:"nowrap"}),g=a(this).attr("id")+"_autosize_tester";!a("#"+g).length>0&&(f.attr("id",g),f.appendTo("body")),e.data("minwidth",c),e.data("maxwidth",d),e.data("tester_id",g),e.css("width",c)},a.fn.addTag=function(d,e){return e=jQuery.extend({focus:!1,callback:!0},e),this.each(function(){var f=a(this).attr("id"),g=a(this).val().split(b[f]);if(""==g[0]&&(g=new Array),d=jQuery.trim(d),e.unique){var h=a(this).tagExist(d);1==h&&a("#"+f+"_tag").addClass("not_valid")}else var h=!1;if(""!=d&&1!=h){if(a("").addClass("tag").append(a("").text(d).append("  "),a("",{href:"#",title:"Removing tag",text:"x"}).click(function(){return a("#"+f).removeTag(escape(d))})).insertBefore("#"+f+"_addTag"),g.push(d),a("#"+f+"_tag").val(""),e.focus?a("#"+f+"_tag").focus():a("#"+f+"_tag").blur(),a.fn.tagsInput.updateTagsField(this,g),e.callback&&c[f]&&c[f].onAddTag){var i=c[f].onAddTag;i.call(this,d)}if(c[f]&&c[f].onChange){var j=g.length,i=c[f].onChange;i.call(this,a(this),g[j-1])}}}),!1},a.fn.removeTag=function(d){return d=unescape(d),this.each(function(){var e=a(this).attr("id"),f=a(this).val().split(b[e]);for(a("#"+e+"_tagsinput .tag").remove(),str="",i=0;i=0},a.fn.importTags=function(b){var c=a(this).attr("id");a("#"+c+"_tagsinput .tag").remove(),a.fn.tagsInput.importTags(this,b)},a.fn.tagsInput=function(e){var f=jQuery.extend({interactive:!0,defaultText:"add a tag",minChars:0,width:"300px",height:"100px",autocomplete:{selectFirst:!1},hide:!0,delimiter:",",unique:!0,removeWithBackspace:!0,placeholderColor:"#666666",autosize:!0,comfortZone:20,inputPadding:12},e),g=0;return this.each(function(){if("undefined"==typeof a(this).attr("data-tagsinput-init")){a(this).attr("data-tagsinput-init",!0),f.hide&&a(this).hide();var e=a(this).attr("id");(!e||b[a(this).attr("id")])&&(e=a(this).attr("id","tags"+(new Date).getTime()+g++).attr("id"));var h=jQuery.extend({pid:e,real_input:"#"+e,holder:"#"+e+"_tagsinput",input_wrapper:"#"+e+"_addTag",fake_input:"#"+e+"_tag"},f);b[e]=h.delimiter,(f.onAddTag||f.onRemoveTag||f.onChange)&&(c[e]=new Array,c[e].onAddTag=f.onAddTag,c[e].onRemoveTag=f.onRemoveTag,c[e].onChange=f.onChange);var i='
';if(f.interactive&&(i=i+''),i+='
',a(i).insertAfter(this),a(h.holder).css("width",f.width),a(h.holder).css("min-height",f.height),a(h.holder).css("height",f.height),""!=a(h.real_input).val()&&a.fn.tagsInput.importTags(a(h.real_input),a(h.real_input).val()),f.interactive){if(a(h.fake_input).val(a(h.fake_input).attr("data-default")),a(h.fake_input).css("color",f.placeholderColor),a(h.fake_input).resetAutosize(f),a(h.holder).bind("click",h,function(b){a(b.data.fake_input).focus()}),a(h.fake_input).bind("focus",h,function(b){a(b.data.fake_input).val()==a(b.data.fake_input).attr("data-default")&&a(b.data.fake_input).val(""),a(b.data.fake_input).css("color","#000000")}),void 0!=f.autocomplete_url){autocomplete_options={source:f.autocomplete_url};for(attrname in f.autocomplete)autocomplete_options[attrname]=f.autocomplete[attrname];void 0!==jQuery.Autocompleter?(a(h.fake_input).autocomplete(f.autocomplete_url,f.autocomplete),a(h.fake_input).bind("result",h,function(b,c,d){c&&a("#"+e).addTag(c[0]+"",{focus:!0,unique:f.unique})})):void 0!==jQuery.ui.autocomplete&&(a(h.fake_input).autocomplete(autocomplete_options),a(h.fake_input).bind("autocompleteselect",h,function(b,c){return a(b.data.real_input).addTag(c.item.value,{focus:!0,unique:f.unique}),!1}))}else a(h.fake_input).bind("blur",h,function(b){var c=a(this).attr("data-default");return""!=a(b.data.fake_input).val()&&a(b.data.fake_input).val()!=c?b.data.minChars<=a(b.data.fake_input).val().length&&(!b.data.maxChars||b.data.maxChars>=a(b.data.fake_input).val().length)&&a(b.data.real_input).addTag(a(b.data.fake_input).val(),{focus:!0,unique:f.unique}):(a(b.data.fake_input).val(a(b.data.fake_input).attr("data-default")),a(b.data.fake_input).css("color",f.placeholderColor)),!1});a(h.fake_input).bind("keypress",h,function(b){return d(b)?(b.preventDefault(),b.data.minChars<=a(b.data.fake_input).val().length&&(!b.data.maxChars||b.data.maxChars>=a(b.data.fake_input).val().length)&&a(b.data.real_input).addTag(a(b.data.fake_input).val(),{focus:!0,unique:f.unique}),a(b.data.fake_input).resetAutosize(f),!1):void(b.data.autosize&&a(b.data.fake_input).doAutosize(f))}),h.removeWithBackspace&&a(h.fake_input).bind("keydown",function(b){if(8==b.keyCode&&""==a(this).val()){b.preventDefault();var c=a(this).closest(".tagsinput").find(".tag:last").text(),d=a(this).attr("id").replace(/_tag$/,"");c=c.replace(/[\s]+x$/,""),a("#"+d).removeTag(escape(c)),a(this).trigger("focus")}}),a(h.fake_input).blur(),h.unique&&a(h.fake_input).keydown(function(b){(8==b.keyCode||String.fromCharCode(b.which).match(/\w+|[áéíóúÁÉÍÓÚñÑ,/]+/))&&a(this).removeClass("not_valid")})}}}),this},a.fn.tagsInput.updateTagsField=function(c,d){var e=a(c).attr("id");a(c).val(d.join(b[e]))},a.fn.tagsInput.importTags=function(d,e){a(d).val("");var f=a(d).attr("id"),g=e.split(b[f]);for(i=0;i/g,">");g.html(h);var i=g.width(),j=i+b.comfortZone>=c?i+b.comfortZone:c;(j=c||j>c&&j").css({position:"absolute",top:-9999,left:-9999,width:"auto",fontSize:e.css("fontSize"),fontFamily:e.css("fontFamily"),fontWeight:e.css("fontWeight"),letterSpacing:e.css("letterSpacing"),whiteSpace:"nowrap"}),g=a(this).attr("id")+"_autosize_tester";!a("#"+g).length>0&&(f.attr("id",g),f.appendTo("body")),e.data("minwidth",c),e.data("maxwidth",d),e.data("tester_id",g),e.css("width",c)},a.fn.addTag=function(d,e){return e=jQuery.extend({focus:!1,callback:!0},e),this.each(function(){var f=a(this).attr("id"),g=a(this).val().split(b[f]);if(""==g[0]&&(g=new Array),d=jQuery.trim(d),e.unique){var h=a(this).tagExist(d);1==h&&a("#"+f+"_tag").addClass("not_valid")}else var h=!1;if(""!=d&&1!=h){if(a("").addClass("tag").append(a("").text(d).append("  "),a("
",{href:"#",title:"Removing tag",text:"x"}).click(function(){return a("#"+f).removeTag(escape(d))})).insertBefore("#"+f+"_addTag"),g.push(d),a("#"+f+"_tag").val(""),e.focus?a("#"+f+"_tag").focus():a("#"+f+"_tag").blur(),a.fn.tagsInput.updateTagsField(this,g),e.callback&&c[f]&&c[f].onAddTag){var i=c[f].onAddTag;i.call(this,d)}if(c[f]&&c[f].onChange){var j=g.length,i=c[f].onChange;i.call(this,a(this),g[j-1])}}}),!1},a.fn.removeTag=function(d){return d=unescape(d),this.each(function(){var e=a(this).attr("id"),f=a(this).val().split(b[e]);a("#"+e+"_tagsinput .tag").remove(),str="";for(var g=0;g=0},a.fn.importTags=function(b){var c=a(this).attr("id");a("#"+c+"_tagsinput .tag").remove(),a.fn.tagsInput.importTags(this,b)},a.fn.tagsInput=function(e){var f=jQuery.extend({interactive:!0,defaultText:"add a tag",minChars:0,width:"300px",height:"100px",autocomplete:{selectFirst:!1},hide:!0,delimiter:",",unique:!0,removeWithBackspace:!0,placeholderColor:"#666666",autosize:!0,comfortZone:20,inputPadding:12},e),g=0;return this.each(function(){if(void 0===a(this).attr("data-tagsinput-init")){a(this).attr("data-tagsinput-init",!0),f.hide&&a(this).hide();var e=a(this).attr("id");e&&!b[a(this).attr("id")]||(e=a(this).attr("id","tags"+(new Date).getTime()+g++).attr("id"));var h=jQuery.extend({pid:e,real_input:"#"+e,holder:"#"+e+"_tagsinput",input_wrapper:"#"+e+"_addTag",fake_input:"#"+e+"_tag"},f);b[e]=h.delimiter,(f.onAddTag||f.onRemoveTag||f.onChange)&&(c[e]=new Array,c[e].onAddTag=f.onAddTag,c[e].onRemoveTag=f.onRemoveTag,c[e].onChange=f.onChange);var i='
';if(f.interactive&&(i=i+''),i+='
',a(i).insertAfter(this),a(h.holder).css("width",f.width),a(h.holder).css("min-height",f.height),a(h.holder).css("height",f.height),""!=a(h.real_input).val()&&a.fn.tagsInput.importTags(a(h.real_input),a(h.real_input).val()),f.interactive){if(a(h.fake_input).val(a(h.fake_input).attr("data-default")),a(h.fake_input).css("color",f.placeholderColor),a(h.fake_input).resetAutosize(f),a(h.holder).bind("click",h,function(b){a(b.data.fake_input).focus()}),a(h.fake_input).bind("focus",h,function(b){a(b.data.fake_input).val()==a(b.data.fake_input).attr("data-default")&&a(b.data.fake_input).val(""),a(b.data.fake_input).css("color","#000000")}),void 0!=f.autocomplete_url){autocomplete_options={source:f.autocomplete_url};for(var j in f.autocomplete)autocomplete_options[j]=f.autocomplete[j];void 0!==jQuery.Autocompleter?(a(h.fake_input).autocomplete(f.autocomplete_url,f.autocomplete),a(h.fake_input).bind("result",h,function(b,c,d){c&&a("#"+e).addTag(c[0]+"",{focus:!0,unique:f.unique})})):void 0!==jQuery.ui.autocomplete&&(a(h.fake_input).autocomplete(autocomplete_options),a(h.fake_input).bind("autocompleteselect",h,function(b,c){return a(b.data.real_input).addTag(c.item.value,{focus:!0,unique:f.unique}),!1}))}else a(h.fake_input).bind("blur",h,function(b){var c=a(this).attr("data-default");return""!=a(b.data.fake_input).val()&&a(b.data.fake_input).val()!=c?b.data.minChars<=a(b.data.fake_input).val().length&&(!b.data.maxChars||b.data.maxChars>=a(b.data.fake_input).val().length)&&a(b.data.real_input).addTag(a(b.data.fake_input).val(),{focus:!0,unique:f.unique}):(a(b.data.fake_input).val(a(b.data.fake_input).attr("data-default")),a(b.data.fake_input).css("color",f.placeholderColor)),!1});a(h.fake_input).bind("keypress",h,function(b){if(d(b))return b.preventDefault(),b.data.minChars<=a(b.data.fake_input).val().length&&(!b.data.maxChars||b.data.maxChars>=a(b.data.fake_input).val().length)&&a(b.data.real_input).addTag(a(b.data.fake_input).val(),{focus:!0,unique:f.unique}),a(b.data.fake_input).resetAutosize(f),!1;b.data.autosize&&a(b.data.fake_input).doAutosize(f)}),h.removeWithBackspace&&a(h.fake_input).bind("keydown",function(b){if(8==b.keyCode&&""==a(this).val()){b.preventDefault();var c=a(this).closest(".tagsinput").find(".tag:last").text(),d=a(this).attr("id").replace(/_tag$/,"");c=c.replace(/[\s]+x$/,""),a("#"+d).removeTag(escape(c)),a(this).trigger("focus")}}),a(h.fake_input).blur(),h.unique&&a(h.fake_input).keydown(function(b){(8==b.keyCode||String.fromCharCode(b.which).match(/\w+|[áéíóúÁÉÍÓÚñÑ,\/]+/))&&a(this).removeClass("not_valid")})}}}),this},a.fn.tagsInput.updateTagsField=function(c,d){var e=a(c).attr("id");a(c).val(d.join(b[e]))},a.fn.tagsInput.importTags=function(d,e){a(d).val("");for(var f=a(d).attr("id"),g=e.split(b[f]),h=0;h/g, '>'); - testSubject.html(escaped); - // Calculate new width + whether to change - var testerWidth = testSubject.width(), - newWidth = (testerWidth + o.comfortZone) >= minWidth ? testerWidth + o.comfortZone : minWidth, - currentWidth = input.width(), - isValidWidthChange = (newWidth < currentWidth && newWidth >= minWidth) - || (newWidth > minWidth && newWidth < maxWidth); - - // Animate width - if (isValidWidthChange) { - input.width(newWidth); - } - - - }; - $.fn.resetAutosize = function(options){ - // alert(JSON.stringify(options)); - var minWidth = $(this).data('minwidth') || options.minInputWidth || $(this).width(), - maxWidth = $(this).data('maxwidth') || options.maxInputWidth || ($(this).closest('.tagsinput').width() - options.inputPadding), - val = '', - input = $(this), - testSubject = $('').css({ - position: 'absolute', - top: -9999, - left: -9999, - width: 'auto', - fontSize: input.css('fontSize'), - fontFamily: input.css('fontFamily'), - fontWeight: input.css('fontWeight'), - letterSpacing: input.css('letterSpacing'), - whiteSpace: 'nowrap' - }), - testerId = $(this).attr('id')+'_autosize_tester'; - if(! $('#'+testerId).length > 0){ - testSubject.attr('id', testerId); - testSubject.appendTo('body'); - } - - input.data('minwidth', minWidth); - input.data('maxwidth', maxWidth); - input.data('tester_id', testerId); - input.css('width', minWidth); - }; - - $.fn.addTag = function(value,options) { - options = jQuery.extend({focus:false,callback:true},options); - this.each(function() { - var id = $(this).attr('id'); - - var tagslist = $(this).val().split(delimiter[id]); - if (tagslist[0] == '') { - tagslist = new Array(); - } + $.fn.doAutosize = function (o) { + var minWidth = $(this).data('minwidth'), + maxWidth = $(this).data('maxwidth'), + val = '', + input = $(this), + testSubject = $('#' + $(this).data('tester_id')); + + if (val === (val = input.val())) { return; } + + // Enter new content into testSubject + var escaped = val.replace(/&/g, '&').replace(/\s/g, ' ').replace(//g, '>'); + testSubject.html(escaped); + // Calculate new width + whether to change + var testerWidth = testSubject.width(), + newWidth = (testerWidth + o.comfortZone) >= minWidth ? testerWidth + o.comfortZone : minWidth, + currentWidth = input.width(), + isValidWidthChange = (newWidth < currentWidth && newWidth >= minWidth) + || (newWidth > minWidth && newWidth < maxWidth); + + // Animate width + if (isValidWidthChange) { + input.width(newWidth); + } - value = jQuery.trim(value); - if (options.unique) { - var skipTag = $(this).tagExist(value); - if(skipTag == true) { - //Marks fake input as not_valid to let styling it - $('#'+id+'_tag').addClass('not_valid'); - } - } else { - var skipTag = false; + }; + $.fn.resetAutosize = function (options) { + // alert(JSON.stringify(options)); + var minWidth = $(this).data('minwidth') || options.minInputWidth || $(this).width(), + maxWidth = $(this).data('maxwidth') || options.maxInputWidth || ($(this).closest('.tagsinput').width() - options.inputPadding), + val = '', + input = $(this), + testSubject = $('').css({ + position: 'absolute', + top: -9999, + left: -9999, + width: 'auto', + fontSize: input.css('fontSize'), + fontFamily: input.css('fontFamily'), + fontWeight: input.css('fontWeight'), + letterSpacing: input.css('letterSpacing'), + whiteSpace: 'nowrap' + }), + testerId = $(this).attr('id') + '_autosize_tester'; + if (!$('#' + testerId).length > 0) { + testSubject.attr('id', testerId); + testSubject.appendTo('body'); + } + + input.data('minwidth', minWidth); + input.data('maxwidth', maxWidth); + input.data('tester_id', testerId); + input.css('width', minWidth); + }; + + $.fn.addTag = function (value, options) { + options = jQuery.extend({ focus: false, callback: true }, options); + this.each(function () { + var id = $(this).attr('id'); + + var tagslist = $(this).val().split(delimiter[id]); + if (tagslist[0] == '') { + tagslist = new Array(); + } + + value = jQuery.trim(value); + + if (options.unique) { + var skipTag = $(this).tagExist(value); + if (skipTag == true) { + //Marks fake input as not_valid to let styling it + $('#' + id + '_tag').addClass('not_valid'); } + } else { + var skipTag = false; + } - if (value !='' && skipTag != true) { - $('').addClass('tag').append( - $('').text(value).append('  '), - $('
', { - href : '#', - title : 'Removing tag', - text : 'x' - }).click(function () { - return $('#' + id).removeTag(escape(value)); - }) - ).insertBefore('#' + id + '_addTag'); - - tagslist.push(value); - - $('#'+id+'_tag').val(''); - if (options.focus) { - $('#'+id+'_tag').focus(); - } else { - $('#'+id+'_tag').blur(); - } + if (value != '' && skipTag != true) { + $('').addClass('tag').append( + $('').text(value).append('  '), + $('', { + href: '#', + title: 'Removing tag', + text: 'x' + }).click(function () { + return $('#' + id).removeTag(escape(value)); + }) + ).insertBefore('#' + id + '_addTag'); + + tagslist.push(value); + + $('#' + id + '_tag').val(''); + if (options.focus) { + $('#' + id + '_tag').focus(); + } else { + $('#' + id + '_tag').blur(); + } - $.fn.tagsInput.updateTagsField(this,tagslist); + $.fn.tagsInput.updateTagsField(this, tagslist); - if (options.callback && tags_callbacks[id] && tags_callbacks[id]['onAddTag']) { - var f = tags_callbacks[id]['onAddTag']; - f.call(this, value); - } - if(tags_callbacks[id] && tags_callbacks[id]['onChange']) - { - var i = tagslist.length; - var f = tags_callbacks[id]['onChange']; - f.call(this, $(this), tagslist[i-1]); - } + if (options.callback && tags_callbacks[id] && tags_callbacks[id]['onAddTag']) { + var f = tags_callbacks[id]['onAddTag']; + f.call(this, value); + } + if (tags_callbacks[id] && tags_callbacks[id]['onChange']) { + var i = tagslist.length; + var f = tags_callbacks[id]['onChange']; + f.call(this, $(this), tagslist[i - 1]); } + } - }); + }); - return false; - }; + return false; + }; - $.fn.removeTag = function(value) { - value = unescape(value); - this.each(function() { - var id = $(this).attr('id'); + $.fn.removeTag = function (value) { + value = unescape(value); + this.each(function () { + var id = $(this).attr('id'); - var old = $(this).val().split(delimiter[id]); + var old = $(this).val().split(delimiter[id]); - $('#'+id+'_tagsinput .tag').remove(); - str = ''; - for (i=0; i< old.length; i++) { - if (old[i]!=value) { - str = str + delimiter[id] +old[i]; - } + $('#' + id + '_tagsinput .tag').remove(); + str = ''; + for (var i = 0; i < old.length; i++) { + if (old[i] != value) { + str = str + delimiter[id] + old[i]; } + } - $.fn.tagsInput.importTags(this,str); + $.fn.tagsInput.importTags(this, str); - if (tags_callbacks[id] && tags_callbacks[id]['onRemoveTag']) { - var f = tags_callbacks[id]['onRemoveTag']; - f.call(this, value); - } - }); + if (tags_callbacks[id] && tags_callbacks[id]['onRemoveTag']) { + var f = tags_callbacks[id]['onRemoveTag']; + f.call(this, value); + } + }); - return false; - }; + return false; + }; - $.fn.tagExist = function(val) { + $.fn.tagExist = function (val) { var id = $(this).attr('id'); var tagslist = $(this).val().split(delimiter[id]); return (jQuery.inArray(val, tagslist) >= 0); //true when tag exists, false when not }; - // clear all existing tags and import new ones from a string - $.fn.importTags = function(str) { - var id = $(this).attr('id'); - $('#'+id+'_tagsinput .tag').remove(); - $.fn.tagsInput.importTags(this,str); - } - - $.fn.tagsInput = function(options) { - var settings = jQuery.extend({ - interactive:true, - defaultText:'add a tag', - minChars:0, - width:'300px', - height:'100px', - autocomplete: {selectFirst: false }, - hide:true, - delimiter: ',', - unique:true, - removeWithBackspace:true, - placeholderColor:'#666666', - autosize: true, - comfortZone: 20, - inputPadding: 6*2 - },options); - - var uniqueIdCounter = 0; - - this.each(function() { - // If we have already initialized the field, do not do it again - if (typeof $(this).attr('data-tagsinput-init') !== 'undefined') { - return; - } - - // Mark the field as having been initialized - $(this).attr('data-tagsinput-init', true); + // clear all existing tags and import new ones from a string + $.fn.importTags = function (str) { + var id = $(this).attr('id'); + $('#' + id + '_tagsinput .tag').remove(); + $.fn.tagsInput.importTags(this, str); + } + + $.fn.tagsInput = function (options) { + var settings = jQuery.extend({ + interactive: true, + defaultText: 'add a tag', + minChars: 0, + width: '300px', + height: '100px', + autocomplete: { selectFirst: false }, + hide: true, + delimiter: ',', + unique: true, + removeWithBackspace: true, + placeholderColor: '#666666', + autosize: true, + comfortZone: 20, + inputPadding: 6 * 2 + }, options); + + var uniqueIdCounter = 0; + + this.each(function () { + // If we have already initialized the field, do not do it again + if (typeof $(this).attr('data-tagsinput-init') !== 'undefined') { + return; + } + + // Mark the field as having been initialized + $(this).attr('data-tagsinput-init', true); if (settings.hide) { $(this).hide(); @@ -212,12 +211,12 @@ } var data = jQuery.extend({ - pid:id, - real_input: '#'+id, - holder: '#'+id+'_tagsinput', - input_wrapper: '#'+id+'_addTag', - fake_input: '#'+id+'_tag' - },settings); + pid: id, + real_input: '#' + id, + holder: '#' + id + '_tagsinput', + input_wrapper: '#' + id + '_addTag', + fake_input: '#' + id + '_tag' + }, settings); delimiter[id] = data.delimiter; @@ -228,112 +227,110 @@ tags_callbacks[id]['onChange'] = settings.onChange; } - var markup = '
'; + var markup = '
'; if (settings.interactive) { - markup = markup + ''; + markup = markup + ''; } markup = markup + '
'; $(markup).insertAfter(this); - $(data.holder).css('width',settings.width); - $(data.holder).css('min-height',settings.height); - $(data.holder).css('height',settings.height); + $(data.holder).css('width', settings.width); + $(data.holder).css('min-height', settings.height); + $(data.holder).css('height', settings.height); - if ($(data.real_input).val()!='') { - $.fn.tagsInput.importTags($(data.real_input),$(data.real_input).val()); + if ($(data.real_input).val() != '') { + $.fn.tagsInput.importTags($(data.real_input), $(data.real_input).val()); } if (settings.interactive) { $(data.fake_input).val($(data.fake_input).attr('data-default')); - $(data.fake_input).css('color',settings.placeholderColor); - $(data.fake_input).resetAutosize(settings); + $(data.fake_input).css('color', settings.placeholderColor); + $(data.fake_input).resetAutosize(settings); - $(data.holder).bind('click',data,function(event) { + $(data.holder).bind('click', data, function (event) { $(event.data.fake_input).focus(); }); - $(data.fake_input).bind('focus',data,function(event) { - if ($(event.data.fake_input).val()==$(event.data.fake_input).attr('data-default')) { + $(data.fake_input).bind('focus', data, function (event) { + if ($(event.data.fake_input).val() == $(event.data.fake_input).attr('data-default')) { $(event.data.fake_input).val(''); } - $(event.data.fake_input).css('color','#000000'); + $(event.data.fake_input).css('color', '#000000'); }); if (settings.autocomplete_url != undefined) { - autocomplete_options = {source: settings.autocomplete_url}; - for (attrname in settings.autocomplete) { + autocomplete_options = { source: settings.autocomplete_url }; + for (var attrname in settings.autocomplete) { autocomplete_options[attrname] = settings.autocomplete[attrname]; } if (jQuery.Autocompleter !== undefined) { $(data.fake_input).autocomplete(settings.autocomplete_url, settings.autocomplete); - $(data.fake_input).bind('result',data,function(event,data,formatted) { + $(data.fake_input).bind('result', data, function (event, data, formatted) { if (data) { - $('#'+id).addTag(data[0] + "",{focus:true,unique:(settings.unique)}); + $('#' + id).addTag(data[0] + "", { focus: true, unique: (settings.unique) }); } - }); + }); } else if (jQuery.ui.autocomplete !== undefined) { $(data.fake_input).autocomplete(autocomplete_options); - $(data.fake_input).bind('autocompleteselect',data,function(event,ui) { - $(event.data.real_input).addTag(ui.item.value,{focus:true,unique:(settings.unique)}); + $(data.fake_input).bind('autocompleteselect', data, function (event, ui) { + $(event.data.real_input).addTag(ui.item.value, { focus: true, unique: (settings.unique) }); return false; }); } } else { - // if a user tabs out of the field, create a new tag - // this is only available if autocomplete is not used. - $(data.fake_input).bind('blur',data,function(event) { - var d = $(this).attr('data-default'); - if ($(event.data.fake_input).val()!='' && $(event.data.fake_input).val()!=d) { - if( (event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length)) ) - $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)}); - } else { - $(event.data.fake_input).val($(event.data.fake_input).attr('data-default')); - $(event.data.fake_input).css('color',settings.placeholderColor); - } - return false; - }); + // if a user tabs out of the field, create a new tag + // this is only available if autocomplete is not used. + $(data.fake_input).bind('blur', data, function (event) { + var d = $(this).attr('data-default'); + if ($(event.data.fake_input).val() != '' && $(event.data.fake_input).val() != d) { + if ((event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length))) + $(event.data.real_input).addTag($(event.data.fake_input).val(), { focus: true, unique: (settings.unique) }); + } else { + $(event.data.fake_input).val($(event.data.fake_input).attr('data-default')); + $(event.data.fake_input).css('color', settings.placeholderColor); + } + return false; + }); } // if user types a default delimiter like comma,semicolon and then create a new tag - $(data.fake_input).bind('keypress',data,function(event) { + $(data.fake_input).bind('keypress', data, function (event) { if (_checkDelimiter(event)) { - event.preventDefault(); - if( (event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length)) ) - $(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)}); - $(event.data.fake_input).resetAutosize(settings); + event.preventDefault(); + if ((event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length))) + $(event.data.real_input).addTag($(event.data.fake_input).val(), { focus: true, unique: (settings.unique) }); + $(event.data.fake_input).resetAutosize(settings); return false; } else if (event.data.autosize) { - $(event.data.fake_input).doAutosize(settings); + $(event.data.fake_input).doAutosize(settings); - } + } }); //Delete last tag on backspace - data.removeWithBackspace && $(data.fake_input).bind('keydown', function(event) - { - if(event.keyCode == 8 && $(this).val() == '') - { - event.preventDefault(); - var last_tag = $(this).closest('.tagsinput').find('.tag:last').text(); - var id = $(this).attr('id').replace(/_tag$/, ''); - last_tag = last_tag.replace(/[\s]+x$/, ''); - $('#' + id).removeTag(escape(last_tag)); - $(this).trigger('focus'); + data.removeWithBackspace && $(data.fake_input).bind('keydown', function (event) { + if (event.keyCode == 8 && $(this).val() == '') { + event.preventDefault(); + var last_tag = $(this).closest('.tagsinput').find('.tag:last').text(); + var id = $(this).attr('id').replace(/_tag$/, ''); + last_tag = last_tag.replace(/[\s]+x$/, ''); + $('#' + id).removeTag(escape(last_tag)); + $(this).trigger('focus'); } }); $(data.fake_input).blur(); //Removes the not_valid class when user changes the value of the fake input - if(data.unique) { - $(data.fake_input).keydown(function(event){ - if(event.keyCode == 8 || String.fromCharCode(event.which).match(/\w+|[áéíóúÁÉÍÓÚñÑ,/]+/)) { - $(this).removeClass('not_valid'); - } - }); + if (data.unique) { + $(data.fake_input).keydown(function (event) { + if (event.keyCode == 8 || String.fromCharCode(event.which).match(/\w+|[áéíóúÁÉÍÓÚñÑ,/]+/)) { + $(this).removeClass('not_valid'); + } + }); } } // if settings.interactive }); @@ -342,49 +339,48 @@ }; - $.fn.tagsInput.updateTagsField = function(obj,tagslist) { + $.fn.tagsInput.updateTagsField = function (obj, tagslist) { var id = $(obj).attr('id'); $(obj).val(tagslist.join(delimiter[id])); }; - $.fn.tagsInput.importTags = function(obj,val) { + $.fn.tagsInput.importTags = function (obj, val) { $(obj).val(''); var id = $(obj).attr('id'); var tags = val.split(delimiter[id]); - for (i=0; i