Changeset 1486081
- Timestamp:
- 08/30/2016 03:00:57 AM (10 years ago)
- Location:
- daves-wordpress-live-search/trunk
- Files:
-
- 3 edited
-
js/daves-wordpress-live-search.js (modified) (5 diffs)
-
js/daves-wordpress-live-search.min.js (modified) (1 diff)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
daves-wordpress-live-search/trunk/js/daves-wordpress-live-search.js
r971387 r1486081 150 150 // Hide the search results, no results to show 151 151 LiveSearch.hideResults(); 152 LiveSearch.invokeCallbacks('ZeroResults'); 152 153 } 153 154 else { 155 LiveSearch.invokeCallbacks('BeforeDisplayResults'); 154 156 // Render the result template 155 157 renderedResult = LiveSearch.compiledResultTemplate({ … … 179 181 window.location.href = jQuery(this).find('a.daves-wordpress-live-search_title').attr('href'); 180 182 }); 183 184 LiveSearch.invokeCallbacks('AfterDisplayResults'); 181 185 } 182 186 … … 306 310 jQuery(".search_results_activity_indicator").css('left', indicatorX); 307 311 312 LiveSearch.invokeCallbacks('BeforeDisplaySpinner'); 308 313 Spinners.create('.search_results_activity_indicator', { 309 314 radii: [spinnerRadius.inner, spinnerRadius.outer], … … 314 319 speed: 0.7 315 320 }).play(); 321 LiveSearch.invokeCallbacks('AfterDisplaySpinner'); 316 322 } 317 323 … … 322 328 */ 323 329 LiveSearch.removeIndicator = function() { 330 LiveSearch.invokeCallbacks('BeforeHideSpinner'); 324 331 jQuery(".search_results_activity_indicator").remove(); 332 LiveSearch.invokeCallbacks('AfterHideSpinner'); 325 333 }; 326 334 -
daves-wordpress-live-search/trunk/js/daves-wordpress-live-search.min.js
r841510 r1486081 1 var LiveSearch={searchBoxes:"",activeRequests:[],callbacks:[],addCallback:function( a,b){if(this.callbacks[a]===undefined){this.callbacks[a]=[]}return this.callbacks[a].push(b)},invokeCallbacks:function(a,c){var b;if(this.callbacks[a]!==undefined){for(b in this.callbacks[a]){c=this.callbacks[a][b](c)}}}};LiveSearch.init=function(){LiveSearch.searchBoxes=jQuery("input").filter("[name='s']").not(".no-livesearch");LiveSearch.searchBoxes.keyup(LiveSearch.handleKeypress);LiveSearch.searchBoxes.focus(LiveSearch.hideResults);if(!LiveSearch.searchBoxes.outerHeight){alert(DavesWordPressLiveSearchConfig.outdatedJQuery)}LiveSearch.searchBoxes.parents("form").attr("autocomplete","off");LiveSearch.searchBoxes.each(function(){this.autocomplete="off"});jQuery("html").click(LiveSearch.hideResults);LiveSearch.searchBoxes.click(function(a){a.stopPropagation()});LiveSearch.compiledResultTemplate=_.template(DavesWordPressLiveSearchConfig.resultTemplate);jQuery(window).resize(function(){LiveSearch.positionResults(this)})};LiveSearch.positionResults=function(){var c;var d=jQuery("input:focus").first();var b=jQuery("#dwls_search_results");if(b&&d.size()>0){var a=d.offset();a.left+=parseInt(DavesWordPressLiveSearchConfig.xOffset,10);a.top+=parseInt(DavesWordPressLiveSearchConfig.yOffset,10);b.css("left",a.left);b.css("top",a.top);b.css("display","block");switch(DavesWordPressLiveSearchConfig.resultsDirection){case"up":c=a.top-b.height();break;case"down":c=a.top+LiveSearch.searchBoxes.outerHeight();break;default:c=a.top+LiveSearch.searchBoxes.outerHeight()}b.css("top",c+"px")}};LiveSearch.handleAJAXResults=function(b){var d="";LiveSearch.activeRequests.pop();if(b){resultsSearchTerm=b.searchTerms;if(resultsSearchTerm!=jQuery("input:focus").first().val()){if(LiveSearch.activeRequests.length===0){LiveSearch.removeIndicator()}return}var c=jQuery("#dwls_search_results").children("input[name=query]").val();if(c!==""&&resultsSearchTerm==c){if(LiveSearch.activeRequests.length===0){LiveSearch.removeIndicator()}return}if(b.results.length===0){LiveSearch.hideResults()}else{d=LiveSearch.compiledResultTemplate({searchResults:b.results,e:b,resultsSearchTerm:resultsSearchTerm});var a=jQuery("#dwls_search_results");if(a.size()>0){jQuery("#dwls_search_results").replaceWith(d)}else{jQuery("body").append(d)}LiveSearch.positionResults();jQuery("#dwls_search_results").bind("click.dwls",function(){window.location.href=jQuery(this).find("a.daves-wordpress-live-search_title").attr("href")})}if(LiveSearch.activeRequests.length===0){LiveSearch.removeIndicator()}}};LiveSearch.handleKeypress=function(b){var c=0;var a=LiveSearch.searchBoxes.val();setTimeout(function(){LiveSearch.runQuery(a)},c)};LiveSearch.runQuery=function(e){var h=jQuery("input:focus");var f=h.val();var b;var d;if(f===""||f.length<DavesWordPressLiveSearchConfig.minCharsToSearch){LiveSearch.hideResults();LiveSearch.removeIndicator()}else{LiveSearch.displayIndicator();while(LiveSearch.activeRequests.length>0){d=LiveSearch.activeRequests.pop();d.abort()}var c={};var a=h.parents("form").find("input:not(:submit),select,textarea");for(b in a){if(a.hasOwnProperty(b)&&b%1===0){var g=jQuery(a[b]);c[g.attr("name")]=g.val()}}c.action="dwls_search";d=jQuery.get(DavesWordPressLiveSearchConfig.ajaxURL,c,LiveSearch.handleAJAXResults,"json");d.fail=LiveSearch.ajaxFailHandler;LiveSearch.activeRequests.push(d)}};LiveSearch.ajaxFailHandler=function(a){console.log("Dave's WordPress Live Search: There was an error retrieving or parsing search results");console.log("The data returned was:");console.log(a)};LiveSearch.hideResults=function(){var a=jQuery("#dwls_search_results");if(a.size()>0){LiveSearch.invokeCallbacks("BeforeHideResults");switch(DavesWordPressLiveSearchConfig.resultsDirection){case"up":a.fadeOut("normal",function(){a.remove();LiveSearch.invokeCallbacks("AfterHideResults")});break;case"down":a.slideUp("normal",function(){a.remove();LiveSearch.invokeCallbacks("AfterHideResults")});break;default:a.slideUp("normal",function(){a.remove();LiveSearch.invokeCallbacks("AfterHideResults")})}}};LiveSearch.displayIndicator=function(){if(jQuery(".search_results_activity_indicator").size()===0){var e=jQuery("input:focus").first();var b=e.offset();jQuery("body").append('<span id="search_results_activity_indicator" class="search_results_activity_indicator" />');var a={outer:Math.ceil((e.height()*0.9)/2)};a.inner=Math.floor(a.outer*0.29);jQuery(".search_results_activity_indicator").css("position","absolute").css("z-index",9999);var c=(b.top+((e.outerHeight()-e.innerHeight())/2)+"px");jQuery(".search_results_activity_indicator").css("top",c);var d=(b.left+e.outerWidth()-((a.outer+a.inner)*2)-2)+"px";jQuery(".search_results_activity_indicator").css("left",d);Spinners.create(".search_results_activity_indicator",{radii:[a.inner,a.outer],color:"#888888",dashWidth:4,dashes:8,opacity:0.8,speed:0.7}).play()}};LiveSearch.removeIndicator=function(){jQuery(".search_results_activity_indicator").remove()};jQuery(function(){LiveSearch.init()});1 var LiveSearch={searchBoxes:"",activeRequests:[],callbacks:[],addCallback:function(e,r){return void 0===this.callbacks[e]&&(this.callbacks[e]=[]),this.callbacks[e].push(r)},invokeCallbacks:function(e,r){var s;if(void 0!==this.callbacks[e])for(s in this.callbacks[e])r=this.callbacks[e][s](r)}};LiveSearch.init=function(){LiveSearch.searchBoxes=jQuery("input").filter("[name='s']").not(".no-livesearch"),LiveSearch.searchBoxes.keyup(LiveSearch.handleKeypress),LiveSearch.searchBoxes.focus(LiveSearch.hideResults),LiveSearch.searchBoxes.outerHeight||alert(DavesWordPressLiveSearchConfig.outdatedJQuery),LiveSearch.searchBoxes.parents("form").attr("autocomplete","off"),LiveSearch.searchBoxes.each(function(){this.autocomplete="off"}),jQuery("html").click(LiveSearch.hideResults),LiveSearch.searchBoxes.click(function(e){e.stopPropagation()}),LiveSearch.compiledResultTemplate=_.template(DavesWordPressLiveSearchConfig.resultTemplate),jQuery(window).resize(function(){LiveSearch.positionResults(this)})},LiveSearch.positionResults=function(){var e,r=jQuery("input:focus").first(),s=jQuery("#dwls_search_results");if(s&&r.size()>0){var a=r.offset();switch(a.left+=parseInt(DavesWordPressLiveSearchConfig.xOffset,10),a.top+=parseInt(DavesWordPressLiveSearchConfig.yOffset,10),s.css("left",a.left),s.css("top",a.top),s.css("display","block"),DavesWordPressLiveSearchConfig.resultsDirection){case"up":e=a.top-s.height();break;case"down":e=a.top+LiveSearch.searchBoxes.outerHeight();break;default:e=a.top+LiveSearch.searchBoxes.outerHeight()}s.css("top",e+"px")}},LiveSearch.handleAJAXResults=function(e){var r="";if(LiveSearch.activeRequests.pop(),e){if(resultsSearchTerm=e.searchTerms,resultsSearchTerm!=jQuery("input:focus").first().val())return void(0===LiveSearch.activeRequests.length&&LiveSearch.removeIndicator());var s=jQuery("#dwls_search_results").children("input[name=query]").val();if(""!==s&&resultsSearchTerm==s)return void(0===LiveSearch.activeRequests.length&&LiveSearch.removeIndicator());if(0===e.results.length)LiveSearch.hideResults(),LiveSearch.invokeCallbacks("ZeroResults");else{LiveSearch.invokeCallbacks("BeforeDisplayResults"),r=LiveSearch.compiledResultTemplate({searchResults:e.results,e:e,resultsSearchTerm:resultsSearchTerm});var a=jQuery("#dwls_search_results");a.size()>0?jQuery("#dwls_search_results").replaceWith(r):jQuery("body").append(r),LiveSearch.positionResults(),jQuery("#dwls_search_results").bind("click.dwls",function(){window.location.href=jQuery(this).find("a.daves-wordpress-live-search_title").attr("href")}),LiveSearch.invokeCallbacks("AfterDisplayResults")}0===LiveSearch.activeRequests.length&&LiveSearch.removeIndicator()}},LiveSearch.handleKeypress=function(){var e=0,r=LiveSearch.searchBoxes.val();setTimeout(function(){LiveSearch.runQuery(r)},e)},LiveSearch.runQuery=function(){var e,r,s=jQuery("input:focus"),a=s.val();if(""===a||a.length<DavesWordPressLiveSearchConfig.minCharsToSearch)LiveSearch.hideResults(),LiveSearch.removeIndicator();else{for(LiveSearch.displayIndicator();LiveSearch.activeRequests.length>0;)r=LiveSearch.activeRequests.pop(),r.abort();var i={},t=s.parents("form").find("input:not(:submit),select,textarea");for(e in t)if(t.hasOwnProperty(e)&&e%1===0){var c=jQuery(t[e]);i[c.attr("name")]=c.val()}i.action="dwls_search",r=jQuery.get(DavesWordPressLiveSearchConfig.ajaxURL,i,LiveSearch.handleAJAXResults,"json"),r.fail=LiveSearch.ajaxFailHandler,LiveSearch.activeRequests.push(r)}},LiveSearch.ajaxFailHandler=function(e){console.log("Dave's WordPress Live Search: There was an error retrieving or parsing search results"),console.log("The data returned was:"),console.log(e)},LiveSearch.hideResults=function(){var e=jQuery("#dwls_search_results");if(e.size()>0)switch(LiveSearch.invokeCallbacks("BeforeHideResults"),DavesWordPressLiveSearchConfig.resultsDirection){case"up":e.fadeOut("normal",function(){e.remove(),LiveSearch.invokeCallbacks("AfterHideResults")});break;case"down":e.slideUp("normal",function(){e.remove(),LiveSearch.invokeCallbacks("AfterHideResults")});break;default:e.slideUp("normal",function(){e.remove(),LiveSearch.invokeCallbacks("AfterHideResults")})}},LiveSearch.displayIndicator=function(){if(0===jQuery(".search_results_activity_indicator").size()){var e=jQuery("input:focus").first(),r=e.offset();jQuery("body").append('<span id="search_results_activity_indicator" class="search_results_activity_indicator" />');var s={outer:Math.ceil(.9*e.height()/2)};s.inner=Math.floor(.29*s.outer),jQuery(".search_results_activity_indicator").css("position","absolute").css("z-index",9999);var a=r.top+(e.outerHeight()-e.innerHeight())/2+"px";jQuery(".search_results_activity_indicator").css("top",a);var i=r.left+e.outerWidth()-2*(s.outer+s.inner)-2+"px";jQuery(".search_results_activity_indicator").css("left",i),LiveSearch.invokeCallbacks("BeforeDisplaySpinner"),Spinners.create(".search_results_activity_indicator",{radii:[s.inner,s.outer],color:"#888888",dashWidth:4,dashes:8,opacity:.8,speed:.7}).play(),LiveSearch.invokeCallbacks("AfterDisplaySpinner")}},LiveSearch.removeIndicator=function(){LiveSearch.invokeCallbacks("BeforeHideSpinner"),jQuery(".search_results_activity_indicator").remove(),LiveSearch.invokeCallbacks("AfterHideSpinner")},jQuery(function(){LiveSearch.init()}); -
daves-wordpress-live-search/trunk/readme.txt
r1267022 r1486081 71 71 72 72 == Changelog == 73 74 = 4.5 = 75 * 2016-08-29 Dave Ross <dave@davidmichaelross.com> 76 * Sprinkled more JavaScript pseudo-events throughout the code 73 77 74 78 = 4.4.1 =
Note: See TracChangeset
for help on using the changeset viewer.