/* ============================================================= * bootstrap-typeahead.js v2.1.1 * http://twitter.github.com/bootstrap/javascript.html#typeahead * ============================================================= * Copyright 2012 Twitter, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================ */ !function(n){"use strict";var h=function(t,e){this.$element=n(t),this.options=n.extend({},n.fn.typeahead.defaults,e),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=n(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};h.prototype={constructor:h,select:function(){var t=this.$menu.find(".active").attr("data-value");return t&&this.$element.val(this.updater(t)).change(),this.hide()},updater:function(t){return t},show:function(){var t=n.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:t.top+t.height,left:t.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var e;return this.query=this.$element.val(),!this.query||this.query.length"+e+""})},render:function(t){var s=this;return t=n(t).map(function(t,e){return(t=n(s.options.item).attr("data-value",e)).find("a").html(s.highlighter(e)),t[0]}),this.$menu.html(t),this},next:function(t){var e=this.$menu.find(".active").removeClass("active").next();e.length||(e=n(this.$menu.find("li")[0])),e.addClass("active")},prev:function(t){var e=this.$menu.find(".active").removeClass("active").prev();e.length||(e=this.$menu.find("li").last()),e.addClass("active")},listen:function(){this.$element.on("blur",n.proxy(this.blur,this)).on("keypress",n.proxy(this.keypress,this)).on("keyup",n.proxy(this.keyup,this)),(n.browser.chrome||n.browser.webkit||n.browser.msie)&&this.$element.on("keydown",n.proxy(this.keydown,this)),this.$menu.on("click",n.proxy(this.click,this)).on("mouseenter","li",n.proxy(this.mouseenter,this))},move:function(t){if(this.shown){switch(t.keyCode){case 9:case 13:case 27:t.preventDefault();break;case 38:t.preventDefault(),this.prev();break;case 40:t.preventDefault(),this.next()}t.stopPropagation()}},keydown:function(t){this.suppressKeyPressRepeat=!~n.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(t){this.suppressKeyPressRepeat||this.move(t)},keyup:function(t){switch(t.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}t.stopPropagation(),t.preventDefault()},blur:function(t){var e=this;setTimeout(function(){e.hide()},150)},click:function(t){t.stopPropagation(),t.preventDefault(),this.select()},mouseenter:function(t){this.$menu.find(".active").removeClass("active"),n(t.currentTarget).addClass("active")}},n.fn.typeahead=function(i){return this.each(function(){var t=n(this),e=t.data("typeahead"),s="object"==typeof i&&i;e||t.data("typeahead",e=new h(this,s)),"string"==typeof i&&e[i]()})},n.fn.typeahead.defaults={source:[],items:8,menu:'',item:'
  • ',minLength:1},n.fn.typeahead.Constructor=h,n(function(){n("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var e=n(this);e.data("typeahead")||(t.preventDefault(),e.typeahead(e.data()))})})}(window.jQuery);