Commit c56b9d96 by fengshuonan

引入最新bootstrap-treetable

parent 46c744cf
...@@ -62,6 +62,9 @@ ...@@ -62,6 +62,9 @@
@if(array.contain(plugins,"cropper")){ @if(array.contain(plugins,"cropper")){
<link href="${ctxPath}/assets/common/plugins/cropper/cropper.min.css" rel="stylesheet" type="text/css" /> <link href="${ctxPath}/assets/common/plugins/cropper/cropper.min.css" rel="stylesheet" type="text/css" />
@} @}
@if(array.contain(plugins,"bootstrap-treetable")){
<link href="${ctxPath}/assets/common/plugins/bootstrap-treetable/bootstrap-treetable.min.css" rel="stylesheet" type="text/css" />
@}
@} @}
<!--其他业务用的css--> <!--其他业务用的css-->
...@@ -159,6 +162,9 @@ ...@@ -159,6 +162,9 @@
<script src="${ctxPath}/assets/common/plugins/cropper/cropper.min.js"></script> <script src="${ctxPath}/assets/common/plugins/cropper/cropper.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/cropper/cropper.jquery.min.js"></script> <script src="${ctxPath}/assets/common/plugins/cropper/cropper.jquery.min.js"></script>
@} @}
@if(array.contain(plugins,"bootstrap-treetable")){
<script src="${ctxPath}/assets/common/plugins/bootstrap-treetable/bootstrap-treetable.min.js"></script>
@}
@} @}
<!--其他业务用的js--> <!--其他业务用的js-->
......
@font-face{font-family:"bstt-font";src:url('bstt-font.eot?t=1541062240194');src:url('bstt-font.eot?t=1541062240194#iefix') format('embedded-opentype'),url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAU4AAsAAAAAB+wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY8iUs4Y21hcAAAAYAAAABsAAABsuN8o9ZnbHlmAAAB7AAAATgAAAF8FW5OumhlYWQAAAMkAAAALwAAADYTIQK9aGhlYQAAA1QAAAAcAAAAJAfeA4ZobXR4AAADcAAAAA4AAAAUFAAAAGxvY2EAAAOAAAAADAAAAAwApADmbWF4cAAAA4wAAAAfAAAAIAEVAFRuYW1lAAADrAAAAUUAAAJtPlT+fXBvc3QAAAT0AAAAQQAAAFd9Dto8eJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeCb90Y27438AQw9zA0AAUZgTJAQDkIgw/eJztkcENgDAIRV9rNcZ4cw1nMD11Gk9O2ilsOkWF4sEh/OQR+CEcABiBQdiFAO7CoTrFdd0fWLofiNIvzHj8vZVcj5pag2/9ysmchW7VTV7MiV9rz/Htgl7P0LpkQz9SD0O/UJOBfwDDDxrLeJxlUMtOwlAQnemlLbbCDaG9ZSNJW1tQ46ZgKxqgrozPLsRfcGli/IEu9A+MJARdm/gB7kjjzrVfYdyzkzqIK72TO3Ny5pzFGUCAPGUxS0EGQHUJLcQ4w3iWZRKwNJtlPwhIB1AABnNdlXQNnPMS0J5RWyCgAfkbe2ERrMI+2QyzjK7jN1TF8bcq7bBlB8LgWMdWEEZUuxiIasVQXNvx2330XUdRqTbQ8bvYI5WwojAQ7Mn7GA/G3UN9RQiOUBb66drF9vFtU6nJy5dFjQueAze1ZHB9ctNUa4XSVVH3Ph/OHslTF+gxHE36Owe6SW4uRF1LvPWjPa1T0vE1/2WSBaEWRpO4Q1KKrMxzs0yaUnQVdOBQBYsu0DJdzzZt+c/sDYe4KZ1/Pc/e/yNper94d/QBvgEB5VNQeJxjYGRgYADinWqN9+P5bb4ycLMwgMANhvsJCPp/AwsDcwOQy8HABBIFACuNCi4AeJxjYGRgYG7438AQw8IAAkCSkQEVsAIARwsCbnicY2FgYGBBwwABBAAVAAAAAAAAABQAKACQAL54nGNgZGBgYGXwYGBjAAEmIOYCQgaG/2A+AwAQYwFqAHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nGNgYoAALgbsgJWRiZGZkYWRlZGNgSc5I7WsKD+vKDM9o4QXyknKLynJz2UvSk0rSi3OYMnJLC5hYAAAYwEPlwAAAA==') format('woff'),url('bstt-font.ttf?t=1541062240194') format('truetype'),url('bstt-font.svg?t=1541062240194#bstt-font') format('svg')}.bstt-icon{font-family:"bstt-font" !important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bstt-chevron-right:before{content:"\e93e"}.bstt-chevron-down:before{content:"\e946"}.bstt-refresh:before{content:"\e7d0"}.bstt-columns:before{content:"\e613"}.bootstrap-tree-table .treetable-bars .tool-left,.bootstrap-tree-table .treetable-bars .tool-right{margin-top:10px;margin-bottom:10px}.bootstrap-tree-table .treetable-bars .tool-left{float:left}.bootstrap-tree-table .treetable-bars .tool-right{float:right}.bootstrap-tree-table .treetable-bars .columns{width:150px;z-index:9999}.bootstrap-tree-table .treetable-bars .columns li label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;max-width:100%;margin-bottom:5px;cursor:pointer}.bootstrap-tree-table .treetable-box{width:100%;height:100%;overflow:hidden;position:relative}.bootstrap-tree-table .treetable-box .treetable-table{margin-bottom:0}.bootstrap-tree-table .treetable-box .treetable-thead tr th{border:0;vertical-align:middle}.bootstrap-tree-table .table-bordered .treetable-thead tr th{border-left:1px solid #e7eaec}.bootstrap-tree-table .treetable-box .treetable-tbody{display:block;height:auto;overflow-y:hidden}.bootstrap-tree-table .treetable-box .treetable-tbody .treetable-indent{width:16px;height:16px;display:inline-block;position:relative}.bootstrap-tree-table .treetable-box .treetable-tbody .treetable-expander{width:16px;height:16px;display:inline-block;position:relative;cursor:pointer}.bootstrap-tree-table .treetable-box .treetable-tbody .treetable-selected,.bootstrap-tree-table .treetable-box .treetable-tbody .treetable-hover{background:#f5f5f5}.bootstrap-tree-table .treetable-box .treetable-tbody tr td{border:0;border-bottom:1px solid #e7eaec;overflow:hidden;vertical-align:middle}.bootstrap-tree-table .table-bordered .treetable-tbody tr td{border-left:1px solid #e7eaec}.bootstrap-tree-table .treetable-box .treetable-tbody :last-child td{border-bottom:0}.bootstrap-tree-table .treetable-box .treetable-tbody tr .ellipsis{white-space:nowrap;text-overflow:ellipsis}.bootstrap-tree-table .treetable-box .treetable-thead,.bootstrap-tree-table .treetable-box .treetable-tbody tr{display:table;width:100%;table-layout:fixed}.bootstrap-tree-table .treetable-box .treetable-thead tr :first-child,.bootstrap-tree-table .treetable-box .treetable-tbody tr :first-child{border-left:0}.bootstrap-tree-table .treetable-box .treetable-fixed{position:absolute;z-index:1000;background-color:#fff}.bootstrap-tree-table .treetable-box .treetable-head-box .treetable-table{border-bottom:0;border-bottom:2px solid #e7eaec}.bootstrap-tree-table .treetable-box .treetable-body-box{overflow:auto;margin-top:36px}.bootstrap-tree-table .treetable-box .treetable-body-box .treetable-table .treetable-thead th{padding:0}.bootstrap-tree-table .treetable-box .treetable-fixed .treetable-body-box{overflow:hidden}
/**
* bootstrap-treetable
* v1.0.8-beta
* @author swifly
* @url https://gitee.com/cyf783/bootstrap-treetable/
*/
!function(a){"use strict";var b=function(b,c){this.options=c,this.$el=a(b),this.$el_=this.$el.clone(),this.$headerBox=null,this.$leftBox=null,this.data_list=null,this.data_obj=null,this.hiddenColumns=[],this.lastAjaxParams,this.hasSelectItem=!1,this.leftFixedColumns=[],this.noFixedColumns=[],this.expandColumnIsFixed=!1,this.hasFixedColumn=!1,this.selectedDataIds=[],this.expandColumnField=null,this.init()};b.prototype.init=function(){this.initOptions(),this.initContainer(),this.initToolbar(),this.initHeader(),this.initBody(),this.initServer()},b.prototype.initOptions=function(){var c=this;a.each(c.options.columns,function(d,e){e=a.extend({},b.COLUMN_DEFAULTS,e),e.width&&(e.width+=-1==e.width.indexOf("%")&&-1==e.width.indexOf("px")?"px":""),e.checkbox||e.radio?(c.hasSelectItem=!0,c.leftFixedColumns.push(e)):e.fixed?(("left"==e.fixed||1==e.fixed)&&c.leftFixedColumns.push(e),c.options.expandColumn==d&&(c.expandColumnIsFixed=!0)):("undefined"!=typeof e.visible&&1!=e.visible&&c.hiddenColumns.push(e.field),c.noFixedColumns.push(e)),c.options.expandColumn==d&&(c.expandColumnField=e.field)}),1==c.leftFixedColumns.length?(c.noFixedColumns.unshift(c.leftFixedColumns[0]),c.leftFixedColumns.pop()):c.hasFixedColumn=!0},b.prototype.initContainer=function(){var b=this,c=a("<div class='bootstrap-tree-table'></div>"),d=a("<div class='treetable-box'></div>"),e=a("<div class='treetable-body-box'></div>");b.$el.before(c),c.append(d),d.append(e),e.append(b.$el),b.$el.addClass("table treetable-table"),b.options.striped&&b.$el.addClass("table-striped"),b.options.bordered&&b.$el.addClass("table-bordered"),b.options.condensed&&b.$el.addClass("table-condensed"),b.options.width&&(c.css("width",b.options.width),d.css("width",b.options.width)),b.options.height&&e.css("height",b.options.height),b.$el.html("")},b.prototype.initToolbar=function(){var b,c,d,e,f=this,g=a("<div class='treetable-bars'></div>");f.options.toolbar&&(a(f.options.toolbar).addClass("tool-left"),g.append(a(f.options.toolbar))),b=a('<div class="btn-group tool-right">'),g.append(b),f.$el.parent().parent().before(g),f.options.showRefresh&&(c=a('<button class="btn btn-default btn-outline refresh_btn" type="button" aria-label="refresh" title="刷新"><i class="'+f.options.toolRefreshClass+'"></i></button>'),b.append(c)),f.options.showColumns&&(d=a('<div class="btn-group pull-right" title="列"><button type="button" aria-label="columns" class="btn btn-default btn-outline dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><i class="'+f.options.toolColumnsClass+'"></i> <span class="caret"></span></button></div>'),e=a('<ul class="dropdown-menu dropdown-menu-right columns" role="menu"></ul>'),a.each(f.leftFixedColumns,function(b,c){if(!c.checkbox&&!c.radio){var d=a('<li role="menuitem"><label><input type="checkbox" checked="checked" disabled data-field="'+c.field+'" value="'+c.field+'" > '+c.title+"</label></li>");e.append(d)}}),a.each(f.noFixedColumns,function(b,c){if(!c.checkbox&&!c.radio){var d=a('<li role="menuitem"><label><input type="checkbox" checked="checked" data-field="'+c.field+'" value="'+c.field+'" > '+c.title+"</label></li>");e.append(d)}}),d.append(e),b.append(d))},b.prototype.initHiddenColumns=function(){var b=this;a.each(b.hiddenColumns,function(c,d){var e,f=a.inArray(d,b.leftFixedColumns);f>-1||(b.$el.parent().parent().find("."+d+"_cls").hide(),e=a(".bootstrap-tree-table .treetable-bars .columns label").find("input[value='"+d+"']"),e.prop("checked",""))})},b.prototype.initHeader=function(){var b,c,d=this,e=a("<tr></tr>"),f=d.leftFixedColumns.concat(d.noFixedColumns);a.each(f,function(b,c){var d;d=0==b&&(c.checkbox||c.radio)?a('<th style="width:36px"></th>'):a('<th style="'+(c.width?"width:"+c.width:"")+'" class="'+c.field+'_cls"></th>'),d.text(c.title),e.append(d)}),b=a('<thead class="treetable-thead"></thead>'),b.append(e),d.$el.append(b),d.$headerBox=a("<div class='treetable-fixed treetable-head-box'></div>"),c=a("<table id='"+d.$el.attr("id")+"_header'></table>"),d.$headerBox.append(c),d.$el.parent().before(d.$headerBox),d.cloneTable(d.$el,c,0,f.length-1),d.$el.find("thead th").each(function(b,c){a(c).html("")}),d.$el.parent().scroll(function(){var a=d.$el.parent().scrollLeft();d.$headerBox.find("#"+d.$el.attr("id")+"_header").parent().css({left:-a})})},b.prototype.initBody=function(){var b=this,c=a('<tbody class="treetable-tbody"></tbody>');b.$el.append(c)},b.prototype.initServer=function(b){var c,d,e=this;e.data_list={},e.data_obj={},c=e.$el.find("tbody"),d='<tr><td colspan="'+e.options.columns.length+'"><div style="display: block;text-align: center;">正在努力地加载数据中,请稍候……</div></td></tr>',c.html(d),e.options.url?a.ajax({type:e.options.type,url:e.options.url,data:b?b:e.options.ajaxParams,dataType:"JSON",success:function(a){e.renderTable(a),e.trigger("load-success",a)},error:function(a,b){var d='<tr><td colspan="'+e.options.columns.length+'"><div style="display: block;text-align: center;">'+a.responseText+"</div></td></tr>";c.html(d),e.trigger("load-error",b,a)}}):e.options.data?(e.renderTable(e.options.data),e.trigger("load-success",e.options.data)):e.trigger("load-error")},b.prototype.renderTable=function(b){var c,d,e=this,f=e.$el.find("tbody");return f.html(""),!b||b.length<=0?(c='<tr><td colspan="'+e.options.columns.length+'"><div style="display: block;text-align: center;">没有找到匹配的记录</div></td></tr>',f.html(c),void 0):(e.formatData(b),d=e.data_list["_root_"],d&&a.each(d,function(a,b){var c="row_id_"+a;e.recursionNode(b,1,c,"row_root")}),a.each(b,function(a,b){if(!b.isShow){var c=e.renderRow(b,!1,1,"","");f.append(c)}}),e.$el.append(f),e.initHiddenColumns(),e.frozen(),e.autoReSize(),e.registerRowEvent(),e.registerExpanderEvent(),e.options.showRefresh&&e.registerRefreshBtnClickEvent(),e.options.showColumns&&e.registerColumnClickEvent(),void 0)},b.prototype.autoReSize=function(){var b,c,d=this,e=d.$el.find("thead"),f=d.$headerBox.find("#"+d.$el.attr("id")+"_header"),g=f.find("thead"),h=e.children(":first").width();d.hasScroll(!0)?(f.width(h+d.getScrollWidth()),d.$el.parent().css("border-bottom","1px solid #e7eaec")):(f.width("auto"),d.$el.parent().css("border-bottom","0")),g.css("width",h),d.$el.parent().css("margin-top",f.height()),b=d.$el.parent().scrollLeft(),c=d.$el.parent().scrollTop(),d.$el.parent().parent().find("#"+d.$el.attr("id")+"_header").parent().css({left:-b}),d.$el.parent().parent().find(".treetable-fixed .treetable-body-box").each(function(b,d){a(d).scrollTop(c)})},b.prototype.frozen=function(){var b,c,d,e,f,g,h,i,j=this;j.$leftBox&&j.$leftBox.remove(),b=j.$el,b.attr("id"),c=b.parent(),d=c.parent(),j.noFixedColumns.length,e=j.leftFixedColumns.length,b.find("td").attr("noWrap","nowrap"),b.width()>d.width()&&j.leftFixedColumns.length>0&&(j.$leftBox=a("<div class='treetable-fixed treetable-fixed-l'></div>"),f=a("<div></div>"),j.mergeAttributes(c,f),f.addClass("treetable-fixed"),g=a("<table></table>"),j.$leftBox.append(f),f.append(g),d.append(j.$leftBox),j.cloneTable(j.$el,g,0,e-1),j.$leftBox.css("left",d.offset().left),j.$leftBox.css("top",0),f.height(f.height()-j.getScrollWidth(c[0])-2),h=a("<div class='treetable-fixed treetable-head-box'></div>"),j.$leftBox.append(h),i=a("<table></table>"),h.append(i),j.cloneTable(d.find("#"+b.attr("id")+"_header"),i,0,e-1),i.removeAttr("style"),i.find("thead").removeAttr("style"),c.scroll(function(){var e=c.scrollLeft(),f=c.scrollTop();d.find("#"+b.attr("id")+"_header").parent().css({left:-e}),d.find(".treetable-fixed .treetable-body-box").each(function(b,c){a(c).scrollTop(f)})}))},b.prototype.cloneTable=function(b,c,d,e){var f,g,h=this;h.mergeAttributes(b,c),b.find("thead")&&b.find("thead").length>0&&(f=a("<thead></thead>"),h.mergeAttributes(b.find("thead"),f),b.find("thead tr").each(function(b,c){var g=a("<tr></tr>");h.mergeAttributes(a(c),g),a(c).find("th").each(function(b,c){b>=d&&e>=b&&g.append(a(c).clone(!0))}),f.append(g)}),c.append(f)),b.find("tbody")&&b.find("tbody").length>0&&(g=a("<tbody></tbody>"),h.mergeAttributes(b.find("tbody"),g),b.find("tbody tr").each(function(b,c){var f=a("<tr></tr>");h.mergeAttributes(a(c),f),a(c).find("td").each(function(b,c){b>=d&&e>=b&&f.append(a(c).clone(!0))}),g.append(f)}),c.append(g))},b.prototype.mergeAttributes=function(a,b){for(var c,d=a.get(0).attributes,e=d.length-1;e>=0;e--)if(c=d[e].name,"id"!==c.toLowerCase()&&""!=d[e].value&&null!=d[e].value&&"null"!=d[e].value)try{b.attr(c,d[e].value)}catch(f){}},b.prototype.formatData=function(b){var c=this,d=c.options.rootIdValue?c.options.rootIdValue:null;a.each(b,function(a,b){b.isShow=!1;var e="0"==b[c.options.parentId]||0==b[c.options.parentId]||null==b[c.options.parentId]||""==b[c.options.parentId];!b[c.options.parentId]||(d?b[c.options.parentId]==c.options.rootIdValue:e)?(c.data_list["_root_"]||(c.data_list["_root_"]=[]),c.data_obj["id_"+b[c.options.id]]||c.data_list["_root_"].push(b)):(c.data_list["_n_"+b[c.options.parentId]]||(c.data_list["_n_"+b[c.options.parentId]]=[]),c.data_obj["id_"+b[c.options.id]]||c.data_list["_n_"+b[c.options.parentId]].push(b)),c.data_obj["id_"+b[c.options.id]]=b})},b.prototype.recursionNode=function(b,c,d,e){var f=this,g=f.$el.find("tbody"),h=f.data_list["_n_"+b[f.options.id]],i=f.renderRow(b,h?!0:!1,c,d,e);g.append(i),h&&a.each(h,function(a,b){var e=d+"_"+a;f.recursionNode(b,c+1,e,d)})},b.prototype.renderRow=function(b,c,d,e,f){var g,h,i,j=this;return b.isShow=!0,b.row_id=e,b.p_id=f,b.lv=d,g=a('<tr rid="'+e+'" pid="'+f+'" dataid="'+b[j.options.id]+'"></tr>'),h=j.options.expanderCollapsedClass,j.options.expandAll?(g.css("display","table"),h=j.options.expanderExpandedClass):1==d?(g.css("display","table"),h=j.options.expandFirst?j.options.expanderExpandedClass:j.options.expanderCollapsedClass):2==d?(j.options.expandFirst?g.css("display","table"):g.css("display","none"),h=j.options.expanderCollapsedClass):(g.css("display","none"),h=j.options.expanderCollapsedClass),i=j.leftFixedColumns.concat(j.noFixedColumns),a.each(i,function(e,f){var i,k,l;if(f.checkbox||f.radio)i=a('<td style="text-align:center;width:36px"></td>'),f.radio&&(k=a('<input name="select_item" type="radio" value="'+b[j.options.id]+'"></input>'),i.append(k)),f.checkbox&&(k=a('<input name="select_item" type="checkbox" value="'+b[j.options.id]+'"></input>'),i.append(k)),g.append(i);else{if(i=a('<td name="'+f.field+'" class="'+f.field+'_cls"></td>'),f.width&&i.css("width",f.width),f.align&&i.css("text-align",f.align),j.expandColumnField==f.field&&i.css("text-align","left"),f.valign&&i.css("vertical-align",f.valign),j.options.showTitle&&i.addClass("ellipsis"),f.formatter?i.html(f.formatter.call(j,b[f.field],b,e)):(j.options.showTitle&&i.attr("title",b[f.field]),i.text(b[f.field])),j.expandColumnField==f.field)for(c?i.prepend('<span class="treetable-expander '+h+'"></span>'):i.prepend('<span class="treetable-expander"></span>'),l=0;d-1>l;l++)i.prepend('<span class="treetable-indent"></span>');g.append(i)}}),g},b.prototype.hasScroll=function(a){var b=this,c=b.$el.parent()[0];return a&&c.scrollHeight>c.clientHeight?!0:!a&&c.offsetHeight-c.clientHeight>0?!0:!1},b.prototype.getScrollWidth=function(a){var b=0;return a?b=a.offsetWidth-a.clientWidth:(a=document.createElement("div"),a.style.width="100px",a.style.height="100px",a.style.overflowY="scroll",document.body.appendChild(a),b=a.offsetWidth-a.clientWidth,document.body.removeChild(a)),b},b.prototype.registerRefreshBtnClickEvent=function(){var b=this;a(".bootstrap-tree-table .treetable-bars .tool-right .refresh_btn").off("click").on("click",function(){b.refresh()})},b.prototype.registerColumnClickEvent=function(){var b=this;a(".bootstrap-tree-table .treetable-bars .columns label input").off("click").on("click",function(){var c=a(this);c.prop("checked")?b.showColumn(a(this).val()):b.hideColumn(a(this).val())})},b.prototype.registerRowEvent=function(){var b=this;b.$el.parent().parent().find("tbody").find("tr").find("td").off("click dblclick").on("click dblclick",function(c){var d,e,f=a(this),g=f.parent(),h=b.data_obj["id_"+g.attr("dataid")],i=f.attr("name"),j=h[i];b.trigger("click"===c.type?"click-cell":"dbl-click-cell",i,j,h,f),b.trigger("click"===c.type?"click-row":"dbl-click-row",h,g,i),b.hasSelectItem&&(d=g.find("input[name='select_item']"),e=d.val(),"radio"==d.attr("type")?b.selectedDataIdsManager(e):d.prop("checked")?b.selectedDataIdsManager(e,!0,!1):b.selectedDataIdsManager(e,!0,!0))}),b.$el.parent().parent().find("tbody").find("tr").find(":first-child").find("input[type='checkbox']").off("click dblclick"),b.$el.parent().parent().find("tbody").find("tr").find(":first-child").find("input[type='checkbox']").change(function(){b.selectedDataIdsManager(a(this).val(),!0,a(this).is(":checked"))}),b.options.hover&&b.$el.parent().parent().find("tbody").on("mouseenter","tr",function(){var c=a(this),d=c.index();b.$el.parent().parent().find("tbody").find("tr:eq("+d+")").addClass("treetable-hover")}).on("mouseleave","tr",function(){var c=a(this),d=c.index();b.$el.parent().parent().find("tbody").find("tr:eq("+d+")").removeClass("treetable-hover")})},b.prototype.selectedDataIdsManager=function(b,c,d){var e,f=this,g=f.$el.find("tbody").find("tr").find(":first-child").find("input[value='"+b+"']"),h=null;f.hasFixedColumn&&(h=f.$leftBox.find("tbody").find("tr").find(":first-child").find("input[value='"+b+"']")),c?(e=a.inArray(b,f.selectedDataIds),d?e>-1||(f.selectedDataIds.push(b),f.hasFixedColumn&&(h.parent().parent().addClass("treetable-selected"),h.prop("checked",!0)),g.parent().parent().addClass("treetable-selected"),g.prop("checked",!0)):e>-1&&(f.selectedDataIds.splice(e,1),f.hasFixedColumn&&(h.parent().parent().removeClass("treetable-selected"),h.prop("checked","")),g.parent().parent().removeClass("treetable-selected"),g.prop("checked",""))):(f.selectedDataIds=[],f.selectedDataIds.push(b),f.hasFixedColumn&&(f.$leftBox.find("tbody").find("tr").removeClass("treetable-selected"),h.parent().parent().addClass("treetable-selected"),h.prop("checked",!0)),f.$el.find("tbody").find("tr").removeClass("treetable-selected"),g.parent().parent().addClass("treetable-selected"),g.prop("checked",!0))},b.prototype.registerExpanderEvent=function(){var b=this;b.$el.find("tbody").find("tr").find(".treetable-expander").off("click").on("click",function(){var c,d,e=a(this).hasClass(b.options.expanderExpandedClass),f=a(this).hasClass(b.options.expanderCollapsedClass);(e||f)&&(c=a(this).parent().parent(),d=c.attr("dataid"),b.toggleRow(d))}),b.expandColumnIsFixed&&b.$leftBox.find(".treetable-body-box table tbody").find("tr").find(".treetable-expander").off("click").on("click",function(){var c,d,e=a(this).hasClass(b.options.expanderExpandedClass),f=a(this).hasClass(b.options.expanderCollapsedClass);(e||f)&&(c=a(this).parent().parent(),d=c.attr("dataid"),b.toggleRow(d))})},b.prototype.refresh=function(a){var b=this;a&&(b.lastAjaxParams=a),b.destroy(),b.init()},b.prototype.appendData=function(b){var c=this;a.each(b,function(a,b){var d,e,f,g,h,i,j,k,l=c.data_obj["id_"+b[c.options.id]],m=c.data_obj["id_"+b[c.options.parentId]],n=c.data_list["_n_"+b[c.options.parentId]],o="",p="",q=1;l&&l.row_id&&""!=l.row_id&&(o=l.row_id),m?(p=m.row_id,e=0,""==o?(n&&n.length>0&&(e=n.length),o=m.row_id+"_"+e):(f=o.split("_"),e=f[f.length-1]),q=m.lv+1,d=c.renderRow(b,!1,q,o,p),g=c.$el.find("tr[rid='"+m.row_id+"']").find(".treetable-expander"),h=g.hasClass(c.options.expanderExpandedClass),i=g.hasClass(c.options.expanderCollapsedClass),h||i?h&&d.css("display","table"):g.addClass(c.options.expanderCollapsedClass),l&&c.$el.find("tr[rid='"+l.row_id+"']").remove(),0==e?c.$el.find("tr[rid='"+m.row_id+"']").after(d):c.$el.find("tr[rid='"+m.row_id+"_"+(e-1)+"']").after(d)):(d=c.renderRow(b,!1,q,o,p),l?(j=c.$el.find("tr[rid='"+l.row_id+"']").prev(),c.$el.find("tr[rid='"+l.row_id+"']").remove(),j.after(d)):(k=c.$el.find("tbody"),k.append(d))),b.isShow=!0,c.formatData([b])}),c.initHiddenColumns(),c.frozen(),c.autoReSize(),c.registerRowEvent(),c.registerExpanderEvent()},b.prototype.toggleRow=function(b){var c,d,e,f,g=this,h=g.data_obj["id_"+b],i=g.$el.find("tr[rid='"+h.row_id+"']"),j=i.attr("rid"),k=i.find(".treetable-expander"),l=k.hasClass(g.options.expanderExpandedClass),m=k.hasClass(g.options.expanderCollapsedClass);(l||m)&&(c=g.$el.find("tbody").find("tr[rid^='"+j+"_']"),l?(k.removeClass(g.options.expanderExpandedClass),k.addClass(g.options.expanderCollapsedClass),c&&c.length>0&&a.each(c,function(b,c){a(c).css("display","none")})):(k.removeClass(g.options.expanderCollapsedClass),k.addClass(g.options.expanderExpandedClass),c&&c.length>0&&a.each(c,function(b,c){var d=a("tr[rid='"+a(c).attr("pid")+"']").find(".treetable-expander");d.hasClass(g.options.expanderExpandedClass)&&a(c).css("display","table")})),g.hasFixedColumn&&(d=g.$leftBox.find("tr[rid='"+h.row_id+"']"),e=g.$leftBox.find(".treetable-body-box table tbody").find("tr[rid^='"+j+"_']"),l?e&&e.length>0&&a.each(e,function(b,c){a(c).css("display","none")}):e&&e.length>0&&a.each(e,function(b,c){var d=a("tr[rid='"+a(c).attr("pid")+"']").find(".treetable-expander");d.hasClass(g.options.expanderExpandedClass)&&a(c).css("display","table")}),g.expandColumnIsFixed&&(f=d.find(".treetable-expander"),l?(f.removeClass(g.options.expanderExpandedClass),f.addClass(g.options.expanderCollapsedClass)):(f.removeClass(g.options.expanderCollapsedClass),f.addClass(g.options.expanderExpandedClass)))),g.autoReSize())},b.prototype.expandRow=function(a){var b=this,c=b.data_obj["id_"+a],d=b.$el.find("tr[rid='"+c.row_id+"']"),e=d.find(".treetable-expander"),f=e.hasClass(b.options.expanderExpandedClass),g=e.hasClass(b.options.expanderCollapsedClass);(f||g)&&g&&b.toggleRow(a)},b.prototype.collapseRow=function(a){var b=this,c=b.data_obj["id_"+a],d=b.$el.find("tr[rid='"+c.row_id+"']"),e=d.find(".treetable-expander"),f=e.hasClass(b.options.expanderExpandedClass),g=e.hasClass(b.options.expanderCollapsedClass);(f||g)&&f&&b.toggleRow(a)},b.prototype.expandAll=function(){var b=this;b.expandColumnIsFixed?b.$leftBox.find("tbody").find("tr").find(".treetable-expander").each(function(c,d){var e,f,g=a(d).hasClass(b.options.expanderCollapsedClass);g&&(e=a(d).parent().parent(),f=e.attr("dataid"),b.toggleRow(f))}):b.$el.find("tbody").find("tr").find(".treetable-expander").each(function(c,d){var e,f,g=a(d).hasClass(b.options.expanderCollapsedClass);g&&(e=a(d).parent().parent(),f=e.attr("dataid"),b.toggleRow(f))})},b.prototype.collapseAll=function(){var b=this;b.expandColumnIsFixed?b.$leftBox.find("tbody").find("tr").find(".treetable-expander").each(function(c,d){var e,f,g=a(d).hasClass(b.options.expanderExpandedClass);g&&(e=a(d).parent().parent(),f=e.attr("dataid"),b.toggleRow(f))}):b.$el.find("tbody").find("tr").find(".treetable-expander").each(function(c,d){var e,f,g=a(d).hasClass(b.options.expanderExpandedClass);g&&(e=a(d).parent().parent(),f=e.attr("dataid"),b.toggleRow(f))})},b.prototype.showColumn=function(b){var c,d,e=this;a.each(e.leftFixedColumns,function(a,c){c.field==b}),c=a.inArray(b,e.hiddenColumns),c>-1&&e.hiddenColumns.splice(c,1),e.$el.parent().parent().find("."+b+"_cls").show(),e.options.showColumns&&(d=a(".bootstrap-tree-table .treetable-bars .columns label").find("input[value='"+b+"']"),d.prop("checked","checked")),e.autoReSize()},b.prototype.hideColumn=function(b){var c,d=this;a.each(d.leftFixedColumns,function(a,c){c.field==b}),d.hiddenColumns.push(b),d.$el.parent().parent().find("."+b+"_cls").hide(),d.options.showColumns&&(c=a(".bootstrap-tree-table .treetable-bars .columns label").find("input[value='"+b+"']"),c.prop("checked","")),d.autoReSize()},b.prototype.getSelections=function(){var b,c=this;return c.selectedDataIds?(b=[],a.each(c.selectedDataIds,function(a,d){var e=c.data_obj["id_"+d];b.push(e)}),b):void 0},b.prototype.trigger=function(c){var d=this,e=Array.prototype.slice.call(arguments,1);c+=".bs.tree.table",d.options[b.EVENTS[c]].apply(d.options,e),d.$el.trigger(a.Event(c),e),d.options.onAll(c,e),d.$el.trigger(a.Event("all.bs.tree.table"),[c,e])},b.prototype.destroy=function(){var b=this,c=b.$el.parent().parent().parent();b.$el.insertBefore(c),a(b.options.toolbar).insertBefore(b.$el),b.$el.html(b.$el_.html()),c.remove(),b.$headerBox=null,b.$leftBox=null,b.selectedDataIds=[],b.hiddenColumns=[],b.leftFixedColumns=[],b.noFixedColumns=[],b.data_list=null,b.data_obj=null,b.lastAjaxParams,b.hasSelectItem=!1,b.expandColumnIsFixed=!1,b.hasFixedColumn=!1},b.METHODS=["getSelections","refresh","appendData","toggleRow","expandRow","collapseRow","expandAll","collapseAll","showColumn","hideColumn","destroy"],b.EVENTS={"all.bs.tree.table":"onAll","click-cell.bs.tree.table":"onClickCell","dbl-click-cell.bs.tree.table":"onDblClickCell","click-row.bs.tree.table":"onClickRow","dbl-click-row.bs.tree.table":"onDblClickRow","load-success.bs.tree.table":"onLoadSuccess","load-error.bs.tree.table":"onLoadError"},b.DEFAULTS={id:"id",parentId:"parentId",rootIdValue:null,data:null,type:"GET",url:null,ajaxParams:{},expandColumn:0,expandAll:!1,expandFirst:!0,striped:!1,bordered:!0,hover:!0,condensed:!1,columns:[],toolbar:null,width:0,height:0,showTitle:!0,showColumns:!0,showRefresh:!0,expanderExpandedClass:"bstt-icon bstt-chevron-down",expanderCollapsedClass:"bstt-icon bstt-chevron-right",toolRefreshClass:"bstt-icon bstt-refresh",toolColumnsClass:"bstt-icon bstt-columns",onAll:function(){return!1},onLoadSuccess:function(){return!1},onLoadError:function(){return!1},onClickCell:function(){return!1},onDblClickCell:function(){return!1},onClickRow:function(){return!1},onDblClickRow:function(){return!1}},b.COLUMN_DEFAULTS={radio:!1,checkbox:!1,field:void 0,title:void 0,align:void 0,valign:void 0,width:void 0,visible:!0,fixed:void 0,formatter:void 0},a.fn.bootstrapTreeTable=function(c){var d,e=Array.prototype.slice.call(arguments,1);return this.each(function(){var f=a(this),g=f.data("bootstrap.tree.table"),h=a.extend({},b.DEFAULTS,f.data(),"object"==typeof c&&c);if("string"==typeof c){if(a.inArray(c,b.METHODS)<0)throw new Error("Unknown method: "+c);if(!g)return;d=g[c].apply(g,e),"destroy"===c&&f.removeData("bootstrap.tree.table")}g||f.data("bootstrap.tree.table",g=new b(this,h))}),"undefined"==typeof d?this:d}}(jQuery);
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment