PHP Classes

File: web/bundles/bootstrap/vu/js/vuTypeahead.js

Recommend this page to a friend!
  Classes of william amed   Raptor 2   web/bundles/bootstrap/vu/js/vuTypeahead.js   Download  
File: web/bundles/bootstrap/vu/js/vuTypeahead.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Raptor 2
Framework that takes routes from annotations
Author: By
Last change:
Date: 8 years ago
Size: 2,634 bytes
 

Contents

Class file image Download
(function($) { //para evitar redefinir el plugin vutypeahead if ($.fn.vuTypeahead != undefined) return; VU.namespace('VU.Components'); VU.Components.Typeahead = window.Typeahead.getFromAmbit('Typeahead'); VU.Components.Typeahead.prototype.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)).on('keyup', $.proxy(this.notyping, this)) if (this.eventSupported('keydown')) { this.$element.on('keydown', $.proxy(this.keydown, this)).on('keydown', $.proxy(this.typing, this)) } this.$menu .on('click', $.proxy(this.click, this)) .on('mouseenter', 'li', $.proxy(this.mouseenter, this)) .on('mouseleave', 'li', $.proxy(this.mouseleave, this)) this.contType=0; this.contNoType=0; } VU.Components.Typeahead.prototype.typing=function(){ this.typing=true; if(this.ajax) this.ajax.abort(); this.contType++; if(this.timeType) clearTimeout(this.timeType); } VU.Components.Typeahead.prototype.notyping=function(){ var r=this.contType; var $this=this; this.timeType=setTimeout(function(){ if(r==$this.contType){ $this.typing=false; $this.lookup() } },500) } VU.Components.Typeahead.prototype.source = function(arreglo){ if(this.typing==false){ this.$element.addClass('loading-ajax'); var el=this.$element; this.ajax = $.ajax({ type:'POST', data:"query="+this.query, url: this.options.ajax.url, async: false, complete:function(){ el.removeClass('loading-ajax'); } }); var html=this.ajax.responseText; if(this.options.oneRequest) this.source=eval(html); return eval(html); } } $.fn.vuTypeahead = function(option) { if(option.ajax){ option.source=VU.Components.Typeahead.prototype.source; } return this.each(function() { var $this = $(this) , data = $this.data('typeahead') , options = typeof option == 'object' && option if (!data) $this.data('typeahead', (data = new VU.Components.Typeahead(this, options))) if (typeof option == 'string') data[option](); //console.debug(data); }) } $.fn.typeahead.defaults = $.extend($.fn.typeahead.defaults, { items: 8, minLength: 1, oneRequest:true }); //$.fn.vuTypeahead.Constructor=function(){alert('fff')} })(jQuery);