/* * bootstrap-table - v1.2.2 - 2014-09-03 * https://github.com/wenzhixin/bootstrap-table * Copyright (c) 2014 zhixin wen * Licensed MIT License */ !function($){"use strict";var sprintf=function(a){var b=arguments,c=!0,d=1;return a=a.replace(/%s/g,function(){var a=b[d++];return"undefined"==typeof a?(c=!1,""):a}),c?a:""},getPropertyFromOther=function(a,b,c,d){var e="";return $.each(a,function(a,f){return f[b]===d?(e=f[c],!1):!0}),e},getFiledIndex=function(a,b){var c=-1;return $.each(a,function(a,d){return d.field===b?(c=a,!1):!0}),c},getScrollBarWidth=function(){var a,b,c=$("

").addClass("fixed-table-scroll-inner"),d=$("

").addClass("fixed-table-scroll-outer");return d.append(c),$("body").append(d),a=c[0].offsetWidth,d.css("overflow","scroll"),b=c[0].offsetWidth,a==b&&(b=d[0].clientWidth),d.remove(),a-b},BootstrapTable=function(a,b){this.options=b,this.$el=$(a),this.$el_=this.$el.clone(),this.timeoutId_=0,this.init()};BootstrapTable.DEFAULTS={classes:"table table-hover",height:void 0,undefinedText:"-",sortName:void 0,sortOrder:"asc",striped:!1,columns:[],data:[],method:"get",url:void 0,contentType:"application/json",queryParams:function(){return{}},queryParamsType:void 0,responseHandler:function(a){return a},pagination:!1,sidePagination:"client",totalRows:0,pageNumber:1,pageSize:10,pageList:[10,25,50,100],search:!1,selectItemName:"btSelectItem",showHeader:!0,showColumns:!1,showRefresh:!1,showToggle:!1,minimumCountColumns:1,idField:void 0,cardView:!1,clickToSelect:!1,singleSelect:!1,toolbar:void 0,checkboxHeader:!0,sortable:!0,rowStyle:function(){return{}},formatLoadingMessage:function(){return"Loading, please wait…"},formatRecordsPerPage:function(a){return sprintf("%s records per page",a)},formatShowingRows:function(a,b,c){return sprintf("Showing %s to %s of %s rows",a,b,c)},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},onAll:function(){return!1},onClickRow:function(){return!1},onDblClickRow:function(){return!1},onSort:function(){return!1},onCheck:function(){return!1},onUncheck:function(){return!1},onCheckAll:function(){return!1},onUncheckAll:function(){return!1},onLoadSuccess:function(){return!1},onLoadError:function(){return!1}},BootstrapTable.COLUMN_DEFAULTS={radio:!1,checkbox:!1,checkboxEnabled:!0,field:void 0,title:void 0,"class":void 0,align:void 0,halign:void 0,valign:void 0,width:void 0,sortable:!1,order:"asc",visible:!0,switchable:!0,formatter:void 0,events:void 0,sorter:void 0},BootstrapTable.EVENTS={"all.bs.table":"onAll","click-row.bs.table":"onClickRow","dbl-click-row.bs.table":"onDblClickRow","sort.bs.table":"onSort","check.bs.table":"onCheck","uncheck.bs.table":"onUncheck","check-all.bs.table":"onCheckAll","uncheck-all.bs.table":"onUncheckAll","load-success.bs.table":"onLoadSuccess","load-error.bs.table":"onLoadError"},BootstrapTable.prototype.init=function(){this.initContainer(),this.initTable(),this.initHeader(),this.initData(),this.initToolbar(),this.initPagination(),this.initBody(),this.initServer()},BootstrapTable.prototype.initContainer=function(){this.$container=$(['
','
','
','
','
','
',this.options.formatLoadingMessage(),"
","
",'
',"
","
"].join("")),this.$container.insertAfter(this.$el),this.$container.find(".fixed-table-body").append(this.$el),this.$container.after('
'),this.$loading=this.$container.find(".fixed-table-loading"),this.$el.addClass(this.options.classes),this.options.striped&&this.$el.addClass("table-striped")},BootstrapTable.prototype.initTable=function(){var a=this,b=[],c=[];this.$header=this.$el.find("thead"),this.$header.length||(this.$header=$("").appendTo(this.$el)),this.$header.find("tr").length||this.$header.append(""),this.$header.find("th").each(function(){var a=$.extend({},{title:$(this).html(),"class":$(this).attr("class")},$(this).data());b.push(a)}),this.options.columns=$.extend({},b,this.options.columns),$.each(this.options.columns,function(b,c){a.options.columns[b]=$.extend({},BootstrapTable.COLUMN_DEFAULTS,c)}),this.options.data.length||(this.$el.find("tbody tr").each(function(){var b={};$(this).find("td").each(function(c){b[a.options.columns[c].field]=$(this).html()}),c.push(b)}),this.options.data=c)},BootstrapTable.prototype.initHeader=function(){var a=this,b=[],c=[];this.header={fields:[],styles:[],formatters:[],events:[],sorters:[]},$.each(this.options.columns,function(d,e){{var f="",g=sprintf("text-align: %s; ",e.align)+sprintf("vertical-align: %s; ",e.valign);a.options.sortOrder||e.order}e.visible&&(b.push(e),a.header.fields.push(e.field),a.header.styles.push(g),a.header.formatters.push(e.formatter),a.header.events.push(e.events),a.header.sorters.push(e.sorter),e.halign&&(g=sprintf("text-align: %s; ",e.halign)+sprintf("vertical-align: %s; ",e.valign)),g+=sprintf("width: %spx; ",e.checkbox||e.radio?36:e.width),g+=a.options.sortable&&e.sortable?"cursor: pointer; ":"",c.push(""),c.push('
'),f=e.title,a.options.sortName===e.field&&a.options.sortable&&e.sortable&&(f+=a.getCaretHtml()),e.checkbox&&(!a.options.singleSelect&&a.options.checkboxHeader&&(f=''),a.header.stateField=e.field),e.radio&&(f="",a.header.stateField=e.field,a.options.singleSelect=!0),c.push(f),c.push("
"),c.push('
'),c.push(""))}),this.$header.find("tr").html(c.join("")),this.$header.find("th").each(function(c){$(this).data(b[c]),a.options.sortable&&b[c].sortable&&$(this).off("click").on("click",$.proxy(a.onSort,a))}),!this.options.showHeader||this.options.cardView?(this.$header.hide(),this.$container.find(".fixed-table-header").hide(),this.$loading.css("top",0)):(this.$header.show(),this.$container.find(".fixed-table-header").show(),this.$loading.css("top","42px")),this.$selectAll=this.$header.find('[name="btSelectAll"]'),this.$selectAll.off("click").on("click",function(){var b=$(this).prop("checked");a[b?"checkAll":"uncheckAll"]()})},BootstrapTable.prototype.initData=function(a,b){this.data=b?this.data.concat(a):a||this.options.data,this.options.data=this.data,this.initSort()},BootstrapTable.prototype.initSort=function(){var name=this.options.sortName,order="desc"===this.options.sortOrder?-1:1,index=$.inArray(this.options.sortName,this.header.fields);if(-1!==index){var sorter=this.header.sorters[index];this.data.sort(function(a,b){return"function"==typeof sorter?order*sorter(a[name],b[name]):"string"==typeof sorter?order*eval(sorter+"(a[name], b[name])"):a[name]===b[name]?0:a[name]
').appendTo(this.$toolbar).append($(this.options.toolbar)),d=['
'],this.options.showRefresh&&d.push('"),this.options.showToggle&&d.push('"),this.options.showColumns&&(d.push(sprintf('
',this.options.showRefresh||this.options.showToggle?"btn-group":""),'",'","
")),d.push("
"),d.length>2&&this.$toolbar.append(d.join("")),this.options.showRefresh&&this.$toolbar.find('button[name="refresh"]').off("click").on("click",$.proxy(this.refresh,this)),this.options.showToggle&&this.$toolbar.find('button[name="toggle"]').off("click").on("click",function(){c.options.cardView=!c.options.cardView,c.initHeader(),c.initBody()}),this.options.showColumns&&(a=this.$toolbar.find(".keep-open"),a.find("li").off("click").on("click",function(a){a.stopImmediatePropagation()}),a.find("input").off("click").on("click",function(){var a=$(this);c.toggleColumn(a.val(),a.prop("checked"),!1)})),this.options.search&&(d=[],d.push('"),this.$toolbar.append(d.join("")),b=this.$toolbar.find(".search input"),b.off("keyup").on("keyup",function(a){clearTimeout(e),e=setTimeout($.proxy(c.onSearch,c),500,a)}))},BootstrapTable.prototype.onSearch=function(a){var b=$.trim($(a.currentTarget).val());b!==this.searchText&&(this.searchText=b,this.options.pageNumber=1,this.initSearch(),this.updatePagination())},BootstrapTable.prototype.initSearch=function(){if("server"!==this.options.sidePagination){var a=this.searchText&&this.searchText.toLowerCase();this.data=a?$.grep(this.options.data,function(b){for(var c in b)if(("string"==typeof b[c]||"number"==typeof b[c])&&-1!==(b[c]+"").toLowerCase().indexOf(a))return!0;return!1}):this.options.data}},BootstrapTable.prototype.initPagination=function(){if(this.$pagination=this.$container.find(".fixed-table-pagination"),this.options.pagination){var that=this,html=[],i,from,to,$pageList,$first,$pre,$next,$last,$number,data=this.searchText?this.data:this.options.data;"server"!==this.options.sidePagination&&(this.options.totalRows=data.length),this.totalPages=0,this.options.totalRows&&(this.totalPages=~~((this.options.totalRows-1)/this.options.pageSize)+1),this.totalPages>0&&this.options.pageNumber>this.totalPages&&(this.options.pageNumber=this.totalPages),this.pageFrom=(this.options.pageNumber-1)*this.options.pageSize+1,this.pageTo=this.options.pageNumber*this.options.pageSize,this.pageTo>this.options.totalRows&&(this.pageTo=this.options.totalRows),html.push('
','',this.options.formatShowingRows(this.pageFrom,this.pageTo,this.options.totalRows),""),html.push('');var pageNumber=['','",'"),html.push(this.options.formatRecordsPerPage(pageNumber.join(""))),html.push(""),html.push("
",'"),this.$pagination.html(html.join("")),$pageList=this.$pagination.find(".page-list a"),$first=this.$pagination.find(".page-first"),$pre=this.$pagination.find(".page-pre"),$next=this.$pagination.find(".page-next"),$last=this.$pagination.find(".page-last"),$number=this.$pagination.find(".page-number"),this.options.pageNumber<=1&&($first.addClass("disabled"),$pre.addClass("disabled")),this.options.pageNumber>=this.totalPages&&($next.addClass("disabled"),$last.addClass("disabled")),$pageList.off("click").on("click",$.proxy(this.onPageListChange,this)),$first.off("click").on("click",$.proxy(this.onPageFirst,this)),$pre.off("click").on("click",$.proxy(this.onPagePre,this)),$next.off("click").on("click",$.proxy(this.onPageNext,this)),$last.off("click").on("click",$.proxy(this.onPageLast,this)),$number.off("click").on("click",$.proxy(this.onPageNumber,this))}},BootstrapTable.prototype.updatePagination=function(){this.resetRows(),this.initPagination(),"server"===this.options.sidePagination?this.initServer():this.initBody()},BootstrapTable.prototype.onPageListChange=function(a){var b=$(a.currentTarget);b.parent().addClass("active").siblings().removeClass("active"),this.options.pageSize=+b.text(),this.$toolbar.find(".page-size").text(this.options.pageSize),this.updatePagination()},BootstrapTable.prototype.onPageFirst=function(){this.options.pageNumber=1,this.updatePagination()},BootstrapTable.prototype.onPagePre=function(){this.options.pageNumber--,this.updatePagination()},BootstrapTable.prototype.onPageNext=function(){this.options.pageNumber++,this.updatePagination()},BootstrapTable.prototype.onPageLast=function(){this.options.pageNumber=this.totalPages,this.updatePagination()},BootstrapTable.prototype.onPageNumber=function(a){this.options.pageNumber!==+$(a.currentTarget).text()&&(this.options.pageNumber=+$(a.currentTarget).text(),this.updatePagination())},BootstrapTable.prototype.initBody=function(){var that=this,html=[],data=this.searchText?this.data:this.options.data;this.$body=this.$el.find("tbody"),this.$body.length||(this.$body=$("").appendTo(this.$el)),"server"===this.options.sidePagination&&(data=this.data),this.options.pagination&&"server"!==this.options.sidePagination||(this.pageFrom=1,this.pageTo=data.length);for(var i=this.pageFrom-1;i"),this.options.cardView&&html.push(sprintf('',this.header.fields.length)),$.each(this.header.fields,function(j,field){var text="",value=item[field],type="",style=sprintf('style="%s"',csses.concat(that.header.styles[j]).join("; "));"function"==typeof that.header.formatters[j]?value=that.header.formatters[j](value,item,i):"string"==typeof that.header.formatters[j]&&(value=eval(that.header.formatters[j]+"(value, item, i)")),that.options.columns[j].checkbox||that.options.columns[j].radio?(type=that.options.columns[j].checkbox?"checkbox":type,type=that.options.columns[j].radio?"radio":type,text=['',"",""].join("")):(value="undefined"==typeof value?that.options.undefinedText:value,text=that.options.cardView?['
',sprintf('%s',style,getPropertyFromOther(that.options.columns,"field","title",field)),sprintf('%s',value),"
"].join(""):[sprintf("",style),value,""].join("")),html.push(text)}),this.options.cardView&&html.push(""),html.push("")}html.length||html.push('',sprintf('%s',this.header.fields.length,this.options.formatNoMatches()),""),this.$body.html(html.join("")),this.$container.find(".fixed-table-body").scrollTop(0),this.$body.find("tr").off("click").on("click",function(){that.trigger("click-row",that.data[$(this).data("index")],$(this)),that.options.clickToSelect&&$(this).find(sprintf('[name="%s"]',that.options.selectItemName)).trigger("click")}),this.$body.find("tr").off("dblclick").on("dblclick",function(){that.trigger("dbl-click-row",that.data[$(this).data("index")],$(this))}),this.$selectItem=this.$body.find(sprintf('[name="%s"]',this.options.selectItemName)),this.$selectItem.off("click").on("click",function(a){a.stopImmediatePropagation(),$(this).is(":radio")&&$(this).prop("checked",!0);var b=that.$selectItem.length===that.$selectItem.filter(":checked").length,c=$(this).prop("checked"),d=that.data[$(this).data("index")];that.$selectAll.add(that.$selectAll_).prop("checked",b),d[that.header.stateField]=c,that.trigger(c?"check":"uncheck",d),that.options.singleSelect&&(that.$selectItem.not(this).each(function(){that.data[$(this).data("index")][that.header.stateField]=!1}),that.$selectItem.filter(":checked").not(this).prop("checked",!1)),that.updateSelected()}),$.each(this.header.events,function(i,events){if(events){"string"==typeof events&&(events=eval(events));for(var key in events)that.$body.find("tr").each(function(){var a=$(this),b=a.find("td").eq(i),c=key.indexOf(" "),d=key.substring(0,c),e=key.substring(c+1),f=events[key];b.find(e).off(d).on(d,function(b){var c=a.data("index"),d=that.data[c],e=d[that.header.fields[i]];f(b,e,d,c)})})}}),this.resetView()},BootstrapTable.prototype.initServer=function(){var that=this,data={},params={pageSize:this.options.pageSize,pageNumber:this.options.pageNumber,searchText:this.searchText,sortName:this.options.sortName,sortOrder:this.options.sortOrder};this.options.url&&(this.$loading.show(),"limit"===this.options.queryParamsType&&(params={limit:params.pageSize,offset:params.pageSize*(params.pageNumber-1),search:params.searchText,sort:params.sortName,order:params.sortOrder}),"function"==typeof this.options.queryParams?data=this.options.queryParams(params):"string"==typeof this.options.queryParams&&(data=eval(this.options.queryParams+"(params)")),$.ajax({type:this.options.method,url:this.options.url,data:data,contentType:this.options.contentType,dataType:"json",success:function(res){"function"==typeof that.options.responseHandler?res=that.options.responseHandler(res):"string"==typeof that.options.responseHandler&&(res=eval(that.options.responseHandler+"(res)"));var data=res;"server"===that.options.sidePagination&&(that.options.totalRows=res.total,data=res.rows),that.load(data),that.trigger("load-success",data)},error:function(a){that.trigger("load-error",a.status)},complete:function(){that.$loading.hide()}}))},BootstrapTable.prototype.getCaretHtml=function(){return['','',""].join("")},BootstrapTable.prototype.updateSelected=function(){this.$selectItem.each(function(){$(this).parents("tr")[$(this).prop("checked")?"addClass":"removeClass"]("selected")})},BootstrapTable.prototype.updateRows=function(a){var b=this;this.$selectItem.each(function(){b.data[$(this).data("index")][b.header.stateField]=a})},BootstrapTable.prototype.resetRows=function(){var a=this;$.each(this.data,function(b,c){a.$selectAll.prop("checked",!1),a.$selectItem.prop("checked",!1),c[a.header.stateField]=!1})},BootstrapTable.prototype.trigger=function(a){var b=Array.prototype.slice.call(arguments,1);a+=".bs.table",this.options[BootstrapTable.EVENTS[a]].apply(this.options,b),this.$el.trigger($.Event(a),b),this.options.onAll(a,b),this.$el.trigger($.Event("all.bs.table"),[a,b])},BootstrapTable.prototype.resetHeader=function(){var a=this,b=this.$container.find(".fixed-table-header"),c=this.$container.find(".fixed-table-body"),d=this.$el.width()>c.width()?getScrollBarWidth():0;return this.$el.is(":hidden")?(clearTimeout(this.timeoutId_),void(this.timeoutId_=setTimeout($.proxy(this.resetHeader,this),100))):(this.$header_=this.$header.clone(!0),this.$selectAll_=this.$header_.find('[name="btSelectAll"]'),void setTimeout(function(){b.css({height:"37px","border-bottom":"1px solid #dddddd","margin-right":d}).find("table").css("width",a.$el.css("width")).html("").attr("class",a.$el.attr("class")).append(a.$header_),a.$el.css("margin-top",-a.$header.height()),a.$body.find("tr:first-child:not(.no-records-found) > *").each(function(b){a.$header_.find("div.fht-cell").eq(b).width($(this).innerWidth())}),c.off("scroll").on("scroll",function(){b.scrollLeft($(this).scrollLeft())})}))},BootstrapTable.prototype.toggleColumn=function(a,b,c){if(-1!==a&&(this.options.columns[a].visible=b,this.initHeader(),this.initBody(),this.options.showColumns)){var d=this.$toolbar.find(".keep-open input").prop("disabled",!1);c&&d.filter(sprintf('[value="%s"]',a)).prop("checked",b),d.filter(":checked").length<=this.options.minimumCountColumns&&d.filter(":checked").prop("disabled",!0)}},BootstrapTable.prototype.resetView=function(a){{var b=this;this.header}if(a&&a.height&&(this.options.height=a.height),this.$selectAll.prop("checked",this.$selectItem.length>0&&this.$selectItem.length===this.$selectItem.filter(":checked").length),this.options.height){var c=+this.$toolbar.children().outerHeight(!0),d=+this.$pagination.children().outerHeight(!0),e=this.options.height-c-d;this.$container.find(".fixed-table-container").css("height",e+"px")}return this.options.cardView?(b.$el.css("margin-top","0"),void b.$container.find(".fixed-table-container").css("padding-bottom","0")):(this.options.showHeader&&this.options.height&&this.resetHeader(),void(this.options.height&&this.options.showHeader&&this.$container.find(".fixed-table-container").css("padding-bottom","37px")))},BootstrapTable.prototype.load=function(a){this.initData(a),this.initSearch(),this.initPagination(),this.initBody()},BootstrapTable.prototype.append=function(a){this.initData(a,!0),this.initBody()},BootstrapTable.prototype.mergeCells=function(a){var b,c,d=a.index,e=$.inArray(a.field,this.header.fields),f=a.rowspan||1,g=a.colspan||1,h=this.$body.find("tr"),i=h.eq(d).find("td").eq(e);if(!(0>d||0>e||d>=this.data.length)){for(b=d;d+f>b;b++)for(c=e;e+g>c;c++)h.eq(b).find("td").eq(c).hide();i.attr("rowspan",f).attr("colspan",g).show()}},BootstrapTable.prototype.getSelections=function(){var a=this;return $.grep(this.data,function(b){return b[a.header.stateField]})},BootstrapTable.prototype.checkAll=function(){this.$selectAll.add(this.$selectAll_).prop("checked",!0),this.$selectItem.prop("checked",!0),this.updateRows(!0),this.updateSelected(),this.trigger("check-all")},BootstrapTable.prototype.uncheckAll=function(){this.$selectAll.add(this.$selectAll_).prop("checked",!1),this.$selectItem.prop("checked",!1),this.updateRows(!1),this.updateSelected(),this.trigger("uncheck-all")},BootstrapTable.prototype.destroy=function(){this.$el.insertBefore(this.$container),$(this.options.toolbar).insertBefore(this.$el),this.$container.next().remove(),this.$container.remove(),this.$el.html(this.$el_.html()).attr("class",this.$el_.attr("class")||"")},BootstrapTable.prototype.showLoading=function(){this.$loading.show()},BootstrapTable.prototype.hideLoading=function(){this.$loading.hide()},BootstrapTable.prototype.refresh=function(){this.initServer()},BootstrapTable.prototype.showColumn=function(a){this.toggleColumn(getFiledIndex(this.options.columns,a),!0,!0)},BootstrapTable.prototype.hideColumn=function(a){this.toggleColumn(getFiledIndex(this.options.columns,a),!1,!0)},$.fn.bootstrapTable=function(a,b){var c,d=["getSelections","load","append","mergeCells","checkAll","uncheckAll","destroy","resetView","showLoading","hideLoading","refresh","showColumn","hideColumn"];return this.each(function(){var e=$(this),f=e.data("bootstrap.table"),g=$.extend({},BootstrapTable.DEFAULTS,e.data(),"object"==typeof a&&a);if("string"==typeof a){if($.inArray(a,d)<0)throw"Unknown method: "+a;if(!f)return;c=f[a](b),"destroy"===a&&e.removeData("bootstrap.table")}f||e.data("bootstrap.table",f=new BootstrapTable(this,g))}),"undefined"==typeof c?this:c},$.fn.bootstrapTable.Constructor=BootstrapTable,$.fn.bootstrapTable.defaults=BootstrapTable.DEFAULTS,$.fn.bootstrapTable.columnDefaults=BootstrapTable.COLUMN_DEFAULTS,$(function(){$('[data-toggle="table"]').bootstrapTable()})}(jQuery);