Plugin Directory

Changeset 1486081


Ignore:
Timestamp:
08/30/2016 03:00:57 AM (10 years ago)
Author:
csixty4
Message:

Sprinkled more JavaScript pseudo-events throughout the code

Location:
daves-wordpress-live-search/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • daves-wordpress-live-search/trunk/js/daves-wordpress-live-search.js

    r971387 r1486081  
    150150                // Hide the search results, no results to show
    151151                LiveSearch.hideResults();
     152                LiveSearch.invokeCallbacks('ZeroResults');
    152153        }
    153154        else {
     155                LiveSearch.invokeCallbacks('BeforeDisplayResults');
    154156                // Render the result template
    155157                renderedResult = LiveSearch.compiledResultTemplate({
     
    179181                   window.location.href = jQuery(this).find('a.daves-wordpress-live-search_title').attr('href');
    180182                });
     183
     184                LiveSearch.invokeCallbacks('AfterDisplayResults');
    181185        }
    182186
     
    306310        jQuery(".search_results_activity_indicator").css('left', indicatorX);
    307311
     312        LiveSearch.invokeCallbacks('BeforeDisplaySpinner');
    308313        Spinners.create('.search_results_activity_indicator', {
    309314            radii:     [spinnerRadius.inner, spinnerRadius.outer],
     
    314319            speed:     0.7
    315320        }).play();
     321        LiveSearch.invokeCallbacks('AfterDisplaySpinner');
    316322    }
    317323
     
    322328 */
    323329LiveSearch.removeIndicator = function() {
     330    LiveSearch.invokeCallbacks('BeforeHideSpinner');
    324331    jQuery(".search_results_activity_indicator").remove();
     332    LiveSearch.invokeCallbacks('AfterHideSpinner');
    325333};
    326334
  • 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()});
     1var 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  
    7171
    7272== Changelog ==
     73
     74= 4.5 =
     75* 2016-08-29 Dave Ross <dave@davidmichaelross.com>
     76* Sprinkled more JavaScript pseudo-events throughout the code
    7377
    7478= 4.4.1 =
Note: See TracChangeset for help on using the changeset viewer.