diff --git a/lib/bootstrap/tagsinput/rails/version.rb b/lib/bootstrap/tagsinput/rails/version.rb
index 2e47e91..75b54a6 100644
--- a/lib/bootstrap/tagsinput/rails/version.rb
+++ b/lib/bootstrap/tagsinput/rails/version.rb
@@ -1,7 +1,7 @@
module Bootstrap
module Tagsinput
module Rails
- VERSION = "0.4.2.1"
+ VERSION = "0.7.1"
end
end
end
diff --git a/vendor/assets/javascripts/bootstrap-tagsinput-angular.js b/vendor/assets/javascripts/bootstrap-tagsinput-angular.js
old mode 100755
new mode 100644
diff --git a/vendor/assets/javascripts/bootstrap-tagsinput-angular.min.js b/vendor/assets/javascripts/bootstrap-tagsinput-angular.min.js
old mode 100755
new mode 100644
index b5cc404..d80ccfa
--- a/vendor/assets/javascripts/bootstrap-tagsinput-angular.min.js
+++ b/vendor/assets/javascripts/bootstrap-tagsinput-angular.min.js
@@ -1,7 +1,7 @@
/*
- * bootstrap-tagsinput v0.4.2 by Tim Schlechter
+ * bootstrap-tagsinput v0.7.1 by Tim Schlechter
*
*/
-angular.module("bootstrap-tagsinput",[]).directive("bootstrapTagsinput",[function(){function a(a,b){return b?angular.isFunction(a.$parent[b])?a.$parent[b]:function(a){return a[b]}:void 0}return{restrict:"EA",scope:{model:"=ngModel"},template:"",replace:!1,link:function(b,c,d){$(function(){angular.isArray(b.model)||(b.model=[]);var e=$("select",c),f=d.typeaheadSource?d.typeaheadSource.split("."):null,g=f?f.length>1?b.$parent[f[0]][f[1]]:b.$parent[f[0]]:null;e.tagsinput(b.$parent[d.options||""]||{typeahead:{source:angular.isFunction(g)?g:null},itemValue:a(b,d.itemvalue),itemText:a(b,d.itemtext),confirmKeys:a(b,d.confirmkeys)?JSON.parse(d.confirmkeys):[13],tagClass:angular.isFunction(b.$parent[d.tagclass])?b.$parent[d.tagclass]:function(){return d.tagclass}});for(var h=0;h",replace:!1,link:function(b,c,d){$(function(){angular.isArray(b.model)||(b.model=[]);var e=$("select",c),f=d.typeaheadSource?d.typeaheadSource.split("."):null,g=f?f.length>1?b.$parent[f[0]][f[1]]:b.$parent[f[0]]:null;e.tagsinput(b.$parent[d.options||""]||{typeahead:{source:angular.isFunction(g)?g:null},itemValue:a(b,d.itemvalue),itemText:a(b,d.itemtext),confirmKeys:a(b,d.confirmkeys)?JSON.parse(d.confirmkeys):[13],tagClass:angular.isFunction(b.$parent[d.tagclass])?b.$parent[d.tagclass]:function(a){return d.tagclass}});for(var h=0;h');
this.$input = $('').appendTo(this.$container);
- this.$element.after(this.$container);
+ this.$element.before(this.$container);
- var inputWidth = (this.inputSize < 3 ? 3 : this.inputSize) + "em";
- this.$input.get(0).style.cssText = "width: " + inputWidth + " !important;";
this.build(options);
+ this.isInit = false;
}
TagsInput.prototype = {
@@ -55,7 +61,7 @@
* Adds the given item as a new tag. Pass true to dontPushVal to prevent
* updating the elements val()
*/
- add: function(item, dontPushVal) {
+ add: function(item, dontPushVal, options) {
var self = this;
if (self.options.maxTags && self.itemsArray.length >= self.options.maxTags)
@@ -83,7 +89,8 @@
self.remove(self.itemsArray[0]);
if (typeof item === "string" && this.$element[0].tagName === 'INPUT') {
- var items = item.split(',');
+ var delimiter = (self.options.delimiterRegex) ? self.options.delimiterRegex : self.options.delimiter;
+ var items = item.split(delimiter);
if (items.length > 1) {
for (var i = 0; i < items.length; i++) {
this.add(items[i], true);
@@ -97,7 +104,8 @@
var itemValue = self.options.itemValue(item),
itemText = self.options.itemText(item),
- tagClass = self.options.tagClass(item);
+ tagClass = self.options.tagClass(item),
+ itemTitle = self.options.itemTitle(item);
// Ignore items allready added
var existing = $.grep(self.itemsArray, function(item) { return self.options.itemValue(item) === itemValue; } )[0];
@@ -115,7 +123,7 @@
return;
// raise beforeItemAdd arg
- var beforeItemAddEvent = $.Event('beforeItemAdd', { item: item, cancel: false });
+ var beforeItemAddEvent = $.Event('beforeItemAdd', { item: item, cancel: false, options: options});
self.$element.trigger(beforeItemAddEvent);
if (beforeItemAddEvent.cancel)
return;
@@ -124,13 +132,20 @@
self.itemsArray.push(item);
// add a tag element
- var $tag = $('' + htmlEncode(itemText) + '');
+
+ var $tag = $('' + htmlEncode(itemText) + '');
$tag.data('item', item);
self.findInputWrapper().before($tag);
$tag.after(' ');
+ // Check to see if the tag exists in its raw or uri-encoded form
+ var optionExists = (
+ $('option[value="' + encodeURIComponent(itemValue) + '"]', self.$element).length ||
+ $('option[value="' + htmlEncode(itemValue) + '"]', self.$element).length
+ );
+
// add if item represents a value not present in one of the 's options
- if (self.isSelect && !$('option[value="' + encodeURIComponent(itemValue) + '"]',self.$element)[0]) {
+ if (self.isSelect && !optionExists) {
var $option = $('');
$option.data('item', item);
$option.attr('value', itemValue);
@@ -144,14 +159,23 @@
if (self.options.maxTags === self.itemsArray.length || self.items().toString().length === self.options.maxInputLength)
self.$container.addClass('bootstrap-tagsinput-max');
- self.$element.trigger($.Event('itemAdded', { item: item }));
+ // If using typeahead, once the tag has been added, clear the typeahead value so it does not stick around in the input.
+ if ($('.typeahead, .twitter-typeahead', self.$container).length) {
+ self.$input.typeahead('val', '');
+ }
+
+ if (this.isInit) {
+ self.$element.trigger($.Event('itemAddedOnInit', { item: item, options: options }));
+ } else {
+ self.$element.trigger($.Event('itemAdded', { item: item, options: options }));
+ }
},
/**
* Removes the given item. Pass true to dontPushVal to prevent updating the
* elements val()
*/
- remove: function(item, dontPushVal) {
+ remove: function(item, dontPushVal, options) {
var self = this;
if (self.objectItems) {
@@ -164,7 +188,7 @@
}
if (item) {
- var beforeItemRemoveEvent = $.Event('beforeItemRemove', { item: item, cancel: false });
+ var beforeItemRemoveEvent = $.Event('beforeItemRemove', { item: item, cancel: false, options: options });
self.$element.trigger(beforeItemRemoveEvent);
if (beforeItemRemoveEvent.cancel)
return;
@@ -182,7 +206,7 @@
if (self.options.maxTags > self.itemsArray.length)
self.$container.removeClass('bootstrap-tagsinput-max');
- self.$element.trigger($.Event('itemRemoved', { item: item }));
+ self.$element.trigger($.Event('itemRemoved', { item: item, options: options }));
},
/**
@@ -261,7 +285,7 @@
makeOptionItemFunction(self.options, 'itemValue');
makeOptionItemFunction(self.options, 'itemText');
makeOptionFunction(self.options, 'tagClass');
-
+
// Typeahead Bootstrap version 2.3.2
if (self.options.typeahead) {
var typeahead = self.options.typeahead || {};
@@ -299,6 +323,7 @@
},
updater: function (text) {
self.add(this.map[text]);
+ return this.map[text];
},
matcher: function (text) {
return (text.toLowerCase().indexOf(this.query.trim().toLowerCase()) !== -1);
@@ -315,11 +340,21 @@
// typeahead.js
if (self.options.typeaheadjs) {
- var typeaheadjs = self.options.typeaheadjs || {};
-
- self.$input.typeahead(null, typeaheadjs).on('typeahead:selected', $.proxy(function (obj, datum) {
- if (typeaheadjs.valueKey)
- self.add(datum[typeaheadjs.valueKey]);
+ var typeaheadConfig = null;
+ var typeaheadDatasets = {};
+
+ // Determine if main configurations were passed or simply a dataset
+ var typeaheadjs = self.options.typeaheadjs;
+ if ($.isArray(typeaheadjs)) {
+ typeaheadConfig = typeaheadjs[0];
+ typeaheadDatasets = typeaheadjs[1];
+ } else {
+ typeaheadDatasets = typeaheadjs;
+ }
+
+ self.$input.typeahead(typeaheadConfig, typeaheadDatasets).on('typeahead:selected', $.proxy(function (obj, datum) {
+ if (typeaheadDatasets.valueKey)
+ self.add(datum[typeaheadDatasets.valueKey]);
else
self.add(datum);
self.$input.typeahead('val', '');
@@ -337,13 +372,16 @@
self.$input.on('focusout', $.proxy(function(event) {
// HACK: only process on focusout when no typeahead opened, to
// avoid adding the typeahead text as tag
- if ($('.typeahead, .twitter-typeahead', self.$container).length === 0) {
- self.add(self.$input.val());
- self.$input.val('');
+ if ($('.tt-hint', self.$container).length === 0 || $('.tt-hint', self.$container).val().length === 0) {
+ self.add(self.$input.val());
+ if (self.options.typeaheadjs) {
+ self.$input.typeahead('val', '');
+ self.$input.typeahead('close');
+ }
}
}, self));
}
-
+
self.$container.on('keydown', 'input', $.proxy(function(event) {
var $input = $(event.target),
@@ -359,7 +397,7 @@
case 8:
if (doGetCaretPosition($input[0]) === 0) {
var prev = $inputWrapper.prev();
- if (prev) {
+ if (prev.length) {
self.remove(prev.data('item'));
}
}
@@ -369,7 +407,7 @@
case 46:
if (doGetCaretPosition($input[0]) === 0) {
var next = $inputWrapper.next();
- if (next) {
+ if (next.length) {
self.remove(next.data('item'));
}
}
@@ -415,9 +453,16 @@
var text = $input.val(),
maxLengthReached = self.options.maxChars && text.length >= self.options.maxChars;
if (self.options.freeInput && (keyCombinationInList(event, self.options.confirmKeys) || maxLengthReached)) {
- self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text);
- $input.val('');
- event.preventDefault();
+ // Only attempt to add a tag if there is data in the field
+ if (text.length !== 0) {
+ self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text);
+ $input.val('');
+ }
+
+ // If the field is empty, let the event triggered fire as usual
+ if (self.options.cancelConfirmKeysOnEmpty === false) {
+ event.preventDefault();
+ }
}
// Reset internal input's size
@@ -493,7 +538,7 @@
/**
* Register JQuery plugin
*/
- $.fn.tagsinput = function(arg1, arg2) {
+ $.fn.tagsinput = function(arg1, arg2, arg3) {
var results = [];
this.each(function() {
@@ -516,7 +561,11 @@
results.push(tagsinput);
} else if(tagsinput[arg1] !== undefined) {
// Invoke function on existing tags input
- var retVal = tagsinput[arg1](arg2);
+ if(tagsinput[arg1].length === 3 && arg3 !== undefined){
+ var retVal = tagsinput[arg1](arg2, null, arg3);
+ }else{
+ var retVal = tagsinput[arg1](arg2);
+ }
if (retVal !== undefined)
results.push(retVal);
}
@@ -579,7 +628,7 @@
}
/**
- * Returns boolean indicates whether user has pressed an expected key combination.
+ * Returns boolean indicates whether user has pressed an expected key combination.
* @param object keyPressEvent: JavaScript event object, refer
* http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
* @param object lookupList: expected key combinations, as in:
diff --git a/vendor/assets/javascripts/bootstrap-tagsinput.min.js b/vendor/assets/javascripts/bootstrap-tagsinput.min.js
old mode 100755
new mode 100644
index 16be0ab..18e45bf
--- a/vendor/assets/javascripts/bootstrap-tagsinput.min.js
+++ b/vendor/assets/javascripts/bootstrap-tagsinput.min.js
@@ -1,7 +1,7 @@
/*
- * bootstrap-tagsinput v0.4.2 by Tim Schlechter
+ * bootstrap-tagsinput v0.7.1 by Tim Schlechter
*
*/
-!function(a){"use strict";function b(b,c){this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a(''),this.$input=a('').appendTo(this.$container),this.$element.after(this.$container);var d=(this.inputSize<3?3:this.inputSize)+"em";this.$input.get(0).style.cssText="width: "+d+" !important;",this.build(c)}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?i.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}function g(b,c){var d=!1;return a.each(c,function(a,c){if("number"==typeof c&&b.which===c)return d=!0,!1;if(b.which===c.which){var e=!c.hasOwnProperty("altKey")||b.altKey===c.altKey,f=!c.hasOwnProperty("shiftKey")||b.shiftKey===c.shiftKey,g=!c.hasOwnProperty("ctrlKey")||b.ctrlKey===c.ctrlKey;if(e&&f&&g)return d=!0,!1}}),d}var h={tagClass:function(){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},freeInput:!0,addOnBlur:!0,maxTags:void 0,maxChars:void 0,confirmKeys:[13,44],onTagExists:function(a,b){b.hide().fadeIn()},trimValue:!1,allowDuplicates:!1};b.prototype={constructor:b,add:function(b,c){var d=this;if(!(d.options.maxTags&&d.itemsArray.length>=d.options.maxTags||b!==!1&&!b)){if("string"==typeof b&&d.options.trimValue&&(b=a.trim(b)),"object"==typeof b&&!d.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(d.isSelect&&!d.multiple&&d.itemsArray.length>0&&d.remove(d.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var f=b.split(",");if(f.length>1){for(var g=0;gd.options.maxInputLength)){var l=a.Event("beforeItemAdd",{item:b,cancel:!1});if(d.$element.trigger(l),!l.cancel){d.itemsArray.push(b);var m=a(''+e(i)+'');if(m.data("item",b),d.findInputWrapper().before(m),m.after(" "),d.isSelect&&!a('option[value="'+encodeURIComponent(h)+'"]',d.$element)[0]){var n=a("");n.data("item",b),n.attr("value",h),d.$element.append(n)}c||d.pushVal(),(d.options.maxTags===d.itemsArray.length||d.items().toString().length===d.options.maxInputLength)&&d.$container.addClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemAdded",{item:b}))}}}else if(d.options.onTagExists){var o=a(".tag",d.$container).filter(function(){return a(this).data("item")===k});d.options.onTagExists(b,o)}}}},remove:function(b,c){var d=this;if(d.objectItems&&(b="object"==typeof b?a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==d.options.itemValue(b)}):a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==b}),b=b[b.length-1]),b){var e=a.Event("beforeItemRemove",{item:b,cancel:!1});if(d.$element.trigger(e),e.cancel)return;a(".tag",d.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",d.$element).filter(function(){return a(this).data("item")===b}).remove(),-1!==a.inArray(b,d.itemsArray)&&d.itemsArray.splice(a.inArray(b,d.itemsArray),1)}c||d.pushVal(),d.options.maxTags>d.itemsArray.length&&d.$container.removeClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemRemoved",{item:b}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;if(e.options=a.extend({},h,b),e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),d(e.options,"tagClass"),e.options.typeahead){var i=e.options.typeahead||{};d(i,"source"),e.$input.typeahead(a.extend({},i,{source:function(b,c){function d(a){for(var b=[],d=0;d$1")}}))}if(e.options.typeaheadjs){var j=e.options.typeaheadjs||{};e.$input.typeahead(null,j).on("typeahead:selected",a.proxy(function(a,b){e.add(j.valueKey?b[j.valueKey]:b),e.$input.typeahead("val","")},e))}e.$container.on("click",a.proxy(function(){e.$element.attr("disabled")||e.$input.removeAttr("disabled"),e.$input.focus()},e)),e.options.addOnBlur&&e.options.freeInput&&e.$input.on("focusout",a.proxy(function(){0===a(".typeahead, .twitter-typeahead",e.$container).length&&(e.add(e.$input.val()),e.$input.val(""))},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus())}{var k=c.val().length;Math.ceil(k/5)}c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("keypress","input",a.proxy(function(b){var c=a(b.target);if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");var d=c.val(),f=e.options.maxChars&&d.length>=e.options.maxChars;e.options.freeInput&&(g(b,e.options.confirmKeys)||f)&&(e.add(f?d.substr(0,e.options.maxChars):d),c.val(""),b.preventDefault());{var h=c.val().length;Math.ceil(h/5)}c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.$element.attr("disabled")||e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===h.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d){var e=[];return this.each(function(){var f=a(this).data("tagsinput");if(f)if(c||d){if(void 0!==f[c]){var g=f[c](d);void 0!==g&&e.push(g)}}else e.push(f);else f=new b(this,c),a(this).data("tagsinput",f),e.push(f),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?e.length>1?e:e[0]:e},a.fn.tagsinput.Constructor=b;var i=a("");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery);
+!function(a){"use strict";function b(b,c){this.isInit=!0,this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a(''),this.$input=a('').appendTo(this.$container),this.$element.before(this.$container),this.build(c),this.isInit=!1}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?i.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}function g(b,c){var d=!1;return a.each(c,function(a,c){if("number"==typeof c&&b.which===c)return d=!0,!1;if(b.which===c.which){var e=!c.hasOwnProperty("altKey")||b.altKey===c.altKey,f=!c.hasOwnProperty("shiftKey")||b.shiftKey===c.shiftKey,g=!c.hasOwnProperty("ctrlKey")||b.ctrlKey===c.ctrlKey;if(e&&f&&g)return d=!0,!1}}),d}var h={tagClass:function(a){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},itemTitle:function(a){return null},freeInput:!0,addOnBlur:!0,maxTags:void 0,maxChars:void 0,confirmKeys:[13,44],delimiter:",",delimiterRegex:null,cancelConfirmKeysOnEmpty:!1,onTagExists:function(a,b){b.hide().fadeIn()},trimValue:!1,allowDuplicates:!1};b.prototype={constructor:b,add:function(b,c,d){var f=this;if(!(f.options.maxTags&&f.itemsArray.length>=f.options.maxTags)&&(b===!1||b)){if("string"==typeof b&&f.options.trimValue&&(b=a.trim(b)),"object"==typeof b&&!f.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(f.isSelect&&!f.multiple&&f.itemsArray.length>0&&f.remove(f.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var g=f.options.delimiterRegex?f.options.delimiterRegex:f.options.delimiter,h=b.split(g);if(h.length>1){for(var i=0;if.options.maxInputLength)){var o=a.Event("beforeItemAdd",{item:b,cancel:!1,options:d});if(f.$element.trigger(o),!o.cancel){f.itemsArray.push(b);var p=a(''+e(k)+'');p.data("item",b),f.findInputWrapper().before(p),p.after(" ");var q=a('option[value="'+encodeURIComponent(j)+'"]',f.$element).length||a('option[value="'+e(j)+'"]',f.$element).length;if(f.isSelect&&!q){var r=a("");r.data("item",b),r.attr("value",j),f.$element.append(r)}c||f.pushVal(),(f.options.maxTags===f.itemsArray.length||f.items().toString().length===f.options.maxInputLength)&&f.$container.addClass("bootstrap-tagsinput-max"),a(".typeahead, .twitter-typeahead",f.$container).length&&f.$input.typeahead("val",""),this.isInit?f.$element.trigger(a.Event("itemAddedOnInit",{item:b,options:d})):f.$element.trigger(a.Event("itemAdded",{item:b,options:d}))}}}else if(f.options.onTagExists){var s=a(".tag",f.$container).filter(function(){return a(this).data("item")===n});f.options.onTagExists(b,s)}}}},remove:function(b,c,d){var e=this;if(e.objectItems&&(b="object"==typeof b?a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==e.options.itemValue(b)}):a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==b}),b=b[b.length-1]),b){var f=a.Event("beforeItemRemove",{item:b,cancel:!1,options:d});if(e.$element.trigger(f),f.cancel)return;a(".tag",e.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",e.$element).filter(function(){return a(this).data("item")===b}).remove(),-1!==a.inArray(b,e.itemsArray)&&e.itemsArray.splice(a.inArray(b,e.itemsArray),1)}c||e.pushVal(),e.options.maxTags>e.itemsArray.length&&e.$container.removeClass("bootstrap-tagsinput-max"),e.$element.trigger(a.Event("itemRemoved",{item:b,options:d}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;if(e.options=a.extend({},h,b),e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),d(e.options,"tagClass"),e.options.typeahead){var i=e.options.typeahead||{};d(i,"source"),e.$input.typeahead(a.extend({},i,{source:function(b,c){function d(a){for(var b=[],d=0;d$1")}}))}if(e.options.typeaheadjs){var j=null,k={},l=e.options.typeaheadjs;a.isArray(l)?(j=l[0],k=l[1]):k=l,e.$input.typeahead(j,k).on("typeahead:selected",a.proxy(function(a,b){k.valueKey?e.add(b[k.valueKey]):e.add(b),e.$input.typeahead("val","")},e))}e.$container.on("click",a.proxy(function(a){e.$element.attr("disabled")||e.$input.removeAttr("disabled"),e.$input.focus()},e)),e.options.addOnBlur&&e.options.freeInput&&e.$input.on("focusout",a.proxy(function(b){(0===a(".tt-hint",e.$container).length||0===a(".tt-hint",e.$container).val().length)&&(e.add(e.$input.val()),e.options.typeaheadjs&&(e.$input.typeahead("val",""),e.$input.typeahead("close")))},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g.length&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h.length&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus())}var k=c.val().length;Math.ceil(k/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("keypress","input",a.proxy(function(b){var c=a(b.target);if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");var d=c.val(),f=e.options.maxChars&&d.length>=e.options.maxChars;e.options.freeInput&&(g(b,e.options.confirmKeys)||f)&&(0!==d.length&&(e.add(f?d.substr(0,e.options.maxChars):d),c.val("")),e.options.cancelConfirmKeysOnEmpty===!1&&b.preventDefault());var h=c.val().length;Math.ceil(h/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.$element.attr("disabled")||e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===h.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d,e){var f=[];return this.each(function(){var g=a(this).data("tagsinput");if(g)if(c||d){if(void 0!==g[c]){if(3===g[c].length&&void 0!==e)var h=g[c](d,null,e);else var h=g[c](d);void 0!==h&&f.push(h)}}else f.push(g);else g=new b(this,c),a(this).data("tagsinput",g),f.push(g),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?f.length>1?f:f[0]:f},a.fn.tagsinput.Constructor=b;var i=a("");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery);
//# sourceMappingURL=bootstrap-tagsinput.min.js.map
\ No newline at end of file
diff --git a/vendor/assets/javascripts/bootstrap-tagsinput.min.js.map b/vendor/assets/javascripts/bootstrap-tagsinput.min.js.map
old mode 100755
new mode 100644
index a0d198d..ddfe2dd
--- a/vendor/assets/javascripts/bootstrap-tagsinput.min.js.map
+++ b/vendor/assets/javascripts/bootstrap-tagsinput.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"dist/bootstrap-tagsinput-angular.min.js","sources":["src/bootstrap-tagsinput-angular.js"],"names":["angular","module","directive","getItemProperty","scope","property","isFunction","$parent","item","undefined","restrict","model","template","replace","link","element","attrs","$","isArray","select","typeaheadSourceArray","typeaheadSource","split","length","tagsinput","options","typeahead","source","itemValue","itemvalue","itemText","itemtext","confirmKeys","confirmkeys","JSON","parse","tagClass","tagclass","i","on","event","indexOf","push","idx","splice","prev","slice","$watch","added","filter","removed"],"mappings":";;;;;AAAAA,QAAQC,OAAO,0BACdC,UAAU,sBAAuB,WAEhC,QAASC,GAAgBC,EAAOC,GAC9B,MAAKA,GAGDL,QAAQM,WAAWF,EAAMG,QAAQF,IAC5BD,EAAMG,QAAQF,GAEhB,SAASG,GACd,MAAOA,GAAKH,IANLI,OAUX,OACEC,SAAU,KACVN,OACEO,MAAO,YAETC,SAAU,6BACVC,SAAS,EACTC,KAAM,SAASV,EAAOW,EAASC,GAC7BC,EAAE,WACKjB,QAAQkB,QAAQd,EAAMO,SACzBP,EAAMO,SAER,IAAIQ,GAASF,EAAE,SAAUF,GACrBK,EAAuBJ,EAAMK,gBAAkBL,EAAMK,gBAAgBC,MAAM,KAAO,KAClFD,EAAkBD,EACjBA,EAAqBG,OAAS,EAC3BnB,EAAMG,QAAQa,EAAqB,IAAIA,EAAqB,IAC1DhB,EAAMG,QAAQa,EAAqB,IACvC,IAEND,GAAOK,UAAUpB,EAAMG,QAAQS,EAAMS,SAAW,MAC9CC,WACEC,OAAW3B,QAAQM,WAAWe,GAAmBA,EAAkB,MAErEO,UAAWzB,EAAgBC,EAAOY,EAAMa,WACxCC,SAAW3B,EAAgBC,EAAOY,EAAMe,UACxCC,YAAc7B,EAAgBC,EAAOY,EAAMiB,aAAeC,KAAKC,MAAMnB,EAAMiB,cAAgB,IAC3FG,SAAWpC,QAAQM,WAAWF,EAAMG,QAAQS,EAAMqB,WAAajC,EAAMG,QAAQS,EAAMqB,UAAY,WAAiB,MAAOrB,GAAMqB,WAG/H,KAAK,GAAIC,GAAI,EAAGA,EAAIlC,EAAMO,MAAMY,OAAQe,IACtCnB,EAAOK,UAAU,MAAOpB,EAAMO,MAAM2B,GAGtCnB,GAAOoB,GAAG,YAAa,SAASC,GACU,KAApCpC,EAAMO,MAAM8B,QAAQD,EAAMhC,OAC5BJ,EAAMO,MAAM+B,KAAKF,EAAMhC,QAG3BW,EAAOoB,GAAG,cAAe,SAASC,GAChC,GAAIG,GAAMvC,EAAMO,MAAM8B,QAAQD,EAAMhC,KACxB,MAARmC,GACFvC,EAAMO,MAAMiC,OAAOD,EAAK,IAK5B,IAAIE,GAAOzC,EAAMO,MAAMmC,OACvB1C,GAAM2C,OAAO,QAAS,WACpB,GAEIT,GAFAU,EAAQ5C,EAAMO,MAAMsC,OAAO,SAASX,GAAI,MAA2B,KAApBO,EAAKJ,QAAQH,KAC5DY,EAAUL,EAAKI,OAAO,SAASX,GAAI,MAAkC,KAA3BlC,EAAMO,MAAM8B,QAAQH,IAMlE,KAHAO,EAAOzC,EAAMO,MAAMmC,QAGdR,EAAI,EAAGA,EAAIY,EAAQ3B,OAAQe,IAC9BnB,EAAOK,UAAU,SAAU0B,EAAQZ,GAOrC,KAHAnB,EAAOK,UAAU,WAGZc,EAAI,EAAGA,EAAIU,EAAMzB,OAAQe,IAC5BnB,EAAOK,UAAU,MAAOwB,EAAMV,MAE/B"}
\ No newline at end of file
+{"version":3,"sources":["../src/bootstrap-tagsinput.js"],"names":["$","TagsInput","element","options","this","isInit","itemsArray","$element","hide","isSelect","tagName","multiple","hasAttribute","objectItems","itemValue","placeholderText","attr","inputSize","Math","max","length","$container","$input","appendTo","before","build","makeOptionItemFunction","key","propertyName","item","makeOptionFunction","value","htmlEncode","htmlEncodeContainer","text","html","doGetCaretPosition","oField","iCaretPos","document","selection","focus","oSel","createRange","moveStart","selectionStart","keyCombinationInList","keyPressEvent","lookupList","found","each","index","keyCombination","which","alt","hasOwnProperty","altKey","shift","shiftKey","ctrl","ctrlKey","defaultOptions","tagClass","toString","itemText","itemTitle","freeInput","addOnBlur","maxTags","undefined","maxChars","confirmKeys","delimiter","delimiterRegex","cancelConfirmKeysOnEmpty","onTagExists","$tag","fadeIn","trimValue","allowDuplicates","prototype","constructor","add","dontPushVal","self","trim","match","remove","items","split","i","pushVal","existing","grep","maxInputLength","beforeItemAddEvent","Event","cancel","trigger","push","data","findInputWrapper","after","optionExists","encodeURIComponent","$option","append","addClass","typeahead","$existingTag","filter","other","beforeItemRemoveEvent","inArray","splice","removeClass","removeAll","pop","refresh","contents","nodeType","nodeValue","option","val","map","extend","source","query","process","processItems","texts","isFunction","success","then","when","updater","matcher","toLowerCase","indexOf","sorter","sort","highlighter","regex","RegExp","replace","typeaheadjs","typeaheadConfig","typeaheadDatasets","isArray","on","proxy","obj","datum","valueKey","event","removeAttr","target","$inputWrapper","prev","next","$prevTag","$nextTag","textLength","ceil","maxLengthReached","substr","preventDefault","closest","destroy","off","removeData","show","input","elt","container","parentNode","fn","tagsinput","arg1","arg2","arg3","results","retVal","Constructor","window","jQuery"],"mappings":"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","file":"bootstrap-tagsinput.min.js"}
\ No newline at end of file
diff --git a/vendor/assets/stylesheets/bootstrap-tagsinput-typeahead.css b/vendor/assets/stylesheets/bootstrap-tagsinput-typeahead.css
new file mode 100644
index 0000000..917246b
--- /dev/null
+++ b/vendor/assets/stylesheets/bootstrap-tagsinput-typeahead.css
@@ -0,0 +1,49 @@
+.twitter-typeahead .tt-query,
+.twitter-typeahead .tt-hint {
+ margin-bottom: 0;
+}
+
+.twitter-typeahead .tt-hint
+{
+ display: none;
+}
+
+.tt-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ list-style: none;
+ font-size: 14px;
+ background-color: #ffffff;
+ border: 1px solid #cccccc;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+ background-clip: padding-box;
+ cursor: pointer;
+}
+
+.tt-suggestion {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: 1.428571429;
+ color: #333333;
+ white-space: nowrap;
+}
+
+.tt-suggestion:hover,
+.tt-suggestion:focus {
+ color: #ffffff;
+ text-decoration: none;
+ outline: 0;
+ background-color: #428bca;
+}
diff --git a/vendor/assets/stylesheets/bootstrap-tagsinput.css b/vendor/assets/stylesheets/bootstrap-tagsinput.css
old mode 100755
new mode 100644
index 55f7c09..b31f01c
--- a/vendor/assets/stylesheets/bootstrap-tagsinput.css
+++ b/vendor/assets/stylesheets/bootstrap-tagsinput.css
@@ -4,7 +4,6 @@
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
display: inline-block;
padding: 4px 6px;
- margin-bottom: 10px;
color: #555;
vertical-align: middle;
border-radius: 4px;
@@ -17,11 +16,21 @@
box-shadow: none;
outline: none;
background-color: transparent;
- padding: 0;
+ padding: 0 6px;
margin: 0;
- width: auto !important;
+ width: auto;
max-width: inherit;
}
+.bootstrap-tagsinput.form-control input::-moz-placeholder {
+ color: #777;
+ opacity: 1;
+}
+.bootstrap-tagsinput.form-control input:-ms-input-placeholder {
+ color: #777;
+}
+.bootstrap-tagsinput.form-control input::-webkit-input-placeholder {
+ color: #777;
+}
.bootstrap-tagsinput input:focus {
border: none;
box-shadow: none;