twitter-typeahead-rails 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +69 -0
- data/Rakefile +1 -0
- data/lib/twitter-typeahead-rails.rb +10 -0
- data/lib/twitter-typeahead-rails/version.rb +7 -0
- data/twitter-typeahead-rails.gemspec +23 -0
- data/vendor/assets/javascripts/twitter/typeahead.js +4 -0
- data/vendor/assets/javascripts/twitter/typeahead.min.js +4 -0
- data/vendor/assets/javascripts/twitter/typeahead/typeahead.js +984 -0
- data/vendor/assets/javascripts/twitter/typeahead/typeahead.min.js +7 -0
- data/vendor/assets/stylesheets/twitter/typeahead.css +3 -0
- data/vendor/assets/stylesheets/twitter/typeahead.min.css +3 -0
- data/vendor/assets/stylesheets/twitter/typeahead/typeahead.css +72 -0
- data/vendor/assets/stylesheets/twitter/typeahead/typeahead.min.css +7 -0
- metadata +125 -0
@@ -0,0 +1,7 @@
|
|
1
|
+
/*!
|
2
|
+
* Twitter Typeahead 0.8.0
|
3
|
+
* https://github.com/twitter/typeahead
|
4
|
+
* Copyright 2013 Twitter, Inc. and other contributors; Licensed MIT
|
5
|
+
*/
|
6
|
+
|
7
|
+
(function(){var t="0.8.0",e={isMsie:function(){return/msie [\w.]+/i.test(navigator.userAgent)},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isArray:$.isArray,isFunction:$.isFunction,isObject:function(t){return t!==Object(t)},isUndefined:function(t){return t===void 0},bind:$.proxy,bindAll:function(t){var n;for(var i in t)e.isFunction(n=t[i])&&(t[i]=$.proxy(n,t))},indexOf:function(t,e){for(var n=0;t.length>n;n++)if(t[n]===e)return n;return-1},each:$.each,map:$.map,filter:function(t,e){var n=[];return $.each(t,function(i,s){e(s,i,t)&&n.push(s)}),n},every:function(t,e){var n=!0;return t?($.each(t,function(i,s){return(n=e.call(null,s,i,t))?void 0:!1}),!!n):n},keys:function(t){if(!e.isObject(t))throw new TypeError("invalid object");return $.map(t,function(t,e){return e})},mixin:$.extend,getUniqueId:function(){var t=0;return function(){return t++}}(),debounce:function(t,e,n){var i,s;return function(){var r,o,u=this,a=arguments;return r=function(){i=null,n||(s=t.apply(u,a))},o=n&&!i,clearTimeout(i),i=setTimeout(r,e),o&&(s=t.apply(u,a)),s}},throttle:function(t,e){var n,i,s,r,o,u;return o=0,u=function(){o=new Date,s=null,r=t.apply(n,i)},function(){var a=new Date,h=e-(a-o);return n=this,i=arguments,0>=h?(clearTimeout(s),s=null,o=a,r=t.apply(n,i)):s||(s=setTimeout(u,h)),r}},uniqueArray:function(t){for(var e={},n=[],i=0,s=t.length;s>i;++i)e.hasOwnProperty(t[i])||(n.push(t[i]),e[t[i]]=1);return n},tokenizeText:function(t){return $.trim(t).toLowerCase().split(/[\s\-_]+/)},getProtocol:function(){return location.protocol},noop:function(){}},n=function(){var t=/\s+/;return{on:function(e,n){var i;if(!n)return this;for(this._callbacks=this._callbacks||{},e=e.split(t);i=e.shift();)this._callbacks[i]=this._callbacks[i]||[],this._callbacks[i].push(n);return this},trigger:function(e,n){var i,s;if(!this._callbacks)return this;for(e=e.split(t);i=e.shift();)if(s=this._callbacks[i])for(var r=0;s.length>r;r+=1)s[r].call(this,{type:i,data:n});return this}}}(),i=function(){function t(t){this.prefix=["__",t,"__"].join(""),this.ttlKey="__ttl__",this.keyMatcher=RegExp("^"+this.prefix)}function n(){return(new Date).getTime()}function i(t){return JSON.stringify(t)}function s(t){return e.isUndefined(t)?void 0:JSON.parse(t)}var r,o=window.localStorage;return r=window.localStorage&&window.JSON?{get:function(t){var i=s(o.getItem(this.prefix+t));return e.isNumber(i)&&n()>i&&o.removeItem(this.prefix+t+this.ttlKey),s(o.getItem(this.prefix+t))},set:function(t,s,r){return e.isNumber(r)?o.setItem(this.prefix+t+this.ttlKey,i(n()+r)):o.removeItem(this.prefix+t+this.ttlKey),o.setItem(this.prefix+t,i(s))},remove:function(t){return o.removeItem(this.prefix+t+this.ttlKey),o.removeItem(this.prefix+t),this},clear:function(){var t,e,n=o.length;for(t=0;n>t;t+=1)e=o.key(t),e.match(this.keyMatcher)&&(t-=1,n-=1,this.remove(e.replace(this.keyMatcher,"")));return this},isExpired:function(t){var i=s(o.getItem(this.prefix+t+this.ttlKey));return e.isNumber(i)&&n()>i?!0:!1}}:{get:e.noop,set:e.noop,remove:e.noop,clear:e.noop,isExpired:e.noop},e.mixin(t.prototype,r),t}(),s=function(){function t(t){e.bindAll(this),t=t||{},this.sizeLimit=t.sizeLimit||10,this.cache={},this.cachedKeysByAge=[]}return e.mixin(t.prototype,{get:function(t){return this.cache[t]},set:function(t,e){var n;this.cachedKeysByAge.length===this.sizeLimit&&(n=this.cachedKeysByAge.shift(),delete this.cache[n]),this.cache[t]=e,this.cachedKeysByAge.push(t)}}),t}(),r=function(){function t(t){var n;e.bindAll(this),t=t||{},n=/^throttle$/i.test(t.rateLimitFn)?e.throttle:e.debounce,this.wait=t.wait||300,this.wildcard=t.wildcard||"%QUERY",this.maxConcurrentRequests=t.maxConcurrentRequests||6,this.concurrentRequests=0,this.onDeckRequestArgs=null,this.cache=new s,this.get=n(this.get,this.wait)}return e.mixin(t.prototype,{_incrementConcurrentRequests:function(){this.concurrentRequests++},_decrementConcurrentRequests:function(){this.concurrentRequests--},_belowConcurrentRequestsThreshold:function(){return this.concurrentRequests<this.maxConcurrentRequests},get:function(t,e,n){var i,s=this;t=t.replace(this.wildcard,encodeURIComponent(e||"")),(i=this.cache.get(t))?n&&n(i):this._belowConcurrentRequestsThreshold()?$.ajax({url:t,type:"GET",dataType:"json",beforeSend:function(){s._incrementConcurrentRequests()},success:function(e){n&&n(e),s.cache.set(t,e)},complete:function(){s._decrementConcurrentRequests(),s.onDeckRequestArgs&&(s.get.apply(s,s.onDeckRequestArgs),s.onDeckRequestArgs=null)}}):this.onDeckRequestArgs=[].slice.call(arguments,0)}}),t}(),o=function(){function n(t){e.bindAll(this),this.storage=new i(t.name),this.adjacencyList={},this.itemHash={},this.name=t.name,this.resetDataOnProtocolSwitch=t.resetDataOnProtocolSwitch||!1,this.prefetchUrl=t.prefetch,this.queryUrl=t.remote,this.rawData=t.local,this.transport=t.transport,this.limit=t.limit||10,this._customMatcher=t.matcher||null,this._customRanker=t.ranker||null,this._ttl_ms=t.ttl_ms||2592e5,this.storageAdjacencyList="adjacencyList",this.storageHash="itemHash",this.storageProtocol="protocol",this.storageVersion="version",this._loadData()}return e.mixin(n.prototype,{_isMetadataExpired:function(){var n=this.storage.isExpired(this.storageProtocol),i=this.storage.isExpired(this.storageAdjacencyList)||this.storage.isExpired(this.storageHash),s=this.resetDataOnProtocolSwitch&&this.storage.get(this.storageProtocol)!=e.getProtocol();return t!=this.storage.get(this.storageVersion)||s||n||i?!0:!1},_loadData:function(){this.rawData&&this._processRawData(this.rawData),this._getDataFromLocalStorage(),(this._isMetadataExpired()||this.itemHash==={})&&this.prefetchUrl&&this._prefetch(this.prefetchUrl)},_getDataFromLocalStorage:function(){this.itemHash=this.storage.get(this.storageHash)||this.itemHash,this.adjacencyList=this.storage.get(this.storageAdjacencyList)||this.adjacencyList},_getPotentiallyMatchingIds:function(t){var n=[],i=[];if(e.map(t,e.bind(function(t){var e=this.adjacencyList[t.charAt(0)];e&&i.push(e)},this)),1===i.length)return i[0];var s=[];$.each(i,function(t,e){s.push(e.length)});var r=e.indexOf(s,Math.min.apply(null,s))||0,o=i[r]||[];return n=e.map(o,function(t){var n=e.every(i,function(n){return e.indexOf(n,t)>-1});return n?t:void 0})},_getItemsFromIds:function(t){var n=[];return e.map(t,e.bind(function(t){var e=this.itemHash[t];e&&n.push(e)},this)),n},_matcher:function(t){if(this._customMatcher){var n=this._customMatcher;return function(t){return n(t)}}return function(n){var i=n.tokens,s=e.every(t,function(t){var n=e.filter(i,function(e){return 0===e.indexOf(t)});return n.length});return s?n:void 0}},_compareItems:function(t,e,n){var i=t.score_boost?t.score_boost:0,s=e.score_boost?e.score_boost:0,r=t.score?t.score:0,o=e.score?e.score:0;return n?e.weight+s-(t.weight+i):o+s-(r+i)},_ranker:function(t,e){if(this._customRanker)return this._customRanker(t,e);var n=t.weight&&0!==t.weight,i=e.weight&&0!==e.weight;return n&&!i?-1:i&&!n?1:n&&i?this._compareItems(t,e,!0):this._compareItems(t,e,!1)},_processRawData:function(n){this.itemHash={},this.adjacencyList={},e.map(n,e.bind(function(t){var n;t.tokens?n=t.tokens:(t={tokens:e.tokenizeText(t),value:t},n=t.tokens),t.id=e.getUniqueId(t.value),e.map(n,e.bind(function(n){var i=n.charAt(0);this.adjacencyList[i]?-1===e.indexOf(this.adjacencyList[i],t.id)&&this.adjacencyList[i].push(t.id):this.adjacencyList[i]=[t.id]},this)),this.itemHash[t.id]=t},this)),this.storage.set(this.storageHash,this.itemHash,this._ttl_ms),this.storage.set(this.storageAdjacencyList,this.adjacencyList,this._ttl_ms),this.storage.set(this.storageVersion,t,this._ttl_ms),this.storage.set(this.storageProtocol,e.getProtocol(),this._ttl_ms)},_prefetch:function(t){var n=function(t){t&&(e.map(t,function(t){return e.isString(t)?{value:t,tokens:e.tokenizeText(t.toLowerCase())}:(e.map(t.tokens,function(e,n){t.tokens[n]=e.toLowerCase()}),t)}),this._processRawData(t))},i=function(){this._getDataFromLocalStorage()};$.ajax({url:t,success:e.bind(n,this),error:e.bind(i,this)})},_processRemoteSuggestions:function(t,n){return function(i){var s={},r=[];e.each(i,function(t,n){e.isString(n)?s[n]={value:n}:s[n.value]=n}),e.each(n,function(t,n){return s[n.value]?!0:(e.isString(n)?s[n]={value:n}:s[n.value]=n,void 0)}),e.each(s,function(t,e){r.push(e)}),t&&t(r)}},getSuggestions:function(t,n){var i=e.tokenizeText(t),s=this._getPotentiallyMatchingIds(i),r=this._getItemsFromIds(s),o=e.filter(r,this._matcher(i));o.sort(this._ranker),n&&n(o),o.length<this.limit&&this.queryUrl&&this.transport.get(this.queryUrl,t,this._processRemoteSuggestions(n,o))}}),n}(),u=function(){function t(t){var n=this;e.bindAll(this),this.specialKeyCodeMap={9:{event:"tab"},27:{event:"esc"},37:{event:"left"},39:{event:"right"},13:{event:"enter"},38:{event:"up",preventDefault:!0},40:{event:"down",preventDefault:!0}},this.query="",this.$hint=$(t.hint),this.$input=$(t.input).on("blur",this._handleBlur).on("focus",this._handleFocus).on("keydown",this._handleSpecialKeyEvent),e.isMsie()?this.$input.on("keydown keypress cut paste",function(t){n.specialKeyCodeMap[t.which||t.keyCode]||setTimeout(n._compareQueryToInputValue,0)}):this.$input.on("input",this._compareQueryToInputValue)}function i(t,e){return t=(t||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ").toLowerCase(),e=(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ").toLowerCase(),t===e}return e.mixin(t.prototype,n,{_handleFocus:function(){this.trigger("focus")},_handleBlur:function(){this.trigger("blur")},_handleSpecialKeyEvent:function(t){var e=this.specialKeyCodeMap[t.which||t.keyCode];e&&(this.trigger(e.event,t),e.preventDefault&&t.preventDefault())},_compareQueryToInputValue:function(){var t=this.getInputValue(),e=i(this.query,t),n=e?this.query.length!==t.length:!1;n?this.trigger("whitespaceChange",{value:this.query}):e||this.trigger("queryChange",{value:this.query=t})},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},setPreventDefaultValueForKey:function(t,e){this.specialKeyCodeMap[t].preventDefault=!!e},getQuery:function(){return this.query},getInputValue:function(){return this.$input.val()},setInputValue:function(t,e){this.$input.val(t),e!==!0&&this._compareQueryToInputValue()},getHintValue:function(){return this.$hint.val()},setHintValue:function(t){this.$hint.val(t)},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},isCursorAtEnd:function(){var t,e=this.$input.val().length,n=this.$input[0].selectionStart;return n?n===e:document.selection?(t=document.selection.createRange(),t.moveStart("character",-e),e===t.text.length):!0}}),t}(),a=function(){function t(t){e.bindAll(this),this.isMouseOverDropdown,this.$menu=$(t.menu).on("mouseenter",this._handleMouseenter).on("mouseleave",this._handleMouseleave).on("mouseover",".tt-suggestions > .tt-suggestion",this._handleMouseover).on("click",".tt-suggestions > .tt-suggestion",this._handleSelection)}function i(t){var e=t.parents(".tt-suggestions").first();return{value:t.data("value"),query:e.data("query"),dataset:e.data("dataset")}}return e.mixin(t.prototype,n,{_handleMouseenter:function(){this.isMouseOverDropdown=!0},_handleMouseleave:function(){this.isMouseOverDropdown=!1},_handleMouseover:function(t){this._getSuggestions().removeClass("tt-is-under-cursor"),$(t.currentTarget).addClass("tt-is-under-cursor")},_handleSelection:function(t){this.trigger("select",i($(t.currentTarget)))},_moveCursor:function(t){var e,n,i,s;if(this.$menu.hasClass("tt-is-open")){if(e=this._getSuggestions(),n=e.filter(".tt-is-under-cursor"),n.removeClass("tt-is-under-cursor"),i=e.index(n)+t,i=(i+1)%(e.length+1)-1,-1===i)return this.trigger("cursorOff"),void 0;-1>i&&(i=e.length-1),s=e.eq(i).addClass("tt-is-under-cursor"),this.trigger("cursorOn",{value:s.data("value")})}},_getSuggestions:function(){return this.$menu.find(".tt-suggestions > .tt-suggestion")},hideUnlessMouseIsOverDropdown:function(){this.isMouseOverDropdown||this.hide()},hide:function(){this.$menu.hasClass("tt-is-open")&&(this.$menu.removeClass("tt-is-open").find(".tt-suggestions > .tt-suggestion").removeClass("tt-is-under-cursor"),this.trigger("hide"))},show:function(){this.$menu.hasClass("tt-is-open")||(this.$menu.addClass("tt-is-open"),this.trigger("show"))},isOpen:function(){return this.$menu.hasClass("tt-is-open")},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getSuggestionUnderCursor:function(){var t=this._getSuggestions().filter(".tt-is-under-cursor").first();return t.length>0?i(t):null},getFirstSuggestion:function(){var t=this._getSuggestions().first();return t.length>0?i(t):null},renderSuggestions:function(t,n,i){var s,r,o,u="tt-dataset-"+n.name,a=this.$menu.find("."+u);0===a.length&&(a=$('<li><ol class="tt-suggestions"></ol></li>').addClass(u).appendTo(this.$menu)),s=document.createElement("div"),r=document.createDocumentFragment(),this.clearSuggestions(n.name),i.length>0&&(this.$menu.removeClass("tt-is-empty"),e.each(i,function(t,e){s.innerHTML=n.template.render(e),o=s.firstChild,o.setAttribute("data-value",e.value),r.appendChild(o)})),a.find("> .tt-suggestions").data({query:t,dataset:n.name}).append(r),this.trigger("suggestionsRender")},clearSuggestions:function(t){var e=t?this.$menu.find(".tt-dataset-"+t+" .tt-suggestions"):this.$menu.find(".tt-suggestions");e.empty(),0===this._getSuggestions().length&&this.$menu.addClass("tt-is-empty")}}),t}(),h=function(){function t(t){e.bindAll(this),this.$node=i(t.input),this.datasets=t.datasets,e.each(this.datasets,function(t,e){var n='<li class="tt-suggestion">%body</li>';e.template=e.template?e.engine.compile(n.replace("%body",e.template)):{render:function(t){return n.replace("%body","<p>"+t.value+"</p>")}}}),this.inputView=new u({input:this.$node.find(".tt-query"),hint:this.$node.find(".tt-hint")}),this.dropdownView=new a({menu:this.$node.find(".tt-dropdown-menu")}),this.dropdownView.on("select",this._handleSelection).on("cursorOn",this._clearHint).on("cursorOn",this._setInputValueToSuggestionUnderCursor).on("cursorOff",this._setInputValueToQuery).on("cursorOff",this._updateHint).on("suggestionsRender",this._updateHint).on("show",this._updateHint).on("hide",this._clearHint),this.inputView.on("focus",this._showDropdown).on("blur",this._hideDropdown).on("blur",this._setInputValueToQuery).on("enter",this._handleSelection).on("queryChange",this._clearHint).on("queryChange",this._clearSuggestions).on("queryChange",this._getSuggestions).on("whitespaceChange",this._updateHint).on("queryChange whitespaceChange",this._showDropdown).on("queryChange whitespaceChange",this._setLanguageDirection).on("esc",this._hideDropdown).on("esc",this._setInputValueToQuery).on("up down",this._moveDropdownCursor).on("up down",this._showDropdown).on("tab",this._setPreventDefaultValueForTab).on("tab left right",this._autocomplete)}function i(t){var e=$(t),n=$(s.hint).css({"background-color":e.css("background-color")});if(0===e.length)return null;try{!e.attr("dir")&&e.attr("dir","auto")}catch(i){}return e.attr({autocomplete:!1,spellcheck:!1}).addClass("tt-query").wrap(s.wrapper).parent().prepend(n).append(s.dropdown)}var s={wrapper:'<span class="twitter-typeahead"></span>',hint:'<input class="tt-hint" type="text" autocomplete="false" spellcheck="false" disabled>',dropdown:'<ol class="tt-dropdown-menu tt-is-empty"></ol>'};return e.mixin(t.prototype,n,{_setPreventDefaultValueForTab:function(){var t=this.inputView.getHintValue(),e=this.inputView.getInputValue(),n=t&&t!==e;this.inputView.setPreventDefaultValueForKey("9",n)},_setLanguageDirection:function(){var t="tt-"+this.inputView.getLanguageDirection();this.$node.hasClass(t)||this.$node.removeClass("tt-ltr tt-rtl").addClass(t)},_updateHint:function(){var t,e,n,i,s=this.dropdownView.getFirstSuggestion(),r=s?s.value:null;r&&this.dropdownView.isOpen()&&(t=this.inputView.getInputValue(),e=t.replace(/\s{2,}/g," ").replace(/^\s+/g,""),n=RegExp("^(?:"+e+")(.*$)","i"),i=n.exec(r),this.inputView.setHintValue(t+(i?i[1]:"")))},_clearHint:function(){this.inputView.setHintValue("")},_clearSuggestions:function(){this.dropdownView.clearSuggestions()},_setInputValueToQuery:function(){this.inputView.setInputValue(this.inputView.getQuery())},_setInputValueToSuggestionUnderCursor:function(t){this.inputView.setInputValue(t.data.value,!0)},_showDropdown:function(){this.dropdownView.show()},_hideDropdown:function(t){this.dropdownView["blur"===t.type?"hideUnlessMouseIsOverDropdown":"hide"]()},_moveDropdownCursor:function(t){this.dropdownView["up"===t.type?"moveCursorUp":"moveCursorDown"]()},_handleSelection:function(t){var n="select"===t.type,i=n?t.data:this.dropdownView.getSuggestionUnderCursor();i&&(this.inputView.setInputValue(i.value),n?this.inputView.focus():t.data.preventDefault(),n&&e.isMsie()?setTimeout(this.dropdownView.hide,0):this.dropdownView.hide())},_getSuggestions:function(){var t=this,n=this.inputView.getQuery();e.each(this.datasets,function(e,i){i.getSuggestions(n,function(e){t._renderSuggestions(n,i,e)})})},_renderSuggestions:function(t,e,n){t===this.inputView.getQuery()&&(n=n.slice(0,e.limit),this.dropdownView.renderSuggestions(t,e,n))},_autocomplete:function(t){var e,n,i,s;("right"!==t.type&&"left"!==t.type||(e=this.inputView.isCursorAtEnd(),n="ltr"===this.inputView.getLanguageDirection()?"left"===t.type:"right"===t.type,e&&!n))&&(i=this.inputView.getQuery(),s=this.inputView.getHintValue(),""!==s&&i!==s&&this.inputView.setInputValue(s))}}),t}();(function(){function t(t){s[t]?s[t].apply(this,[].slice.call(arguments,1)):s.initialize.apply(this,arguments)}function n(t){a=t}var i,s,u={},a={};jQuery.fn.typeahead=t,t.configureTransport=n,s={initialize:function(n){var s={};if(n=e.isArray(n)?n:[n],0===n.length)throw Error("no datasets provided");return delete t.configureTransport,i=i||new r(a),e.each(n,function(t,n){var r,a=n.name=n.name||e.getUniqueId();if(u[a])r=u[a];else{if(n.limit=n.limit||5,n.template=n.template,n.engine=n.engine,n.template&&!n.engine)throw Error("no template engine specified for "+a);r=u[a]=new o({name:n.name,limit:n.limit,local:n.local,prefetch:n.prefetch,remote:n.remote,matcher:n.matcher,ranker:n.ranker,transport:i})}s[a]={name:n.name,limit:n.limit,template:n.template,engine:n.engine,getSuggestions:r.getSuggestions}}),this.each(function(){$(this).data({typeahead:new h({input:this,datasets:s})})})}}})()})();
|
@@ -0,0 +1,72 @@
|
|
1
|
+
/*!
|
2
|
+
* Twitter Typeahead 0.8.0
|
3
|
+
* https://github.com/twitter/typeahead
|
4
|
+
* Copyright 2013 Twitter, Inc. and other contributors; Licensed MIT
|
5
|
+
*/
|
6
|
+
|
7
|
+
.twitter-typeahead {
|
8
|
+
position: relative !important;
|
9
|
+
display: inline-block;
|
10
|
+
*display: inline;
|
11
|
+
*zoom: 1;
|
12
|
+
}
|
13
|
+
.tt-query {
|
14
|
+
position: relative !important;
|
15
|
+
/* for unknown reasons, this fixes alignment issues in ie7 */
|
16
|
+
|
17
|
+
*margin-top: -1px !important;
|
18
|
+
vertical-align: top !important;
|
19
|
+
background-color: transparent !important;
|
20
|
+
/* ie6-8 doesn't fire hover and click events for transparent elements
|
21
|
+
for a workaround, use a 1x1 transparent gif */
|
22
|
+
|
23
|
+
background-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) !important;
|
24
|
+
}
|
25
|
+
.tt-hint {
|
26
|
+
position: absolute !important;
|
27
|
+
top: 0 !important;
|
28
|
+
left: 0 !important;
|
29
|
+
border-color: transparent !important;
|
30
|
+
-webkit-box-shadow: none !important;
|
31
|
+
-moz-box-shadow: none !important;
|
32
|
+
box-shadow: none !important;
|
33
|
+
}
|
34
|
+
.tt-dropdown-menu,
|
35
|
+
.tt-suggestions,
|
36
|
+
.tt-suggestion {
|
37
|
+
padding: 0;
|
38
|
+
margin: 0;
|
39
|
+
list-style: none;
|
40
|
+
}
|
41
|
+
.tt-dropdown-menu {
|
42
|
+
position: absolute;
|
43
|
+
top: 100%;
|
44
|
+
left: 0;
|
45
|
+
z-index: 100;
|
46
|
+
/* TODO: need default z-index, should be configurable */
|
47
|
+
|
48
|
+
display: none;
|
49
|
+
}
|
50
|
+
.tt-dropdown-menu.tt-is-open {
|
51
|
+
display: block;
|
52
|
+
}
|
53
|
+
.tt-dropdown-menu.tt-is-empty {
|
54
|
+
display: none;
|
55
|
+
}
|
56
|
+
.tt-suggestion {
|
57
|
+
display: block;
|
58
|
+
white-space: nowrap;
|
59
|
+
cursor: pointer;
|
60
|
+
}
|
61
|
+
.tt-suggestion * {
|
62
|
+
white-space: normal;
|
63
|
+
}
|
64
|
+
/* rtl support */
|
65
|
+
/* ----------- */
|
66
|
+
.twitter-typeahead.tt-rtl {
|
67
|
+
direction: rtl;
|
68
|
+
}
|
69
|
+
.twitter-typeahead.tt-rtl .tt-dropdown-menu {
|
70
|
+
left: auto;
|
71
|
+
right: 0;
|
72
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/*!
|
2
|
+
* Twitter Typeahead 0.8.0
|
3
|
+
* https://github.com/twitter/typeahead
|
4
|
+
* Copyright 2013 Twitter, Inc. and other contributors; Licensed MIT
|
5
|
+
*/
|
6
|
+
|
7
|
+
.twitter-typeahead{position:relative!important;display:inline-block;*display:inline;*zoom:1}.tt-query{position:relative!important;*margin-top:-1px!important;vertical-align:top!important;background-color:transparent!important;background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)!important}.tt-hint{position:absolute!important;top:0!important;left:0!important;border-color:transparent!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.tt-dropdown-menu,.tt-suggestions,.tt-suggestion{padding:0;margin:0;list-style:none}.tt-dropdown-menu{position:absolute;top:100%;left:0;z-index:100;display:none}.tt-dropdown-menu.tt-is-open{display:block}.tt-dropdown-menu.tt-is-empty{display:none}.tt-suggestion{display:block;white-space:nowrap;cursor:pointer}.tt-suggestion *{white-space:normal}.twitter-typeahead.tt-rtl{direction:rtl}.twitter-typeahead.tt-rtl .tt-dropdown-menu{left:auto;right:0}
|
metadata
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: twitter-typeahead-rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.8.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Yousef Ourabi
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-02-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: railties
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.1'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.1'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: actionpack
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.1'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.1'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: jquery-rails
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rails
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '3.1'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '3.1'
|
78
|
+
description: twitter-typeahead-rails packages the typeahead.js jquery plugin for rails
|
79
|
+
email:
|
80
|
+
- yourabi@gmail.com
|
81
|
+
executables: []
|
82
|
+
extensions: []
|
83
|
+
extra_rdoc_files: []
|
84
|
+
files:
|
85
|
+
- .gitignore
|
86
|
+
- Gemfile
|
87
|
+
- LICENSE.txt
|
88
|
+
- README.md
|
89
|
+
- Rakefile
|
90
|
+
- lib/twitter-typeahead-rails.rb
|
91
|
+
- lib/twitter-typeahead-rails/version.rb
|
92
|
+
- twitter-typeahead-rails.gemspec
|
93
|
+
- vendor/assets/javascripts/twitter/typeahead.js
|
94
|
+
- vendor/assets/javascripts/twitter/typeahead.min.js
|
95
|
+
- vendor/assets/javascripts/twitter/typeahead/typeahead.js
|
96
|
+
- vendor/assets/javascripts/twitter/typeahead/typeahead.min.js
|
97
|
+
- vendor/assets/stylesheets/twitter/typeahead.css
|
98
|
+
- vendor/assets/stylesheets/twitter/typeahead.min.css
|
99
|
+
- vendor/assets/stylesheets/twitter/typeahead/typeahead.css
|
100
|
+
- vendor/assets/stylesheets/twitter/typeahead/typeahead.min.css
|
101
|
+
homepage: https://github.com/yourabi/twitter-typeahead-rails
|
102
|
+
licenses: []
|
103
|
+
post_install_message:
|
104
|
+
rdoc_options: []
|
105
|
+
require_paths:
|
106
|
+
- lib
|
107
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - ! '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ! '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
requirements: []
|
120
|
+
rubyforge_project:
|
121
|
+
rubygems_version: 1.8.23
|
122
|
+
signing_key:
|
123
|
+
specification_version: 3
|
124
|
+
summary: twitter-typeahead-rails packages the typeahead.js jquery plugin for rails
|
125
|
+
test_files: []
|