/* * bootstrap-table - v1.12.1 - 2018-03-12 * https://github.com/wenzhixin/bootstrap-table * Copyright (c) 2018 zhixin wen * Licensed MIT License */ !function(a){"use strict";var b=a.fn.bootstrapTable.utils.sprintf,c=a.fn.bootstrapTable.utils.objectKeys,d=function(a){return a.get(a.length-1).options},e=function(a,c){for(var e=d(a),f=0;f").attr("value",c).text(a("
").html(d).text()))},g=function(b){b=a(b.get(b.length-1));var c=b.find("option:gt(0)");c.sort(function(b,c){return b=a(b).text().toLowerCase(),c=a(c).text().toLowerCase(),a.isNumeric(b)&&a.isNumeric(c)&&(b=parseFloat(b),c=parseFloat(c)),b>c?1:c>b?-1:0}),b.find("option:gt(0)").remove(),b.append(c)},h=function(a,b){for(var c=d(a),e=0;e0&&e.find(f).each(function(){c=a(this).closest("[data-field]").data("field"),d=a.grep(b.options.valuesFilterControl,function(a){return a.field===c}),d.length>0&&(a(this).val(d[0].value),m(a(this).get(0),d[0].position))})},p=function(){var b=[],c=document.cookie.match(/(?:bs.table.)(\w*)/g);return c?(a.each(c,function(c,d){/./.test(d)&&(d=d.split(".").pop()),-1===a.inArray(d,b)&&b.push(d)}),b):void 0},q=function(b){var c=b.data,d=(b.pageTo0},j=b.options.pagination?"server"===b.options.sidePagination?b.pageTo:b.options.totalRows:b.pageTo;a.each(b.header.fields,function(k,l){var m=b.columns[b.fieldsColumnsIndex[l]],n=a(".bootstrap-table-filter-control-"+r(m.field));if(d(m)&&h(m)&&i(n)){0===n.get(n.length-1).options.length&&f(n,"","");for(var o={},p=0;j>p;p++){var q=c[p][l],s=a.fn.bootstrapTable.utils.calculateObjectValue(b.header,b.header.formatters[k],[q,c[p],p],q);o[s]=q}for(var t in o)f(n,o[t],t);g(n),b.options.hideUnusedSelectOptions&&e(n,o)}})},r=function(a){return String(a).replace(/(:|\.|\[|\]|,)/g,"\\$1")},s=function(c,d){var e,h,i=!1;a.each(c.columns,function(b,j){if(e="hidden",h=[],j.visible){if(j.filterControl){h.push('
');var k=j.filterControl.toLowerCase();j.searchable&&c.options.filterTemplate[k]&&(i=!0,e="visible",h.push(c.options.filterTemplate[k](c,j.field,e,j.filterControlPlaceholder?j.filterControlPlaceholder:"","filter-control-"+b)))}else h.push('
');if(a.each(d.children().children(),function(b,c){return c=a(c),c.data("field")===j.field?(c.find(".fht-cell").append(h.join("")),!1):void 0}),void 0!==j.filterData&&"column"!==j.filterData.toLowerCase()){var l,m,n=v(u,j.filterData.substring(0,j.filterData.indexOf(":")));if(null===n)throw new SyntaxError('Error. You should use any of these allowed filter data methods: var, json, url. Use like this: var: {key: "value"}');l=j.filterData.substring(j.filterData.indexOf(":")+1,j.filterData.length),m=a(".bootstrap-table-filter-control-"+r(j.field)),f(m,"",""),n(l,m);var o,p;switch(n){case"url":a.ajax({url:l,dataType:"json",success:function(a){for(var b in a)f(m,b,a[b]);g(m)}});break;case"var":o=window[l];for(p in o)f(m,p,o[p]);g(m);break;case"jso":o=JSON.parse(l);for(p in o)f(m,p,o[p]);g(m)}}}}),i?(d.off("keyup","input").on("keyup","input",function(b){c.options.searchOnEnterKey&&13!==b.keyCode||a.inArray(b.keyCode,[37,38,39,40])>-1||(clearTimeout(b.currentTarget.timeoutId||0),b.currentTarget.timeoutId=setTimeout(function(){c.onColumnSearch(b)},c.options.searchTimeOut))}),d.off("change","select").on("change","select",function(b){c.options.searchOnEnterKey&&13!==b.keyCode||a.inArray(b.keyCode,[37,38,39,40])>-1||(clearTimeout(b.currentTarget.timeoutId||0),b.currentTarget.timeoutId=setTimeout(function(){c.onColumnSearch(b)},c.options.searchTimeOut))}),d.off("mouseup","input").on("mouseup","input",function(b){var d=a(this),e=d.val();""!==e&&setTimeout(function(){var a=d.val();""===a&&(clearTimeout(b.currentTarget.timeoutId||0),b.currentTarget.timeoutId=setTimeout(function(){c.onColumnSearch(b)},c.options.searchTimeOut))},1)}),d.find(".date-filter-control").length>0&&a.each(c.columns,function(c,e){void 0!==e.filterControl&&"datepicker"===e.filterControl.toLowerCase()&&d.find(".date-filter-control.bootstrap-table-filter-control-"+e.field).datepicker(e.filterDatepickerOptions).on("changeDate",function(c){a(b("#%s",c.currentTarget.id)).val(c.currentTarget.value),a(c.currentTarget).keyup()})})):d.find(".filterControl").hide()},t=function(a){switch(a=void 0===a?"left":a.toLowerCase()){case"left":return"ltr";case"right":return"rtl";case"auto":return"auto";default:return"ltr"}},u={"var":function(a,b){var c=window[a];for(var d in c)f(b,d,c[d]);g(b)},url:function(b,c){a.ajax({url:b,dataType:"json",success:function(a){for(var b in a)f(c,b,a[b]);g(c)}})},json:function(a,b){var c=JSON.parse(a);for(var d in c)f(b,d,c[d]);g(b)}},v=function(a,b){for(var c=Object.keys(a),d=0;d',c,d,e)},select:function(a,c,d){return b('',c,d,t(a.options.alignmentSelectControlOptions))},datepicker:function(a,c,d){return b('',c,d)}},disableControlWhenSearch:!1,searchOnEnterKey:!1,valuesFilterControl:[]}),a.extend(a.fn.bootstrapTable.columnDefaults,{filterControl:void 0,filterData:void 0,filterDatepickerOptions:void 0,filterStrictSearch:!1,filterStartsWithSearch:!1,filterControlPlaceholder:""}),a.extend(a.fn.bootstrapTable.Constructor.EVENTS,{"column-search.bs.table":"onColumnSearch"}),a.extend(a.fn.bootstrapTable.defaults.icons,{clear:"glyphicon-trash icon-clear"}),a.extend(a.fn.bootstrapTable.locales,{formatClearFilters:function(){return"Clear Filters"}}),a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales),a.fn.bootstrapTable.methods.push("triggerSearch");var w=a.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||c(),this.options.valuesFilterControl=[],this.$el.on("reset-view.bs.table",function(){a.options.height&&(a.$tableHeader.find("select").length>0||a.$tableHeader.find("input").length>0||s(a,a.$tableHeader))}).on("post-header.bs.table",function(){o(a)}).on("post-body.bs.table",function(){a.options.height&&i(a)}).on("column-switch.bs.table",function(){o(a)}).on("load-success.bs.table",function(){a.EnableControls(!0)}).on("load-error.bs.table",function(){a.EnableControls(!0)})}x.apply(this,Array.prototype.slice.apply(arguments))},w.prototype.initToolbar=function(){if(this.showToolbar=this.showToolbar||this.options.filterControl&&this.options.filterShowClear,y.apply(this,Array.prototype.slice.apply(arguments)),this.options.filterControl&&this.options.filterShowClear){var c=this.$toolbar.find(">.btn-group"),d=c.find(".filter-show-clear");d.length||(d=a([b('"].join("")).appendTo(c),d.off("click").on("click",a.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 b=this,c=a.isEmptyObject(b.filterColumnsPartial)?null:b.filterColumnsPartial;b.data=c?a.grep(b.data,function(d,e){for(var f in c){var g=b.columns[b.fieldsColumnsIndex[f]],h=c[f].toLowerCase(),i=d[f];if(g&&g.searchFormatter&&(i=a.fn.bootstrapTable.utils.calculateObjectValue(b.header,b.header.formatters[a.inArray(f,b.header.fields)],[i,d,e],i)),-1!==a.inArray(f,b.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}):b.data}},w.prototype.initColumnSearch=function(a){if(n(this),a){this.filterColumnsPartial=a,this.updatePagination();for(var b in a)this.trigger("column-search",b,a[b])}},w.prototype.onColumnSearch=function(b){if(!(a.inArray(b.keyCode,[37,38,39,40])>-1)){n(this);var c=a.trim(a(b.currentTarget).val()),d=a(b.currentTarget).closest("[data-field]").data("field");a.isEmptyObject(this.filterColumnsPartial)&&(this.filterColumnsPartial={}),c?this.filterColumnsPartial[d]=c:delete this.filterColumnsPartial[d],this.searchText+="randomText",this.options.pageNumber=1,this.EnableControls(!1),this.onSearch(b),this.trigger("column-search",d,c)}},w.prototype.clearFilterControl=function(){if(this.options.filterControl&&this.options.filterShowClear){var c=this,d=p(),e=j(c),f=e.closest("table"),g=e.find(k(c)),h=c.$toolbar.find(".search input"),i=0;if(a.each(c.options.valuesFilterControl,function(a,b){b.value=""}),o(c),!(g.length>0))return;if(this.filterColumnsPartial={},a(g[0]).trigger("INPUT"===g[0].tagName?"keyup":"change"),h.length>0&&c.resetSearch(),c.options.sortName!==f.data("sortName")||c.options.sortOrder!==f.data("sortOrder")){var l=e.find(b('[data-field="%s"]',a(g[0]).closest("table").data("sortName")));l.length>0&&(c.onSort(f.data("sortName"),f.data("sortName")),a(l).find(".sortable").trigger("click"))}clearTimeout(i),i=setTimeout(function(){d&&d.length>0&&a.each(d,function(a,b){void 0!==c.deleteCookie&&c.deleteCookie(b)})},c.options.searchTimeOut)}},w.prototype.triggerSearch=function(){var b=j(this),c=k(this);b.find(c).each(function(){var b=a(this);b.is("select")?b.change():b.keyup()})},w.prototype.EnableControls=function(a){if(this.options.disableControlWhenSearch&&"server"===this.options.sidePagination){var b=j(this),c=k(this);a?b.find(c).removeProp("disabled"):b.find(c).prop("disabled","disabled")}}}(jQuery);