/** * jPList - jQuery Data Grid Controls 5.2.0.5 - http://jplist.com * Copyright 2016 Miriam Zusin */ (function(){var e=function(a,b){var c,d,e,g,f=null,h="";d=a.$control.data("path");g=a.$control.data("dataType");e=a.$control.data("dataText");c=a.$control.data("$countValue");switch(g){case "path":f=jQuery.fn.jplist.FiltersService.pathFilter(d,b);break;case "text":a.controlOptions&&a.controlOptions.ignore&&(h=a.controlOptions.ignore);f=jQuery.fn.jplist.FiltersService.textFilter(e,d,b,h,"contains");break;case "range":f=jQuery.fn.jplist.FiltersService.rangeFilter(d,b,0,0,Number(a.$control.data("dataMin")), Number(a.$control.data("dataMax")))}f&&(c.html(f.length),0===f.length?a.$control.addClass("count-0"):a.$control.removeClass("count-0"))},l=function(a){switch(a.$control.data("dataMode")){case "static":a.observer.on(a.observer.events.collectionReadyEvent,function(b,c){e(a,c.dataitems)});break;case "filter":a.observer.on(a.observer.events.listFiltered,function(b,c,d){e(a,d.dataview)});break;case "all":a.observer.on(a.observer.events.setStatusesEvent,function(b,c,d){e(a,d.dataview)})}a.observer.on(a.observer.events.dataItemAdded, function(b,c,d){e(a,d)});a.observer.on(a.observer.events.dataItemRemoved,function(b,c,d){e(a,d)})},k=function(a){var b,c,d,e,g,f,h;b=a.$control.attr("data-format");e=a.$control.attr("data-mode")||"static";g=a.$control.attr("data-type")||"path";c=a.$control.attr("data-path");d=a.$control.attr("data-text");f=Number(a.$control.attr("data-min"));h=Number(a.$control.attr("data-max"));b&&(b=b.replace("{count}",''),a.$control.html(b),b=a.$control.find('[data-type="count-value"]'), a.$control.data("$countValue",b));c&&(b=new jQuery.fn.jplist.PathModel(c,null),a.$control.data("path",b));a.$control.data("dataMode",e);a.$control.data("dataType",g);a.$control.data("dataPath",c);a.$control.data("dataText",d);a.$control.data("dataMin",f);a.$control.data("dataMax",h);l(a);return jQuery.extend(this,a)};k.prototype.getPaths=function(a){var b,c;b=this.$control.attr("data-path");c=this.$control.attr("data-type");b&&(b=new jQuery.fn.jplist.PathModel(b,c),a.push(b))};jQuery.fn.jplist.controls.Counter= function(a){return new k(a)};jQuery.fn.jplist.controlTypes.counter={className:"Counter",options:{ignore:"[~!@#$%^&*()+=`'\"/\\_]+"}}})();