Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo
Commits
03a5559f
Commit
03a5559f
authored
Aug 22, 2016
by
Van
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed #12147
parent
43bf84f0
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
7 additions
and
5 deletions
+7
-5
src/main/webapp/css/default-admin.css
src/main/webapp/css/default-admin.css
+4
-0
src/main/webapp/js/admin/userList.js
src/main/webapp/js/admin/userList.js
+2
-4
src/main/webapp/js/lib/jquery/jquery.bowknot.min.js
src/main/webapp/js/lib/jquery/jquery.bowknot.min.js
+1
-1
No files found.
src/main/webapp/css/default-admin.css
View file @
03a5559f
...
...
@@ -288,6 +288,10 @@ button.selected {
transition
:
border-color
ease-in-out
.15s
,
box-shadow
ease-in-out
.15s
;
}
.form
textarea
{
height
:
auto
;
}
.form
input
[
type
=
'text'
]
:focus
,
.form
input
[
type
=
'password'
]
:focus
,
.form
textarea
:focus
{
box-shadow
:
none
;
border-color
:
#1fb5ad
;
...
...
src/main/webapp/js/admin/userList.js
View file @
03a5559f
...
...
@@ -107,7 +107,7 @@ admin.userList = {
}
else
{
userData
[
i
].
expendRow
=
"
<a href='javascript:void(0)' onclick=
\"
admin.userList.get('
"
+
users
[
i
].
oId
+
"
', '
"
+
users
[
i
].
userRole
+
"
')
\"
>
"
+
Label
.
updateLabel
+
"
</a>
\
<a href='javascript:void(0)' onclick=
\"
admin.userList.del('
"
+
users
[
i
].
oId
+
"
', '
"
+
users
[
i
].
userName
+
"
')
\"
>
"
+
Label
.
removeLabel
+
"
</a>
"
+
<a href='javascript:void(0)' onclick=
\"
admin.userList.del('
"
+
users
[
i
].
oId
+
"
', '
"
+
users
[
i
].
userName
+
"
')
\"
>
"
+
Label
.
removeLabel
+
"
</a>
"
+
"
<a href='javascript:void(0)' onclick=
\"
admin.userList.changeRole('
"
+
users
[
i
].
oId
+
"
')
\"
>
"
+
Label
.
changeRoleLabel
+
"
</a>
"
;
if
(
"
defaultRole
"
===
users
[
i
].
userRole
)
{
userData
[
i
].
isAdmin
=
Label
.
commonUserLabel
;
...
...
@@ -358,7 +358,5 @@ admin.userList = {
admin
.
register
[
"
user-list
"
]
=
{
"
obj
"
:
admin
.
userList
,
"
init
"
:
admin
.
userList
.
init
,
"
refresh
"
:
function
()
{
admin
.
clearTip
();
}
"
refresh
"
:
admin
.
userList
.
getList
}
\ No newline at end of file
src/main/webapp/js/lib/jquery/jquery.bowknot.min.js
View file @
03a5559f
...
...
@@ -14,7 +14,7 @@
* limitations under the License.
*/
(
function
(
a
){
var
b
=
function
(){};
a
.
extend
(
b
.
prototype
,{
bowknot
:{
version
:
"
0.0.0.9
"
,
author
:
"
lly219@gmail.com
"
},
getDate
:
function
(
a
,
b
){
var
c
=
new
Date
(
a
);
var
d
=
c
.
getFullYear
().
toString
().
substr
(
2
,
2
),
e
=
c
.
getMonth
()
+
1
,
f
=
c
.
getDate
(),
g
=
c
.
getHours
(),
h
=
c
.
getSeconds
(),
i
=
c
.
getMinutes
();
switch
(
b
){
case
undefined
:
return
e
+
"
/
"
+
f
+
"
/
"
+
d
;
break
;
case
1
:
return
e
+
"
/
"
+
f
+
"
/
"
+
d
+
"
"
+
g
+
"
:
"
+
i
+
"
:
"
+
h
;
break
;
default
:
return
false
;
break
}}});
a
.
bowknot
=
new
b
})(
jQuery
);
(
function
(
$
){
$
.
fn
.
extend
({
paginate
:{
version
:
"
0.0.0.8
"
,
author
:
"
lly219@gmail.com
"
}});
var
dpuuid
=
new
Date
().
getTime
();
var
PROP_NAME
=
"
paginate
"
;
var
Paginate
=
function
(){
this
.
_defaults
=
{
"
styleClass
"
:{
"
pageCountClass
"
:
"
paginate-pageCount
"
,
"
goPageClass
"
:
"
paginate-goPage
"
,
"
inputPageClass
"
:
"
paginate-inputPage
"
,
"
goPageHoverClass
"
:
"
paginate-goPageHover
"
,
"
prePageClass
"
:
"
paginate-prePage
"
,
"
nextPageClass
"
:
"
paginate-nextPage
"
,
"
prePageDisableClass
"
:
"
paginate-prePageDisable
"
,
"
nextPageDisableClass
"
:
"
paginate-nextPageDisable
"
,
"
prePageHoverClass
"
:
"
paginate-prePageHover
"
,
"
nextPageHoverClass
"
:
"
paginate-nextPageHover
"
,
"
paginateClass
"
:
"
paginate-paginate
"
}}};
$
.
extend
(
Paginate
.
prototype
,{
_attach
:
function
(
target
,
settings
){
if
(
!
target
.
id
){
this
.
uuid
++
;
target
.
id
=
"
dp
"
+
this
.
uuid
}
var
inst
=
this
.
_newInst
(
$
(
target
));
inst
.
settings
=
$
.
extend
({
"
errorMessage
"
:
"
input error!
"
},
settings
||
{});
$
.
data
(
target
,
PROP_NAME
,
inst
);
this
.
_init
(
target
)},
_newInst
:
function
(
target
){
var
id
=
target
[
0
].
id
.
replace
(
/
([^
A-Za-z0-9_
])
/g
,
"
\\\\
$1
"
);
return
{
id
:
id
}},
_getInst
:
function
(
target
){
try
{
return
$
.
data
(
target
,
PROP_NAME
)}
catch
(
err
){
throw
"
Missing instance data for this paginate
"
;}},
_init
:
function
(
target
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
$
(
"
#
"
+
id
).
html
(
"
<div id='
"
+
id
+
"
Paginate' class='
"
+
this
.
_getDefaults
(
$
.
paginate
.
_defaults
,
settings
,
"
styleClass
"
).
paginateClass
+
"
'></div>
"
);
this
.
_build
(
target
)},
_build
:
function
(
target
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
var
styleClass
=
this
.
_getDefaults
(
this
.
_defaults
,
settings
,
"
styleClass
"
),
pageCount
=
settings
.
pageCount
,
currentPage
=
settings
.
currentPage
;
var
prePageHTML
=
"
<$tagStart class='button paginate-page'> <span class='button-left'></span> <span class='button-bg'>
"
+
settings
.
previousPageText
+
"
</span> <span class='button-right'></span> </$tagEnd>
"
,
nextPageHTML
=
"
<$tagStart class='button paginate-page'> <span class='button-left'></span> <span class='button-bg'>
"
+
settings
.
nextPageText
+
"
</span> <span class='button-right'></span> </$tagEnd>
"
,
pagesHTML
=
""
,
pageCountHTML
=
"
<span class='
"
+
styleClass
.
pageCountClass
+
"
'>
"
+
currentPage
+
"
/
"
+
pageCount
+
"
</span>
"
,
goToPageHTML
=
"
<div class='button'> <span class='button-left'></span> <span class='button-bg'> <input class='
"
+
styleClass
.
inputPageClass
+
"
' id='
"
+
id
+
"
PaginateInput'/> </span> <span class='button-right'></span> </div> <a href='javascript:void(0);' class='button' id='
"
+
id
+
"
PaginateSubmit'> <span class='button-left'></span> <span class='button-bg'>
"
+
settings
.
goText
+
"
</span> <span class='button-right'></span> </a>
"
;
if
(
currentPage
===
1
||
currentPage
===
0
){
prePageHTML
=
prePageHTML
.
replace
(
"
$tagStart
"
,
"
div
"
).
replace
(
"
$tagEnd
"
,
"
div
"
)}
else
{
prePageHTML
=
prePageHTML
.
replace
(
"
$tagStart
"
,
"
a href='javascript:void(0)'
"
).
replace
(
"
$tagEnd
"
,
"
a
"
)}
if
(
currentPage
!==
pageCount
){
nextPageHTML
=
nextPageHTML
.
replace
(
"
$tagStart
"
,
"
a href='javascript:void(0)'
"
).
replace
(
"
$tagEnd
"
,
"
a
"
)}
else
{
nextPageHTML
=
nextPageHTML
.
replace
(
"
$tagStart
"
,
"
div
"
).
replace
(
"
$tagEnd
"
,
"
div
"
)}
switch
(
settings
.
type
){
case
"
taobao
"
:
var
pages
=
this
.
_getTaobaoPages
(
currentPage
,
pageCount
),
currentClass
=
""
;
goToPageHTML
=
""
;
for
(
var
i
=
0
;
i
<
pages
.
length
;
i
++
){
if
(
currentPage
===
pages
[
i
].
pageNum
){
currentClass
=
"
pagination-current-page
"
}
else
{
currentClass
=
""
}
pagesHTML
+=
"
<span data-page='
"
+
pages
[
i
].
pageNum
+
"
' class='pagination-pages
"
+
currentClass
+
"
'>
"
+
pages
[
i
].
text
+
"
</span>
"
}
break
;
case
"
custom
"
:
var
pages
=
settings
.
custom
,
currentClass
=
""
;
for
(
var
i
=
0
;
i
<
pages
.
length
;
i
++
){
if
(
currentPage
===
pages
[
i
]){
currentClass
=
"
pagination-current-page
"
}
else
{
currentClass
=
""
}
pagesHTML
+=
"
<span data-page='
"
+
pages
[
i
]
+
"
' class='pagination-pages
"
+
currentClass
+
"
'>
"
+
pages
[
i
]
+
"
</span>
"
}
break
;
default
:
break
}
if
(
pageCount
===
1
){
$
(
"
#
"
+
id
+
"
Paginate
"
).
html
(
pageCountHTML
)}
else
{
$
(
"
#
"
+
id
+
"
Paginate
"
).
html
(
prePageHTML
+
pagesHTML
+
nextPageHTML
+
pageCountHTML
+
goToPageHTML
)}
this
.
_bindEvent
(
target
)},
_getTaobaoPages
:
function
(
currentPage
,
pageCount
){
var
pagination
=
[],
i
=
2
,
len
=
4
,
begin
=
3
,
end
=
0
,
maxEnd
=
0
,
pre
=
0
;
if
(
currentPage
>=
len
){
begin
=
currentPage
-
Math
.
ceil
(
len
/
2
);
maxEnd
=
currentPage
+
Math
.
ceil
(
len
/
2
)
+
1
;
if
(
maxEnd
<
pageCount
){
end
=
maxEnd
}
else
{
end
=
pageCount
}}
else
if
(
currentPage
<
len
){
maxEnd
=
currentPage
+
Math
.
ceil
(
len
/
2
)
+
1
;
if
(
maxEnd
<
pageCount
){
end
=
maxEnd
}
else
{
end
=
pageCount
}}
if
(
begin
<
3
){
begin
=
3
}
for
(
i
=
begin
;
i
<=
end
;
i
++
){
pagination
.
push
({
"
pageNum
"
:
i
,
"
text
"
:
i
})}
if
(
begin
>
3
){
pre
=
2
+
(
begin
-
2
);
pagination
.
unshift
({
"
pageNum
"
:
pre
,
"
text
"
:
"
...
"
})}
if
(
pageCount
<
2
){
i
=
(
currentPage
===
0
)?
0
:
1
}
else
{
i
=
2
}
for
(;
i
>=
1
;
i
=
i
-
1
){
pagination
.
unshift
({
"
pageNum
"
:
i
,
"
text
"
:
i
})}
if
(
end
<
pageCount
){
pre
=
end
+
Math
.
ceil
(
len
/
2
);
if
(
pre
>
pageCount
){
pre
=
pageCount
}
pagination
.
push
({
"
pageNum
"
:
pre
,
"
text
"
:
"
...
"
})}
return
pagination
},
_bindEvent
:
function
(
target
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
;
$
(
"
#
"
+
id
+
"
PaginateInput
"
).
bind
(
"
keypress
"
,{
target
:
target
},
function
(
event
){
if
(
event
.
keyCode
===
13
){
$
.
paginate
.
_goToPageAction
(
event
)}});
$
(
"
#
"
+
id
+
"
Paginate .pagination-pages
"
).
bind
(
"
click
"
,{
target
:
target
,
isPage
:
true
},
function
(
event
){
$
.
paginate
.
_goToPageAction
(
event
)});
$
(
"
#
"
+
id
+
"
PaginateSubmit
"
).
bind
(
"
click
"
,{
target
:
target
},
this
.
_goToPageAction
);
$
(
"
#
"
+
id
+
"
Paginate a.paginate-page
"
).
bind
(
"
click
"
,{
target
:
target
,
isPage
:
true
},
function
(
event
){
$
.
paginate
.
_goToPageAction
(
event
)})},
_goToPageAction
:
function
(
event
){
var
target
=
event
.
data
.
target
;
var
inst
=
$
.
paginate
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
var
currentPage
=
$
(
"
#
"
+
id
+
"
PaginateInput
"
).
val
();
if
(
event
.
data
.
isPage
){
currentPage
=
settings
.
currentPage
;
var
text
=
event
.
target
.
parentNode
.
innerText
?
event
.
target
.
parentNode
.
innerText
:
event
.
target
.
parentNode
.
text
;
if
(
$
.
trim
(
text
)
===
settings
.
previousPageText
){
currentPage
--
}
else
if
(
$
.
trim
(
text
)
===
settings
.
nextPageText
){
currentPage
++
}
else
{
currentPage
=
parseInt
(
$
(
event
.
target
).
data
(
"
page
"
))}}
if
(
settings
.
currentPage
===
currentPage
){
return
}
var
r
=
/^
[
0-9
]
*
[
1-9
][
0-9
]
*$/
;
if
(
currentPage
>
0
&&
currentPage
<=
settings
.
pageCount
&&
r
.
test
(
currentPage
)){
settings
.
bind
(
currentPage
)}
else
{
settings
.
bind
(
currentPage
,
settings
.
errorMessage
);
$
(
"
#
"
+
id
+
"
PaginateInput
"
).
val
(
""
)}},
_updatePaginate
:
function
(
target
,
updateSettings
){
if
(
updateSettings
){
$
.
extend
(
this
.
_getInst
(
target
).
settings
,
updateSettings
)}
this
.
_build
(
target
)},
_getDefaults
:
function
(
defaults
,
settings
,
key
){
if
(
key
===
"
styleClass
"
){
if
(
settings
.
theme
===
"
default
"
||
settings
.
theme
===
undefined
){
return
defaults
.
styleClass
}
settings
.
styleClass
=
{};
for
(
var
styleName
in
defaults
[
key
]){
settings
.
styleClass
[
styleName
]
=
settings
.
theme
+
"
-
"
+
defaults
.
styleClass
[
styleName
]}}
else
if
((
key
===
"
height
"
&&
settings
[
key
]
!==
"
auto
"
)
||
key
===
"
width
"
){
if
(
settings
[
key
]
===
null
||
settings
[
key
]
===
undefined
){
return
defaults
[
key
]
+
"
px
"
}
else
{
return
settings
[
key
]
+
"
px
"
}}
else
{
if
(
settings
[
key
]
===
null
||
settings
[
key
]
===
undefined
){
return
defaults
[
key
]}}
return
settings
[
key
]},
_destroyPaginate
:
function
(){}});
$
.
fn
.
paginate
=
function
(
options
){
var
otherArgs
=
Array
.
prototype
.
slice
.
call
(
arguments
);
if
(
typeof
options
===
'
string
'
){
otherArgs
.
shift
();
return
$
.
paginate
[
'
_
'
+
options
+
'
Paginate
'
].
apply
(
$
.
paginate
,[
this
[
0
]].
concat
(
otherArgs
))}
return
this
.
each
(
function
(){
$
.
paginate
.
_attach
(
this
,
options
)})};
$
.
paginate
=
new
Paginate
();
window
[
"
DP_jQuery_
"
+
dpuuid
]
=
$
})(
jQuery
);
(
function
(
$
){
$
.
fn
.
extend
({
paginate
:{
version
:
"
0.0.0.8
"
,
author
:
"
lly219@gmail.com
"
}});
var
dpuuid
=
new
Date
().
getTime
();
var
PROP_NAME
=
"
paginate
"
;
var
Paginate
=
function
(){
this
.
_defaults
=
{
"
styleClass
"
:{
"
pageCountClass
"
:
"
paginate-pageCount
"
,
"
goPageClass
"
:
"
paginate-goPage
"
,
"
inputPageClass
"
:
"
paginate-inputPage
"
,
"
goPageHoverClass
"
:
"
paginate-goPageHover
"
,
"
prePageClass
"
:
"
paginate-prePage
"
,
"
nextPageClass
"
:
"
paginate-nextPage
"
,
"
prePageDisableClass
"
:
"
paginate-prePageDisable
"
,
"
nextPageDisableClass
"
:
"
paginate-nextPageDisable
"
,
"
prePageHoverClass
"
:
"
paginate-prePageHover
"
,
"
nextPageHoverClass
"
:
"
paginate-nextPageHover
"
,
"
paginateClass
"
:
"
paginate-paginate
"
}}};
$
.
extend
(
Paginate
.
prototype
,{
_attach
:
function
(
target
,
settings
){
if
(
!
target
.
id
){
this
.
uuid
++
;
target
.
id
=
"
dp
"
+
this
.
uuid
}
var
inst
=
this
.
_newInst
(
$
(
target
));
inst
.
settings
=
$
.
extend
({
"
errorMessage
"
:
"
input error!
"
},
settings
||
{});
$
.
data
(
target
,
PROP_NAME
,
inst
);
this
.
_init
(
target
)},
_newInst
:
function
(
target
){
var
id
=
target
[
0
].
id
.
replace
(
/
([^
A-Za-z0-9_
])
/g
,
"
\\\\
$1
"
);
return
{
id
:
id
}},
_getInst
:
function
(
target
){
try
{
return
$
.
data
(
target
,
PROP_NAME
)}
catch
(
err
){
throw
"
Missing instance data for this paginate
"
;}},
_init
:
function
(
target
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
$
(
"
#
"
+
id
).
html
(
"
<div id='
"
+
id
+
"
Paginate' class='
"
+
this
.
_getDefaults
(
$
.
paginate
.
_defaults
,
settings
,
"
styleClass
"
).
paginateClass
+
"
'></div>
"
);
this
.
_build
(
target
)},
_build
:
function
(
target
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
var
styleClass
=
this
.
_getDefaults
(
this
.
_defaults
,
settings
,
"
styleClass
"
),
pageCount
=
settings
.
pageCount
,
currentPage
=
settings
.
currentPage
;
var
prePageHTML
=
"
<$tagStart class='button paginate-page'> <span class='button-left'></span> <span class='button-bg'>
"
+
settings
.
previousPageText
+
"
</span> <span class='button-right'></span> </$tagEnd>
"
,
nextPageHTML
=
"
<$tagStart class='button paginate-page'> <span class='button-left'></span> <span class='button-bg'>
"
+
settings
.
nextPageText
+
"
</span> <span class='button-right'></span> </$tagEnd>
"
,
pagesHTML
=
""
,
pageCountHTML
=
"
<span class='
"
+
styleClass
.
pageCountClass
+
"
'>
"
+
currentPage
+
"
/
"
+
pageCount
+
"
</span>
"
,
goToPageHTML
=
"
<div class='button'> <span class='button-left'></span> <span class='button-bg'> <input class='
"
+
styleClass
.
inputPageClass
+
"
' id='
"
+
id
+
"
PaginateInput'/> </span> <span class='button-right'></span> </div> <a href='javascript:void(0);' class='button' id='
"
+
id
+
"
PaginateSubmit'> <span class='button-left'></span> <span class='button-bg'>
"
+
settings
.
goText
+
"
</span> <span class='button-right'></span> </a>
"
;
if
(
currentPage
===
1
||
currentPage
===
0
){
prePageHTML
=
prePageHTML
.
replace
(
"
$tagStart
"
,
"
div
"
).
replace
(
"
$tagEnd
"
,
"
div
"
)}
else
{
prePageHTML
=
prePageHTML
.
replace
(
"
$tagStart
"
,
"
a href='javascript:void(0)'
"
).
replace
(
"
$tagEnd
"
,
"
a
"
)}
if
(
currentPage
!==
pageCount
){
nextPageHTML
=
nextPageHTML
.
replace
(
"
$tagStart
"
,
"
a href='javascript:void(0)'
"
).
replace
(
"
$tagEnd
"
,
"
a
"
)}
else
{
nextPageHTML
=
nextPageHTML
.
replace
(
"
$tagStart
"
,
"
div
"
).
replace
(
"
$tagEnd
"
,
"
div
"
)}
switch
(
settings
.
type
){
case
"
taobao
"
:
var
pages
=
this
.
_getTaobaoPages
(
currentPage
,
pageCount
),
currentClass
=
""
;
goToPageHTML
=
""
;
for
(
var
i
=
0
;
i
<
pages
.
length
;
i
++
){
if
(
currentPage
===
pages
[
i
].
pageNum
){
currentClass
=
"
pagination-current-page
"
}
else
{
currentClass
=
""
}
pagesHTML
+=
"
<span data-page='
"
+
pages
[
i
].
pageNum
+
"
' class='pagination-pages
"
+
currentClass
+
"
'>
"
+
pages
[
i
].
text
+
"
</span>
"
}
break
;
case
"
custom
"
:
var
pages
=
settings
.
custom
,
currentClass
=
""
;
for
(
var
i
=
0
;
i
<
pages
.
length
;
i
++
){
if
(
currentPage
===
pages
[
i
]){
currentClass
=
"
pagination-current-page
"
}
else
{
currentClass
=
""
}
pagesHTML
+=
"
<span data-page='
"
+
pages
[
i
]
+
"
' class='pagination-pages
"
+
currentClass
+
"
'>
"
+
pages
[
i
]
+
"
</span>
"
}
break
;
default
:
break
}
if
(
pageCount
===
1
){
$
(
"
#
"
+
id
+
"
Paginate
"
).
html
(
pageCountHTML
)}
else
{
$
(
"
#
"
+
id
+
"
Paginate
"
).
html
(
prePageHTML
+
pagesHTML
+
nextPageHTML
+
pageCountHTML
+
goToPageHTML
)}
this
.
_bindEvent
(
target
)},
_getTaobaoPages
:
function
(
currentPage
,
pageCount
){
var
pagination
=
[],
i
=
2
,
len
=
4
,
begin
=
3
,
end
=
0
,
maxEnd
=
0
,
pre
=
0
;
if
(
currentPage
>=
len
){
begin
=
currentPage
-
Math
.
ceil
(
len
/
2
);
maxEnd
=
currentPage
+
Math
.
ceil
(
len
/
2
)
+
1
;
if
(
maxEnd
<
pageCount
){
end
=
maxEnd
}
else
{
end
=
pageCount
}}
else
if
(
currentPage
<
len
){
maxEnd
=
currentPage
+
Math
.
ceil
(
len
/
2
)
+
1
;
if
(
maxEnd
<
pageCount
){
end
=
maxEnd
}
else
{
end
=
pageCount
}}
if
(
begin
<
3
){
begin
=
3
}
for
(
i
=
begin
;
i
<=
end
;
i
++
){
pagination
.
push
({
"
pageNum
"
:
i
,
"
text
"
:
i
})}
if
(
begin
>
3
){
pre
=
2
+
(
begin
-
2
);
pagination
.
unshift
({
"
pageNum
"
:
pre
,
"
text
"
:
"
...
"
})}
if
(
pageCount
<
2
){
i
=
(
currentPage
===
0
)?
0
:
1
}
else
{
i
=
2
}
for
(;
i
>=
1
;
i
=
i
-
1
){
pagination
.
unshift
({
"
pageNum
"
:
i
,
"
text
"
:
i
})}
if
(
end
<
pageCount
){
pre
=
end
+
Math
.
ceil
(
len
/
2
);
if
(
pre
>
pageCount
){
pre
=
pageCount
}
pagination
.
push
({
"
pageNum
"
:
pre
,
"
text
"
:
"
...
"
})}
return
pagination
},
_bindEvent
:
function
(
target
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
;
$
(
"
#
"
+
id
+
"
PaginateInput
"
).
bind
(
"
keypress
"
,{
target
:
target
},
function
(
event
){
if
(
event
.
keyCode
===
13
){
$
.
paginate
.
_goToPageAction
(
event
)}});
$
(
"
#
"
+
id
+
"
Paginate .pagination-pages
"
).
bind
(
"
click
"
,{
target
:
target
,
isPage
:
true
},
function
(
event
){
$
.
paginate
.
_goToPageAction
(
event
)});
$
(
"
#
"
+
id
+
"
PaginateSubmit
"
).
bind
(
"
click
"
,{
target
:
target
},
this
.
_goToPageAction
);
$
(
"
#
"
+
id
+
"
Paginate a.paginate-page
"
).
bind
(
"
click
"
,{
target
:
target
,
isPage
:
true
},
function
(
event
){
$
.
paginate
.
_goToPageAction
(
event
)})},
_goToPageAction
:
function
(
event
){
var
target
=
event
.
data
.
target
;
var
inst
=
$
.
paginate
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
var
currentPage
=
$
(
"
#
"
+
id
+
"
PaginateInput
"
).
val
();
if
(
event
.
data
.
isPage
){
currentPage
=
settings
.
currentPage
;
var
text
=
$
(
event
.
target
).
closest
(
'
a
'
).
text
()
;
if
(
$
.
trim
(
text
)
===
settings
.
previousPageText
){
currentPage
--
}
else
if
(
$
.
trim
(
text
)
===
settings
.
nextPageText
){
currentPage
++
}
else
{
currentPage
=
parseInt
(
$
(
event
.
target
).
data
(
"
page
"
))}}
if
(
settings
.
currentPage
===
currentPage
){
return
}
var
r
=
/^
[
0-9
]
*
[
1-9
][
0-9
]
*$/
;
if
(
currentPage
>
0
&&
currentPage
<=
settings
.
pageCount
&&
r
.
test
(
currentPage
)){
settings
.
bind
(
currentPage
)}
else
{
settings
.
bind
(
currentPage
,
settings
.
errorMessage
);
$
(
"
#
"
+
id
+
"
PaginateInput
"
).
val
(
""
)}},
_updatePaginate
:
function
(
target
,
updateSettings
){
if
(
updateSettings
){
$
.
extend
(
this
.
_getInst
(
target
).
settings
,
updateSettings
)}
this
.
_build
(
target
)},
_getDefaults
:
function
(
defaults
,
settings
,
key
){
if
(
key
===
"
styleClass
"
){
if
(
settings
.
theme
===
"
default
"
||
settings
.
theme
===
undefined
){
return
defaults
.
styleClass
}
settings
.
styleClass
=
{};
for
(
var
styleName
in
defaults
[
key
]){
settings
.
styleClass
[
styleName
]
=
settings
.
theme
+
"
-
"
+
defaults
.
styleClass
[
styleName
]}}
else
if
((
key
===
"
height
"
&&
settings
[
key
]
!==
"
auto
"
)
||
key
===
"
width
"
){
if
(
settings
[
key
]
===
null
||
settings
[
key
]
===
undefined
){
return
defaults
[
key
]
+
"
px
"
}
else
{
return
settings
[
key
]
+
"
px
"
}}
else
{
if
(
settings
[
key
]
===
null
||
settings
[
key
]
===
undefined
){
return
defaults
[
key
]}}
return
settings
[
key
]},
_destroyPaginate
:
function
(){}});
$
.
fn
.
paginate
=
function
(
options
){
var
otherArgs
=
Array
.
prototype
.
slice
.
call
(
arguments
);
if
(
typeof
options
===
'
string
'
){
otherArgs
.
shift
();
return
$
.
paginate
[
'
_
'
+
options
+
'
Paginate
'
].
apply
(
$
.
paginate
,[
this
[
0
]].
concat
(
otherArgs
))}
return
this
.
each
(
function
(){
$
.
paginate
.
_attach
(
this
,
options
)})};
$
.
paginate
=
new
Paginate
();
window
[
"
DP_jQuery_
"
+
dpuuid
]
=
$
})(
jQuery
);
(
function
(
$
){
$
.
fn
.
extend
({
table
:{
version
:
"
0.0.1.0
"
,
author
:
"
lly219@gmail.com
"
}});
var
n
=
new
Date
().
getTime
();
var
o
=
"
table
"
;
var
p
=
function
(){
this
.
_defaults
=
{
"
styleClass
"
:{
"
lineSelectedClass
"
:
"
table-lineSelected
"
,
"
mainClass
"
:
"
table-main
"
,
"
bodyClass
"
:
"
table-body
"
,
"
headerClass
"
:
"
table-header
"
,
"
lineHoverClass
"
:
"
table-lineHover
"
,
"
sortClass
"
:
"
table-sort
"
,
"
sortASCClass
"
:
"
table-sortASC
"
,
"
sortDESCClass
"
:
"
table-sortDESC
"
,
"
sortUnASCClass
"
:
"
table-sortUnactiveASC
"
,
"
sortUnDESCClass
"
:
"
table-sortUnactiveDESC
"
,
"
oddRowClass
"
:
"
table-oddRow
"
,
"
evenRowClass
"
:
"
table-evenRow
"
,
"
subTitleClass
"
:
"
table-subTitle
"
,
"
subTitleHoverClass
"
:
"
table-subTitleHover
"
,
"
subTitleShowClass
"
:
"
table-subTitleShow
"
,
"
subTitleHideClass
"
:
"
table-subTitleHide
"
,
"
expendRowClass
"
:
"
table-expendRow
"
,
"
hasExpendClass
"
:
"
table-hasExpend
"
}}};
$
.
extend
(
p
.
prototype
,{
_attach
:
function
(
a
,
b
){
if
(
!
a
.
id
){
this
.
uuid
++
;
a
.
id
=
"
dp
"
+
this
.
uuid
}
var
c
=
this
.
_newInst
(
$
(
a
));
c
.
settings
=
$
.
extend
({
length
:
0
,
noDataTip
:
"
no data!
"
,
selectedRows
:[]},
b
||
{});
$
.
data
(
a
,
o
,
c
);
this
.
_init
(
a
)},
_newInst
:
function
(
a
){
var
b
=
a
[
0
].
id
.
replace
(
/
([^
A-Za-z0-9_
])
/g
,
"
\\\\
$1
"
);
return
{
id
:
b
}},
_getInst
:
function
(
a
){
try
{
return
$
.
data
(
a
,
o
)}
catch
(
err
){
throw
"
Missing instance data for this table
"
;}},
_init
:
function
(
a
){
var
b
=
this
.
_getInst
(
a
),
settings
=
b
.
settings
;
$
(
a
).
html
(
"
<div class='
"
+
this
.
_getDefaults
(
this
.
_defaults
,
settings
,
"
styleClass
"
).
mainClass
+
"
' id='
"
+
b
.
id
+
"
Table'></div>
"
);
this
.
_build
(
a
)},
_build
:
function
(
a
){
var
b
=
this
.
_getInst
(
a
),
settings
=
b
.
settings
;
var
c
=
b
.
id
;
var
d
=
this
.
_getDefaults
(
this
.
_defaults
,
settings
,
"
styleClass
"
);
var
e
=
"
<div id='
"
+
c
+
"
TableHeader' class='
"
+
d
.
headerClass
+
"
'></div>
"
+
"
<div id='
"
+
c
+
"
TableMain' class='
"
+
d
.
bodyClass
+
"
' style='height:
"
+
(
settings
.
height
?
settings
.
height
+
"
px
"
:
"
auto
"
)
+
"
'></div>
"
;
$
(
"
#
"
+
c
+
"
Table
"
).
html
(
e
);
this
.
_buildHeader
(
a
);
if
(
settings
.
data
){
this
.
_buildBody
(
a
);
this
.
_bindEvent
(
a
)}},
_buildHeader
:
function
(
a
){
var
b
=
this
.
_getInst
(
a
).
settings
;
var
c
=
b
.
colModel
,
id
=
this
.
_getInst
(
a
).
id
,
headerHTML
=
"
<table cellpadding='0' cellspacing='0' style='width:100%'><tr>
"
;
for
(
var
i
=
0
;
i
<
c
.
length
;
i
++
){
var
d
=
id
+
"
_
"
+
c
[
i
].
index
;
if
(
c
[
i
].
minWidth
){
headerHTML
+=
"
<th style='min-width:
"
+
c
[
i
].
minWidth
+
"
px;'>
"
}
else
{
headerHTML
+=
"
<th style='width:
"
+
c
[
i
].
width
+
"
px;'>
"
}
if
(
c
[
i
].
type
===
"
checkbox
"
){
if
(
c
[
i
].
isLabel
){
headerHTML
+=
c
[
i
].
text
}
else
{
headerHTML
+=
"
<input id='
"
+
d
+
"
' onclick=
\"
DP_jQuery_
"
+
n
+
"
.table._selectHeaderCheckbox(this);
\"
type='checkbox'/></th>
"
}}
else
{
headerHTML
+=
"
<span id='
"
+
d
+
"
'>
"
+
c
[
i
].
text
?
c
[
i
].
text
:
""
+
"
</span></th>
"
}}
$
(
"
#
"
+
id
+
"
TableHeader
"
).
html
(
headerHTML
+
"
</tr></table>
"
)},
_buildBody
:
function
(
a
){
var
b
=
this
.
_getInst
(
a
).
id
,
settings
=
this
.
_getInst
(
a
).
settings
,
data
=
settings
.
data
;
var
c
=
this
.
_getDefaults
(
this
.
_defaults
,
settings
,
"
styleClass
"
),
bodyHTML
=
""
;
for
(
var
d
=
0
;
d
<
data
.
length
;
d
++
){
if
(
data
[
d
].
groupName
!==
"
all
"
){
bodyHTML
+=
"
<div id='
"
+
b
+
"
SubTitle
"
+
d
+
"
'class='
"
+
c
.
subTitleClass
+
"
'><div class='left
"
+
c
.
subTitleShowClass
+
"
'></div><div class='left'>
"
+
data
[
d
].
groupName
+
"
</div><div class='clear'></div></div>
"
}
bodyHTML
+=
"
<table id=
"
+
b
+
"
SubTable
"
+
d
+
"
style='width:100%;' cellpadding='0' cellspacing='0'>
"
+
this
.
_buildData
(
a
,
data
[
d
].
groupData
,
d
)
+
"
</table>
"
}
$
(
"
#
"
+
b
+
"
TableMain
"
).
html
(
bodyHTML
)},
_buildData
:
function
(
a
,
b
,
c
){
var
d
=
this
.
_getInst
(
a
).
id
,
settings
=
this
.
_getInst
(
a
).
settings
;
var
e
=
settings
.
colModel
,
styleClass
=
this
.
_getDefaults
(
this
.
_defaults
,
settings
,
"
styleClass
"
);
var
f
=
""
;
for
(
var
i
=
0
;
i
<
b
.
length
;
i
++
){
var
g
=
b
[
i
],
tBodyHTML
=
"
<tbody class='$CLASS'>
"
,
trHTML
=
"
<tr>
"
,
rowClass
=
styleClass
.
oddRowClass
;
if
(
i
%
2
===
1
){
rowClass
=
styleClass
.
evenRowClass
}
if
(
settings
.
expendRow
){
trHTML
=
'
<tr class="
'
+
styleClass
.
hasExpendClass
+
'
">
'
}
g
.
uuuid
=
settings
.
length
++
;
for
(
var
j
=
0
;
j
<
e
.
length
;
j
++
){
var
h
=
e
[
j
].
index
;
var
k
=
g
[
h
],
styleHTML
=
e
[
j
].
align
?
"
text-align:
"
+
e
[
j
].
align
+
"
;
"
:
""
;
if
(
k
===
undefined
||
k
===
null
||
$
.
trim
(
k
)
===
""
){
k
=
"
"
}
if
(
i
===
0
){
if
(
e
[
j
].
minWidth
){
styleHTML
+=
"
min-width:
"
+
e
[
j
].
minWidth
+
"
px;
"
}
else
{
styleHTML
+=
"
width:
"
+
e
[
j
].
width
+
"
px;
"
}}
trHTML
+=
"
<td style='
"
+
styleHTML
+
"
'>
"
;
if
(
e
[
j
].
type
){
var
l
=
""
,
isCheckedHTML
=
""
,
isDisabledHTML
=
""
,
inputId
=
d
+
"
_
"
+
h
+
"
_
"
+
c
+
"
_
"
+
i
;
if
(
g
[
h
].
value
){
isCheckedHTML
=
"
checked='checked'
"
;
tBodyHTML
=
tBodyHTML
.
replace
(
"
$CLASS
"
,
styleClass
.
lineSelectedClass
+
"
"
+
rowClass
);
settings
.
selectedRows
.
push
(
g
)}
if
(
g
[
h
].
disabled
){
isDisabledHTML
=
"
disabled='disabled'
"
}
l
=
"
<input name='
"
+
d
+
"
_
"
+
h
+
"
' id='
"
+
inputId
+
"
' type='
"
+
e
[
j
].
type
+
"
' onclick=
\"
DP_jQuery_
"
+
n
+
"
.table._selectCheckbox(this);
\"
"
+
isCheckedHTML
+
"
"
+
isDisabledHTML
+
"
/>
"
;
k
=
l
}
if
(
e
[
j
].
style
){
k
=
"
<div style='
"
+
e
[
j
].
style
+
"
'>
"
+
k
+
"
</div>
"
}
trHTML
+=
k
+
"
</td>
"
}
f
+=
tBodyHTML
.
replace
(
"
$CLASS
"
,
rowClass
)
+
trHTML
+
"
</tr>
"
;
if
(
settings
.
expendRow
){
var
m
=
g
[
settings
.
expendRow
.
index
];
if
(
m
===
undefined
){
m
=
""
}
f
+=
"
<tr class='none
"
+
styleClass
.
expendRowClass
+
"
"
+
rowClass
+
"
'><td colspan='
"
+
e
.
length
+
"
'>
"
+
m
+
"
</td></tr>
"
}
f
+=
"
</tbody>
"
}
if
(
b
.
length
===
0
){
f
=
"
<tbody><tr><td align='center' colspan='
"
+
e
.
length
+
"
'>
"
+
settings
.
noDataTip
+
"
</td></tr></tbody>
"
}
return
f
},
_bindEvent
:
function
(
b
){
var
c
=
this
.
_getInst
(
b
);
var
d
=
c
.
id
,
settings
=
c
.
settings
,
colModel
=
c
.
settings
.
colModel
,
styleClass
=
this
.
_getDefaults
(
this
.
_defaults
,
settings
,
"
styleClass
"
),
data
=
settings
.
data
;
for
(
var
e
=
0
;
e
<
data
.
length
;
e
++
){
if
(
data
[
0
].
groupName
!==
"
all
"
){
$
(
"
#
"
+
d
+
"
SubTitle
"
+
e
).
click
(
function
(){
var
a
=
$
(
this
).
find
(
"
div
"
)[
0
];
if
(
a
.
className
.
indexOf
(
styleClass
.
subTitleShowClass
)
!=-
1
){
a
.
className
=
a
.
className
.
replace
(
styleClass
.
subTitleShowClass
,
styleClass
.
subTitleHideClass
);
$
(
this
).
next
().
hide
()}
else
{
a
.
className
=
a
.
className
.
replace
(
styleClass
.
subTitleHideClass
,
styleClass
.
subTitleShowClass
);
$
(
this
).
next
().
show
()}}).
mouseover
(
function
(){
this
.
className
=
styleClass
.
subTitleHoverClass
}).
mouseout
(
function
(){
this
.
className
=
styleClass
.
subTitleClass
})}
var
f
=
settings
.
bind
?
settings
.
bind
:[],
groupData
=
data
[
e
].
groupData
;
for
(
var
m
=
0
;
m
<
groupData
.
length
;
m
++
){
var
g
=
$
(
$
(
"
#
"
+
d
+
"
SubTable
"
+
e
+
"
tbody
"
)[
m
]);
for
(
var
l
=
0
;
l
<
f
.
length
;
l
++
){
g
.
bind
(
f
[
l
].
type
,{
"
groupData
"
:
groupData
[
m
],
"
bindNum
"
:
l
},
function
(
a
){
f
[
a
.
data
.
bindNum
].
action
(
a
,
a
.
data
.
groupData
)})}
g
.
mouseover
(
function
(){
if
(
!
$
(
this
).
hasClass
(
styleClass
.
lineHoverClass
)){
$
(
"
#
"
+
d
+
"
tbody
"
).
each
(
function
(){
$
(
this
).
removeClass
(
styleClass
.
lineHoverClass
);
if
(
$
(
this
).
find
(
"
tr
"
).
length
===
2
){
$
(
this
).
find
(
"
tr
"
)[
1
].
style
.
display
=
"
none
"
}});
$
(
this
).
addClass
(
styleClass
.
lineHoverClass
);
if
(
$
(
this
).
find
(
"
tr
"
).
length
===
2
){
if
(
$
.
browser
.
msie
){
if
(
$
.
browser
.
version
>
7
){
$
(
this
).
find
(
"
tr
"
)[
1
].
style
.
display
=
"
block
"
}}
else
{
$
(
this
).
find
(
"
tr
"
)[
1
].
style
.
display
=
"
table-row
"
}}}});
for
(
var
j
=
0
;
j
<
colModel
.
length
;
j
++
){
if
(
colModel
[
j
].
bind
){
var
h
=
colModel
[
j
].
bind
;
for
(
var
i
=
0
;
i
<
h
.
length
;
i
++
){
$
(
g
.
find
(
"
td
"
)[
j
]).
bind
(
h
[
i
].
type
,{
"
groupData
"
:
groupData
[
m
],
"
bindNum
"
:
i
,
"
colNum
"
:
j
},
function
(
a
){
colModel
[
a
.
data
.
colNum
].
bind
[
a
.
data
.
bindNum
].
action
(
a
,
a
.
data
.
groupData
)})}}}}}},
_selectHeaderCheckbox
:
function
(
a
){
var
b
=
a
.
id
.
split
(
"
_
"
)[
0
],
index
=
a
.
id
.
split
(
"
_
"
)[
1
];
var
c
=
$
(
"
#
"
+
b
).
data
(
o
).
settings
;
var
d
=
c
.
data
,
styleClass
=
this
.
_getDefaults
(
this
.
_defaults
,
c
,
"
styleClass
"
);
for
(
var
i
=
0
;
i
<
d
.
length
;
i
++
){
var
e
=
d
[
i
].
groupData
;
for
(
var
j
=
0
;
j
<
e
.
length
;
j
++
){
var
f
=
$
(
"
#
"
+
b
+
"
_
"
+
index
+
"
_
"
+
i
+
"
_
"
+
j
);
if
(
f
.
prop
(
"
disabled
"
)
===
false
){
if
(
a
.
checked
){
c
.
selectedRows
.
push
(
e
[
j
])}
else
{
c
.
selectedRows
.
splice
(
j
,
1
)}
f
.
prop
(
"
checked
"
,
a
.
checked
)}}}
if
(
a
.
checked
){
$
(
"
#
"
+
b
+
"
TableMain tbody
"
).
addClass
(
styleClass
.
lineSelectedClass
)}
else
{
$
(
"
#
"
+
b
+
"
TableMain tbody
"
).
removeClass
(
styleClass
.
lineSelectedClass
)}
$
.
unique
(
c
.
selectedRows
)},
_selectCheckbox
:
function
(
a
){
var
b
=
a
.
id
.
split
(
"
_
"
)[
0
],
index
=
a
.
id
.
split
(
"
_
"
)[
1
],
groupNum
=
a
.
id
.
split
(
"
_
"
)[
2
],
rowNum
=
a
.
id
.
split
(
"
_
"
)[
3
];
var
c
=
$
(
"
#
"
+
b
).
data
(
o
).
settings
;
var
d
=
c
.
data
,
styleClass
=
this
.
_getDefaults
(
this
.
_defaults
,
c
,
"
styleClass
"
),
$checkbox
=
$
(
"
#
"
+
b
+
"
_
"
+
index
),
$row
=
$
(
$
(
"
#
"
+
b
+
"
SubTable
"
+
groupNum
+
"
tbody
"
)[
rowNum
]);
if
(
a
.
checked
){
$row
.
addClass
(
styleClass
.
lineSelectedClass
);
c
.
selectedRows
.
push
(
d
[
groupNum
].
groupData
[
rowNum
])}
else
{
$row
.
removeClass
(
styleClass
.
lineSelectedClass
);
for
(
var
j
in
c
.
selectedRows
){
if
(
c
.
selectedRows
[
j
].
uuuid
===
d
[
groupNum
].
groupData
[
rowNum
].
uuuid
){
c
.
selectedRows
.
splice
(
j
,
1
)}}}
if
(
c
.
selectedRows
.
length
===
c
.
length
){
$checkbox
.
prop
(
"
checked
"
,
true
)}
else
{
$checkbox
.
prop
(
"
checked
"
,
false
)}},
_getRow
:
function
(
a
,
b
,
c
){
var
d
=
{};
for
(
var
e
in
b
){
var
f
=
b
[
e
].
groupData
;
for
(
var
g
in
f
){
if
(
c
===
f
[
g
].
uuuid
){
d
.
data
=
f
[
g
];
d
.
$row
=
$
(
$
(
"
#
"
+
a
+
"
SubTable
"
+
e
+
"
tbody
"
)[
g
])}}}
return
d
},
_getDefaults
:
function
(
a
,
b
,
c
){
if
(
c
===
"
styleClass
"
){
if
(
b
.
theme
===
"
default
"
||
b
.
theme
===
undefined
){
return
a
.
styleClass
}
b
.
styleClass
=
{};
for
(
var
d
in
a
[
c
]){
b
.
styleClass
[
d
]
=
b
.
theme
+
"
-
"
+
a
.
styleClass
[
d
]}}
else
{
if
(
b
[
c
]
===
null
||
b
[
c
]
===
undefined
){
return
a
[
c
]}}
return
b
[
c
]},
_strToInt
:
function
(
a
){
if
(
!
a
){
return
false
}
return
parseInt
(
a
.
substring
(
0
,
a
.
length
-
2
))},
_updateTable
:
function
(
a
,
b
,
c
){
var
d
=
this
.
_getInst
(
a
);
var
e
=
d
.
id
,
settings
=
d
.
settings
;
if
(
!
c
){
if
(
b
.
height
){
var
f
=
b
.
height
;
$
(
"
#
"
+
e
+
"
TableMain
"
).
height
(
f
);
settings
.
height
=
f
}
else
{
settings
.
data
=
b
.
data
;
this
.
_build
(
a
)}}
else
{
var
g
=
settings
.
data
,
colModel
=
settings
.
colModel
;
var
h
=
this
.
_getRow
(
e
,
g
,
b
);
$
.
extend
(
h
.
data
,
c
);
for
(
var
i
=
0
;
i
<
colModel
.
length
;
i
++
){
if
(
colModel
[
i
].
type
!==
"
checkbox
"
){
var
j
=
colModel
[
i
].
index
;
h
.
$row
.
find
(
"
td
"
)[
i
].
innerHTML
=
h
.
data
[
j
]?
h
.
data
[
j
]:
"
"
}}
if
(
settings
.
expendRow
){
$
(
h
.
$row
.
find
(
"
tr
"
)[
1
]).
find
(
"
td
"
).
html
(
c
[
settings
.
expendRow
.
index
]?
c
[
settings
.
expendRow
.
index
]:
"
"
)}}},
_getRowsTable
:
function
(
a
,
b
,
c
){
var
d
=
this
.
_getInst
(
a
);
var
e
=
d
.
settings
;
if
(
!
b
){
return
e
.
selectedRows
}
var
f
=
[];
for
(
var
i
=
0
;
i
<
e
.
data
.
length
;
i
++
){
var
g
=
e
.
data
[
i
].
groupData
;
for
(
var
h
in
g
){
if
(
g
[
h
][
b
]
===
c
){
f
.
push
(
g
[
h
])}}}
return
f
},
_destroyTable
:
function
(
a
){
var
b
=
this
.
_getInst
(
a
);
$
.
removeData
(
a
,
o
);
$
(
"
#
"
+
b
.
id
).
remove
()},
_selectedTable
:
function
(
a
,
b
){
var
c
=
this
.
_getInst
(
a
);
var
d
=
c
.
id
,
settings
=
c
.
settings
;
var
e
=
c
.
settings
.
data
,
styleClass
=
this
.
_getDefaults
(
this
.
_defaults
,
settings
,
"
styleClass
"
);
for
(
var
f
in
e
){
var
g
=
e
[
f
].
groupData
;
for
(
var
h
in
g
){
if
(
b
===
g
[
h
].
uuuid
){
settings
.
selectedRows
.
push
(
g
[
h
]);
$
.
unique
(
settings
.
selectedRows
);
var
i
=
$
(
$
(
"
#
"
+
d
+
"
SubTable
"
+
f
+
"
tbody
"
)[
h
]);
i
.
addClass
(
styleClass
.
lineSelectedClass
);
i
.
find
(
"
input
"
).
prop
(
"
checked
"
,
true
)}}}},
_unSelectedTable
:
function
(
a
,
b
){
var
c
=
this
.
_getInst
(
a
);
var
d
=
c
.
id
,
settings
=
c
.
settings
;
var
e
=
c
.
settings
.
data
,
styleClass
=
this
.
_getDefaults
(
this
.
_defaults
,
settings
,
"
styleClass
"
);
for
(
var
f
in
e
){
var
g
=
e
[
f
].
groupData
;
for
(
var
h
in
g
){
if
(
b
===
g
[
h
].
uuuid
){
var
j
=
settings
.
selectedRows
;
for
(
var
i
=
0
;
i
<
j
.
length
;
i
++
){
if
(
j
[
i
].
uuuid
===
b
){
j
.
splice
(
i
,
1
)}}
var
k
=
$
(
$
(
"
#
"
+
d
+
"
SubTable
"
+
f
+
"
tbody
"
)[
h
]);
k
.
removeClass
(
styleClass
.
lineSelectedClass
);
k
.
find
(
"
input
"
).
prop
(
"
checked
"
,
false
)}}}}});
$
.
fn
.
table
=
function
(
a
){
var
b
=
Array
.
prototype
.
slice
.
call
(
arguments
);
if
(
typeof
a
===
'
string
'
){
b
.
shift
();
return
$
.
table
[
'
_
'
+
a
+
'
Table
'
].
apply
(
$
.
table
,[
this
[
0
]].
concat
(
b
))}
return
this
.
each
(
function
(){
$
.
table
.
_attach
(
this
,
a
)})};
$
.
table
=
new
p
();
window
[
"
DP_jQuery_
"
+
n
]
=
$
})(
jQuery
);
(
function
(
$
){
$
.
fn
.
extend
({
dialog
:{
version
:
"
0.0.1.7
"
,
author
:
"
lly219@gmail.com
"
}});
var
dpuuid
=
new
Date
().
getTime
();
var
PROP_NAME
=
'
dialog
'
;
var
Dialog
=
function
(){
this
.
_defaults
=
{
"
styleClass
"
:{
"
background
"
:
"
dialog-background
"
,
"
panel
"
:
"
dialog-panel
"
,
"
main
"
:
"
dialog-main
"
,
"
footer
"
:
"
dialog-footer
"
,
"
headerMiddle
"
:
"
dialog-header-middle
"
,
"
headerBg
"
:
"
dialog-header-bg
"
,
"
closeIcon
"
:
"
dialog-close-icon
"
,
"
closeIconHover
"
:
"
dialog-close-icon-hover
"
,
"
title
"
:
"
dialog-title
"
}}};
$
.
extend
(
Dialog
.
prototype
,{
_attach
:
function
(
target
,
settings
){
if
(
!
target
.
id
){
this
.
uuid
++
;
target
.
id
=
'
dp
'
+
this
.
uuid
}
var
inst
=
this
.
_newInst
(
$
(
target
));
inst
.
settings
=
$
.
extend
({},
settings
||
{});
$
.
data
(
target
,
PROP_NAME
,
inst
);
this
.
_init
(
target
)},
_newInst
:
function
(
target
){
var
id
=
target
[
0
].
id
.
replace
(
/
([^
A-Za-z0-9_
])
/g
,
'
\\\\
$1
'
);
return
{
id
:
id
}},
_getInst
:
function
(
target
){
try
{
return
$
.
data
(
target
,
PROP_NAME
)}
catch
(
err
){
throw
'
Missing instance data for this dialog
'
;}},
_destroyDialog
:
function
(
target
){
var
inst
=
$
.
dialog
.
_getInst
(
target
);
var
id
=
inst
.
id
;
$
.
removeData
(
target
,
PROP_NAME
);
$
(
target
).
prependTo
(
"
#
"
+
id
+
"
Wrap
"
).
unwrap
();
$
(
target
).
removeAttr
(
"
style
"
);
var
styleClass
=
this
.
_getDefaults
(
$
.
dialog
.
_defaults
,
inst
.
settings
,
"
styleClass
"
);
$
(
"
.
"
+
styleClass
.
background
).
remove
();
$
(
"
#
"
+
id
+
"
Dialog
"
).
remove
()},
_init
:
function
(
target
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
var
windowH
=
$
(
window
).
height
(),
windowW
=
$
(
window
).
width
();
var
styleClass
=
this
.
_getDefaults
(
$
.
dialog
.
_defaults
,
settings
,
"
styleClass
"
),
dialogH
=
settings
.
height
?
settings
.
height
:
parseInt
(
windowH
*
0.6
),
dialogW
=
settings
.
width
?
settings
.
width
:
parseInt
(
windowW
*
0.6
);
settings
.
title
=
settings
.
title
?
settings
.
title
:
""
;
settings
.
okText
=
settings
.
okText
?
settings
.
okText
:
"
Ok
"
;
settings
.
cancelText
=
settings
.
cancelText
?
settings
.
cancelText
:
"
Cancel
"
;
var
footerHTML
=
""
,
headerHTML
=
"
<div class='
"
+
styleClass
.
headerBg
+
"
'><div class='
"
+
styleClass
.
title
+
"
'>
"
+
settings
.
title
+
"
</div><a href='javascript:void(0);' class='
"
+
styleClass
.
closeIcon
+
"
'></a></div>
"
;
if
(
!
settings
.
hideFooter
){
footerHTML
=
"
<a href='javascript:void(0);'>
"
+
settings
.
okText
+
"
</a><a href='javascript:void(0);'>
"
+
settings
.
cancelText
+
"
</a>
"
}
var
dialogHTML
=
"
<div id='
"
+
id
+
"
Dialog' class='
"
+
styleClass
.
panel
+
"
' style='width:
"
+
(
dialogW
+
26
)
+
"
px;' onselectstart='return false;'>
"
+
headerHTML
+
"
<div class='
"
+
styleClass
.
main
+
"
'><div style='overflow: auto; height:
"
+
dialogH
+
"
px;'></div><div class='
"
+
styleClass
.
footer
+
"
'>
"
+
footerHTML
+
"
</div></div>
"
;
var
bgHTML
=
""
;
if
(
settings
.
modal
&&
$
(
"
.
"
+
styleClass
.
background
).
length
===
0
){
var
bgHeight
=
windowH
<
document
.
documentElement
.
scrollHeight
?
document
.
documentElement
.
scrollHeight
:
windowH
;
bgHTML
=
"
<div style='height:
"
+
bgHeight
+
"
px;' class='
"
+
styleClass
.
background
+
"
'></div>
"
}
$
(
"
#
"
+
id
).
wrap
(
"
<div id='
"
+
id
+
"
Wrap'></div>
"
);
var
cloneObj
=
$
(
target
).
clone
(
true
);
$
(
target
).
remove
();
$
(
'
body
'
).
append
(
bgHTML
+
dialogHTML
);
$
(
$
(
"
#
"
+
id
+
"
Dialog .
"
+
styleClass
.
main
+
"
div
"
).
get
(
0
)).
append
(
cloneObj
);
$
(
cloneObj
).
show
();
var
top
=
""
,
left
=
""
,
$dialog
=
$
(
"
#
"
+
id
+
"
Dialog
"
);
if
(
settings
.
position
){
top
=
settings
.
position
.
top
;
left
=
settings
.
position
.
left
}
else
{
top
=
parseInt
((
windowH
-
dialogH
)
/
2
);
left
=
parseInt
((
windowW
-
dialogW
)
/
2
)}
$dialog
.
css
({
"
top
"
:
top
+
"
px
"
,
"
left
"
:
left
+
"
px
"
});
$
(
"
#
"
+
id
+
"
Dialog .
"
+
styleClass
.
closeIcon
).
bind
(
"
click
"
,
function
(){
$
.
dialog
.
_close
(
id
,
settings
)});
var
$buttons
=
$
(
"
#
"
+
id
+
"
Dialog .
"
+
styleClass
.
footer
+
"
a
"
);
$
(
$buttons
.
get
(
1
)).
bind
(
"
click
"
,
function
(){
$
.
dialog
.
_close
(
id
,
settings
)});
$
(
$buttons
.
get
(
0
)).
bind
(
"
click
"
,
function
(){
if
(
settings
.
ok
===
undefined
||
settings
.
ok
()){
$
.
dialog
.
_close
(
id
,
settings
)}});
this
.
_bindMove
(
id
,
styleClass
.
headerBg
,
dialogH
,
dialogW
);
$
(
window
).
keyup
(
function
(
event
){
if
(
event
.
keyCode
===
27
){
$
.
dialog
.
_close
(
id
,
settings
)}})},
_bindMove
:
function
(
id
,
className
){
$
(
"
#
"
+
id
+
"
Dialog .
"
+
className
).
mousedown
(
function
(
event
){
var
_document
=
document
;
if
(
!
event
){
event
=
window
.
event
}
var
dialog
=
document
.
getElementById
(
id
+
"
Dialog
"
);
var
x
=
event
.
clientX
-
parseInt
(
dialog
.
style
.
left
),
y
=
event
.
clientY
-
parseInt
(
dialog
.
style
.
top
);
_document
.
ondragstart
=
"
return false;
"
;
_document
.
onselectstart
=
"
return false;
"
;
_document
.
onselect
=
"
document.selection.empty();
"
;
if
(
this
.
setCapture
){
this
.
setCapture
()}
else
if
(
window
.
captureEvents
){
window
.
captureEvents
(
Event
.
MOUSEMOVE
|
Event
.
MOUSEUP
)}
_document
.
onmousemove
=
function
(
event
){
if
(
!
event
){
event
=
window
.
event
}
var
positionX
=
event
.
clientX
-
x
,
positionY
=
event
.
clientY
-
y
;
if
(
positionX
<
0
){
positionX
=
0
}
if
(
positionX
>
$
(
window
).
width
()
-
$
(
dialog
).
width
()){
positionX
=
$
(
window
).
width
()
-
$
(
dialog
).
width
()}
if
(
positionY
<
0
){
positionY
=
0
}
if
(
positionY
>
$
(
window
).
height
()
-
$
(
dialog
).
height
()){
positionY
=
$
(
window
).
height
()
-
$
(
dialog
).
height
()}
dialog
.
style
.
left
=
positionX
+
"
px
"
;
dialog
.
style
.
top
=
positionY
+
"
px
"
};
_document
.
onmouseup
=
function
(){
if
(
this
.
releaseCapture
){
this
.
releaseCapture
()}
else
if
(
window
.
captureEvents
){
window
.
captureEvents
(
Event
.
MOUSEMOVE
|
Event
.
MOUSEUP
)}
_document
.
onmousemove
=
null
;
_document
.
onmouseup
=
null
;
_document
.
ondragstart
=
null
;
_document
.
onselectstart
=
null
;
_document
.
onselect
=
null
}})},
_close
:
function
(
id
,
settings
){
if
(
$
(
"
#
"
+
id
+
"
Dialog
"
).
css
(
"
display
"
)
===
"
none
"
){
return
}
if
(
settings
.
close
===
undefined
||
settings
.
close
()){
$
(
"
#
"
+
id
+
"
Dialog
"
).
hide
();
if
(
settings
.
modal
){
var
styleClass
=
this
.
_getDefaults
(
$
.
dialog
.
_defaults
,
settings
,
"
styleClass
"
);
$
(
"
.
"
+
styleClass
.
background
).
hide
()}}},
_closeDialog
:
function
(
target
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
$
.
dialog
.
_close
(
id
,
settings
)},
_openDialog
:
function
(
target
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
$
(
"
#
"
+
id
+
"
Dialog
"
).
show
();
if
(
settings
.
modal
){
var
styleClass
=
this
.
_getDefaults
(
$
.
dialog
.
_defaults
,
settings
,
"
styleClass
"
);
$
(
"
.
"
+
styleClass
.
background
).
show
()}},
_updateDialog
:
function
(
target
,
data
){
var
inst
=
this
.
_getInst
(
target
);
var
id
=
inst
.
id
,
settings
=
inst
.
settings
;
var
styleClass
=
this
.
_getDefaults
(
$
.
dialog
.
_defaults
,
settings
,
"
styleClass
"
);
$
.
extend
(
settings
,
data
);
var
$dialog
=
$
(
"
#
"
+
id
+
"
Dialog
"
);
if
(
data
.
position
){
$dialog
.
css
({
"
top
"
:
data
.
position
.
top
,
"
left
"
:
data
.
position
.
left
})}
if
(
data
.
width
){
$dialog
.
width
(
data
.
width
+
26
);
$dialog
.
find
(
"
.
"
+
styleClass
.
main
+
"
div
"
)[
0
].
style
.
width
=
data
.
width
+
"
px
"
;
$dialog
.
find
(
"
.
"
+
styleClass
.
headerBg
).
width
(
data
.
width
+
18
)}
if
(
data
.
height
){
$dialog
.
find
(
"
.
"
+
styleClass
.
main
+
"
div
"
)[
0
].
style
.
height
=
data
.
height
+
"
px
"
}
if
(
data
.
title
){
$dialog
.
find
(
"
.
"
+
styleClass
.
title
).
html
(
data
.
title
)}
if
(
data
.
modal
!==
undefined
){
if
(
data
.
modal
){
$
(
"
.
"
+
styleClass
.
background
).
show
()}
else
{
$
(
"
.
"
+
styleClass
.
background
).
hide
()}}
if
(
data
.
hideFooter
!==
undefined
){
if
(
data
.
hideFooter
){
$dialog
.
find
(
"
.
"
+
styleClass
.
footer
).
hide
()}
else
{
$dialog
.
find
(
"
.
"
+
styleClass
.
footer
).
show
()}}},
_getDefaults
:
function
(
defaults
,
settings
,
key
){
if
(
key
===
"
styleClass
"
){
if
(
settings
.
theme
===
"
default
"
||
settings
.
theme
===
undefined
){
return
defaults
.
styleClass
}
settings
.
styleClass
=
{};
for
(
var
styleName
in
defaults
[
key
]){
settings
.
styleClass
[
styleName
]
=
settings
.
theme
+
"
-
"
+
defaults
.
styleClass
[
styleName
]}}
else
if
(
key
===
"
height
"
||
key
===
"
width
"
){
if
(
settings
[
key
]
===
null
||
settings
[
key
]
===
undefined
){
return
"
auto
"
}
else
{
return
settings
[
key
]
+
"
px
"
}}
else
{
if
(
settings
[
key
]
===
null
||
settings
[
key
]
===
undefined
){
return
defaults
[
key
]}}
return
settings
[
key
]}});
$
.
fn
.
dialog
=
function
(
options
){
var
otherArgs
=
Array
.
prototype
.
slice
.
call
(
arguments
);
if
(
typeof
options
===
'
string
'
){
otherArgs
.
shift
();
return
$
.
dialog
[
'
_
'
+
options
+
'
Dialog
'
].
apply
(
$
.
dialog
,[
this
[
0
]].
concat
(
otherArgs
))}
return
this
.
each
(
function
(){
$
.
dialog
.
_attach
(
this
,
options
)})};
$
.
dialog
=
new
Dialog
();
window
[
'
DP_jQuery_
'
+
dpuuid
]
=
$
})(
jQuery
);
(
function
(
$
){
var
j
=
new
Date
().
getTime
();
var
k
=
'
completed
'
;
var
l
=
function
(){
this
.
_defaults
=
{
"
styleClass
"
:{
"
panelClass
"
:
"
completed-panel
"
,
"
inputClass
"
:
"
completed-input
"
,
"
ckClass
"
:
"
completed-ck
"
},
"
separator
"
:
"
,
"
},
this
.
_settingsDataFormat
=
{}};
$
.
extend
(
l
.
prototype
,{
_attach
:
function
(
a
,
b
){
if
(
!
a
.
id
){
this
.
uuid
++
;
a
.
id
=
'
dp
'
+
this
.
uuid
}
var
c
=
this
.
_newInst
(
$
(
a
));
c
.
settings
=
$
.
extend
({
"
buttonText
"
:
"
\
u9009
\
u62e9
"
},
b
||
{});
$
.
data
(
a
,
k
,
c
);
this
.
_init
(
a
)},
_newInst
:
function
(
a
){
var
b
=
a
[
0
].
id
.
replace
(
/
([^
A-Za-z0-9_
])
/g
,
'
\\\\
$1
'
);
return
{
"
id
"
:
b
}},
_getInst
:
function
(
a
){
try
{
return
$
.
data
(
a
,
k
)}
catch
(
err
){
throw
'
Missing instance data for this completed
'
;}},
_destroyCompleted
:
function
(){},
_init
:
function
(
b
){
var
c
=
this
.
_getInst
(
b
);
var
d
=
c
.
id
,
settings
=
c
.
settings
;
this
.
_buildHTML
(
d
,
settings
);
$
(
document
).
click
(
function
(
a
){
if
(
a
.
target
.
id
!==
d
){
$
(
"
#
"
+
d
+
"
SelectedPanel
"
).
hide
()}});
this
.
_buildCheckboxPanel
(
d
,
settings
.
data
)},
_buildHTML
:
function
(
b
,
c
){
var
d
=
c
.
height
+
"
px
"
,
classStyle
=
this
.
_getDefaults
(
$
.
completed
.
_defaults
,
c
,
"
styleClass
"
);
var
e
=
$
(
"
#
"
+
b
);
var
f
=
"
<button onclick=
\"
$('#
"
+
b
+
"
CheckboxPanel').toggle()
\"
>
"
+
c
.
buttonText
+
"
</button><div id='
"
+
b
+
"
SelectedPanel' class='
"
+
classStyle
.
panelClass
+
"
' style='height:
"
+
d
+
"
;'></div><div class='none
"
+
classStyle
.
ckClass
+
"
' id='
"
+
b
+
"
CheckboxPanel'><div>
"
;
c
.
data
.
sort
();
e
.
after
(
f
).
bind
(
"
keyup
"
,{
settings
:
c
},
this
.
_keyupAction
).
bind
(
"
keydown
"
,
function
(
a
){
c
.
chinese
=
a
.
keyCode
}).
addClass
(
classStyle
.
inputClass
).
width
(
e
.
width
()
-
78
);
var
g
=
$
(
"
#
"
+
b
+
"
SelectedPanel
"
);
c
.
tipNum
=
0
;
g
.
width
(
e
.
width
()
+
2
)},
_keyupAction
:
function
(
a
){
var
b
=
a
.
data
.
settings
,
currentWordObj
=
$
.
completed
.
_getCurrentWord
(
this
,
b
);
if
(
currentWordObj
.
currentWord
===
""
||
a
.
keyCode
===
27
||
a
.
keyCode
===
16
||
a
.
keyCode
===
16
){
$
(
"
#
"
+
this
.
id
+
"
SelectedPanel
"
).
hide
();
b
.
tipNum
=
0
;
return
}
var
c
=
$
.
completed
.
_getMatchData
(
b
.
data
,
this
.
value
,
currentWordObj
.
currentWord
);
if
(
a
.
keyCode
===
38
){
if
(
b
.
tipNum
>
0
){
b
.
tipNum
--
}
else
{
b
.
tipNum
=
c
.
length
-
1
}}
if
(
a
.
keyCode
===
40
){
if
(
b
.
tipNum
<
c
.
length
-
1
){
b
.
tipNum
++
}
else
{
b
.
tipNum
=
0
}}
$
.
completed
.
_buildSelectedPanel
(
this
.
id
,
c
,
b
,
currentWordObj
.
currentWord
);
if
(
a
.
keyCode
===
13
&&
c
[
b
.
tipNum
]
&&
b
.
chinese
!==
229
){
var
d
=
this
.
value
;
this
.
value
=
d
.
substring
(
0
,
currentWordObj
.
startPos
)
+
c
[
b
.
tipNum
]
+
d
.
substring
(
currentWordObj
.
endPos
,
d
.
length
);
$
(
"
#
"
+
this
.
id
+
"
SelectedPanel
"
).
hide
();
b
.
chinese
=
undefined
}
if
(
a
.
keyCode
!==
38
&&
a
.
keyCode
!==
40
){
b
.
tipNum
=
0
}},
_getCurrentWord
:
function
(
a
,
b
){
var
c
=
$
(
a
).
val
(),
tag
=
true
,
endPos
=
0
,
startPos
=
0
,
separator
=
$
.
completed
.
_defaults
.
separator
;
if
(
c
===
""
){
return
{
currentWord
:
""
,
startPos
:
startPos
,
endPos
:
endPos
}}
if
(
document
.
selection
){
try
{
var
d
=
document
.
selection
.
createRange
();
var
f
=
a
.
createTextRange
();
f
.
collapse
(
true
);
f
.
select
();
var
g
=
document
.
selection
.
createRange
();
g
.
setEndPoint
(
"
EndToEnd
"
,
d
);
b
.
curPos
=
g
.
text
.
length
;
d
.
select
()}
catch
(
e
){
delete
e
}}
else
{
b
.
curPos
=
a
.
selectionStart
}
var
h
=
b
.
curPos
;
for
(
var
i
=
0
;
i
<
c
.
length
;
i
++
){
if
(
c
.
charAt
(
i
)
===
separator
){
if
(
i
>=
h
&&
tag
){
endPos
=
i
;
tag
=
false
}}}
if
(
tag
===
true
){
tag
=
false
;
endPos
=
c
.
length
}
for
(
var
j
=
endPos
;
j
>-
1
;
j
--
){
if
(
c
.
charAt
(
j
)
===
separator
){
if
(
j
<
h
&&!
tag
){
startPos
=
j
+
1
;
tag
=
true
}}}
return
{
currentWord
:
c
.
substring
(
startPos
,
endPos
),
startPos
:
startPos
,
endPos
:
endPos
}},
_getMatchData
:
function
(
a
,
b
,
c
){
var
d
=
b
.
split
(
$
.
completed
.
_defaults
.
separator
);
var
e
=
[];
for
(
var
i
=
0
;
i
<
a
.
length
;
i
++
){
if
(
typeof
a
[
i
]
===
"
number
"
){
a
[
i
]
=
a
[
i
].
toString
()}
if
(
a
[
i
].
toLowerCase
().
indexOf
(
c
.
toLowerCase
())
>-
1
){
var
f
=
true
;
for
(
var
k
=
0
;
k
<
d
.
length
;
k
++
){
if
(
a
[
i
]
===
d
[
k
].
toString
()
&&
a
[
i
].
toLowerCase
()
!==
c
.
toLowerCase
()){
f
=
false
}}
if
(
f
){
e
.
push
(
a
[
i
])}}}
return
e
},
_mousemoveSelectPanel
:
function
(
a
,
i
,
b
){
$
(
a
).
parent
().
find
(
"
a
"
).
removeClass
(
"
selected
"
);
a
.
className
=
'
selected
'
;
var
c
=
$
.
completed
.
_getInst
(
document
.
getElementById
(
b
));
c
.
settings
.
tipNum
=
i
},
_buildSelectedPanel
:
function
(
e
,
f
,
g
,
h
){
var
j
=
$
(
"
#
"
+
e
+
"
SelectedPanel
"
);
if
(
f
.
length
===
0
){
j
.
html
(
""
).
hide
();
return
}
if
(
g
.
tipNum
>=
f
.
length
){
g
.
tipNum
=
0
}
var
k
=
""
;
for
(
var
i
=
0
;
i
<
f
.
length
;
i
++
){
var
l
=
""
,
highlightHTML
=
f
[
i
].
replace
(
h
,
"
<b>
"
+
h
+
"
</b>
"
);
if
(
g
.
tipNum
===
i
){
l
=
"
class='selected'
"
}
k
+=
"
<a href='javascript:void(0);' onmousemove=
\"
$.completed._mousemoveSelectPanel(this,
"
+
i
+
"
, '
"
+
e
+
"
');
\"
"
+
l
+
"
>
"
+
highlightHTML
+
"
</a>
"
}
j
.
html
(
k
).
show
();
var
m
=
$
(
"
#
"
+
e
+
"
SelectedPanel a.selected
"
);
if
(
m
.
position
().
top
+
j
.
scrollTop
()
>
50
-
m
.
height
()){
j
.
scrollTop
(
m
.
position
().
top
+
j
.
scrollTop
()
+
m
.
height
()
-
50
)}
if
(
m
.
position
().
top
<
0
){
j
.
scrollTop
(
j
.
scrollTop
-
m
.
height
())}
$
(
"
#
"
+
e
+
"
SelectedPanel a
"
).
click
(
function
(){
var
a
=
document
.
getElementById
(
e
);
var
b
=
$
.
completed
.
_getCurrentWord
(
document
.
getElementById
(
e
),
g
);
var
c
=
$
.
completed
.
_getMatchData
(
g
.
data
,
a
.
value
,
b
.
currentWord
);
var
d
=
a
.
value
;
a
.
value
=
d
.
substring
(
0
,
b
.
startPos
)
+
c
[
g
.
tipNum
]
+
d
.
substring
(
b
.
endPos
,
d
.
length
);
g
.
tipNum
=
0
;
$
(
a
).
focus
()})},
_buildCheckboxPanel
:
function
(
c
,
d
){
var
e
=
""
,
$input
=
$
(
"
#
"
+
c
);
for
(
var
i
=
0
;
i
<
d
.
length
;
i
++
){
e
+=
"
<span>
"
+
d
[
i
]
+
"
</span>
"
}
$
(
"
#
"
+
c
+
"
CheckboxPanel
"
).
html
(
e
+
"
<div class='clear'></div>
"
);
$
(
"
#
"
+
c
+
"
CheckboxPanel
"
+
"
span
"
).
click
(
function
(){
var
a
=
$input
.
val
(),
currentVal
=
this
.
innerHTML
;
if
(
this
.
className
===
"
selected
"
){
this
.
className
=
""
;
var
b
=
a
.
substr
(
a
.
indexOf
(
currentVal
)
+
currentVal
.
length
,
1
);
if
(
currentVal
===
a
||
b
!==
"
,
"
){
$input
.
val
(
a
.
replace
(
currentVal
,
""
))}
else
{
$input
.
val
(
a
.
replace
(
currentVal
+
"
,
"
,
""
))}}
else
{
this
.
className
=
"
selected
"
;
if
(
a
.
replace
(
/
\s
/g
,
""
)
===
""
||
a
.
substr
(
a
.
length
-
1
,
1
)
===
"
,
"
){
$input
.
val
(
a
+
currentVal
)}
else
{
$input
.
val
(
a
+
"
,
"
+
currentVal
)}}});
this
.
_matchChecked
(
c
);
$input
.
blur
(
function
(){
$
.
completed
.
_matchChecked
(
c
)})},
_matchChecked
:
function
(
a
){
var
b
=
$
(
"
#
"
+
a
).
val
().
split
(
"
,
"
);
$
(
"
#
"
+
a
+
"
CheckboxPanel span
"
).
removeClass
().
each
(
function
(){
for
(
var
i
=
0
;
i
<
b
.
length
;
i
++
){
if
(
this
.
innerHTML
===
b
[
i
]){
this
.
className
=
"
selected
"
}}})},
_getDefaults
:
function
(
a
,
b
,
c
){
if
(
c
===
"
styleClass
"
){
if
(
b
.
theme
===
"
default
"
||
b
.
theme
===
undefined
){
return
a
.
styleClass
}
b
.
styleClass
=
{};
for
(
var
d
in
a
[
c
]){
b
.
styleClass
[
d
]
=
b
.
theme
+
"
-
"
+
a
.
styleClass
[
d
]}}
else
if
(
c
===
"
height
"
||
c
===
"
width
"
){
if
(
b
[
c
]
===
null
||
b
[
c
]
===
undefined
){
return
"
auto
"
}
else
{
return
b
[
c
]
+
"
px
"
}}
else
{
if
(
b
[
c
]
===
null
||
b
[
c
]
===
undefined
){
return
a
[
c
]}}
return
b
[
c
]}});
$
.
fn
.
completed
=
function
(
a
){
var
b
=
Array
.
prototype
.
slice
.
call
(
arguments
);
return
this
.
each
(
function
(){
typeof
a
==
'
string
'
?
$
.
completed
[
'
_
'
+
a
+
'
Completed
'
].
apply
(
$
.
completed
,[
this
].
concat
(
b
)):
$
.
completed
.
_attach
(
this
,
a
)})};
$
.
completed
=
new
l
();
window
[
'
DP_jQuery_
'
+
j
]
=
$
})(
jQuery
);
...
...
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