Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
guns-vip
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
guns-vip
Commits
c56b9d96
Commit
c56b9d96
authored
Dec 05, 2018
by
fengshuonan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
引入最新bootstrap-treetable
parent
46c744cf
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
0 deletions
+15
-0
src/main/webapp/WEB-INF/common/_container.html
+6
-0
src/main/webapp/assets/common/plugins/bootstrap-treetable/bootstrap-treetable.min.css
+1
-0
src/main/webapp/assets/common/plugins/bootstrap-treetable/bootstrap-treetable.min.js
+8
-0
No files found.
src/main/webapp/WEB-INF/common/_container.html
View file @
c56b9d96
...
...
@@ -62,6 +62,9 @@
@if(array.contain(plugins,"cropper")){
<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-->
...
...
@@ -159,6 +162,9 @@
<script
src=
"${ctxPath}/assets/common/plugins/cropper/cropper.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-->
...
...
src/main/webapp/assets/common/plugins/bootstrap-treetable/bootstrap-treetable.min.css
0 → 100644
View file @
c56b9d96
@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
}
src/main/webapp/assets/common/plugins/bootstrap-treetable/bootstrap-treetable.min.js
0 → 100644
View file @
c56b9d96
/**
* 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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment