/** * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3). * * @version v1.13.0 * @homepage http://bootstrap-table.wenzhixin.net.cn * @author wenzhixin (http://wenzhixin.net.cn/) * @license MIT */ (function(a,b){if("function"==typeof define&&define.amd)define([],b);else if("undefined"!=typeof exports)b();else{b(),a.bootstrapTableFilterControl={exports:{}}.exports}})(this,function(){"use strict";(function(c){var a=c.fn.bootstrapTable.utils.sprintf,b=c.fn.bootstrapTable.utils.objectKeys,d=function(a){return a.get(a.length-1).options},e=function(b,c){for(var e=d(b),f=0;f").attr("value",b).text(c("
").html(d).text()))},g=function(a){a=c(a.get(a.length-1));var b=a.find("option:gt(0)");b.sort(function(d,a){return d=c(d).text().toLowerCase(),a=c(a).text().toLowerCase(),c.isNumeric(d)&&c.isNumeric(a)&&(d=parseFloat(d),a=parseFloat(a)),d>a?1:d
");else{h.push("
");var i=k.filterControl.toLowerCase();k.searchable&&b.options.filterTemplate[i]&&(j=!0,e="visible",h.push(b.options.filterTemplate[i](b,k.field,e,k.filterControlPlaceholder?k.filterControlPlaceholder:"","filter-control-"+a)))}if(c.each(d.children().children(),function(a,b){if(b=c(b),b.data("field")===k.field)return b.find(".fht-cell").append(h.join("")),!1}),void 0!==k.filterData&&"column"!==k.filterData.toLowerCase()){var l,m,n=v(u,k.filterData.substring(0,k.filterData.indexOf(":")));if(null!==n)l=k.filterData.substring(k.filterData.indexOf(":")+1,k.filterData.length),m=c(".bootstrap-table-filter-control-"+r(k.field)),f(m,"",""),n(l,m);else throw new SyntaxError("Error. You should use any of these allowed filter data methods: var, json, url. Use like this: var: {key: \"value\"}");var o,p;switch(n){case"url":c.ajax({url:l,dataType:"json",success:function(a){for(var b in a)f(m,b,a[b]);g(m)}});break;case"var":for(p in o=window[l],o)f(m,p,o[p]);g(m);break;case"jso":for(p in o=JSON.parse(l),o)f(m,p,o[p]);g(m);}}}}),j?(d.off("keyup","input").on("keyup","input",function(a){b.options.searchOnEnterKey&&13!==a.keyCode||-1",c,d,e)},select:function(b,c,d){return a("",c,d,t(b.options.alignmentSelectControlOptions))},datepicker:function(b,c,d){return a("",c,d)}},disableControlWhenSearch:!1,searchOnEnterKey:!1,valuesFilterControl:[]}),c.extend(c.fn.bootstrapTable.columnDefaults,{filterControl:void 0,filterData:void 0,filterDatepickerOptions:void 0,filterStrictSearch:!1,filterStartsWithSearch:!1,filterControlPlaceholder:""}),c.extend(c.fn.bootstrapTable.Constructor.EVENTS,{"column-search.bs.table":"onColumnSearch","created-controls.bs.table":"onCreatedControls"}),c.extend(c.fn.bootstrapTable.defaults.icons,{clear:"glyphicon-trash icon-clear"}),c.extend(c.fn.bootstrapTable.locales,{formatClearFilters:function(){return"Clear Filters"}}),c.extend(c.fn.bootstrapTable.defaults,c.fn.bootstrapTable.locales),c.fn.bootstrapTable.methods.push("triggerSearch");var w=c.fn.bootstrapTable.Constructor,x=w.prototype.init,y=w.prototype.initToolbar,z=w.prototype.initHeader,A=w.prototype.initBody,B=w.prototype.initSearch;w.prototype.init=function(){if(this.options.filterControl){var a=this;Object.keys||b(),this.options.valuesFilterControl=[],this.$el.on("reset-view.bs.table",function(){!a.options.height||0.btn-group"),d=b.find(".filter-show-clear");d.length||(d=c([a(""].join("")).appendTo(b),d.off("click").on("click",c.proxy(this.clearFilterControl,this)))}},w.prototype.initHeader=function(){z.apply(this,Array.prototype.slice.apply(arguments));this.options.filterControl&&s(this,this.$header)},w.prototype.initBody=function(){A.apply(this,Array.prototype.slice.apply(arguments)),q(this)},w.prototype.initSearch=function(){if(B.apply(this,Array.prototype.slice.apply(arguments)),"server"!==this.options.sidePagination){var a=this,b=c.isEmptyObject(a.filterColumnsPartial)?null:a.filterColumnsPartial;a.data=b?c.grep(a.data,function(d,e){for(var f in b){var g=a.columns[a.fieldsColumnsIndex[f]],h=b[f].toLowerCase(),i=d[f];if(g&&g.searchFormatter&&(i=c.fn.bootstrapTable.utils.calculateObjectValue(a.header,a.header.formatters[c.inArray(f,a.header.fields)],[i,d,e],i)),-1!==c.inArray(f,a.header.fields)&&("string"==typeof i||"number"==typeof i))if(g.filterStrictSearch){if(i.toString().toLowerCase()===h.toString().toLowerCase())return!0;}else if(g.filterStartsWithSearch){if(0===(i+"").toLowerCase().indexOf(h))return!0;}else if(-1!==(i+"").toLowerCase().indexOf(h))return!0}return!1}):a.data}},w.prototype.initColumnSearch=function(a){if(n(this),a)for(var b in this.filterColumnsPartial=a,this.updatePagination(),a)this.trigger("column-search",b,a[b])},w.prototype.onColumnSearch=function(a){if(!(-1