(function($) { AjaxSolr.FacetWidget = AjaxSolr.AbstractSirenFacetWidget.extend({ limit: 11, afterRequest : function() { var self=this; if (this.manager.response.facet_counts.facet_fields[this.field] === undefined) { $(this.target).html(AjaxSolr.theme('loading_items')); return; } var maxCount = 0; var objectedItems = []; for ( var facet_value in this.manager.response.facet_counts.facet_fields[this.field]) { var count = parseInt(this.manager.response.facet_counts.facet_fields[this.field][facet_value]); if (count > maxCount) { maxCount = count; } objectedItems.push({ value : facet_value, count : count, handler : this.clickHandler(facet_value) }); } objectedItems.sort(function(a, b) { return a.count > b.count ? -1 : 1; }); // here check how many items is there var objectedItemsLength = objectedItems.length; //console.log("limit:"+this.limit+"objectedItemsLength:" +objectedItemsLength); if(objectedItemsLength==this.limit){ objectedItems.pop(); } $(this.target).empty(); $(this.target).append(AjaxSolr.theme('facet', objectedItems)); if(objectedItemsLength == this.limit){ $(this.target).append('show more'); $(this.target).find("a.show_more").click(function(e){ e.preventDefault(); $(this).addClass("ajax-indicator"); self.changeLimit(self.limit + 10); }); } }, changeLimit : function(limit) { var self = this; self.limit = limit; self.manager.store.addByValue('f.' + self.field + '.facet.limit',limit); self.manager.doRequest(undefined,undefined,[self.target.replace("#","")]); } }); })(jQuery);