From 43c76e43e583b955e5c0c99c9e2d0820f9530a61 Mon Sep 17 00:00:00 2001 From: Bass Jobsen Date: Sat, 14 Nov 2015 22:51:20 +0100 Subject: [PATCH] ready for Bootstrap 4 --- README.md | 6 ++++++ bootstrap3-typeahead.js | 2 +- bootstrap3-typeahead.min.js | 2 +- typeaheadv4.png | Bin 0 -> 5075 bytes 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 typeaheadv4.png diff --git a/README.md b/README.md index 32fe373..005464d 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,12 @@ With Twitter Bootstrap 3 the typeahead plugin had been dropped. [@mdo](http://tw ~~`Typeahead.js` doesn't seem ready for the new Twitter Bootstrap 3 at the moment. Code is not up to date and fixes are needed. See also: [Typeahead problems with Bootstrap 3.0 RC1](http://stackoverflow.com/questions/18167246/typeahead-problems-with-bootstrap-3-0-rc1).~~ +Bootstrap 4 +=========== +[Bootstrap 4](http://blog.getbootstrap.com/2015/08/19/bootstrap-4-alpha/) is coming soon. The Bootstrap 3 Typeahead will also work with Bootstrap 4. +The look and feel of Bootstrap 4 will differ from Bootstrap 3 and so does the drop down menu. In Bootstrap 4 the typeahead dropdown menu will look like that shown in the figure below: +![Bootstrap 4 Typeahead](typeaheadv4.png). + Download ======== diff --git a/bootstrap3-typeahead.js b/bootstrap3-typeahead.js index 657dfdd..c52f942 100644 --- a/bootstrap3-typeahead.js +++ b/bootstrap3-typeahead.js @@ -451,7 +451,7 @@ source: [] , items: 8 , menu: '' - , item: '
  • ' + , item: '
  • ' , minLength: 1 , scrollHeight: 0 , autoSelect: true diff --git a/bootstrap3-typeahead.min.js b/bootstrap3-typeahead.min.js index 86dcc38..05bc590 100644 --- a/bootstrap3-typeahead.min.js +++ b/bootstrap3-typeahead.min.js @@ -1 +1 @@ -!function(a,b){"use strict";"undefined"!=typeof module&&module.exports?module.exports=b(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):b(a.jQuery)}(this,function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.select=this.options.select||this.select,this.autoSelect="boolean"==typeof this.options.autoSelect?this.options.autoSelect:!0,this.highlighter=this.options.highlighter||this.highlighter,this.render=this.options.render||this.render,this.updater=this.options.updater||this.updater,this.displayText=this.options.displayText||this.displayText,this.source=this.options.source,this.delay=this.options.delay,this.$menu=a(this.options.menu),this.$appendTo=this.options.appendTo?a(this.options.appendTo):null,this.shown=!1,this.listen(),this.showHintOnFocus="boolean"==typeof this.options.showHintOnFocus?this.options.showHintOnFocus:!1,this.afterSelect=this.options.afterSelect,this.addItem=!1};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").data("value");if(this.$element.data("active",a),this.autoSelect||a){var b=this.updater(a);this.$element.val(this.displayText(b)||b).change(),this.afterSelect(b)}return this.hide()},updater:function(a){return a},setSource:function(a){this.source=a},show:function(){var b,c=a.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});b="function"==typeof this.options.scrollHeight?this.options.scrollHeight.call():this.options.scrollHeight;var d;return d=this.shown?this.$menu:this.$appendTo?this.$menu.appendTo(this.$appendTo):this.$menu.insertAfter(this.$element),d.css({top:c.top+c.height+b,left:c.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){if("undefined"!=typeof b&&null!==b?this.query=b:this.query=this.$element.val()||"",this.query.length0?this.$element.data("active",b[0]):this.$element.data("active",null),this.options.addItem&&b.push(this.options.addItem),"all"==this.options.items?this.render(b).show():this.render(b.slice(0,this.options.items)).show()):this.shown?this.hide():this},matcher:function(a){var b=this.displayText(a);return~b.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){for(var b,c=[],d=[],e=[];b=a.shift();){var f=this.displayText(b);f.toLowerCase().indexOf(this.query.toLowerCase())?~f.indexOf(this.query)?d.push(b):e.push(b):c.push(b)}return c.concat(d,e)},highlighter:function(b){var c,d,e,f,g,h=a("
    "),i=this.query,j=b.toLowerCase().indexOf(i.toLowerCase());if(c=i.length,0===c)return h.text(b).html();for(;j>-1;)d=b.substr(0,j),e=b.substr(j,c),f=b.substr(j+c),g=a("").text(e),h.append(document.createTextNode(d)).append(g),b=f,j=b.toLowerCase().indexOf(i.toLowerCase());return h.append(document.createTextNode(b)).html()},render:function(b){var c=this,d=this,e=!1;return b=a(b).map(function(b,f){var g=d.displayText(f);return b=a(c.options.item).data("value",f),b.find("a").html(c.highlighter(g)),g==d.$element.val()&&(b.addClass("active"),d.$element.data("active",f),e=!0),b[0]}),this.autoSelect&&!e&&(b.first().addClass("active"),this.$element.data("active",b.first().data("value"))),this.$menu.html(b),this},displayText:function(a){return a.name||a},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("focus",a.proxy(this.focus,this)).on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",a.proxy(this.keydown,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this)).on("mouseleave","li",a.proxy(this.mouseleave,this))},destroy:function(){this.$element.data("typeahead",null),this.$element.data("active",null),this.$element.off("focus").off("blur").off("keypress").off("keyup"),this.eventSupported("keydown")&&this.$element.off("keydown"),this.$menu.remove()},eventSupported:function(a){var b=a in this.$element;return b||(this.$element.setAttribute(a,"return;"),b="function"==typeof this.$element[a]),b},move:function(a){if(this.shown)switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:if(a.shiftKey)return;a.preventDefault(),this.prev();break;case 40:if(a.shiftKey)return;a.preventDefault(),this.next()}},keydown:function(b){this.suppressKeyPressRepeat=~a.inArray(b.keyCode,[40,38,9,13,27]),this.shown||40!=b.keyCode?this.move(b):this.lookup()},keypress:function(a){this.suppressKeyPressRepeat||this.move(a)},keyup:function(a){switch(a.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}a.preventDefault()},focus:function(a){this.focused||(this.focused=!0,this.options.showHintOnFocus&&this.lookup(""))},blur:function(a){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(a){a.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(b){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")},mouseleave:function(a){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var c=a.fn.typeahead;a.fn.typeahead=function(c){var d=arguments;return"string"==typeof c&&"getActive"==c?this.data("active"):this.each(function(){var e=a(this),f=e.data("typeahead"),g="object"==typeof c&&c;f||e.data("typeahead",f=new b(this,g)),"string"==typeof c&&(d.length>1?f[c].apply(f,Array.prototype.slice.call(d,1)):f[c]())})},a.fn.typeahead.defaults={source:[],items:8,menu:'',item:'
  • ',minLength:1,scrollHeight:0,autoSelect:!0,afterSelect:a.noop,addItem:!1,delay:0},a.fn.typeahead.Constructor=b,a.fn.typeahead.noConflict=function(){return a.fn.typeahead=c,this},a(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);c.data("typeahead")||c.typeahead(c.data())})}); \ No newline at end of file +!function(root,factory){"use strict";"undefined"!=typeof module&&module.exports?module.exports=factory(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],function($){return factory($)}):factory(root.jQuery)}(this,function($){"use strict";var Typeahead=function(element,options){this.$element=$(element),this.options=$.extend({},$.fn.typeahead.defaults,options),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.select=this.options.select||this.select,this.autoSelect="boolean"==typeof this.options.autoSelect?this.options.autoSelect:!0,this.highlighter=this.options.highlighter||this.highlighter,this.render=this.options.render||this.render,this.updater=this.options.updater||this.updater,this.displayText=this.options.displayText||this.displayText,this.source=this.options.source,this.delay=this.options.delay,this.$menu=$(this.options.menu),this.$appendTo=this.options.appendTo?$(this.options.appendTo):null,this.shown=!1,this.listen(),this.showHintOnFocus="boolean"==typeof this.options.showHintOnFocus?this.options.showHintOnFocus:!1,this.afterSelect=this.options.afterSelect,this.addItem=!1};Typeahead.prototype={constructor:Typeahead,select:function(){var val=this.$menu.find(".active").data("value");if(this.$element.data("active",val),this.autoSelect||val){var newVal=this.updater(val);newVal||(newVal=""),this.$element.val(this.displayText(newVal)||newVal).change(),this.afterSelect(newVal)}return this.hide()},updater:function(item){return item},setSource:function(source){this.source=source},show:function(){var scrollHeight,pos=$.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});scrollHeight="function"==typeof this.options.scrollHeight?this.options.scrollHeight.call():this.options.scrollHeight;var element;return element=this.shown?this.$menu:this.$appendTo?this.$menu.appendTo(this.$appendTo):this.$menu.insertAfter(this.$element),element.css({top:pos.top+pos.height+scrollHeight,left:pos.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(query){if("undefined"!=typeof query&&null!==query?this.query=query:this.query=this.$element.val()||"",this.query.length0?this.$element.data("active",items[0]):this.$element.data("active",null),this.options.addItem&&items.push(this.options.addItem),"all"==this.options.items?this.render(items).show():this.render(items.slice(0,this.options.items)).show()):this.shown?this.hide():this},matcher:function(item){var it=this.displayText(item);return~it.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(items){for(var item,beginswith=[],caseSensitive=[],caseInsensitive=[];item=items.shift();){var it=this.displayText(item);it.toLowerCase().indexOf(this.query.toLowerCase())?~it.indexOf(this.query)?caseSensitive.push(item):caseInsensitive.push(item):beginswith.push(item)}return beginswith.concat(caseSensitive,caseInsensitive)},highlighter:function(item){var len,leftPart,middlePart,rightPart,strong,html=$("
    "),query=this.query,i=item.toLowerCase().indexOf(query.toLowerCase());if(len=query.length,0===len)return html.text(item).html();for(;i>-1;)leftPart=item.substr(0,i),middlePart=item.substr(i,len),rightPart=item.substr(i+len),strong=$("").text(middlePart),html.append(document.createTextNode(leftPart)).append(strong),item=rightPart,i=item.toLowerCase().indexOf(query.toLowerCase());return html.append(document.createTextNode(item)).html()},render:function(items){var that=this,self=this,activeFound=!1;return items=$(items).map(function(i,item){var text=self.displayText(item);return i=$(that.options.item).data("value",item),i.find("a").html(that.highlighter(text)),text==self.$element.val()&&(i.addClass("active"),self.$element.data("active",item),activeFound=!0),i[0]}),this.autoSelect&&!activeFound&&(items.first().addClass("active"),this.$element.data("active",items.first().data("value"))),this.$menu.html(items),this},displayText:function(item){return"undefined"!=typeof item&&"undefined"!=typeof item.name&&item.name||item},next:function(event){var active=this.$menu.find(".active").removeClass("active"),next=active.next();next.length||(next=$(this.$menu.find("li")[0])),next.addClass("active")},prev:function(event){var active=this.$menu.find(".active").removeClass("active"),prev=active.prev();prev.length||(prev=this.$menu.find("li").last()),prev.addClass("active")},listen:function(){this.$element.on("focus",$.proxy(this.focus,this)).on("blur",$.proxy(this.blur,this)).on("keypress",$.proxy(this.keypress,this)).on("keyup",$.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",$.proxy(this.keydown,this)),this.$menu.on("click",$.proxy(this.click,this)).on("mouseenter","li",$.proxy(this.mouseenter,this)).on("mouseleave","li",$.proxy(this.mouseleave,this))},destroy:function(){this.$element.data("typeahead",null),this.$element.data("active",null),this.$element.off("focus").off("blur").off("keypress").off("keyup"),this.eventSupported("keydown")&&this.$element.off("keydown"),this.$menu.remove()},eventSupported:function(eventName){var isSupported=eventName in this.$element;return isSupported||(this.$element.setAttribute(eventName,"return;"),isSupported="function"==typeof this.$element[eventName]),isSupported},move:function(e){if(this.shown)switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:if(e.shiftKey)return;e.preventDefault(),this.prev();break;case 40:if(e.shiftKey)return;e.preventDefault(),this.next()}},keydown:function(e){this.suppressKeyPressRepeat=~$.inArray(e.keyCode,[40,38,9,13,27]),this.shown||40!=e.keyCode?this.move(e):this.lookup()},keypress:function(e){this.suppressKeyPressRepeat||this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.preventDefault()},focus:function(e){this.focused||(this.focused=!0,this.options.showHintOnFocus&&this.lookup(""))},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(e){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),$(e.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var old=$.fn.typeahead;$.fn.typeahead=function(option){var arg=arguments;return"string"==typeof option&&"getActive"==option?this.data("active"):this.each(function(){var $this=$(this),data=$this.data("typeahead"),options="object"==typeof option&&option;data||$this.data("typeahead",data=new Typeahead(this,options)),"string"==typeof option&&(arg.length>1?data[option].apply(data,Array.prototype.slice.call(arg,1)):data[option]())})},$.fn.typeahead.defaults={source:[],items:8,menu:'',item:'
  • ',minLength:1,scrollHeight:0,autoSelect:!0,afterSelect:$.noop,addItem:!1,delay:0},$.fn.typeahead.Constructor=Typeahead,$.fn.typeahead.noConflict=function(){return $.fn.typeahead=old,this},$(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(e){var $this=$(this);$this.data("typeahead")||$this.typeahead($this.data())})}); diff --git a/typeaheadv4.png b/typeaheadv4.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e34014b32595d692b4e03b7dbb15ad3b884709 GIT binary patch literal 5075 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 Kt>Upo=sy7H;tiGn literal 0 HcmV?d00001