Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wwwanlingxiao
mall
Commits
7816c1c2
Commit
7816c1c2
authored
Dec 18, 2018
by
zhh
Browse files
删除无用代码
parent
0b285dd3
Changes
201
Hide whitespace changes
Inline
Side-by-side
mall-demo/src/main/resources/static/plugins/waves-0.7.5/waves.min.css
deleted
100644 → 0
View file @
0b285dd3
/*!
* Waves v0.7.5
* http://fian.my.id/Waves
*
* Copyright 2014-2016 Alfiana E. Sibuea and other contributors
* Released under the MIT license
* https://github.com/fians/Waves/blob/master/LICENSE
*/
.waves-effect
{
position
:
relative
;
cursor
:
pointer
;
display
:
inline-block
;
overflow
:
hidden
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
-webkit-tap-highlight-color
:
transparent
}
.waves-effect
.waves-ripple
{
position
:
absolute
;
border-radius
:
50%
;
width
:
100px
;
height
:
100px
;
margin-top
:
-50px
;
margin-left
:
-50px
;
opacity
:
0
;
background
:
rgba
(
0
,
0
,
0
,
.2
);
background
:
-webkit-radial-gradient
(
rgba
(
0
,
0
,
0
,
.2
)
0
,
rgba
(
0
,
0
,
0
,
.3
)
40%
,
rgba
(
0
,
0
,
0
,
.4
)
50%
,
rgba
(
0
,
0
,
0
,
.5
)
60%
,
rgba
(
255
,
255
,
255
,
0
)
70%
);
background
:
-o-radial-gradient
(
rgba
(
0
,
0
,
0
,
.2
)
0
,
rgba
(
0
,
0
,
0
,
.3
)
40%
,
rgba
(
0
,
0
,
0
,
.4
)
50%
,
rgba
(
0
,
0
,
0
,
.5
)
60%
,
rgba
(
255
,
255
,
255
,
0
)
70%
);
background
:
-moz-radial-gradient
(
rgba
(
0
,
0
,
0
,
.2
)
0
,
rgba
(
0
,
0
,
0
,
.3
)
40%
,
rgba
(
0
,
0
,
0
,
.4
)
50%
,
rgba
(
0
,
0
,
0
,
.5
)
60%
,
rgba
(
255
,
255
,
255
,
0
)
70%
);
background
:
radial-gradient
(
rgba
(
0
,
0
,
0
,
.2
)
0
,
rgba
(
0
,
0
,
0
,
.3
)
40%
,
rgba
(
0
,
0
,
0
,
.4
)
50%
,
rgba
(
0
,
0
,
0
,
.5
)
60%
,
rgba
(
255
,
255
,
255
,
0
)
70%
);
-webkit-transition
:
all
.5s
ease-out
;
-moz-transition
:
all
.5s
ease-out
;
-o-transition
:
all
.5s
ease-out
;
transition
:
all
.5s
ease-out
;
-webkit-transition-property
:
-webkit-transform
,
opacity
;
-moz-transition-property
:
-moz-transform
,
opacity
;
-o-transition-property
:
-o-transform
,
opacity
;
transition-property
:
transform
,
opacity
;
-webkit-transform
:
scale
(
0
)
translate
(
0
,
0
);
-moz-transform
:
scale
(
0
)
translate
(
0
,
0
);
-ms-transform
:
scale
(
0
)
translate
(
0
,
0
);
-o-transform
:
scale
(
0
)
translate
(
0
,
0
);
transform
:
scale
(
0
)
translate
(
0
,
0
);
pointer-events
:
none
}
.waves-effect.waves-light
.waves-ripple
{
background
:
rgba
(
255
,
255
,
255
,
.4
);
background
:
-webkit-radial-gradient
(
rgba
(
255
,
255
,
255
,
.2
)
0
,
rgba
(
255
,
255
,
255
,
.3
)
40%
,
rgba
(
255
,
255
,
255
,
.4
)
50%
,
rgba
(
255
,
255
,
255
,
.5
)
60%
,
rgba
(
255
,
255
,
255
,
0
)
70%
);
background
:
-o-radial-gradient
(
rgba
(
255
,
255
,
255
,
.2
)
0
,
rgba
(
255
,
255
,
255
,
.3
)
40%
,
rgba
(
255
,
255
,
255
,
.4
)
50%
,
rgba
(
255
,
255
,
255
,
.5
)
60%
,
rgba
(
255
,
255
,
255
,
0
)
70%
);
background
:
-moz-radial-gradient
(
rgba
(
255
,
255
,
255
,
.2
)
0
,
rgba
(
255
,
255
,
255
,
.3
)
40%
,
rgba
(
255
,
255
,
255
,
.4
)
50%
,
rgba
(
255
,
255
,
255
,
.5
)
60%
,
rgba
(
255
,
255
,
255
,
0
)
70%
);
background
:
radial-gradient
(
rgba
(
255
,
255
,
255
,
.2
)
0
,
rgba
(
255
,
255
,
255
,
.3
)
40%
,
rgba
(
255
,
255
,
255
,
.4
)
50%
,
rgba
(
255
,
255
,
255
,
.5
)
60%
,
rgba
(
255
,
255
,
255
,
0
)
70%
)}
.waves-effect.waves-classic
.waves-ripple
{
background
:
rgba
(
0
,
0
,
0
,
.2
)}
.waves-effect.waves-classic.waves-light
.waves-ripple
{
background
:
rgba
(
255
,
255
,
255
,
.4
)}
.waves-notransition
{
-webkit-transition
:
none
!important
;
-moz-transition
:
none
!important
;
-o-transition
:
none
!important
;
transition
:
none
!important
}
.waves-button
,
.waves-circle
{
-webkit-transform
:
translateZ
(
0
);
-moz-transform
:
translateZ
(
0
);
-ms-transform
:
translateZ
(
0
);
-o-transform
:
translateZ
(
0
);
transform
:
translateZ
(
0
);
-webkit-mask-image
:
-webkit-radial-gradient
(
circle
,
#fff
100%
,
#000
100%
)}
.waves-button
,
.waves-button
:hover
,
.waves-button
:visited
,
.waves-button-input
{
white-space
:
nowrap
;
vertical-align
:
middle
;
cursor
:
pointer
;
border
:
none
;
outline
:
0
;
color
:
inherit
;
background-color
:
transparent
;
font-size
:
1em
;
line-height
:
1em
;
text-align
:
center
;
text-decoration
:
none
;
z-index
:
1
}
.waves-button
{
padding
:
.85em
1.1em
;
border-radius
:
.2em
}
.waves-button-input
{
margin
:
0
;
padding
:
.85em
1.1em
}
.waves-input-wrapper
{
border-radius
:
.2em
;
vertical-align
:
bottom
}
.waves-input-wrapper.waves-button
{
padding
:
0
}
.waves-input-wrapper
.waves-button-input
{
position
:
relative
;
top
:
0
;
left
:
0
;
z-index
:
1
}
.waves-circle
{
text-align
:
center
;
width
:
2.5em
;
height
:
2.5em
;
line-height
:
2.5em
;
border-radius
:
50%
}
.waves-float
{
-webkit-mask-image
:
none
;
-webkit-box-shadow
:
0
1px
1.5px
1px
rgba
(
0
,
0
,
0
,
.12
);
box-shadow
:
0
1px
1.5px
1px
rgba
(
0
,
0
,
0
,
.12
);
-webkit-transition
:
all
300ms
;
-moz-transition
:
all
300ms
;
-o-transition
:
all
300ms
;
transition
:
all
300ms
}
.waves-float
:active
{
-webkit-box-shadow
:
0
8px
20px
1px
rgba
(
0
,
0
,
0
,
.3
);
box-shadow
:
0
8px
20px
1px
rgba
(
0
,
0
,
0
,
.3
)}
.waves-block
{
display
:
block
}
\ No newline at end of file
mall-demo/src/main/resources/static/plugins/waves-0.7.5/waves.min.js
deleted
100644 → 0
View file @
0b285dd3
/*!
* Waves v0.7.5
* http://fian.my.id/Waves
*
* Copyright 2014-2016 Alfiana E. Sibuea and other contributors
* Released under the MIT license
* https://github.com/fians/Waves/blob/master/LICENSE
*/
!
function
(
a
,
b
){
"
use strict
"
;
"
function
"
==
typeof
define
&&
define
.
amd
?
define
([],
function
(){
return
b
.
apply
(
a
)}):
"
object
"
==
typeof
exports
?
module
.
exports
=
b
.
call
(
a
):
a
.
Waves
=
b
.
call
(
a
)}(
"
object
"
==
typeof
global
?
global
:
this
,
function
(){
"
use strict
"
;
function
a
(
a
){
return
null
!==
a
&&
a
===
a
.
window
}
function
b
(
b
){
return
a
(
b
)?
b
:
9
===
b
.
nodeType
&&
b
.
defaultView
}
function
c
(
a
){
var
b
=
typeof
a
;
return
"
function
"
===
b
||
"
object
"
===
b
&&!!
a
}
function
d
(
a
){
return
c
(
a
)
&&
a
.
nodeType
>
0
}
function
e
(
a
){
var
b
=
m
.
call
(
a
);
return
"
[object String]
"
===
b
?
l
(
a
):
c
(
a
)
&&
/^
\[
object
(
Array|HTMLCollection|NodeList|Object
)\]
$/
.
test
(
b
)
&&
a
.
hasOwnProperty
(
"
length
"
)?
a
:
d
(
a
)?[
a
]:[]}
function
f
(
a
){
var
c
,
d
,
e
=
{
top
:
0
,
left
:
0
},
f
=
a
&&
a
.
ownerDocument
;
return
c
=
f
.
documentElement
,
"
undefined
"
!=
typeof
a
.
getBoundingClientRect
&&
(
e
=
a
.
getBoundingClientRect
()),
d
=
b
(
f
),{
top
:
e
.
top
+
d
.
pageYOffset
-
c
.
clientTop
,
left
:
e
.
left
+
d
.
pageXOffset
-
c
.
clientLeft
}}
function
g
(
a
){
var
b
=
""
;
for
(
var
c
in
a
)
a
.
hasOwnProperty
(
c
)
&&
(
b
+=
c
+
"
:
"
+
a
[
c
]
+
"
;
"
);
return
b
}
function
h
(
a
,
b
,
c
){
if
(
c
){
c
.
classList
.
remove
(
"
waves-rippling
"
);
var
d
=
c
.
getAttribute
(
"
data-x
"
),
e
=
c
.
getAttribute
(
"
data-y
"
),
f
=
c
.
getAttribute
(
"
data-scale
"
),
h
=
c
.
getAttribute
(
"
data-translate
"
),
i
=
Date
.
now
()
-
Number
(
c
.
getAttribute
(
"
data-hold
"
)),
j
=
350
-
i
;
0
>
j
&&
(
j
=
0
),
"
mousemove
"
===
a
.
type
&&
(
j
=
150
);
var
k
=
"
mousemove
"
===
a
.
type
?
2500
:
o
.
duration
;
setTimeout
(
function
(){
var
a
=
{
top
:
e
+
"
px
"
,
left
:
d
+
"
px
"
,
opacity
:
"
0
"
,
"
-webkit-transition-duration
"
:
k
+
"
ms
"
,
"
-moz-transition-duration
"
:
k
+
"
ms
"
,
"
-o-transition-duration
"
:
k
+
"
ms
"
,
"
transition-duration
"
:
k
+
"
ms
"
,
"
-webkit-transform
"
:
f
+
"
"
+
h
,
"
-moz-transform
"
:
f
+
"
"
+
h
,
"
-ms-transform
"
:
f
+
"
"
+
h
,
"
-o-transform
"
:
f
+
"
"
+
h
,
transform
:
f
+
"
"
+
h
};
c
.
setAttribute
(
"
style
"
,
g
(
a
)),
setTimeout
(
function
(){
try
{
b
.
removeChild
(
c
)}
catch
(
a
){
return
!
1
}},
k
)},
j
)}}
function
i
(
a
){
if
(
q
.
allowEvent
(
a
)
===!
1
)
return
null
;
for
(
var
b
=
null
,
c
=
a
.
target
||
a
.
srcElement
;
c
.
parentElement
;){
if
(
!
(
c
instanceof
SVGElement
)
&&
c
.
classList
.
contains
(
"
waves-effect
"
)){
b
=
c
;
break
}
c
=
c
.
parentElement
}
return
b
}
function
j
(
a
){
var
b
=
i
(
a
);
if
(
null
!==
b
){
if
(
b
.
disabled
||
b
.
getAttribute
(
"
disabled
"
)
||
b
.
classList
.
contains
(
"
disabled
"
))
return
;
if
(
q
.
registerEvent
(
a
),
"
touchstart
"
===
a
.
type
&&
o
.
delay
){
var
c
=!
1
,
d
=
setTimeout
(
function
(){
d
=
null
,
o
.
show
(
a
,
b
)},
o
.
delay
),
e
=
function
(
e
){
d
&&
(
clearTimeout
(
d
),
d
=
null
,
o
.
show
(
a
,
b
)),
c
||
(
c
=!
0
,
o
.
hide
(
e
,
b
))},
f
=
function
(
a
){
d
&&
(
clearTimeout
(
d
),
d
=
null
),
e
(
a
)};
b
.
addEventListener
(
"
touchmove
"
,
f
,
!
1
),
b
.
addEventListener
(
"
touchend
"
,
e
,
!
1
),
b
.
addEventListener
(
"
touchcancel
"
,
e
,
!
1
)}
else
o
.
show
(
a
,
b
),
n
&&
(
b
.
addEventListener
(
"
touchend
"
,
o
.
hide
,
!
1
),
b
.
addEventListener
(
"
touchcancel
"
,
o
.
hide
,
!
1
)),
b
.
addEventListener
(
"
mouseup
"
,
o
.
hide
,
!
1
),
b
.
addEventListener
(
"
mouseleave
"
,
o
.
hide
,
!
1
)}}
var
k
=
k
||
{},
l
=
document
.
querySelectorAll
.
bind
(
document
),
m
=
Object
.
prototype
.
toString
,
n
=
"
ontouchstart
"
in
window
,
o
=
{
duration
:
750
,
delay
:
200
,
show
:
function
(
a
,
b
,
c
){
if
(
2
===
a
.
button
)
return
!
1
;
b
=
b
||
this
;
var
d
=
document
.
createElement
(
"
div
"
);
d
.
className
=
"
waves-ripple waves-rippling
"
,
b
.
appendChild
(
d
);
var
e
=
f
(
b
),
h
=
0
,
i
=
0
;
"
touches
"
in
a
&&
a
.
touches
.
length
?(
h
=
a
.
touches
[
0
].
pageY
-
e
.
top
,
i
=
a
.
touches
[
0
].
pageX
-
e
.
left
):(
h
=
a
.
pageY
-
e
.
top
,
i
=
a
.
pageX
-
e
.
left
),
i
=
i
>=
0
?
i
:
0
,
h
=
h
>=
0
?
h
:
0
;
var
j
=
"
scale(
"
+
b
.
clientWidth
/
100
*
3
+
"
)
"
,
k
=
"
translate(0,0)
"
;
c
&&
(
k
=
"
translate(
"
+
c
.
x
+
"
px,
"
+
c
.
y
+
"
px)
"
),
d
.
setAttribute
(
"
data-hold
"
,
Date
.
now
()),
d
.
setAttribute
(
"
data-x
"
,
i
),
d
.
setAttribute
(
"
data-y
"
,
h
),
d
.
setAttribute
(
"
data-scale
"
,
j
),
d
.
setAttribute
(
"
data-translate
"
,
k
);
var
l
=
{
top
:
h
+
"
px
"
,
left
:
i
+
"
px
"
};
d
.
classList
.
add
(
"
waves-notransition
"
),
d
.
setAttribute
(
"
style
"
,
g
(
l
)),
d
.
classList
.
remove
(
"
waves-notransition
"
),
l
[
"
-webkit-transform
"
]
=
j
+
"
"
+
k
,
l
[
"
-moz-transform
"
]
=
j
+
"
"
+
k
,
l
[
"
-ms-transform
"
]
=
j
+
"
"
+
k
,
l
[
"
-o-transform
"
]
=
j
+
"
"
+
k
,
l
.
transform
=
j
+
"
"
+
k
,
l
.
opacity
=
"
1
"
;
var
m
=
"
mousemove
"
===
a
.
type
?
2500
:
o
.
duration
;
l
[
"
-webkit-transition-duration
"
]
=
m
+
"
ms
"
,
l
[
"
-moz-transition-duration
"
]
=
m
+
"
ms
"
,
l
[
"
-o-transition-duration
"
]
=
m
+
"
ms
"
,
l
[
"
transition-duration
"
]
=
m
+
"
ms
"
,
d
.
setAttribute
(
"
style
"
,
g
(
l
))},
hide
:
function
(
a
,
b
){
b
=
b
||
this
;
for
(
var
c
=
b
.
getElementsByClassName
(
"
waves-rippling
"
),
d
=
0
,
e
=
c
.
length
;
e
>
d
;
d
++
)
h
(
a
,
b
,
c
[
d
])}},
p
=
{
input
:
function
(
a
){
var
b
=
a
.
parentNode
;
if
(
"
i
"
!==
b
.
tagName
.
toLowerCase
()
||!
b
.
classList
.
contains
(
"
waves-effect
"
)){
var
c
=
document
.
createElement
(
"
i
"
);
c
.
className
=
a
.
className
+
"
waves-input-wrapper
"
,
a
.
className
=
"
waves-button-input
"
,
b
.
replaceChild
(
c
,
a
),
c
.
appendChild
(
a
);
var
d
=
window
.
getComputedStyle
(
a
,
null
),
e
=
d
.
color
,
f
=
d
.
backgroundColor
;
c
.
setAttribute
(
"
style
"
,
"
color:
"
+
e
+
"
;background:
"
+
f
),
a
.
setAttribute
(
"
style
"
,
"
background-color:rgba(0,0,0,0);
"
)}},
img
:
function
(
a
){
var
b
=
a
.
parentNode
;
if
(
"
i
"
!==
b
.
tagName
.
toLowerCase
()
||!
b
.
classList
.
contains
(
"
waves-effect
"
)){
var
c
=
document
.
createElement
(
"
i
"
);
b
.
replaceChild
(
c
,
a
),
c
.
appendChild
(
a
)}}},
q
=
{
touches
:
0
,
allowEvent
:
function
(
a
){
var
b
=!
0
;
return
/^
(
mousedown|mousemove
)
$/
.
test
(
a
.
type
)
&&
q
.
touches
&&
(
b
=!
1
),
b
},
registerEvent
:
function
(
a
){
var
b
=
a
.
type
;
"
touchstart
"
===
b
?
q
.
touches
+=
1
:
/^
(
touchend|touchcancel
)
$/
.
test
(
b
)
&&
setTimeout
(
function
(){
q
.
touches
&&
(
q
.
touches
-=
1
)},
500
)}};
return
k
.
init
=
function
(
a
){
var
b
=
document
.
body
;
a
=
a
||
{},
"
duration
"
in
a
&&
(
o
.
duration
=
a
.
duration
),
"
delay
"
in
a
&&
(
o
.
delay
=
a
.
delay
),
n
&&
(
b
.
addEventListener
(
"
touchstart
"
,
j
,
!
1
),
b
.
addEventListener
(
"
touchcancel
"
,
q
.
registerEvent
,
!
1
),
b
.
addEventListener
(
"
touchend
"
,
q
.
registerEvent
,
!
1
)),
b
.
addEventListener
(
"
mousedown
"
,
j
,
!
1
)},
k
.
attach
=
function
(
a
,
b
){
a
=
e
(
a
),
"
[object Array]
"
===
m
.
call
(
b
)
&&
(
b
=
b
.
join
(
"
"
)),
b
=
b
?
"
"
+
b
:
""
;
for
(
var
c
,
d
,
f
=
0
,
g
=
a
.
length
;
g
>
f
;
f
++
)
c
=
a
[
f
],
d
=
c
.
tagName
.
toLowerCase
(),
-
1
!==
[
"
input
"
,
"
img
"
].
indexOf
(
d
)
&&
(
p
[
d
](
c
),
c
=
c
.
parentElement
),
-
1
===
c
.
className
.
indexOf
(
"
waves-effect
"
)
&&
(
c
.
className
+=
"
waves-effect
"
+
b
)},
k
.
ripple
=
function
(
a
,
b
){
a
=
e
(
a
);
var
c
=
a
.
length
;
if
(
b
=
b
||
{},
b
.
wait
=
b
.
wait
||
0
,
b
.
position
=
b
.
position
||
null
,
c
)
for
(
var
d
,
g
,
h
,
i
=
{},
j
=
0
,
k
=
{
type
:
"
mousedown
"
,
button
:
1
},
l
=
function
(
a
,
b
){
return
function
(){
o
.
hide
(
a
,
b
)}};
c
>
j
;
j
++
)
if
(
d
=
a
[
j
],
g
=
b
.
position
||
{
x
:
d
.
clientWidth
/
2
,
y
:
d
.
clientHeight
/
2
},
h
=
f
(
d
),
i
.
x
=
h
.
left
+
g
.
x
,
i
.
y
=
h
.
top
+
g
.
y
,
k
.
pageX
=
i
.
x
,
k
.
pageY
=
i
.
y
,
o
.
show
(
k
,
d
),
b
.
wait
>=
0
&&
null
!==
b
.
wait
){
var
m
=
{
type
:
"
mouseup
"
,
button
:
1
};
setTimeout
(
l
(
m
,
d
),
b
.
wait
)}},
k
.
calm
=
function
(
a
){
a
=
e
(
a
);
for
(
var
b
=
{
type
:
"
mouseup
"
,
button
:
1
},
c
=
0
,
d
=
a
.
length
;
d
>
c
;
c
++
)
o
.
hide
(
b
,
a
[
c
])},
k
.
displayEffect
=
function
(
a
){
k
.
init
(
a
)},
k
});
//# sourceMappingURL=waves.min.js.map
\ No newline at end of file
mall-demo/src/main/resources/static/plugins/waves-0.7.5/waves.min.js.map
deleted
100644 → 0
View file @
0b285dd3
{"version":3,"sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","getWavesEffectElement","TouchHandler","allowEvent","element","target","srcElement","parentElement","SVGElement","contains","showEffect","disabled","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","touchMove","moveEvent","addEventListener","isTouchAvailable","document","querySelectorAll","bind","Object","prototype","velocity","button","createElement","className","appendChild","pos","touches","length","pageY","pageX","clientWidth","rippleStyle","add","ripples","getElementsByClassName","i","len","TagWrapper","input","parent","parentNode","tagName","toLowerCase","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","attach","elements","classes","join","indexOf","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":"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","file":"waves.min.js"}
\ No newline at end of file
mall-demo/src/main/resources/static/plugins/webuploader-0.1.5/Uploader.swf
deleted
100644 → 0
View file @
0b285dd3
File deleted
mall-demo/src/main/resources/static/plugins/webuploader-0.1.5/webuploader.css
deleted
100644 → 0
View file @
0b285dd3
.webuploader-container
{
position
:
relative
;
}
.webuploader-element-invisible
{
position
:
absolute
!important
;
clip
:
rect
(
1px
1px
1px
1px
);
/* IE6, IE7 */
clip
:
rect
(
1px
,
1px
,
1px
,
1px
);
}
.webuploader-pick
{
position
:
relative
;
display
:
inline-block
;
cursor
:
pointer
;
background
:
#00b7ee
;
padding
:
10px
15px
;
color
:
#fff
;
text-align
:
center
;
border-radius
:
3px
;
overflow
:
hidden
;
}
.webuploader-pick-hover
{
background
:
#00a2d4
;
}
.webuploader-pick-disable
{
opacity
:
0.6
;
pointer-events
:
none
;
}
mall-demo/src/main/resources/static/plugins/webuploader-0.1.5/webuploader.min.js
deleted
100644 → 0
View file @
0b285dd3
/* WebUploader 0.1.5 */
!
function
(
a
,
b
){
var
c
,
d
=
{},
e
=
function
(
a
,
b
){
var
c
,
d
,
e
;
if
(
"
string
"
==
typeof
a
)
return
h
(
a
);
for
(
c
=
[],
d
=
a
.
length
,
e
=
0
;
d
>
e
;
e
++
)
c
.
push
(
h
(
a
[
e
]));
return
b
.
apply
(
null
,
c
)},
f
=
function
(
a
,
b
,
c
){
2
===
arguments
.
length
&&
(
c
=
b
,
b
=
null
),
e
(
b
||
[],
function
(){
g
(
a
,
c
,
arguments
)})},
g
=
function
(
a
,
b
,
c
){
var
f
,
g
=
{
exports
:
b
};
"
function
"
==
typeof
b
&&
(
c
.
length
||
(
c
=
[
e
,
g
.
exports
,
g
]),
f
=
b
.
apply
(
null
,
c
),
void
0
!==
f
&&
(
g
.
exports
=
f
)),
d
[
a
]
=
g
.
exports
},
h
=
function
(
b
){
var
c
=
d
[
b
]
||
a
[
b
];
if
(
!
c
)
throw
new
Error
(
"
`
"
+
b
+
"
` is undefined
"
);
return
c
},
i
=
function
(
a
){
var
b
,
c
,
e
,
f
,
g
,
h
;
h
=
function
(
a
){
return
a
&&
a
.
charAt
(
0
).
toUpperCase
()
+
a
.
substr
(
1
)};
for
(
b
in
d
)
if
(
c
=
a
,
d
.
hasOwnProperty
(
b
)){
for
(
e
=
b
.
split
(
"
/
"
),
g
=
h
(
e
.
pop
());
f
=
h
(
e
.
shift
());)
c
[
f
]
=
c
[
f
]
||
{},
c
=
c
[
f
];
c
[
g
]
=
d
[
b
]}
return
a
},
j
=
function
(
c
){
return
a
.
__dollar
=
c
,
i
(
b
(
a
,
f
,
e
))};
"
object
"
==
typeof
module
&&
"
object
"
==
typeof
module
.
exports
?
module
.
exports
=
j
():
"
function
"
==
typeof
define
&&
define
.
amd
?
define
([
"
jquery
"
],
j
):(
c
=
a
.
WebUploader
,
a
.
WebUploader
=
j
(),
a
.
WebUploader
.
noConflict
=
function
(){
a
.
WebUploader
=
c
})}(
window
,
function
(
a
,
b
,
c
){
return
b
(
"
dollar-third
"
,[],
function
(){
var
b
=
a
.
__dollar
||
a
.
jQuery
||
a
.
Zepto
;
if
(
!
b
)
throw
new
Error
(
"
jQuery or Zepto not found!
"
);
return
b
}),
b
(
"
dollar
"
,[
"
dollar-third
"
],
function
(
a
){
return
a
}),
b
(
"
promise-third
"
,[
"
dollar
"
],
function
(
a
){
return
{
Deferred
:
a
.
Deferred
,
when
:
a
.
when
,
isPromise
:
function
(
a
){
return
a
&&
"
function
"
==
typeof
a
.
then
}}}),
b
(
"
promise
"
,[
"
promise-third
"
],
function
(
a
){
return
a
}),
b
(
"
base
"
,[
"
dollar
"
,
"
promise
"
],
function
(
b
,
c
){
function
d
(
a
){
return
function
(){
return
h
.
apply
(
a
,
arguments
)}}
function
e
(
a
,
b
){
return
function
(){
return
a
.
apply
(
b
,
arguments
)}}
function
f
(
a
){
var
b
;
return
Object
.
create
?
Object
.
create
(
a
):(
b
=
function
(){},
b
.
prototype
=
a
,
new
b
)}
var
g
=
function
(){},
h
=
Function
.
call
;
return
{
version
:
"
0.1.5
"
,
$
:
b
,
Deferred
:
c
.
Deferred
,
isPromise
:
c
.
isPromise
,
when
:
c
.
when
,
browser
:
function
(
a
){
var
b
=
{},
c
=
a
.
match
(
/WebKit
\/([\d
.
]
+
)
/
),
d
=
a
.
match
(
/Chrome
\/([\d
.
]
+
)
/
)
||
a
.
match
(
/CriOS
\/([\d
.
]
+
)
/
),
e
=
a
.
match
(
/MSIE
\s([\d\.]
+
)
/
)
||
a
.
match
(
/
(?:
trident
)(?:
.*rv:
([\w
.
]
+
))?
/i
),
f
=
a
.
match
(
/Firefox
\/([\d
.
]
+
)
/
),
g
=
a
.
match
(
/Safari
\/([\d
.
]
+
)
/
),
h
=
a
.
match
(
/OPR
\/([\d
.
]
+
)
/
);
return
c
&&
(
b
.
webkit
=
parseFloat
(
c
[
1
])),
d
&&
(
b
.
chrome
=
parseFloat
(
d
[
1
])),
e
&&
(
b
.
ie
=
parseFloat
(
e
[
1
])),
f
&&
(
b
.
firefox
=
parseFloat
(
f
[
1
])),
g
&&
(
b
.
safari
=
parseFloat
(
g
[
1
])),
h
&&
(
b
.
opera
=
parseFloat
(
h
[
1
])),
b
}(
navigator
.
userAgent
),
os
:
function
(
a
){
var
b
=
{},
c
=
a
.
match
(
/
(?:
Android
)
;
?[\s\/]
+
([\d
.
]
+
)?
/
),
d
=
a
.
match
(
/
(?:
iPad|iPod|iPhone
)
.*OS
\s([\d
_
]
+
)
/
);
return
c
&&
(
b
.
android
=
parseFloat
(
c
[
1
])),
d
&&
(
b
.
ios
=
parseFloat
(
d
[
1
].
replace
(
/_/g
,
"
.
"
))),
b
}(
navigator
.
userAgent
),
inherits
:
function
(
a
,
c
,
d
){
var
e
;
return
"
function
"
==
typeof
c
?(
e
=
c
,
c
=
null
):
e
=
c
&&
c
.
hasOwnProperty
(
"
constructor
"
)?
c
.
constructor
:
function
(){
return
a
.
apply
(
this
,
arguments
)},
b
.
extend
(
!
0
,
e
,
a
,
d
||
{}),
e
.
__super__
=
a
.
prototype
,
e
.
prototype
=
f
(
a
.
prototype
),
c
&&
b
.
extend
(
!
0
,
e
.
prototype
,
c
),
e
},
noop
:
g
,
bindFn
:
e
,
log
:
function
(){
return
a
.
console
?
e
(
console
.
log
,
console
):
g
}(),
nextTick
:
function
(){
return
function
(
a
){
setTimeout
(
a
,
1
)}}(),
slice
:
d
([].
slice
),
guid
:
function
(){
var
a
=
0
;
return
function
(
b
){
for
(
var
c
=
(
+
new
Date
).
toString
(
32
),
d
=
0
;
5
>
d
;
d
++
)
c
+=
Math
.
floor
(
65535
*
Math
.
random
()).
toString
(
32
);
return
(
b
||
"
wu_
"
)
+
c
+
(
a
++
).
toString
(
32
)}}(),
formatSize
:
function
(
a
,
b
,
c
){
var
d
;
for
(
c
=
c
||
[
"
B
"
,
"
K
"
,
"
M
"
,
"
G
"
,
"
TB
"
];(
d
=
c
.
shift
())
&&
a
>
1024
;)
a
/=
1024
;
return
(
"
B
"
===
d
?
a
:
a
.
toFixed
(
b
||
2
))
+
d
}}}),
b
(
"
mediator
"
,[
"
base
"
],
function
(
a
){
function
b
(
a
,
b
,
c
,
d
){
return
f
.
grep
(
a
,
function
(
a
){
return
!
(
!
a
||
b
&&
a
.
e
!==
b
||
c
&&
a
.
cb
!==
c
&&
a
.
cb
.
_cb
!==
c
||
d
&&
a
.
ctx
!==
d
)})}
function
c
(
a
,
b
,
c
){
f
.
each
((
a
||
""
).
split
(
h
),
function
(
a
,
d
){
c
(
d
,
b
)})}
function
d
(
a
,
b
){
for
(
var
c
,
d
=!
1
,
e
=-
1
,
f
=
a
.
length
;
++
e
<
f
;)
if
(
c
=
a
[
e
],
c
.
cb
.
apply
(
c
.
ctx2
,
b
)
===!
1
){
d
=!
0
;
break
}
return
!
d
}
var
e
,
f
=
a
.
$
,
g
=
[].
slice
,
h
=
/
\s
+/
;
return
e
=
{
on
:
function
(
a
,
b
,
d
){
var
e
,
f
=
this
;
return
b
?(
e
=
this
.
_events
||
(
this
.
_events
=
[]),
c
(
a
,
b
,
function
(
a
,
b
){
var
c
=
{
e
:
a
};
c
.
cb
=
b
,
c
.
ctx
=
d
,
c
.
ctx2
=
d
||
f
,
c
.
id
=
e
.
length
,
e
.
push
(
c
)}),
this
):
this
},
once
:
function
(
a
,
b
,
d
){
var
e
=
this
;
return
b
?(
c
(
a
,
b
,
function
(
a
,
b
){
var
c
=
function
(){
return
e
.
off
(
a
,
c
),
b
.
apply
(
d
||
e
,
arguments
)};
c
.
_cb
=
b
,
e
.
on
(
a
,
c
,
d
)}),
e
):
e
},
off
:
function
(
a
,
d
,
e
){
var
g
=
this
.
_events
;
return
g
?
a
||
d
||
e
?(
c
(
a
,
d
,
function
(
a
,
c
){
f
.
each
(
b
(
g
,
a
,
c
,
e
),
function
(){
delete
g
[
this
.
id
]})}),
this
):(
this
.
_events
=
[],
this
):
this
},
trigger
:
function
(
a
){
var
c
,
e
,
f
;
return
this
.
_events
&&
a
?(
c
=
g
.
call
(
arguments
,
1
),
e
=
b
(
this
.
_events
,
a
),
f
=
b
(
this
.
_events
,
"
all
"
),
d
(
e
,
c
)
&&
d
(
f
,
arguments
)):
this
}},
f
.
extend
({
installTo
:
function
(
a
){
return
f
.
extend
(
a
,
e
)}},
e
)}),
b
(
"
uploader
"
,[
"
base
"
,
"
mediator
"
],
function
(
a
,
b
){
function
c
(
a
){
this
.
options
=
d
.
extend
(
!
0
,{},
c
.
options
,
a
),
this
.
_init
(
this
.
options
)}
var
d
=
a
.
$
;
return
c
.
options
=
{},
b
.
installTo
(
c
.
prototype
),
d
.
each
({
upload
:
"
start-upload
"
,
stop
:
"
stop-upload
"
,
getFile
:
"
get-file
"
,
getFiles
:
"
get-files
"
,
addFile
:
"
add-file
"
,
addFiles
:
"
add-file
"
,
sort
:
"
sort-files
"
,
removeFile
:
"
remove-file
"
,
cancelFile
:
"
cancel-file
"
,
skipFile
:
"
skip-file
"
,
retry
:
"
retry
"
,
isInProgress
:
"
is-in-progress
"
,
makeThumb
:
"
make-thumb
"
,
md5File
:
"
md5-file
"
,
getDimension
:
"
get-dimension
"
,
addButton
:
"
add-btn
"
,
predictRuntimeType
:
"
predict-runtime-type
"
,
refresh
:
"
refresh
"
,
disable
:
"
disable
"
,
enable
:
"
enable
"
,
reset
:
"
reset
"
},
function
(
a
,
b
){
c
.
prototype
[
a
]
=
function
(){
return
this
.
request
(
b
,
arguments
)}}),
d
.
extend
(
c
.
prototype
,{
state
:
"
pending
"
,
_init
:
function
(
a
){
var
b
=
this
;
b
.
request
(
"
init
"
,
a
,
function
(){
b
.
state
=
"
ready
"
,
b
.
trigger
(
"
ready
"
)})},
option
:
function
(
a
,
b
){
var
c
=
this
.
options
;
return
arguments
.
length
>
1
?
void
(
d
.
isPlainObject
(
b
)
&&
d
.
isPlainObject
(
c
[
a
])?
d
.
extend
(
c
[
a
],
b
):
c
[
a
]
=
b
):
a
?
c
[
a
]:
c
},
getStats
:
function
(){
var
a
=
this
.
request
(
"
get-stats
"
);
return
a
?{
successNum
:
a
.
numOfSuccess
,
progressNum
:
a
.
numOfProgress
,
cancelNum
:
a
.
numOfCancel
,
invalidNum
:
a
.
numOfInvalid
,
uploadFailNum
:
a
.
numOfUploadFailed
,
queueNum
:
a
.
numOfQueue
,
interruptNum
:
a
.
numofInterrupt
}:{}},
trigger
:
function
(
a
){
var
c
=
[].
slice
.
call
(
arguments
,
1
),
e
=
this
.
options
,
f
=
"
on
"
+
a
.
substring
(
0
,
1
).
toUpperCase
()
+
a
.
substring
(
1
);
return
b
.
trigger
.
apply
(
this
,
arguments
)
===!
1
||
d
.
isFunction
(
e
[
f
])
&&
e
[
f
].
apply
(
this
,
c
)
===!
1
||
d
.
isFunction
(
this
[
f
])
&&
this
[
f
].
apply
(
this
,
c
)
===!
1
||
b
.
trigger
.
apply
(
b
,[
this
,
a
].
concat
(
c
))
===!
1
?
!
1
:
!
0
},
destroy
:
function
(){
this
.
request
(
"
destroy
"
,
arguments
),
this
.
off
()},
request
:
a
.
noop
}),
a
.
create
=
c
.
create
=
function
(
a
){
return
new
c
(
a
)},
a
.
Uploader
=
c
,
c
}),
b
(
"
runtime/runtime
"
,[
"
base
"
,
"
mediator
"
],
function
(
a
,
b
){
function
c
(
b
){
this
.
options
=
d
.
extend
({
container
:
document
.
body
},
b
),
this
.
uid
=
a
.
guid
(
"
rt_
"
)}
var
d
=
a
.
$
,
e
=
{},
f
=
function
(
a
){
for
(
var
b
in
a
)
if
(
a
.
hasOwnProperty
(
b
))
return
b
;
return
null
};
return
d
.
extend
(
c
.
prototype
,{
getContainer
:
function
(){
var
a
,
b
,
c
=
this
.
options
;
return
this
.
_container
?
this
.
_container
:(
a
=
d
(
c
.
container
||
document
.
body
),
b
=
d
(
document
.
createElement
(
"
div
"
)),
b
.
attr
(
"
id
"
,
"
rt_
"
+
this
.
uid
),
b
.
css
({
position
:
"
absolute
"
,
top
:
"
0px
"
,
left
:
"
0px
"
,
width
:
"
1px
"
,
height
:
"
1px
"
,
overflow
:
"
hidden
"
}),
a
.
append
(
b
),
a
.
addClass
(
"
webuploader-container
"
),
this
.
_container
=
b
,
this
.
_parent
=
a
,
b
)},
init
:
a
.
noop
,
exec
:
a
.
noop
,
destroy
:
function
(){
this
.
_container
&&
this
.
_container
.
remove
(),
this
.
_parent
&&
this
.
_parent
.
removeClass
(
"
webuploader-container
"
),
this
.
off
()}}),
c
.
orders
=
"
html5,flash
"
,
c
.
addRuntime
=
function
(
a
,
b
){
e
[
a
]
=
b
},
c
.
hasRuntime
=
function
(
a
){
return
!!
(
a
?
e
[
a
]:
f
(
e
))},
c
.
create
=
function
(
a
,
b
){
var
g
,
h
;
if
(
b
=
b
||
c
.
orders
,
d
.
each
(
b
.
split
(
/
\s
*,
\s
*/g
),
function
(){
return
e
[
this
]?(
g
=
this
,
!
1
):
void
0
}),
g
=
g
||
f
(
e
),
!
g
)
throw
new
Error
(
"
Runtime Error
"
);
return
h
=
new
e
[
g
](
a
)},
b
.
installTo
(
c
.
prototype
),
c
}),
b
(
"
runtime/client
"
,[
"
base
"
,
"
mediator
"
,
"
runtime/runtime
"
],
function
(
a
,
b
,
c
){
function
d
(
b
,
d
){
var
f
,
g
=
a
.
Deferred
();
this
.
uid
=
a
.
guid
(
"
client_
"
),
this
.
runtimeReady
=
function
(
a
){
return
g
.
done
(
a
)},
this
.
connectRuntime
=
function
(
b
,
h
){
if
(
f
)
throw
new
Error
(
"
already connected!
"
);
return
g
.
done
(
h
),
"
string
"
==
typeof
b
&&
e
.
get
(
b
)
&&
(
f
=
e
.
get
(
b
)),
f
=
f
||
e
.
get
(
null
,
d
),
f
?(
a
.
$
.
extend
(
f
.
options
,
b
),
f
.
__promise
.
then
(
g
.
resolve
),
f
.
__client
++
):(
f
=
c
.
create
(
b
,
b
.
runtimeOrder
),
f
.
__promise
=
g
.
promise
(),
f
.
once
(
"
ready
"
,
g
.
resolve
),
f
.
init
(),
e
.
add
(
f
),
f
.
__client
=
1
),
d
&&
(
f
.
__standalone
=
d
),
f
},
this
.
getRuntime
=
function
(){
return
f
},
this
.
disconnectRuntime
=
function
(){
f
&&
(
f
.
__client
--
,
f
.
__client
<=
0
&&
(
e
.
remove
(
f
),
delete
f
.
__promise
,
f
.
destroy
()),
f
=
null
)},
this
.
exec
=
function
(){
if
(
f
){
var
c
=
a
.
slice
(
arguments
);
return
b
&&
c
.
unshift
(
b
),
f
.
exec
.
apply
(
this
,
c
)}},
this
.
getRuid
=
function
(){
return
f
&&
f
.
uid
},
this
.
destroy
=
function
(
a
){
return
function
(){
a
&&
a
.
apply
(
this
,
arguments
),
this
.
trigger
(
"
destroy
"
),
this
.
off
(),
this
.
exec
(
"
destroy
"
),
this
.
disconnectRuntime
()}}(
this
.
destroy
)}
var
e
;
return
e
=
function
(){
var
a
=
{};
return
{
add
:
function
(
b
){
a
[
b
.
uid
]
=
b
},
get
:
function
(
b
,
c
){
var
d
;
if
(
b
)
return
a
[
b
];
for
(
d
in
a
)
if
(
!
c
||!
a
[
d
].
__standalone
)
return
a
[
d
];
return
null
},
remove
:
function
(
b
){
delete
a
[
b
.
uid
]}}}(),
b
.
installTo
(
d
.
prototype
),
d
}),
b
(
"
lib/dnd
"
,[
"
base
"
,
"
mediator
"
,
"
runtime/client
"
],
function
(
a
,
b
,
c
){
function
d
(
a
){
a
=
this
.
options
=
e
.
extend
({},
d
.
options
,
a
),
a
.
container
=
e
(
a
.
container
),
a
.
container
.
length
&&
c
.
call
(
this
,
"
DragAndDrop
"
)}
var
e
=
a
.
$
;
return
d
.
options
=
{
accept
:
null
,
disableGlobalDnd
:
!
1
},
a
.
inherits
(
c
,{
constructor
:
d
,
init
:
function
(){
var
a
=
this
;
a
.
connectRuntime
(
a
.
options
,
function
(){
a
.
exec
(
"
init
"
),
a
.
trigger
(
"
ready
"
)})}}),
b
.
installTo
(
d
.
prototype
),
d
}),
b
(
"
widgets/widget
"
,[
"
base
"
,
"
uploader
"
],
function
(
a
,
b
){
function
c
(
a
){
if
(
!
a
)
return
!
1
;
var
b
=
a
.
length
,
c
=
e
.
type
(
a
);
return
1
===
a
.
nodeType
&&
b
?
!
0
:
"
array
"
===
c
||
"
function
"
!==
c
&&
"
string
"
!==
c
&&
(
0
===
b
||
"
number
"
==
typeof
b
&&
b
>
0
&&
b
-
1
in
a
)}
function
d
(
a
){
this
.
owner
=
a
,
this
.
options
=
a
.
options
}
var
e
=
a
.
$
,
f
=
b
.
prototype
.
_init
,
g
=
b
.
prototype
.
destroy
,
h
=
{},
i
=
[];
return
e
.
extend
(
d
.
prototype
,{
init
:
a
.
noop
,
invoke
:
function
(
a
,
b
){
var
c
=
this
.
responseMap
;
return
c
&&
a
in
c
&&
c
[
a
]
in
this
&&
e
.
isFunction
(
this
[
c
[
a
]])?
this
[
c
[
a
]].
apply
(
this
,
b
):
h
},
request
:
function
(){
return
this
.
owner
.
request
.
apply
(
this
.
owner
,
arguments
)}}),
e
.
extend
(
b
.
prototype
,{
_init
:
function
(){
var
a
=
this
,
b
=
a
.
_widgets
=
[],
c
=
a
.
options
.
disableWidgets
||
""
;
return
e
.
each
(
i
,
function
(
d
,
e
){(
!
c
||!~
c
.
indexOf
(
e
.
_name
))
&&
b
.
push
(
new
e
(
a
))}),
f
.
apply
(
a
,
arguments
)},
request
:
function
(
b
,
d
,
e
){
var
f
,
g
,
i
,
j
,
k
=
0
,
l
=
this
.
_widgets
,
m
=
l
&&
l
.
length
,
n
=
[],
o
=
[];
for
(
d
=
c
(
d
)?
d
:[
d
];
m
>
k
;
k
++
)
f
=
l
[
k
],
g
=
f
.
invoke
(
b
,
d
),
g
!==
h
&&
(
a
.
isPromise
(
g
)?
o
.
push
(
g
):
n
.
push
(
g
));
return
e
||
o
.
length
?(
i
=
a
.
when
.
apply
(
a
,
o
),
j
=
i
.
pipe
?
"
pipe
"
:
"
then
"
,
i
[
j
](
function
(){
var
b
=
a
.
Deferred
(),
c
=
arguments
;
return
1
===
c
.
length
&&
(
c
=
c
[
0
]),
setTimeout
(
function
(){
b
.
resolve
(
c
)},
1
),
b
.
promise
()})[
e
?
j
:
"
done
"
](
e
||
a
.
noop
)):
n
[
0
]},
destroy
:
function
(){
g
.
apply
(
this
,
arguments
),
this
.
_widgets
=
null
}}),
b
.
register
=
d
.
register
=
function
(
b
,
c
){
var
f
,
g
=
{
init
:
"
init
"
,
destroy
:
"
destroy
"
,
name
:
"
anonymous
"
};
return
1
===
arguments
.
length
?(
c
=
b
,
e
.
each
(
c
,
function
(
a
){
return
"
_
"
===
a
[
0
]
||
"
name
"
===
a
?
void
(
"
name
"
===
a
&&
(
g
.
name
=
c
.
name
)):
void
(
g
[
a
.
replace
(
/
[
A-Z
]
/g
,
"
-$&
"
).
toLowerCase
()]
=
a
)})):
g
=
e
.
extend
(
g
,
b
),
c
.
responseMap
=
g
,
f
=
a
.
inherits
(
d
,
c
),
f
.
_name
=
g
.
name
,
i
.
push
(
f
),
f
},
b
.
unRegister
=
d
.
unRegister
=
function
(
a
){
if
(
a
&&
"
anonymous
"
!==
a
)
for
(
var
b
=
i
.
length
;
b
--
;)
i
[
b
].
_name
===
a
&&
i
.
splice
(
b
,
1
)},
d
}),
b
(
"
widgets/filednd
"
,[
"
base
"
,
"
uploader
"
,
"
lib/dnd
"
,
"
widgets/widget
"
],
function
(
a
,
b
,
c
){
var
d
=
a
.
$
;
return
b
.
options
.
dnd
=
""
,
b
.
register
({
name
:
"
dnd
"
,
init
:
function
(
b
){
if
(
b
.
dnd
&&
"
html5
"
===
this
.
request
(
"
predict-runtime-type
"
)){
var
e
,
f
=
this
,
g
=
a
.
Deferred
(),
h
=
d
.
extend
({},{
disableGlobalDnd
:
b
.
disableGlobalDnd
,
container
:
b
.
dnd
,
accept
:
b
.
accept
});
return
this
.
dnd
=
e
=
new
c
(
h
),
e
.
once
(
"
ready
"
,
g
.
resolve
),
e
.
on
(
"
drop
"
,
function
(
a
){
f
.
request
(
"
add-file
"
,[
a
])}),
e
.
on
(
"
accept
"
,
function
(
a
){
return
f
.
owner
.
trigger
(
"
dndAccept
"
,
a
)}),
e
.
init
(),
g
.
promise
()}},
destroy
:
function
(){
this
.
dnd
&&
this
.
dnd
.
destroy
()}})}),
b
(
"
lib/filepaste
"
,[
"
base
"
,
"
mediator
"
,
"
runtime/client
"
],
function
(
a
,
b
,
c
){
function
d
(
a
){
a
=
this
.
options
=
e
.
extend
({},
a
),
a
.
container
=
e
(
a
.
container
||
document
.
body
),
c
.
call
(
this
,
"
FilePaste
"
)}
var
e
=
a
.
$
;
return
a
.
inherits
(
c
,{
constructor
:
d
,
init
:
function
(){
var
a
=
this
;
a
.
connectRuntime
(
a
.
options
,
function
(){
a
.
exec
(
"
init
"
),
a
.
trigger
(
"
ready
"
)})}}),
b
.
installTo
(
d
.
prototype
),
d
}),
b
(
"
widgets/filepaste
"
,[
"
base
"
,
"
uploader
"
,
"
lib/filepaste
"
,
"
widgets/widget
"
],
function
(
a
,
b
,
c
){
var
d
=
a
.
$
;
return
b
.
register
({
name
:
"
paste
"
,
init
:
function
(
b
){
if
(
b
.
paste
&&
"
html5
"
===
this
.
request
(
"
predict-runtime-type
"
)){
var
e
,
f
=
this
,
g
=
a
.
Deferred
(),
h
=
d
.
extend
({},{
container
:
b
.
paste
,
accept
:
b
.
accept
});
return
this
.
paste
=
e
=
new
c
(
h
),
e
.
once
(
"
ready
"
,
g
.
resolve
),
e
.
on
(
"
paste
"
,
function
(
a
){
f
.
owner
.
request
(
"
add-file
"
,[
a
])}),
e
.
init
(),
g
.
promise
()}},
destroy
:
function
(){
this
.
paste
&&
this
.
paste
.
destroy
()}})}),
b
(
"
lib/blob
"
,[
"
base
"
,
"
runtime/client
"
],
function
(
a
,
b
){
function
c
(
a
,
c
){
var
d
=
this
;
d
.
source
=
c
,
d
.
ruid
=
a
,
this
.
size
=
c
.
size
||
0
,
this
.
type
=!
c
.
type
&&
this
.
ext
&&~
"
jpg,jpeg,png,gif,bmp
"
.
indexOf
(
this
.
ext
)?
"
image/
"
+
(
"
jpg
"
===
this
.
ext
?
"
jpeg
"
:
this
.
ext
):
c
.
type
||
"
application/octet-stream
"
,
b
.
call
(
d
,
"
Blob
"
),
this
.
uid
=
c
.
uid
||
this
.
uid
,
a
&&
d
.
connectRuntime
(
a
)}
return
a
.
inherits
(
b
,{
constructor
:
c
,
slice
:
function
(
a
,
b
){
return
this
.
exec
(
"
slice
"
,
a
,
b
)},
getSource
:
function
(){
return
this
.
source
}}),
c
}),
b
(
"
lib/file
"
,[
"
base
"
,
"
lib/blob
"
],
function
(
a
,
b
){
function
c
(
a
,
c
){
var
f
;
this
.
name
=
c
.
name
||
"
untitled
"
+
d
++
,
f
=
e
.
exec
(
c
.
name
)?
RegExp
.
$1
.
toLowerCase
():
""
,
!
f
&&
c
.
type
&&
(
f
=
/
\/(
jpg|jpeg|png|gif|bmp
)
$/i
.
exec
(
c
.
type
)?
RegExp
.
$1
.
toLowerCase
():
""
,
this
.
name
+=
"
.
"
+
f
),
this
.
ext
=
f
,
this
.
lastModifiedDate
=
c
.
lastModifiedDate
||
(
new
Date
).
toLocaleString
(),
b
.
apply
(
this
,
arguments
)}
var
d
=
1
,
e
=
/
\.([^
.
]
+
)
$/
;
return
a
.
inherits
(
b
,
c
)}),
b
(
"
lib/filepicker
"
,[
"
base
"
,
"
runtime/client
"
,
"
lib/file
"
],
function
(
b
,
c
,
d
){
function
e
(
a
){
if
(
a
=
this
.
options
=
f
.
extend
({},
e
.
options
,
a
),
a
.
container
=
f
(
a
.
id
),
!
a
.
container
.
length
)
throw
new
Error
(
"
按钮指定错误
"
);
a
.
innerHTML
=
a
.
innerHTML
||
a
.
label
||
a
.
container
.
html
()
||
""
,
a
.
button
=
f
(
a
.
button
||
document
.
createElement
(
"
div
"
)),
a
.
button
.
html
(
a
.
innerHTML
),
a
.
container
.
html
(
a
.
button
),
c
.
call
(
this
,
"
FilePicker
"
,
!
0
)}
var
f
=
b
.
$
;
return
e
.
options
=
{
button
:
null
,
container
:
null
,
label
:
null
,
innerHTML
:
null
,
multiple
:
!
0
,
accept
:
null
,
name
:
"
file
"
},
b
.
inherits
(
c
,{
constructor
:
e
,
init
:
function
(){
var
c
=
this
,
e
=
c
.
options
,
g
=
e
.
button
;
g
.
addClass
(
"
webuploader-pick
"
),
c
.
on
(
"
all
"
,
function
(
a
){
var
b
;
switch
(
a
){
case
"
mouseenter
"
:
g
.
addClass
(
"
webuploader-pick-hover
"
);
break
;
case
"
mouseleave
"
:
g
.
removeClass
(
"
webuploader-pick-hover
"
);
break
;
case
"
change
"
:
b
=
c
.
exec
(
"
getFiles
"
),
c
.
trigger
(
"
select
"
,
f
.
map
(
b
,
function
(
a
){
return
a
=
new
d
(
c
.
getRuid
(),
a
),
a
.
_refer
=
e
.
container
,
a
}),
e
.
container
)}}),
c
.
connectRuntime
(
e
,
function
(){
c
.
refresh
(),
c
.
exec
(
"
init
"
,
e
),
c
.
trigger
(
"
ready
"
)}),
this
.
_resizeHandler
=
b
.
bindFn
(
this
.
refresh
,
this
),
f
(
a
).
on
(
"
resize
"
,
this
.
_resizeHandler
)},
refresh
:
function
(){
var
a
=
this
.
getRuntime
().
getContainer
(),
b
=
this
.
options
.
button
,
c
=
b
.
outerWidth
?
b
.
outerWidth
():
b
.
width
(),
d
=
b
.
outerHeight
?
b
.
outerHeight
():
b
.
height
(),
e
=
b
.
offset
();
c
&&
d
&&
a
.
css
({
bottom
:
"
auto
"
,
right
:
"
auto
"
,
width
:
c
+
"
px
"
,
height
:
d
+
"
px
"
}).
offset
(
e
)},
enable
:
function
(){
var
a
=
this
.
options
.
button
;
a
.
removeClass
(
"
webuploader-pick-disable
"
),
this
.
refresh
()},
disable
:
function
(){
var
a
=
this
.
options
.
button
;
this
.
getRuntime
().
getContainer
().
css
({
top
:
"
-99999px
"
}),
a
.
addClass
(
"
webuploader-pick-disable
"
)},
destroy
:
function
(){
var
b
=
this
.
options
.
button
;
f
(
a
).
off
(
"
resize
"
,
this
.
_resizeHandler
),
b
.
removeClass
(
"
webuploader-pick-disable webuploader-pick-hover webuploader-pick
"
)}}),
e
}),
b
(
"
widgets/filepicker
"
,[
"
base
"
,
"
uploader
"
,
"
lib/filepicker
"
,
"
widgets/widget
"
],
function
(
a
,
b
,
c
){
var
d
=
a
.
$
;
return
d
.
extend
(
b
.
options
,{
pick
:
null
,
accept
:
null
}),
b
.
register
({
name
:
"
picker
"
,
init
:
function
(
a
){
return
this
.
pickers
=
[],
a
.
pick
&&
this
.
addBtn
(
a
.
pick
)},
refresh
:
function
(){
d
.
each
(
this
.
pickers
,
function
(){
this
.
refresh
()})},
addBtn
:
function
(
b
){
var
e
=
this
,
f
=
e
.
options
,
g
=
f
.
accept
,
h
=
[];
if
(
b
)
return
d
.
isPlainObject
(
b
)
||
(
b
=
{
id
:
b
}),
d
(
b
.
id
).
each
(
function
(){
var
i
,
j
,
k
;
k
=
a
.
Deferred
(),
i
=
d
.
extend
({},
b
,{
accept
:
d
.
isPlainObject
(
g
)?[
g
]:
g
,
swf
:
f
.
swf
,
runtimeOrder
:
f
.
runtimeOrder
,
id
:
this
}),
j
=
new
c
(
i
),
j
.
once
(
"
ready
"
,
k
.
resolve
),
j
.
on
(
"
select
"
,
function
(
a
){
e
.
owner
.
request
(
"
add-file
"
,[
a
])}),
j
.
init
(),
e
.
pickers
.
push
(
j
),
h
.
push
(
k
.
promise
())}),
a
.
when
.
apply
(
a
,
h
)},
disable
:
function
(){
d
.
each
(
this
.
pickers
,
function
(){
this
.
disable
()})},
enable
:
function
(){
d
.
each
(
this
.
pickers
,
function
(){
this
.
enable
()})},
destroy
:
function
(){
d
.
each
(
this
.
pickers
,
function
(){
this
.
destroy
()}),
this
.
pickers
=
null
}})}),
b
(
"
lib/image
"
,[
"
base
"
,
"
runtime/client
"
,
"
lib/blob
"
],
function
(
a
,
b
,
c
){
function
d
(
a
){
this
.
options
=
e
.
extend
({},
d
.
options
,
a
),
b
.
call
(
this
,
"
Image
"
),
this
.
on
(
"
load
"
,
function
(){
this
.
_info
=
this
.
exec
(
"
info
"
),
this
.
_meta
=
this
.
exec
(
"
meta
"
)})}
var
e
=
a
.
$
;
return
d
.
options
=
{
quality
:
90
,
crop
:
!
1
,
preserveHeaders
:
!
1
,
allowMagnify
:
!
1
},
a
.
inherits
(
b
,{
constructor
:
d
,
info
:
function
(
a
){
return
a
?(
this
.
_info
=
a
,
this
):
this
.
_info
},
meta
:
function
(
a
){
return
a
?(
this
.
_meta
=
a
,
this
):
this
.
_meta
},
loadFromBlob
:
function
(
a
){
var
b
=
this
,
c
=
a
.
getRuid
();
this
.
connectRuntime
(
c
,
function
(){
b
.
exec
(
"
init
"
,
b
.
options
),
b
.
exec
(
"
loadFromBlob
"
,
a
)})},
resize
:
function
(){
var
b
=
a
.
slice
(
arguments
);
return
this
.
exec
.
apply
(
this
,[
"
resize
"
].
concat
(
b
))},
crop
:
function
(){
var
b
=
a
.
slice
(
arguments
);
return
this
.
exec
.
apply
(
this
,[
"
crop
"
].
concat
(
b
))},
getAsDataUrl
:
function
(
a
){
return
this
.
exec
(
"
getAsDataUrl
"
,
a
)},
getAsBlob
:
function
(
a
){
var
b
=
this
.
exec
(
"
getAsBlob
"
,
a
);
return
new
c
(
this
.
getRuid
(),
b
)}}),
d
}),
b
(
"
widgets/image
"
,[
"
base
"
,
"
uploader
"
,
"
lib/image
"
,
"
widgets/widget
"
],
function
(
a
,
b
,
c
){
var
d
,
e
=
a
.
$
;
return
d
=
function
(
a
){
var
b
=
0
,
c
=
[],
d
=
function
(){
for
(
var
d
;
c
.
length
&&
a
>
b
;)
d
=
c
.
shift
(),
b
+=
d
[
0
],
d
[
1
]()};
return
function
(
a
,
e
,
f
){
c
.
push
([
e
,
f
]),
a
.
once
(
"
destroy
"
,
function
(){
b
-=
e
,
setTimeout
(
d
,
1
)}),
setTimeout
(
d
,
1
)}}(
5242880
),
e
.
extend
(
b
.
options
,{
thumb
:{
width
:
110
,
height
:
110
,
quality
:
70
,
allowMagnify
:
!
0
,
crop
:
!
0
,
preserveHeaders
:
!
1
,
type
:
"
image/jpeg
"
},
compress
:{
width
:
1600
,
height
:
1600
,
quality
:
90
,
allowMagnify
:
!
1
,
crop
:
!
1
,
preserveHeaders
:
!
0
}}),
b
.
register
({
name
:
"
image
"
,
makeThumb
:
function
(
a
,
b
,
f
,
g
){
var
h
,
i
;
return
a
=
this
.
request
(
"
get-file
"
,
a
),
a
.
type
.
match
(
/^image/
)?(
h
=
e
.
extend
({},
this
.
options
.
thumb
),
e
.
isPlainObject
(
f
)
&&
(
h
=
e
.
extend
(
h
,
f
),
f
=
null
),
f
=
f
||
h
.
width
,
g
=
g
||
h
.
height
,
i
=
new
c
(
h
),
i
.
once
(
"
load
"
,
function
(){
a
.
_info
=
a
.
_info
||
i
.
info
(),
a
.
_meta
=
a
.
_meta
||
i
.
meta
(),
1
>=
f
&&
f
>
0
&&
(
f
=
a
.
_info
.
width
*
f
),
1
>=
g
&&
g
>
0
&&
(
g
=
a
.
_info
.
height
*
g
),
i
.
resize
(
f
,
g
)}),
i
.
once
(
"
complete
"
,
function
(){
b
(
!
1
,
i
.
getAsDataUrl
(
h
.
type
)),
i
.
destroy
()}),
i
.
once
(
"
error
"
,
function
(
a
){
b
(
a
||!
0
),
i
.
destroy
()}),
void
d
(
i
,
a
.
source
.
size
,
function
(){
a
.
_info
&&
i
.
info
(
a
.
_info
),
a
.
_meta
&&
i
.
meta
(
a
.
_meta
),
i
.
loadFromBlob
(
a
.
source
)})):
void
b
(
!
0
)},
beforeSendFile
:
function
(
b
){
var
d
,
f
,
g
=
this
.
options
.
compress
||
this
.
options
.
resize
,
h
=
g
&&
g
.
compressSize
||
0
,
i
=
g
&&
g
.
noCompressIfLarger
||!
1
;
return
b
=
this
.
request
(
"
get-file
"
,
b
),
!
g
||!~
"
image/jpeg,image/jpg
"
.
indexOf
(
b
.
type
)
||
b
.
size
<
h
||
b
.
_compressed
?
void
0
:(
g
=
e
.
extend
({},
g
),
f
=
a
.
Deferred
(),
d
=
new
c
(
g
),
f
.
always
(
function
(){
d
.
destroy
(),
d
=
null
}),
d
.
once
(
"
error
"
,
f
.
reject
),
d
.
once
(
"
load
"
,
function
(){
var
a
=
g
.
width
,
c
=
g
.
height
;
b
.
_info
=
b
.
_info
||
d
.
info
(),
b
.
_meta
=
b
.
_meta
||
d
.
meta
(),
1
>=
a
&&
a
>
0
&&
(
a
=
b
.
_info
.
width
*
a
),
1
>=
c
&&
c
>
0
&&
(
c
=
b
.
_info
.
height
*
c
),
d
.
resize
(
a
,
c
)}),
d
.
once
(
"
complete
"
,
function
(){
var
a
,
c
;
try
{
a
=
d
.
getAsBlob
(
g
.
type
),
c
=
b
.
size
,(
!
i
||
a
.
size
<
c
)
&&
(
b
.
source
=
a
,
b
.
size
=
a
.
size
,
b
.
trigger
(
"
resize
"
,
a
.
size
,
c
)),
b
.
_compressed
=!
0
,
f
.
resolve
()}
catch
(
e
){
f
.
resolve
()}}),
b
.
_info
&&
d
.
info
(
b
.
_info
),
b
.
_meta
&&
d
.
meta
(
b
.
_meta
),
d
.
loadFromBlob
(
b
.
source
),
f
.
promise
())}})}),
b
(
"
file
"
,[
"
base
"
,
"
mediator
"
],
function
(
a
,
b
){
function
c
(){
return
f
+
g
++
}
function
d
(
a
){
this
.
name
=
a
.
name
||
"
Untitled
"
,
this
.
size
=
a
.
size
||
0
,
this
.
type
=
a
.
type
||
"
application/octet-stream
"
,
this
.
lastModifiedDate
=
a
.
lastModifiedDate
||
1
*
new
Date
,
this
.
id
=
c
(),
this
.
ext
=
h
.
exec
(
this
.
name
)?
RegExp
.
$1
:
""
,
this
.
statusText
=
""
,
i
[
this
.
id
]
=
d
.
Status
.
INITED
,
this
.
source
=
a
,
this
.
loaded
=
0
,
this
.
on
(
"
error
"
,
function
(
a
){
this
.
setStatus
(
d
.
Status
.
ERROR
,
a
)})}
var
e
=
a
.
$
,
f
=
"
WU_FILE_
"
,
g
=
0
,
h
=
/
\.([^
.
]
+
)
$/
,
i
=
{};
return
e
.
extend
(
d
.
prototype
,{
setStatus
:
function
(
a
,
b
){
var
c
=
i
[
this
.
id
];
"
undefined
"
!=
typeof
b
&&
(
this
.
statusText
=
b
),
a
!==
c
&&
(
i
[
this
.
id
]
=
a
,
this
.
trigger
(
"
statuschange
"
,
a
,
c
))},
getStatus
:
function
(){
return
i
[
this
.
id
]},
getSource
:
function
(){
return
this
.
source
},
destroy
:
function
(){
this
.
off
(),
delete
i
[
this
.
id
]}}),
b
.
installTo
(
d
.
prototype
),
d
.
Status
=
{
INITED
:
"
inited
"
,
QUEUED
:
"
queued
"
,
PROGRESS
:
"
progress
"
,
ERROR
:
"
error
"
,
COMPLETE
:
"
complete
"
,
CANCELLED
:
"
cancelled
"
,
INTERRUPT
:
"
interrupt
"
,
INVALID
:
"
invalid
"
},
d
}),
b
(
"
queue
"
,[
"
base
"
,
"
mediator
"
,
"
file
"
],
function
(
a
,
b
,
c
){
function
d
(){
this
.
stats
=
{
numOfQueue
:
0
,
numOfSuccess
:
0
,
numOfCancel
:
0
,
numOfProgress
:
0
,
numOfUploadFailed
:
0
,
numOfInvalid
:
0
,
numofDeleted
:
0
,
numofInterrupt
:
0
},
this
.
_queue
=
[],
this
.
_map
=
{}}
var
e
=
a
.
$
,
f
=
c
.
Status
;
return
e
.
extend
(
d
.
prototype
,{
append
:
function
(
a
){
return
this
.
_queue
.
push
(
a
),
this
.
_fileAdded
(
a
),
this
},
prepend
:
function
(
a
){
return
this
.
_queue
.
unshift
(
a
),
this
.
_fileAdded
(
a
),
this
},
getFile
:
function
(
a
){
return
"
string
"
!=
typeof
a
?
a
:
this
.
_map
[
a
]},
fetch
:
function
(
a
){
var
b
,
c
,
d
=
this
.
_queue
.
length
;
for
(
a
=
a
||
f
.
QUEUED
,
b
=
0
;
d
>
b
;
b
++
)
if
(
c
=
this
.
_queue
[
b
],
a
===
c
.
getStatus
())
return
c
;
return
null
},
sort
:
function
(
a
){
"
function
"
==
typeof
a
&&
this
.
_queue
.
sort
(
a
)},
getFiles
:
function
(){
for
(
var
a
,
b
=
[].
slice
.
call
(
arguments
,
0
),
c
=
[],
d
=
0
,
f
=
this
.
_queue
.
length
;
f
>
d
;
d
++
)
a
=
this
.
_queue
[
d
],(
!
b
.
length
||~
e
.
inArray
(
a
.
getStatus
(),
b
))
&&
c
.
push
(
a
);
return
c
},
removeFile
:
function
(
a
){
var
b
=
this
.
_map
[
a
.
id
];
b
&&
(
delete
this
.
_map
[
a
.
id
],
a
.
destroy
(),
this
.
stats
.
numofDeleted
++
)},
_fileAdded
:
function
(
a
){
var
b
=
this
,
c
=
this
.
_map
[
a
.
id
];
c
||
(
this
.
_map
[
a
.
id
]
=
a
,
a
.
on
(
"
statuschange
"
,
function
(
a
,
c
){
b
.
_onFileStatusChange
(
a
,
c
)}))},
_onFileStatusChange
:
function
(
a
,
b
){
var
c
=
this
.
stats
;
switch
(
b
){
case
f
.
PROGRESS
:
c
.
numOfProgress
--
;
break
;
case
f
.
QUEUED
:
c
.
numOfQueue
--
;
break
;
case
f
.
ERROR
:
c
.
numOfUploadFailed
--
;
break
;
case
f
.
INVALID
:
c
.
numOfInvalid
--
;
break
;
case
f
.
INTERRUPT
:
c
.
numofInterrupt
--
}
switch
(
a
){
case
f
.
QUEUED
:
c
.
numOfQueue
++
;
break
;
case
f
.
PROGRESS
:
c
.
numOfProgress
++
;
break
;
case
f
.
ERROR
:
c
.
numOfUploadFailed
++
;
break
;
case
f
.
COMPLETE
:
c
.
numOfSuccess
++
;
break
;
case
f
.
CANCELLED
:
c
.
numOfCancel
++
;
break
;
case
f
.
INVALID
:
c
.
numOfInvalid
++
;
break
;
case
f
.
INTERRUPT
:
c
.
numofInterrupt
++
}}}),
b
.
installTo
(
d
.
prototype
),
d
}),
b
(
"
widgets/queue
"
,[
"
base
"
,
"
uploader
"
,
"
queue
"
,
"
file
"
,
"
lib/file
"
,
"
runtime/client
"
,
"
widgets/widget
"
],
function
(
a
,
b
,
c
,
d
,
e
,
f
){
var
g
=
a
.
$
,
h
=
/
\.\w
+$/
,
i
=
d
.
Status
;
return
b
.
register
({
name
:
"
queue
"
,
init
:
function
(
b
){
var
d
,
e
,
h
,
i
,
j
,
k
,
l
,
m
=
this
;
if
(
g
.
isPlainObject
(
b
.
accept
)
&&
(
b
.
accept
=
[
b
.
accept
]),
b
.
accept
){
for
(
j
=
[],
h
=
0
,
e
=
b
.
accept
.
length
;
e
>
h
;
h
++
)
i
=
b
.
accept
[
h
].
extensions
,
i
&&
j
.
push
(
i
);
j
.
length
&&
(
k
=
"
\\
.
"
+
j
.
join
(
"
,
"
).
replace
(
/,/g
,
"
$|
\\
.
"
).
replace
(
/
\*
/g
,
"
.*
"
)
+
"
$
"
),
m
.
accept
=
new
RegExp
(
k
,
"
i
"
)}
return
m
.
queue
=
new
c
,
m
.
stats
=
m
.
queue
.
stats
,
"
html5
"
===
this
.
request
(
"
predict-runtime-type
"
)?(
d
=
a
.
Deferred
(),
this
.
placeholder
=
l
=
new
f
(
"
Placeholder
"
),
l
.
connectRuntime
({
runtimeOrder
:
"
html5
"
},
function
(){
m
.
_ruid
=
l
.
getRuid
(),
d
.
resolve
()}),
d
.
promise
()):
void
0
},
_wrapFile
:
function
(
a
){
if
(
!
(
a
instanceof
d
)){
if
(
!
(
a
instanceof
e
)){
if
(
!
this
.
_ruid
)
throw
new
Error
(
"
Can't add external files.
"
);
a
=
new
e
(
this
.
_ruid
,
a
)}
a
=
new
d
(
a
)}
return
a
},
acceptFile
:
function
(
a
){
var
b
=!
a
||!
a
.
size
||
this
.
accept
&&
h
.
exec
(
a
.
name
)
&&!
this
.
accept
.
test
(
a
.
name
);
return
!
b
},
_addFile
:
function
(
a
){
var
b
=
this
;
return
a
=
b
.
_wrapFile
(
a
),
b
.
owner
.
trigger
(
"
beforeFileQueued
"
,
a
)?
b
.
acceptFile
(
a
)?(
b
.
queue
.
append
(
a
),
b
.
owner
.
trigger
(
"
fileQueued
"
,
a
),
a
):
void
b
.
owner
.
trigger
(
"
error
"
,
"
Q_TYPE_DENIED
"
,
a
):
void
0
},
getFile
:
function
(
a
){
return
this
.
queue
.
getFile
(
a
)},
addFile
:
function
(
a
){
var
b
=
this
;
a
.
length
||
(
a
=
[
a
]),
a
=
g
.
map
(
a
,
function
(
a
){
return
b
.
_addFile
(
a
)}),
b
.
owner
.
trigger
(
"
filesQueued
"
,
a
),
b
.
options
.
auto
&&
setTimeout
(
function
(){
b
.
request
(
"
start-upload
"
)},
20
)},
getStats
:
function
(){
return
this
.
stats
},
removeFile
:
function
(
a
,
b
){
var
c
=
this
;
a
=
a
.
id
?
a
:
c
.
queue
.
getFile
(
a
),
this
.
request
(
"
cancel-file
"
,
a
),
b
&&
this
.
queue
.
removeFile
(
a
)},
getFiles
:
function
(){
return
this
.
queue
.
getFiles
.
apply
(
this
.
queue
,
arguments
)},
fetchFile
:
function
(){
return
this
.
queue
.
fetch
.
apply
(
this
.
queue
,
arguments
)},
retry
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
this
;
if
(
a
)
return
a
=
a
.
id
?
a
:
f
.
queue
.
getFile
(
a
),
a
.
setStatus
(
i
.
QUEUED
),
void
(
b
||
f
.
request
(
"
start-upload
"
));
for
(
c
=
f
.
queue
.
getFiles
(
i
.
ERROR
),
d
=
0
,
e
=
c
.
length
;
e
>
d
;
d
++
)
a
=
c
[
d
],
a
.
setStatus
(
i
.
QUEUED
);
f
.
request
(
"
start-upload
"
)},
sortFiles
:
function
(){
return
this
.
queue
.
sort
.
apply
(
this
.
queue
,
arguments
)},
reset
:
function
(){
this
.
owner
.
trigger
(
"
reset
"
),
this
.
queue
=
new
c
,
this
.
stats
=
this
.
queue
.
stats
},
destroy
:
function
(){
this
.
reset
(),
this
.
placeholder
&&
this
.
placeholder
.
destroy
()}})}),
b
(
"
widgets/runtime
"
,[
"
uploader
"
,
"
runtime/runtime
"
,
"
widgets/widget
"
],
function
(
a
,
b
){
return
a
.
support
=
function
(){
return
b
.
hasRuntime
.
apply
(
b
,
arguments
)},
a
.
register
({
name
:
"
runtime
"
,
init
:
function
(){
if
(
!
this
.
predictRuntimeType
())
throw
Error
(
"
Runtime Error
"
)},
predictRuntimeType
:
function
(){
var
a
,
c
,
d
=
this
.
options
.
runtimeOrder
||
b
.
orders
,
e
=
this
.
type
;
if
(
!
e
)
for
(
d
=
d
.
split
(
/
\s
*,
\s
*/g
),
a
=
0
,
c
=
d
.
length
;
c
>
a
;
a
++
)
if
(
b
.
hasRuntime
(
d
[
a
])){
this
.
type
=
e
=
d
[
a
];
break
}
return
e
}})}),
b
(
"
lib/transport
"
,[
"
base
"
,
"
runtime/client
"
,
"
mediator
"
],
function
(
a
,
b
,
c
){
function
d
(
a
){
var
c
=
this
;
a
=
c
.
options
=
e
.
extend
(
!
0
,{},
d
.
options
,
a
||
{}),
b
.
call
(
this
,
"
Transport
"
),
this
.
_blob
=
null
,
this
.
_formData
=
a
.
formData
||
{},
this
.
_headers
=
a
.
headers
||
{},
this
.
on
(
"
progress
"
,
this
.
_timeout
),
this
.
on
(
"
load error
"
,
function
(){
c
.
trigger
(
"
progress
"
,
1
),
clearTimeout
(
c
.
_timer
)})}
var
e
=
a
.
$
;
return
d
.
options
=
{
server
:
""
,
method
:
"
POST
"
,
withCredentials
:
!
1
,
fileVal
:
"
file
"
,
timeout
:
12
e4
,
formData
:{},
headers
:{},
sendAsBinary
:
!
1
},
e
.
extend
(
d
.
prototype
,{
appendBlob
:
function
(
a
,
b
,
c
){
var
d
=
this
,
e
=
d
.
options
;
d
.
getRuid
()
&&
d
.
disconnectRuntime
(),
d
.
connectRuntime
(
b
.
ruid
,
function
(){
d
.
exec
(
"
init
"
)}),
d
.
_blob
=
b
,
e
.
fileVal
=
a
||
e
.
fileVal
,
e
.
filename
=
c
||
e
.
filename
},
append
:
function
(
a
,
b
){
"
object
"
==
typeof
a
?
e
.
extend
(
this
.
_formData
,
a
):
this
.
_formData
[
a
]
=
b
},
setRequestHeader
:
function
(
a
,
b
){
"
object
"
==
typeof
a
?
e
.
extend
(
this
.
_headers
,
a
):
this
.
_headers
[
a
]
=
b
},
send
:
function
(
a
){
this
.
exec
(
"
send
"
,
a
),
this
.
_timeout
()},
abort
:
function
(){
return
clearTimeout
(
this
.
_timer
),
this
.
exec
(
"
abort
"
)},
destroy
:
function
(){
this
.
trigger
(
"
destroy
"
),
this
.
off
(),
this
.
exec
(
"
destroy
"
),
this
.
disconnectRuntime
()},
getResponse
:
function
(){
return
this
.
exec
(
"
getResponse
"
)},
getResponseAsJson
:
function
(){
return
this
.
exec
(
"
getResponseAsJson
"
)},
getStatus
:
function
(){
return
this
.
exec
(
"
getStatus
"
)},
_timeout
:
function
(){
var
a
=
this
,
b
=
a
.
options
.
timeout
;
b
&&
(
clearTimeout
(
a
.
_timer
),
a
.
_timer
=
setTimeout
(
function
(){
a
.
abort
(),
a
.
trigger
(
"
error
"
,
"
timeout
"
)},
b
))}}),
c
.
installTo
(
d
.
prototype
),
d
}),
b
(
"
widgets/upload
"
,[
"
base
"
,
"
uploader
"
,
"
file
"
,
"
lib/transport
"
,
"
widgets/widget
"
],
function
(
a
,
b
,
c
,
d
){
function
e
(
a
,
b
){
var
c
,
d
,
e
=
[],
f
=
a
.
source
,
g
=
f
.
size
,
h
=
b
?
Math
.
ceil
(
g
/
b
):
1
,
i
=
0
,
j
=
0
;
for
(
d
=
{
file
:
a
,
has
:
function
(){
return
!!
e
.
length
},
shift
:
function
(){
return
e
.
shift
()},
unshift
:
function
(
a
){
e
.
unshift
(
a
)}};
h
>
j
;)
c
=
Math
.
min
(
b
,
g
-
i
),
e
.
push
({
file
:
a
,
start
:
i
,
end
:
b
?
i
+
c
:
g
,
total
:
g
,
chunks
:
h
,
chunk
:
j
++
,
cuted
:
d
}),
i
+=
c
;
return
a
.
blocks
=
e
.
concat
(),
a
.
remaning
=
e
.
length
,
d
}
var
f
=
a
.
$
,
g
=
a
.
isPromise
,
h
=
c
.
Status
;
f
.
extend
(
b
.
options
,{
prepareNextFile
:
!
1
,
chunked
:
!
1
,
chunkSize
:
5242880
,
chunkRetry
:
2
,
threads
:
3
,
formData
:{}}),
b
.
register
({
name
:
"
upload
"
,
init
:
function
(){
var
b
=
this
.
owner
,
c
=
this
;
this
.
runing
=!
1
,
this
.
progress
=!
1
,
b
.
on
(
"
startUpload
"
,
function
(){
c
.
progress
=!
0
}).
on
(
"
uploadFinished
"
,
function
(){
c
.
progress
=!
1
}),
this
.
pool
=
[],
this
.
stack
=
[],
this
.
pending
=
[],
this
.
remaning
=
0
,
this
.
__tick
=
a
.
bindFn
(
this
.
_tick
,
this
),
b
.
on
(
"
uploadComplete
"
,
function
(
a
){
a
.
blocks
&&
f
.
each
(
a
.
blocks
,
function
(
a
,
b
){
b
.
transport
&&
(
b
.
transport
.
abort
(),
b
.
transport
.
destroy
()),
delete
b
.
transport
}),
delete
a
.
blocks
,
delete
a
.
remaning
})},
reset
:
function
(){
this
.
request
(
"
stop-upload
"
,
!
0
),
this
.
runing
=!
1
,
this
.
pool
=
[],
this
.
stack
=
[],
this
.
pending
=
[],
this
.
remaning
=
0
,
this
.
_trigged
=!
1
,
this
.
_promise
=
null
},
startUpload
:
function
(
b
){
var
c
=
this
;
if
(
f
.
each
(
c
.
request
(
"
get-files
"
,
h
.
INVALID
),
function
(){
c
.
request
(
"
remove-file
"
,
this
)}),
b
)
if
(
b
=
b
.
id
?
b
:
c
.
request
(
"
get-file
"
,
b
),
b
.
getStatus
()
===
h
.
INTERRUPT
)
f
.
each
(
c
.
pool
,
function
(
a
,
c
){
c
.
file
===
b
&&
c
.
transport
&&
c
.
transport
.
send
()}),
b
.
setStatus
(
h
.
QUEUED
);
else
{
if
(
b
.
getStatus
()
===
h
.
PROGRESS
)
return
;
b
.
setStatus
(
h
.
QUEUED
)}
else
f
.
each
(
c
.
request
(
"
get-files
"
,[
h
.
INITED
]),
function
(){
this
.
setStatus
(
h
.
QUEUED
)});
if
(
!
c
.
runing
){
c
.
runing
=!
0
;
var
d
=
[];
f
.
each
(
c
.
pool
,
function
(
a
,
b
){
var
e
=
b
.
file
;
e
.
getStatus
()
===
h
.
INTERRUPT
&&
(
d
.
push
(
e
),
c
.
_trigged
=!
1
,
b
.
transport
&&
b
.
transport
.
send
())});
for
(
var
b
;
b
=
d
.
shift
();)
b
.
setStatus
(
h
.
PROGRESS
);
b
||
f
.
each
(
c
.
request
(
"
get-files
"
,
h
.
INTERRUPT
),
function
(){
this
.
setStatus
(
h
.
PROGRESS
)}),
c
.
_trigged
=!
1
,
a
.
nextTick
(
c
.
__tick
),
c
.
owner
.
trigger
(
"
startUpload
"
)}},
stopUpload
:
function
(
b
,
c
){
var
d
=
this
;
if
(
b
===!
0
&&
(
c
=
b
,
b
=
null
),
d
.
runing
!==!
1
){
if
(
b
){
if
(
b
=
b
.
id
?
b
:
d
.
request
(
"
get-file
"
,
b
),
b
.
getStatus
()
!==
h
.
PROGRESS
&&
b
.
getStatus
()
!==
h
.
QUEUED
)
return
;
return
b
.
setStatus
(
h
.
INTERRUPT
),
f
.
each
(
d
.
pool
,
function
(
a
,
c
){
c
.
file
===
b
&&
(
c
.
transport
&&
c
.
transport
.
abort
(),
d
.
_putback
(
c
),
d
.
_popBlock
(
c
))}),
a
.
nextTick
(
d
.
__tick
)}
d
.
runing
=!
1
,
this
.
_promise
&&
this
.
_promise
.
file
&&
this
.
_promise
.
file
.
setStatus
(
h
.
INTERRUPT
),
c
&&
f
.
each
(
d
.
pool
,
function
(
a
,
b
){
b
.
transport
&&
b
.
transport
.
abort
(),
b
.
file
.
setStatus
(
h
.
INTERRUPT
)}),
d
.
owner
.
trigger
(
"
stopUpload
"
)}},
cancelFile
:
function
(
a
){
a
=
a
.
id
?
a
:
this
.
request
(
"
get-file
"
,
a
),
a
.
blocks
&&
f
.
each
(
a
.
blocks
,
function
(
a
,
b
){
var
c
=
b
.
transport
;
c
&&
(
c
.
abort
(),
c
.
destroy
(),
delete
b
.
transport
)}),
a
.
setStatus
(
h
.
CANCELLED
),
this
.
owner
.
trigger
(
"
fileDequeued
"
,
a
)},
isInProgress
:
function
(){
return
!!
this
.
progress
},
_getStats
:
function
(){
return
this
.
request
(
"
get-stats
"
)},
skipFile
:
function
(
a
,
b
){
a
=
a
.
id
?
a
:
this
.
request
(
"
get-file
"
,
a
),
a
.
setStatus
(
b
||
h
.
COMPLETE
),
a
.
skipped
=!
0
,
a
.
blocks
&&
f
.
each
(
a
.
blocks
,
function
(
a
,
b
){
var
c
=
b
.
transport
;
c
&&
(
c
.
abort
(),
c
.
destroy
(),
delete
b
.
transport
)}),
this
.
owner
.
trigger
(
"
uploadSkip
"
,
a
)},
_tick
:
function
(){
var
b
,
c
,
d
=
this
,
e
=
d
.
options
;
return
d
.
_promise
?
d
.
_promise
.
always
(
d
.
__tick
):
void
(
d
.
pool
.
length
<
e
.
threads
&&
(
c
=
d
.
_nextBlock
())?(
d
.
_trigged
=!
1
,
b
=
function
(
b
){
d
.
_promise
=
null
,
b
&&
b
.
file
&&
d
.
_startSend
(
b
),
a
.
nextTick
(
d
.
__tick
)},
d
.
_promise
=
g
(
c
)?
c
.
always
(
b
):
b
(
c
)):
d
.
remaning
||
d
.
_getStats
().
numOfQueue
||
d
.
_getStats
().
numofInterrupt
||
(
d
.
runing
=!
1
,
d
.
_trigged
||
a
.
nextTick
(
function
(){
d
.
owner
.
trigger
(
"
uploadFinished
"
)}),
d
.
_trigged
=!
0
))},
_putback
:
function
(
a
){
var
b
;
a
.
cuted
.
unshift
(
a
),
b
=
this
.
stack
.
indexOf
(
a
.
cuted
),
~
b
||
this
.
stack
.
unshift
(
a
.
cuted
)},
_getStack
:
function
(){
for
(
var
a
,
b
=
0
;
a
=
this
.
stack
[
b
++
];){
if
(
a
.
has
()
&&
a
.
file
.
getStatus
()
===
h
.
PROGRESS
)
return
a
;(
!
a
.
has
()
||
a
.
file
.
getStatus
()
!==
h
.
PROGRESS
&&
a
.
file
.
getStatus
()
!==
h
.
INTERRUPT
)
&&
this
.
stack
.
splice
(
--
b
,
1
)}
return
null
},
_nextBlock
:
function
(){
var
a
,
b
,
c
,
d
,
f
=
this
,
h
=
f
.
options
;
return
(
a
=
this
.
_getStack
())?(
h
.
prepareNextFile
&&!
f
.
pending
.
length
&&
f
.
_prepareNextFile
(),
a
.
shift
()):
f
.
runing
?(
!
f
.
pending
.
length
&&
f
.
_getStats
().
numOfQueue
&&
f
.
_prepareNextFile
(),
b
=
f
.
pending
.
shift
(),
c
=
function
(
b
){
return
b
?(
a
=
e
(
b
,
h
.
chunked
?
h
.
chunkSize
:
0
),
f
.
stack
.
push
(
a
),
a
.
shift
()):
null
},
g
(
b
)?(
d
=
b
.
file
,
b
=
b
[
b
.
pipe
?
"
pipe
"
:
"
then
"
](
c
),
b
.
file
=
d
,
b
):
c
(
b
)):
void
0
},
_prepareNextFile
:
function
(){
var
a
,
b
=
this
,
c
=
b
.
request
(
"
fetch-file
"
),
d
=
b
.
pending
;
c
&&
(
a
=
b
.
request
(
"
before-send-file
"
,
c
,
function
(){
return
c
.
getStatus
()
===
h
.
PROGRESS
||
c
.
getStatus
()
===
h
.
INTERRUPT
?
c
:
b
.
_finishFile
(
c
)}),
b
.
owner
.
trigger
(
"
uploadStart
"
,
c
),
c
.
setStatus
(
h
.
PROGRESS
),
a
.
file
=
c
,
a
.
done
(
function
(){
var
b
=
f
.
inArray
(
a
,
d
);
~
b
&&
d
.
splice
(
b
,
1
,
c
)}),
a
.
fail
(
function
(
a
){
c
.
setStatus
(
h
.
ERROR
,
a
),
b
.
owner
.
trigger
(
"
uploadError
"
,
c
,
a
),
b
.
owner
.
trigger
(
"
uploadComplete
"
,
c
)}),
d
.
push
(
a
))},
_popBlock
:
function
(
a
){
var
b
=
f
.
inArray
(
a
,
this
.
pool
);
this
.
pool
.
splice
(
b
,
1
),
a
.
file
.
remaning
--
,
this
.
remaning
--
},
_startSend
:
function
(
b
){
var
c
,
d
=
this
,
e
=
b
.
file
;
return
e
.
getStatus
()
!==
h
.
PROGRESS
?
void
(
e
.
getStatus
()
===
h
.
INTERRUPT
&&
d
.
_putback
(
b
)):(
d
.
pool
.
push
(
b
),
d
.
remaning
++
,
b
.
blob
=
1
===
b
.
chunks
?
e
.
source
:
e
.
source
.
slice
(
b
.
start
,
b
.
end
),
c
=
d
.
request
(
"
before-send
"
,
b
,
function
(){
e
.
getStatus
()
===
h
.
PROGRESS
?
d
.
_doSend
(
b
):(
d
.
_popBlock
(
b
),
a
.
nextTick
(
d
.
__tick
))}),
void
c
.
fail
(
function
(){
1
===
e
.
remaning
?
d
.
_finishFile
(
e
).
always
(
function
(){
b
.
percentage
=
1
,
d
.
_popBlock
(
b
),
d
.
owner
.
trigger
(
"
uploadComplete
"
,
e
),
a
.
nextTick
(
d
.
__tick
)}):(
b
.
percentage
=
1
,
d
.
updateFileProgress
(
e
),
d
.
_popBlock
(
b
),
a
.
nextTick
(
d
.
__tick
))}))},
_doSend
:
function
(
b
){
var
c
,
e
,
g
=
this
,
i
=
g
.
owner
,
j
=
g
.
options
,
k
=
b
.
file
,
l
=
new
d
(
j
),
m
=
f
.
extend
({},
j
.
formData
),
n
=
f
.
extend
({},
j
.
headers
);
b
.
transport
=
l
,
l
.
on
(
"
destroy
"
,
function
(){
delete
b
.
transport
,
g
.
_popBlock
(
b
),
a
.
nextTick
(
g
.
__tick
)}),
l
.
on
(
"
progress
"
,
function
(
a
){
b
.
percentage
=
a
,
g
.
updateFileProgress
(
k
)}),
c
=
function
(
a
){
var
c
;
return
e
=
l
.
getResponseAsJson
()
||
{},
e
.
_raw
=
l
.
getResponse
(),
c
=
function
(
b
){
a
=
b
},
i
.
trigger
(
"
uploadAccept
"
,
b
,
e
,
c
)
||
(
a
=
a
||
"
server
"
),
a
},
l
.
on
(
"
error
"
,
function
(
a
,
d
){
b
.
retried
=
b
.
retried
||
0
,
b
.
chunks
>
1
&&~
"
http,abort
"
.
indexOf
(
a
)
&&
b
.
retried
<
j
.
chunkRetry
?(
b
.
retried
++
,
l
.
send
()):(
d
||
"
server
"
!==
a
||
(
a
=
c
(
a
)),
k
.
setStatus
(
h
.
ERROR
,
a
),
i
.
trigger
(
"
uploadError
"
,
k
,
a
),
i
.
trigger
(
"
uploadComplete
"
,
k
))}),
l
.
on
(
"
load
"
,
function
(){
var
a
;
return
(
a
=
c
())?
void
l
.
trigger
(
"
error
"
,
a
,
!
0
):
void
(
1
===
k
.
remaning
?
g
.
_finishFile
(
k
,
e
):
l
.
destroy
())}),
m
=
f
.
extend
(
m
,{
id
:
k
.
id
,
name
:
k
.
name
,
type
:
k
.
type
,
lastModifiedDate
:
k
.
lastModifiedDate
,
size
:
k
.
size
}),
b
.
chunks
>
1
&&
f
.
extend
(
m
,{
chunks
:
b
.
chunks
,
chunk
:
b
.
chunk
}),
i
.
trigger
(
"
uploadBeforeSend
"
,
b
,
m
,
n
),
l
.
appendBlob
(
j
.
fileVal
,
b
.
blob
,
k
.
name
),
l
.
append
(
m
),
l
.
setRequestHeader
(
n
),
l
.
send
()},
_finishFile
:
function
(
a
,
b
,
c
){
var
d
=
this
.
owner
;
return
d
.
request
(
"
after-send-file
"
,
arguments
,
function
(){
a
.
setStatus
(
h
.
COMPLETE
),
d
.
trigger
(
"
uploadSuccess
"
,
a
,
b
,
c
)}).
fail
(
function
(
b
){
a
.
getStatus
()
===
h
.
PROGRESS
&&
a
.
setStatus
(
h
.
ERROR
,
b
),
d
.
trigger
(
"
uploadError
"
,
a
,
b
)
}).
always
(
function
(){
d
.
trigger
(
"
uploadComplete
"
,
a
)})},
updateFileProgress
:
function
(
a
){
var
b
=
0
,
c
=
0
;
a
.
blocks
&&
(
f
.
each
(
a
.
blocks
,
function
(
a
,
b
){
c
+=
(
b
.
percentage
||
0
)
*
(
b
.
end
-
b
.
start
)}),
b
=
c
/
a
.
size
,
this
.
owner
.
trigger
(
"
uploadProgress
"
,
a
,
b
||
0
))}})}),
b
(
"
widgets/validator
"
,[
"
base
"
,
"
uploader
"
,
"
file
"
,
"
widgets/widget
"
],
function
(
a
,
b
,
c
){
var
d
,
e
=
a
.
$
,
f
=
{};
return
d
=
{
addValidator
:
function
(
a
,
b
){
f
[
a
]
=
b
},
removeValidator
:
function
(
a
){
delete
f
[
a
]}},
b
.
register
({
name
:
"
validator
"
,
init
:
function
(){
var
b
=
this
;
a
.
nextTick
(
function
(){
e
.
each
(
f
,
function
(){
this
.
call
(
b
.
owner
)})})}}),
d
.
addValidator
(
"
fileNumLimit
"
,
function
(){
var
a
=
this
,
b
=
a
.
options
,
c
=
0
,
d
=
parseInt
(
b
.
fileNumLimit
,
10
),
e
=!
0
;
d
&&
(
a
.
on
(
"
beforeFileQueued
"
,
function
(
a
){
return
c
>=
d
&&
e
&&
(
e
=!
1
,
this
.
trigger
(
"
error
"
,
"
Q_EXCEED_NUM_LIMIT
"
,
d
,
a
),
setTimeout
(
function
(){
e
=!
0
},
1
)),
c
>=
d
?
!
1
:
!
0
}),
a
.
on
(
"
fileQueued
"
,
function
(){
c
++
}),
a
.
on
(
"
fileDequeued
"
,
function
(){
c
--
}),
a
.
on
(
"
reset
"
,
function
(){
c
=
0
}))}),
d
.
addValidator
(
"
fileSizeLimit
"
,
function
(){
var
a
=
this
,
b
=
a
.
options
,
c
=
0
,
d
=
parseInt
(
b
.
fileSizeLimit
,
10
),
e
=!
0
;
d
&&
(
a
.
on
(
"
beforeFileQueued
"
,
function
(
a
){
var
b
=
c
+
a
.
size
>
d
;
return
b
&&
e
&&
(
e
=!
1
,
this
.
trigger
(
"
error
"
,
"
Q_EXCEED_SIZE_LIMIT
"
,
d
,
a
),
setTimeout
(
function
(){
e
=!
0
},
1
)),
b
?
!
1
:
!
0
}),
a
.
on
(
"
fileQueued
"
,
function
(
a
){
c
+=
a
.
size
}),
a
.
on
(
"
fileDequeued
"
,
function
(
a
){
c
-=
a
.
size
}),
a
.
on
(
"
reset
"
,
function
(){
c
=
0
}))}),
d
.
addValidator
(
"
fileSingleSizeLimit
"
,
function
(){
var
a
=
this
,
b
=
a
.
options
,
d
=
b
.
fileSingleSizeLimit
;
d
&&
a
.
on
(
"
beforeFileQueued
"
,
function
(
a
){
return
a
.
size
>
d
?(
a
.
setStatus
(
c
.
Status
.
INVALID
,
"
exceed_size
"
),
this
.
trigger
(
"
error
"
,
"
F_EXCEED_SIZE
"
,
d
,
a
),
!
1
):
void
0
})}),
d
.
addValidator
(
"
duplicate
"
,
function
(){
function
a
(
a
){
for
(
var
b
,
c
=
0
,
d
=
0
,
e
=
a
.
length
;
e
>
d
;
d
++
)
b
=
a
.
charCodeAt
(
d
),
c
=
b
+
(
c
<<
6
)
+
(
c
<<
16
)
-
c
;
return
c
}
var
b
=
this
,
c
=
b
.
options
,
d
=
{};
c
.
duplicate
||
(
b
.
on
(
"
beforeFileQueued
"
,
function
(
b
){
var
c
=
b
.
__hash
||
(
b
.
__hash
=
a
(
b
.
name
+
b
.
size
+
b
.
lastModifiedDate
));
return
d
[
c
]?(
this
.
trigger
(
"
error
"
,
"
F_DUPLICATE
"
,
b
),
!
1
):
void
0
}),
b
.
on
(
"
fileQueued
"
,
function
(
a
){
var
b
=
a
.
__hash
;
b
&&
(
d
[
b
]
=!
0
)}),
b
.
on
(
"
fileDequeued
"
,
function
(
a
){
var
b
=
a
.
__hash
;
b
&&
delete
d
[
b
]}),
b
.
on
(
"
reset
"
,
function
(){
d
=
{}}))}),
d
}),
b
(
"
lib/md5
"
,[
"
runtime/client
"
,
"
mediator
"
],
function
(
a
,
b
){
function
c
(){
a
.
call
(
this
,
"
Md5
"
)}
return
b
.
installTo
(
c
.
prototype
),
c
.
prototype
.
loadFromBlob
=
function
(
a
){
var
b
=
this
;
b
.
getRuid
()
&&
b
.
disconnectRuntime
(),
b
.
connectRuntime
(
a
.
ruid
,
function
(){
b
.
exec
(
"
init
"
),
b
.
exec
(
"
loadFromBlob
"
,
a
)})},
c
.
prototype
.
getResult
=
function
(){
return
this
.
exec
(
"
getResult
"
)},
c
}),
b
(
"
widgets/md5
"
,[
"
base
"
,
"
uploader
"
,
"
lib/md5
"
,
"
lib/blob
"
,
"
widgets/widget
"
],
function
(
a
,
b
,
c
,
d
){
return
b
.
register
({
name
:
"
md5
"
,
md5File
:
function
(
b
,
e
,
f
){
var
g
=
new
c
,
h
=
a
.
Deferred
(),
i
=
b
instanceof
d
?
b
:
this
.
request
(
"
get-file
"
,
b
).
source
;
return
g
.
on
(
"
progress load
"
,
function
(
a
){
a
=
a
||
{},
h
.
notify
(
a
.
total
?
a
.
loaded
/
a
.
total
:
1
)}),
g
.
on
(
"
complete
"
,
function
(){
h
.
resolve
(
g
.
getResult
())}),
g
.
on
(
"
error
"
,
function
(
a
){
h
.
reject
(
a
)}),
arguments
.
length
>
1
&&
(
e
=
e
||
0
,
f
=
f
||
0
,
0
>
e
&&
(
e
=
i
.
size
+
e
),
0
>
f
&&
(
f
=
i
.
size
+
f
),
f
=
Math
.
min
(
f
,
i
.
size
),
i
=
i
.
slice
(
e
,
f
)),
g
.
loadFromBlob
(
i
),
h
.
promise
()}})}),
b
(
"
runtime/compbase
"
,[],
function
(){
function
a
(
a
,
b
){
this
.
owner
=
a
,
this
.
options
=
a
.
options
,
this
.
getRuntime
=
function
(){
return
b
},
this
.
getRuid
=
function
(){
return
b
.
uid
},
this
.
trigger
=
function
(){
return
a
.
trigger
.
apply
(
a
,
arguments
)}}
return
a
}),
b
(
"
runtime/html5/runtime
"
,[
"
base
"
,
"
runtime/runtime
"
,
"
runtime/compbase
"
],
function
(
b
,
c
,
d
){
function
e
(){
var
a
=
{},
d
=
this
,
e
=
this
.
destroy
;
c
.
apply
(
d
,
arguments
),
d
.
type
=
f
,
d
.
exec
=
function
(
c
,
e
){
var
f
,
h
=
this
,
i
=
h
.
uid
,
j
=
b
.
slice
(
arguments
,
2
);
return
g
[
c
]
&&
(
f
=
a
[
i
]
=
a
[
i
]
||
new
g
[
c
](
h
,
d
),
f
[
e
])?
f
[
e
].
apply
(
f
,
j
):
void
0
},
d
.
destroy
=
function
(){
return
e
&&
e
.
apply
(
this
,
arguments
)}}
var
f
=
"
html5
"
,
g
=
{};
return
b
.
inherits
(
c
,{
constructor
:
e
,
init
:
function
(){
var
a
=
this
;
setTimeout
(
function
(){
a
.
trigger
(
"
ready
"
)},
1
)}}),
e
.
register
=
function
(
a
,
c
){
var
e
=
g
[
a
]
=
b
.
inherits
(
d
,
c
);
return
e
},
a
.
Blob
&&
a
.
FileReader
&&
a
.
DataView
&&
c
.
addRuntime
(
f
,
e
),
e
}),
b
(
"
runtime/html5/blob
"
,[
"
runtime/html5/runtime
"
,
"
lib/blob
"
],
function
(
a
,
b
){
return
a
.
register
(
"
Blob
"
,{
slice
:
function
(
a
,
c
){
var
d
=
this
.
owner
.
source
,
e
=
d
.
slice
||
d
.
webkitSlice
||
d
.
mozSlice
;
return
d
=
e
.
call
(
d
,
a
,
c
),
new
b
(
this
.
getRuid
(),
d
)}})}),
b
(
"
runtime/html5/dnd
"
,[
"
base
"
,
"
runtime/html5/runtime
"
,
"
lib/file
"
],
function
(
a
,
b
,
c
){
var
d
=
a
.
$
,
e
=
"
webuploader-dnd-
"
;
return
b
.
register
(
"
DragAndDrop
"
,{
init
:
function
(){
var
b
=
this
.
elem
=
this
.
options
.
container
;
this
.
dragEnterHandler
=
a
.
bindFn
(
this
.
_dragEnterHandler
,
this
),
this
.
dragOverHandler
=
a
.
bindFn
(
this
.
_dragOverHandler
,
this
),
this
.
dragLeaveHandler
=
a
.
bindFn
(
this
.
_dragLeaveHandler
,
this
),
this
.
dropHandler
=
a
.
bindFn
(
this
.
_dropHandler
,
this
),
this
.
dndOver
=!
1
,
b
.
on
(
"
dragenter
"
,
this
.
dragEnterHandler
),
b
.
on
(
"
dragover
"
,
this
.
dragOverHandler
),
b
.
on
(
"
dragleave
"
,
this
.
dragLeaveHandler
),
b
.
on
(
"
drop
"
,
this
.
dropHandler
),
this
.
options
.
disableGlobalDnd
&&
(
d
(
document
).
on
(
"
dragover
"
,
this
.
dragOverHandler
),
d
(
document
).
on
(
"
drop
"
,
this
.
dropHandler
))},
_dragEnterHandler
:
function
(
a
){
var
b
,
c
=
this
,
d
=
c
.
_denied
||!
1
;
return
a
=
a
.
originalEvent
||
a
,
c
.
dndOver
||
(
c
.
dndOver
=!
0
,
b
=
a
.
dataTransfer
.
items
,
b
&&
b
.
length
&&
(
c
.
_denied
=
d
=!
c
.
trigger
(
"
accept
"
,
b
)),
c
.
elem
.
addClass
(
e
+
"
over
"
),
c
.
elem
[
d
?
"
addClass
"
:
"
removeClass
"
](
e
+
"
denied
"
)),
a
.
dataTransfer
.
dropEffect
=
d
?
"
none
"
:
"
copy
"
,
!
1
},
_dragOverHandler
:
function
(
a
){
var
b
=
this
.
elem
.
parent
().
get
(
0
);
return
b
&&!
d
.
contains
(
b
,
a
.
currentTarget
)?
!
1
:(
clearTimeout
(
this
.
_leaveTimer
),
this
.
_dragEnterHandler
.
call
(
this
,
a
),
!
1
)},
_dragLeaveHandler
:
function
(){
var
a
,
b
=
this
;
return
a
=
function
(){
b
.
dndOver
=!
1
,
b
.
elem
.
removeClass
(
e
+
"
over
"
+
e
+
"
denied
"
)},
clearTimeout
(
b
.
_leaveTimer
),
b
.
_leaveTimer
=
setTimeout
(
a
,
100
),
!
1
},
_dropHandler
:
function
(
a
){
var
b
,
f
,
g
=
this
,
h
=
g
.
getRuid
(),
i
=
g
.
elem
.
parent
().
get
(
0
);
if
(
i
&&!
d
.
contains
(
i
,
a
.
currentTarget
))
return
!
1
;
a
=
a
.
originalEvent
||
a
,
b
=
a
.
dataTransfer
;
try
{
f
=
b
.
getData
(
"
text/html
"
)}
catch
(
j
){}
return
f
?
void
0
:(
g
.
_getTansferFiles
(
b
,
function
(
a
){
g
.
trigger
(
"
drop
"
,
d
.
map
(
a
,
function
(
a
){
return
new
c
(
h
,
a
)}))}),
g
.
dndOver
=!
1
,
g
.
elem
.
removeClass
(
e
+
"
over
"
),
!
1
)},
_getTansferFiles
:
function
(
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
=
[],
l
=
[];
for
(
d
=
b
.
items
,
e
=
b
.
files
,
j
=!
(
!
d
||!
d
[
0
].
webkitGetAsEntry
),
h
=
0
,
i
=
e
.
length
;
i
>
h
;
h
++
)
f
=
e
[
h
],
g
=
d
&&
d
[
h
],
j
&&
g
.
webkitGetAsEntry
().
isDirectory
?
l
.
push
(
this
.
_traverseDirectoryTree
(
g
.
webkitGetAsEntry
(),
k
)):
k
.
push
(
f
);
a
.
when
.
apply
(
a
,
l
).
done
(
function
(){
k
.
length
&&
c
(
k
)})},
_traverseDirectoryTree
:
function
(
b
,
c
){
var
d
=
a
.
Deferred
(),
e
=
this
;
return
b
.
isFile
?
b
.
file
(
function
(
a
){
c
.
push
(
a
),
d
.
resolve
()}):
b
.
isDirectory
&&
b
.
createReader
().
readEntries
(
function
(
b
){
var
f
,
g
=
b
.
length
,
h
=
[],
i
=
[];
for
(
f
=
0
;
g
>
f
;
f
++
)
h
.
push
(
e
.
_traverseDirectoryTree
(
b
[
f
],
i
));
a
.
when
.
apply
(
a
,
h
).
then
(
function
(){
c
.
push
.
apply
(
c
,
i
),
d
.
resolve
()},
d
.
reject
)}),
d
.
promise
()},
destroy
:
function
(){
var
a
=
this
.
elem
;
a
&&
(
a
.
off
(
"
dragenter
"
,
this
.
dragEnterHandler
),
a
.
off
(
"
dragover
"
,
this
.
dragOverHandler
),
a
.
off
(
"
dragleave
"
,
this
.
dragLeaveHandler
),
a
.
off
(
"
drop
"
,
this
.
dropHandler
),
this
.
options
.
disableGlobalDnd
&&
(
d
(
document
).
off
(
"
dragover
"
,
this
.
dragOverHandler
),
d
(
document
).
off
(
"
drop
"
,
this
.
dropHandler
)))}})}),
b
(
"
runtime/html5/filepaste
"
,[
"
base
"
,
"
runtime/html5/runtime
"
,
"
lib/file
"
],
function
(
a
,
b
,
c
){
return
b
.
register
(
"
FilePaste
"
,{
init
:
function
(){
var
b
,
c
,
d
,
e
,
f
=
this
.
options
,
g
=
this
.
elem
=
f
.
container
,
h
=
"
.*
"
;
if
(
f
.
accept
){
for
(
b
=
[],
c
=
0
,
d
=
f
.
accept
.
length
;
d
>
c
;
c
++
)
e
=
f
.
accept
[
c
].
mimeTypes
,
e
&&
b
.
push
(
e
);
b
.
length
&&
(
h
=
b
.
join
(
"
,
"
),
h
=
h
.
replace
(
/,/g
,
"
|
"
).
replace
(
/
\*
/g
,
"
.*
"
))}
this
.
accept
=
h
=
new
RegExp
(
h
,
"
i
"
),
this
.
hander
=
a
.
bindFn
(
this
.
_pasteHander
,
this
),
g
.
on
(
"
paste
"
,
this
.
hander
)},
_pasteHander
:
function
(
a
){
var
b
,
d
,
e
,
f
,
g
,
h
=
[],
i
=
this
.
getRuid
();
for
(
a
=
a
.
originalEvent
||
a
,
b
=
a
.
clipboardData
.
items
,
f
=
0
,
g
=
b
.
length
;
g
>
f
;
f
++
)
d
=
b
[
f
],
"
file
"
===
d
.
kind
&&
(
e
=
d
.
getAsFile
())
&&
h
.
push
(
new
c
(
i
,
e
));
h
.
length
&&
(
a
.
preventDefault
(),
a
.
stopPropagation
(),
this
.
trigger
(
"
paste
"
,
h
))},
destroy
:
function
(){
this
.
elem
.
off
(
"
paste
"
,
this
.
hander
)}})}),
b
(
"
runtime/html5/filepicker
"
,[
"
base
"
,
"
runtime/html5/runtime
"
],
function
(
a
,
b
){
var
c
=
a
.
$
;
return
b
.
register
(
"
FilePicker
"
,{
init
:
function
(){
var
a
,
b
,
d
,
e
,
f
=
this
.
getRuntime
().
getContainer
(),
g
=
this
,
h
=
g
.
owner
,
i
=
g
.
options
,
j
=
this
.
label
=
c
(
document
.
createElement
(
"
label
"
)),
k
=
this
.
input
=
c
(
document
.
createElement
(
"
input
"
));
if
(
k
.
attr
(
"
type
"
,
"
file
"
),
k
.
attr
(
"
name
"
,
i
.
name
),
k
.
addClass
(
"
webuploader-element-invisible
"
),
j
.
on
(
"
click
"
,
function
(){
k
.
trigger
(
"
click
"
)}),
j
.
css
({
opacity
:
0
,
width
:
"
100%
"
,
height
:
"
100%
"
,
display
:
"
block
"
,
cursor
:
"
pointer
"
,
background
:
"
#ffffff
"
}),
i
.
multiple
&&
k
.
attr
(
"
multiple
"
,
"
multiple
"
),
i
.
accept
&&
i
.
accept
.
length
>
0
){
for
(
a
=
[],
b
=
0
,
d
=
i
.
accept
.
length
;
d
>
b
;
b
++
)
a
.
push
(
i
.
accept
[
b
].
mimeTypes
);
k
.
attr
(
"
accept
"
,
a
.
join
(
"
,
"
))}
f
.
append
(
k
),
f
.
append
(
j
),
e
=
function
(
a
){
h
.
trigger
(
a
.
type
)},
k
.
on
(
"
change
"
,
function
(
a
){
var
b
,
d
=
arguments
.
callee
;
g
.
files
=
a
.
target
.
files
,
b
=
this
.
cloneNode
(
!
0
),
b
.
value
=
null
,
this
.
parentNode
.
replaceChild
(
b
,
this
),
k
.
off
(),
k
=
c
(
b
).
on
(
"
change
"
,
d
).
on
(
"
mouseenter mouseleave
"
,
e
),
h
.
trigger
(
"
change
"
)}),
j
.
on
(
"
mouseenter mouseleave
"
,
e
)},
getFiles
:
function
(){
return
this
.
files
},
destroy
:
function
(){
this
.
input
.
off
(),
this
.
label
.
off
()}})}),
b
(
"
runtime/html5/util
"
,[
"
base
"
],
function
(
b
){
var
c
=
a
.
createObjectURL
&&
a
||
a
.
URL
&&
URL
.
revokeObjectURL
&&
URL
||
a
.
webkitURL
,
d
=
b
.
noop
,
e
=
d
;
return
c
&&
(
d
=
function
(){
return
c
.
createObjectURL
.
apply
(
c
,
arguments
)},
e
=
function
(){
return
c
.
revokeObjectURL
.
apply
(
c
,
arguments
)}),{
createObjectURL
:
d
,
revokeObjectURL
:
e
,
dataURL2Blob
:
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
;
for
(
g
=
a
.
split
(
"
,
"
),
b
=~
g
[
0
].
indexOf
(
"
base64
"
)?
atob
(
g
[
1
]):
decodeURIComponent
(
g
[
1
]),
d
=
new
ArrayBuffer
(
b
.
length
),
c
=
new
Uint8Array
(
d
),
e
=
0
;
e
<
b
.
length
;
e
++
)
c
[
e
]
=
b
.
charCodeAt
(
e
);
return
f
=
g
[
0
].
split
(
"
:
"
)[
1
].
split
(
"
;
"
)[
0
],
this
.
arrayBufferToBlob
(
d
,
f
)},
dataURL2ArrayBuffer
:
function
(
a
){
var
b
,
c
,
d
,
e
;
for
(
e
=
a
.
split
(
"
,
"
),
b
=~
e
[
0
].
indexOf
(
"
base64
"
)?
atob
(
e
[
1
]):
decodeURIComponent
(
e
[
1
]),
c
=
new
Uint8Array
(
b
.
length
),
d
=
0
;
d
<
b
.
length
;
d
++
)
c
[
d
]
=
b
.
charCodeAt
(
d
);
return
c
.
buffer
},
arrayBufferToBlob
:
function
(
b
,
c
){
var
d
,
e
=
a
.
BlobBuilder
||
a
.
WebKitBlobBuilder
;
return
e
?(
d
=
new
e
,
d
.
append
(
b
),
d
.
getBlob
(
c
)):
new
Blob
([
b
],
c
?{
type
:
c
}:{})},
canvasToDataUrl
:
function
(
a
,
b
,
c
){
return
a
.
toDataURL
(
b
,
c
/
100
)},
parseMeta
:
function
(
a
,
b
){
b
(
!
1
,{})},
updateImageHead
:
function
(
a
){
return
a
}}}),
b
(
"
runtime/html5/imagemeta
"
,[
"
runtime/html5/util
"
],
function
(
a
){
var
b
;
return
b
=
{
parsers
:{
65505
:[]},
maxMetaDataSize
:
262144
,
parse
:
function
(
a
,
b
){
var
c
=
this
,
d
=
new
FileReader
;
d
.
onload
=
function
(){
b
(
!
1
,
c
.
_parse
(
this
.
result
)),
d
=
d
.
onload
=
d
.
onerror
=
null
},
d
.
onerror
=
function
(
a
){
b
(
a
.
message
),
d
=
d
.
onload
=
d
.
onerror
=
null
},
a
=
a
.
slice
(
0
,
c
.
maxMetaDataSize
),
d
.
readAsArrayBuffer
(
a
.
getSource
())},
_parse
:
function
(
a
,
c
){
if
(
!
(
a
.
byteLength
<
6
)){
var
d
,
e
,
f
,
g
,
h
=
new
DataView
(
a
),
i
=
2
,
j
=
h
.
byteLength
-
4
,
k
=
i
,
l
=
{};
if
(
65496
===
h
.
getUint16
(
0
)){
for
(;
j
>
i
&&
(
d
=
h
.
getUint16
(
i
),
d
>=
65504
&&
65519
>=
d
||
65534
===
d
)
&&
(
e
=
h
.
getUint16
(
i
+
2
)
+
2
,
!
(
i
+
e
>
h
.
byteLength
));){
if
(
f
=
b
.
parsers
[
d
],
!
c
&&
f
)
for
(
g
=
0
;
g
<
f
.
length
;
g
+=
1
)
f
[
g
].
call
(
b
,
h
,
i
,
e
,
l
);
i
+=
e
,
k
=
i
}
k
>
6
&&
(
l
.
imageHead
=
a
.
slice
?
a
.
slice
(
2
,
k
):
new
Uint8Array
(
a
).
subarray
(
2
,
k
))}
return
l
}},
updateImageHead
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
this
.
_parse
(
a
,
!
0
);
return
e
=
2
,
f
.
imageHead
&&
(
e
=
2
+
f
.
imageHead
.
byteLength
),
d
=
a
.
slice
?
a
.
slice
(
e
):
new
Uint8Array
(
a
).
subarray
(
e
),
c
=
new
Uint8Array
(
b
.
byteLength
+
2
+
d
.
byteLength
),
c
[
0
]
=
255
,
c
[
1
]
=
216
,
c
.
set
(
new
Uint8Array
(
b
),
2
),
c
.
set
(
new
Uint8Array
(
d
),
b
.
byteLength
+
2
),
c
.
buffer
}},
a
.
parseMeta
=
function
(){
return
b
.
parse
.
apply
(
b
,
arguments
)},
a
.
updateImageHead
=
function
(){
return
b
.
updateImageHead
.
apply
(
b
,
arguments
)},
b
}),
b
(
"
runtime/html5/imagemeta/exif
"
,[
"
base
"
,
"
runtime/html5/imagemeta
"
],
function
(
a
,
b
){
var
c
=
{};
return
c
.
ExifMap
=
function
(){
return
this
},
c
.
ExifMap
.
prototype
.
map
=
{
Orientation
:
274
},
c
.
ExifMap
.
prototype
.
get
=
function
(
a
){
return
this
[
a
]
||
this
[
this
.
map
[
a
]]},
c
.
exifTagTypes
=
{
1
:{
getValue
:
function
(
a
,
b
){
return
a
.
getUint8
(
b
)},
size
:
1
},
2
:{
getValue
:
function
(
a
,
b
){
return
String
.
fromCharCode
(
a
.
getUint8
(
b
))},
size
:
1
,
ascii
:
!
0
},
3
:{
getValue
:
function
(
a
,
b
,
c
){
return
a
.
getUint16
(
b
,
c
)},
size
:
2
},
4
:{
getValue
:
function
(
a
,
b
,
c
){
return
a
.
getUint32
(
b
,
c
)},
size
:
4
},
5
:{
getValue
:
function
(
a
,
b
,
c
){
return
a
.
getUint32
(
b
,
c
)
/
a
.
getUint32
(
b
+
4
,
c
)},
size
:
8
},
9
:{
getValue
:
function
(
a
,
b
,
c
){
return
a
.
getInt32
(
b
,
c
)},
size
:
4
},
10
:{
getValue
:
function
(
a
,
b
,
c
){
return
a
.
getInt32
(
b
,
c
)
/
a
.
getInt32
(
b
+
4
,
c
)},
size
:
8
}},
c
.
exifTagTypes
[
7
]
=
c
.
exifTagTypes
[
1
],
c
.
getExifValue
=
function
(
b
,
d
,
e
,
f
,
g
,
h
){
var
i
,
j
,
k
,
l
,
m
,
n
,
o
=
c
.
exifTagTypes
[
f
];
if
(
!
o
)
return
void
a
.
log
(
"
Invalid Exif data: Invalid tag type.
"
);
if
(
i
=
o
.
size
*
g
,
j
=
i
>
4
?
d
+
b
.
getUint32
(
e
+
8
,
h
):
e
+
8
,
j
+
i
>
b
.
byteLength
)
return
void
a
.
log
(
"
Invalid Exif data: Invalid data offset.
"
);
if
(
1
===
g
)
return
o
.
getValue
(
b
,
j
,
h
);
for
(
k
=
[],
l
=
0
;
g
>
l
;
l
+=
1
)
k
[
l
]
=
o
.
getValue
(
b
,
j
+
l
*
o
.
size
,
h
);
if
(
o
.
ascii
){
for
(
m
=
""
,
l
=
0
;
l
<
k
.
length
&&
(
n
=
k
[
l
],
"
\
x00
"
!==
n
);
l
+=
1
)
m
+=
n
;
return
m
}
return
k
},
c
.
parseExifTag
=
function
(
a
,
b
,
d
,
e
,
f
){
var
g
=
a
.
getUint16
(
d
,
e
);
f
.
exif
[
g
]
=
c
.
getExifValue
(
a
,
b
,
d
,
a
.
getUint16
(
d
+
2
,
e
),
a
.
getUint32
(
d
+
4
,
e
),
e
)},
c
.
parseExifTags
=
function
(
b
,
c
,
d
,
e
,
f
){
var
g
,
h
,
i
;
if
(
d
+
6
>
b
.
byteLength
)
return
void
a
.
log
(
"
Invalid Exif data: Invalid directory offset.
"
);
if
(
g
=
b
.
getUint16
(
d
,
e
),
h
=
d
+
2
+
12
*
g
,
h
+
4
>
b
.
byteLength
)
return
void
a
.
log
(
"
Invalid Exif data: Invalid directory size.
"
);
for
(
i
=
0
;
g
>
i
;
i
+=
1
)
this
.
parseExifTag
(
b
,
c
,
d
+
2
+
12
*
i
,
e
,
f
);
return
b
.
getUint32
(
h
,
e
)},
c
.
parseExifData
=
function
(
b
,
d
,
e
,
f
){
var
g
,
h
,
i
=
d
+
10
;
if
(
1165519206
===
b
.
getUint32
(
d
+
4
)){
if
(
i
+
8
>
b
.
byteLength
)
return
void
a
.
log
(
"
Invalid Exif data: Invalid segment size.
"
);
if
(
0
!==
b
.
getUint16
(
d
+
8
))
return
void
a
.
log
(
"
Invalid Exif data: Missing byte alignment offset.
"
);
switch
(
b
.
getUint16
(
i
)){
case
18761
:
g
=!
0
;
break
;
case
19789
:
g
=!
1
;
break
;
default
:
return
void
a
.
log
(
"
Invalid Exif data: Invalid byte alignment marker.
"
)}
if
(
42
!==
b
.
getUint16
(
i
+
2
,
g
))
return
void
a
.
log
(
"
Invalid Exif data: Missing TIFF marker.
"
);
h
=
b
.
getUint32
(
i
+
4
,
g
),
f
.
exif
=
new
c
.
ExifMap
,
h
=
c
.
parseExifTags
(
b
,
i
,
i
+
h
,
g
,
f
)}},
b
.
parsers
[
65505
].
push
(
c
.
parseExifData
),
c
}),
b
(
"
runtime/html5/jpegencoder
"
,[],
function
(){
function
a
(
a
){
function
b
(
a
){
for
(
var
b
=
[
16
,
11
,
10
,
16
,
24
,
40
,
51
,
61
,
12
,
12
,
14
,
19
,
26
,
58
,
60
,
55
,
14
,
13
,
16
,
24
,
40
,
57
,
69
,
56
,
14
,
17
,
22
,
29
,
51
,
87
,
80
,
62
,
18
,
22
,
37
,
56
,
68
,
109
,
103
,
77
,
24
,
35
,
55
,
64
,
81
,
104
,
113
,
92
,
49
,
64
,
78
,
87
,
103
,
121
,
120
,
101
,
72
,
92
,
95
,
98
,
112
,
100
,
103
,
99
],
c
=
0
;
64
>
c
;
c
++
){
var
d
=
y
((
b
[
c
]
*
a
+
50
)
/
100
);
1
>
d
?
d
=
1
:
d
>
255
&&
(
d
=
255
),
z
[
P
[
c
]]
=
d
}
for
(
var
e
=
[
17
,
18
,
24
,
47
,
99
,
99
,
99
,
99
,
18
,
21
,
26
,
66
,
99
,
99
,
99
,
99
,
24
,
26
,
56
,
99
,
99
,
99
,
99
,
99
,
47
,
66
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
,
99
],
f
=
0
;
64
>
f
;
f
++
){
var
g
=
y
((
e
[
f
]
*
a
+
50
)
/
100
);
1
>
g
?
g
=
1
:
g
>
255
&&
(
g
=
255
),
A
[
P
[
f
]]
=
g
}
for
(
var
h
=
[
1
,
1.387039845
,
1.306562965
,
1.175875602
,
1
,.
785694958
,.
5411961
,.
275899379
],
i
=
0
,
j
=
0
;
8
>
j
;
j
++
)
for
(
var
k
=
0
;
8
>
k
;
k
++
)
B
[
i
]
=
1
/
(
z
[
P
[
i
]]
*
h
[
j
]
*
h
[
k
]
*
8
),
C
[
i
]
=
1
/
(
A
[
P
[
i
]]
*
h
[
j
]
*
h
[
k
]
*
8
),
i
++
}
function
c
(
a
,
b
){
for
(
var
c
=
0
,
d
=
0
,
e
=
new
Array
,
f
=
1
;
16
>=
f
;
f
++
){
for
(
var
g
=
1
;
g
<=
a
[
f
];
g
++
)
e
[
b
[
d
]]
=
[],
e
[
b
[
d
]][
0
]
=
c
,
e
[
b
[
d
]][
1
]
=
f
,
d
++
,
c
++
;
c
*=
2
}
return
e
}
function
d
(){
t
=
c
(
Q
,
R
),
u
=
c
(
U
,
V
),
v
=
c
(
S
,
T
),
w
=
c
(
W
,
X
)}
function
e
(){
for
(
var
a
=
1
,
b
=
2
,
c
=
1
;
15
>=
c
;
c
++
){
for
(
var
d
=
a
;
b
>
d
;
d
++
)
E
[
32767
+
d
]
=
c
,
D
[
32767
+
d
]
=
[],
D
[
32767
+
d
][
1
]
=
c
,
D
[
32767
+
d
][
0
]
=
d
;
for
(
var
e
=-
(
b
-
1
);
-
a
>=
e
;
e
++
)
E
[
32767
+
e
]
=
c
,
D
[
32767
+
e
]
=
[],
D
[
32767
+
e
][
1
]
=
c
,
D
[
32767
+
e
][
0
]
=
b
-
1
+
e
;
a
<<=
1
,
b
<<=
1
}}
function
f
(){
for
(
var
a
=
0
;
256
>
a
;
a
++
)
O
[
a
]
=
19595
*
a
,
O
[
a
+
256
>>
0
]
=
38470
*
a
,
O
[
a
+
512
>>
0
]
=
7471
*
a
+
32768
,
O
[
a
+
768
>>
0
]
=-
11059
*
a
,
O
[
a
+
1024
>>
0
]
=-
21709
*
a
,
O
[
a
+
1280
>>
0
]
=
32768
*
a
+
8421375
,
O
[
a
+
1536
>>
0
]
=-
27439
*
a
,
O
[
a
+
1792
>>
0
]
=-
5329
*
a
}
function
g
(
a
){
for
(
var
b
=
a
[
0
],
c
=
a
[
1
]
-
1
;
c
>=
0
;)
b
&
1
<<
c
&&
(
I
|=
1
<<
J
),
c
--
,
J
--
,
0
>
J
&&
(
255
==
I
?(
h
(
255
),
h
(
0
)):
h
(
I
),
J
=
7
,
I
=
0
)}
function
h
(
a
){
H
.
push
(
N
[
a
])}
function
i
(
a
){
h
(
a
>>
8
&
255
),
h
(
255
&
a
)}
function
j
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
=
0
,
m
=
8
,
n
=
64
;
for
(
k
=
0
;
m
>
k
;
++
k
){
c
=
a
[
l
],
d
=
a
[
l
+
1
],
e
=
a
[
l
+
2
],
f
=
a
[
l
+
3
],
g
=
a
[
l
+
4
],
h
=
a
[
l
+
5
],
i
=
a
[
l
+
6
],
j
=
a
[
l
+
7
];
var
o
=
c
+
j
,
p
=
c
-
j
,
q
=
d
+
i
,
r
=
d
-
i
,
s
=
e
+
h
,
t
=
e
-
h
,
u
=
f
+
g
,
v
=
f
-
g
,
w
=
o
+
u
,
x
=
o
-
u
,
y
=
q
+
s
,
z
=
q
-
s
;
a
[
l
]
=
w
+
y
,
a
[
l
+
4
]
=
w
-
y
;
var
A
=
.
707106781
*
(
z
+
x
);
a
[
l
+
2
]
=
x
+
A
,
a
[
l
+
6
]
=
x
-
A
,
w
=
v
+
t
,
y
=
t
+
r
,
z
=
r
+
p
;
var
B
=
.
382683433
*
(
w
-
z
),
C
=
.
5411961
*
w
+
B
,
D
=
1.306562965
*
z
+
B
,
E
=
.
707106781
*
y
,
G
=
p
+
E
,
H
=
p
-
E
;
a
[
l
+
5
]
=
H
+
C
,
a
[
l
+
3
]
=
H
-
C
,
a
[
l
+
1
]
=
G
+
D
,
a
[
l
+
7
]
=
G
-
D
,
l
+=
8
}
for
(
l
=
0
,
k
=
0
;
m
>
k
;
++
k
){
c
=
a
[
l
],
d
=
a
[
l
+
8
],
e
=
a
[
l
+
16
],
f
=
a
[
l
+
24
],
g
=
a
[
l
+
32
],
h
=
a
[
l
+
40
],
i
=
a
[
l
+
48
],
j
=
a
[
l
+
56
];
var
I
=
c
+
j
,
J
=
c
-
j
,
K
=
d
+
i
,
L
=
d
-
i
,
M
=
e
+
h
,
N
=
e
-
h
,
O
=
f
+
g
,
P
=
f
-
g
,
Q
=
I
+
O
,
R
=
I
-
O
,
S
=
K
+
M
,
T
=
K
-
M
;
a
[
l
]
=
Q
+
S
,
a
[
l
+
32
]
=
Q
-
S
;
var
U
=
.
707106781
*
(
T
+
R
);
a
[
l
+
16
]
=
R
+
U
,
a
[
l
+
48
]
=
R
-
U
,
Q
=
P
+
N
,
S
=
N
+
L
,
T
=
L
+
J
;
var
V
=
.
382683433
*
(
Q
-
T
),
W
=
.
5411961
*
Q
+
V
,
X
=
1.306562965
*
T
+
V
,
Y
=
.
707106781
*
S
,
Z
=
J
+
Y
,
$
=
J
-
Y
;
a
[
l
+
40
]
=
$
+
W
,
a
[
l
+
24
]
=
$
-
W
,
a
[
l
+
8
]
=
Z
+
X
,
a
[
l
+
56
]
=
Z
-
X
,
l
++
}
var
_
;
for
(
k
=
0
;
n
>
k
;
++
k
)
_
=
a
[
k
]
*
b
[
k
],
F
[
k
]
=
_
>
0
?
_
+
.
5
|
0
:
_
-
.
5
|
0
;
return
F
}
function
k
(){
i
(
65504
),
i
(
16
),
h
(
74
),
h
(
70
),
h
(
73
),
h
(
70
),
h
(
0
),
h
(
1
),
h
(
1
),
h
(
0
),
i
(
1
),
i
(
1
),
h
(
0
),
h
(
0
)}
function
l
(
a
,
b
){
i
(
65472
),
i
(
17
),
h
(
8
),
i
(
b
),
i
(
a
),
h
(
3
),
h
(
1
),
h
(
17
),
h
(
0
),
h
(
2
),
h
(
17
),
h
(
1
),
h
(
3
),
h
(
17
),
h
(
1
)}
function
m
(){
i
(
65499
),
i
(
132
),
h
(
0
);
for
(
var
a
=
0
;
64
>
a
;
a
++
)
h
(
z
[
a
]);
h
(
1
);
for
(
var
b
=
0
;
64
>
b
;
b
++
)
h
(
A
[
b
])}
function
n
(){
i
(
65476
),
i
(
418
),
h
(
0
);
for
(
var
a
=
0
;
16
>
a
;
a
++
)
h
(
Q
[
a
+
1
]);
for
(
var
b
=
0
;
11
>=
b
;
b
++
)
h
(
R
[
b
]);
h
(
16
);
for
(
var
c
=
0
;
16
>
c
;
c
++
)
h
(
S
[
c
+
1
]);
for
(
var
d
=
0
;
161
>=
d
;
d
++
)
h
(
T
[
d
]);
h
(
1
);
for
(
var
e
=
0
;
16
>
e
;
e
++
)
h
(
U
[
e
+
1
]);
for
(
var
f
=
0
;
11
>=
f
;
f
++
)
h
(
V
[
f
]);
h
(
17
);
for
(
var
g
=
0
;
16
>
g
;
g
++
)
h
(
W
[
g
+
1
]);
for
(
var
j
=
0
;
161
>=
j
;
j
++
)
h
(
X
[
j
])}
function
o
(){
i
(
65498
),
i
(
12
),
h
(
3
),
h
(
1
),
h
(
0
),
h
(
2
),
h
(
17
),
h
(
3
),
h
(
17
),
h
(
0
),
h
(
63
),
h
(
0
)}
function
p
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
,
h
=
e
[
0
],
i
=
e
[
240
],
k
=
16
,
l
=
63
,
m
=
64
,
n
=
j
(
a
,
b
),
o
=
0
;
m
>
o
;
++
o
)
G
[
P
[
o
]]
=
n
[
o
];
var
p
=
G
[
0
]
-
c
;
c
=
G
[
0
],
0
==
p
?
g
(
d
[
0
]):(
f
=
32767
+
p
,
g
(
d
[
E
[
f
]]),
g
(
D
[
f
]));
for
(
var
q
=
63
;
q
>
0
&&
0
==
G
[
q
];
q
--
);
if
(
0
==
q
)
return
g
(
h
),
c
;
for
(
var
r
,
s
=
1
;
q
>=
s
;){
for
(
var
t
=
s
;
0
==
G
[
s
]
&&
q
>=
s
;
++
s
);
var
u
=
s
-
t
;
if
(
u
>=
k
){
r
=
u
>>
4
;
for
(
var
v
=
1
;
r
>=
v
;
++
v
)
g
(
i
);
u
=
15
&
u
}
f
=
32767
+
G
[
s
],
g
(
e
[(
u
<<
4
)
+
E
[
f
]]),
g
(
D
[
f
]),
s
++
}
return
q
!=
l
&&
g
(
h
),
c
}
function
q
(){
for
(
var
a
=
String
.
fromCharCode
,
b
=
0
;
256
>
b
;
b
++
)
N
[
b
]
=
a
(
b
)}
function
r
(
a
){
if
(
0
>=
a
&&
(
a
=
1
),
a
>
100
&&
(
a
=
100
),
x
!=
a
){
var
c
=
0
;
c
=
Math
.
floor
(
50
>
a
?
5
e3
/
a
:
200
-
2
*
a
),
b
(
c
),
x
=
a
}}
function
s
(){
a
||
(
a
=
50
),
q
(),
d
(),
e
(),
f
(),
r
(
a
)}
var
t
,
u
,
v
,
w
,
x
,
y
=
(
Math
.
round
,
Math
.
floor
),
z
=
new
Array
(
64
),
A
=
new
Array
(
64
),
B
=
new
Array
(
64
),
C
=
new
Array
(
64
),
D
=
new
Array
(
65535
),
E
=
new
Array
(
65535
),
F
=
new
Array
(
64
),
G
=
new
Array
(
64
),
H
=
[],
I
=
0
,
J
=
7
,
K
=
new
Array
(
64
),
L
=
new
Array
(
64
),
M
=
new
Array
(
64
),
N
=
new
Array
(
256
),
O
=
new
Array
(
2048
),
P
=
[
0
,
1
,
5
,
6
,
14
,
15
,
27
,
28
,
2
,
4
,
7
,
13
,
16
,
26
,
29
,
42
,
3
,
8
,
12
,
17
,
25
,
30
,
41
,
43
,
9
,
11
,
18
,
24
,
31
,
40
,
44
,
53
,
10
,
19
,
23
,
32
,
39
,
45
,
52
,
54
,
20
,
22
,
33
,
38
,
46
,
51
,
55
,
60
,
21
,
34
,
37
,
47
,
50
,
56
,
59
,
61
,
35
,
36
,
48
,
49
,
57
,
58
,
62
,
63
],
Q
=
[
0
,
0
,
1
,
5
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
R
=
[
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
],
S
=
[
0
,
0
,
2
,
1
,
3
,
3
,
2
,
4
,
3
,
5
,
5
,
4
,
4
,
0
,
0
,
1
,
125
],
T
=
[
1
,
2
,
3
,
0
,
4
,
17
,
5
,
18
,
33
,
49
,
65
,
6
,
19
,
81
,
97
,
7
,
34
,
113
,
20
,
50
,
129
,
145
,
161
,
8
,
35
,
66
,
177
,
193
,
21
,
82
,
209
,
240
,
36
,
51
,
98
,
114
,
130
,
9
,
10
,
22
,
23
,
24
,
25
,
26
,
37
,
38
,
39
,
40
,
41
,
42
,
52
,
53
,
54
,
55
,
56
,
57
,
58
,
67
,
68
,
69
,
70
,
71
,
72
,
73
,
74
,
83
,
84
,
85
,
86
,
87
,
88
,
89
,
90
,
99
,
100
,
101
,
102
,
103
,
104
,
105
,
106
,
115
,
116
,
117
,
118
,
119
,
120
,
121
,
122
,
131
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
146
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
162
,
163
,
164
,
165
,
166
,
167
,
168
,
169
,
170
,
178
,
179
,
180
,
181
,
182
,
183
,
184
,
185
,
186
,
194
,
195
,
196
,
197
,
198
,
199
,
200
,
201
,
202
,
210
,
211
,
212
,
213
,
214
,
215
,
216
,
217
,
218
,
225
,
226
,
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
241
,
242
,
243
,
244
,
245
,
246
,
247
,
248
,
249
,
250
],
U
=
[
0
,
0
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
0
],
V
=
[
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
],
W
=
[
0
,
0
,
2
,
1
,
2
,
4
,
4
,
3
,
4
,
7
,
5
,
4
,
4
,
0
,
1
,
2
,
119
],
X
=
[
0
,
1
,
2
,
3
,
17
,
4
,
5
,
33
,
49
,
6
,
18
,
65
,
81
,
7
,
97
,
113
,
19
,
34
,
50
,
129
,
8
,
20
,
66
,
145
,
161
,
177
,
193
,
9
,
35
,
51
,
82
,
240
,
21
,
98
,
114
,
209
,
10
,
22
,
36
,
52
,
225
,
37
,
241
,
23
,
24
,
25
,
26
,
38
,
39
,
40
,
41
,
42
,
53
,
54
,
55
,
56
,
57
,
58
,
67
,
68
,
69
,
70
,
71
,
72
,
73
,
74
,
83
,
84
,
85
,
86
,
87
,
88
,
89
,
90
,
99
,
100
,
101
,
102
,
103
,
104
,
105
,
106
,
115
,
116
,
117
,
118
,
119
,
120
,
121
,
122
,
130
,
131
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
146
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
162
,
163
,
164
,
165
,
166
,
167
,
168
,
169
,
170
,
178
,
179
,
180
,
181
,
182
,
183
,
184
,
185
,
186
,
194
,
195
,
196
,
197
,
198
,
199
,
200
,
201
,
202
,
210
,
211
,
212
,
213
,
214
,
215
,
216
,
217
,
218
,
226
,
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
242
,
243
,
244
,
245
,
246
,
247
,
248
,
249
,
250
];
this
.
encode
=
function
(
a
,
b
){
b
&&
r
(
b
),
H
=
new
Array
,
I
=
0
,
J
=
7
,
i
(
65496
),
k
(),
m
(),
l
(
a
.
width
,
a
.
height
),
n
(),
o
();
var
c
=
0
,
d
=
0
,
e
=
0
;
I
=
0
,
J
=
7
,
this
.
encode
.
displayName
=
"
_encode_
"
;
for
(
var
f
,
h
,
j
,
q
,
s
,
x
,
y
,
z
,
A
,
D
=
a
.
data
,
E
=
a
.
width
,
F
=
a
.
height
,
G
=
4
*
E
,
N
=
0
;
F
>
N
;){
for
(
f
=
0
;
G
>
f
;){
for
(
s
=
G
*
N
+
f
,
x
=
s
,
y
=-
1
,
z
=
0
,
A
=
0
;
64
>
A
;
A
++
)
z
=
A
>>
3
,
y
=
4
*
(
7
&
A
),
x
=
s
+
z
*
G
+
y
,
N
+
z
>=
F
&&
(
x
-=
G
*
(
N
+
1
+
z
-
F
)),
f
+
y
>=
G
&&
(
x
-=
f
+
y
-
G
+
4
),
h
=
D
[
x
++
],
j
=
D
[
x
++
],
q
=
D
[
x
++
],
K
[
A
]
=
(
O
[
h
]
+
O
[
j
+
256
>>
0
]
+
O
[
q
+
512
>>
0
]
>>
16
)
-
128
,
L
[
A
]
=
(
O
[
h
+
768
>>
0
]
+
O
[
j
+
1024
>>
0
]
+
O
[
q
+
1280
>>
0
]
>>
16
)
-
128
,
M
[
A
]
=
(
O
[
h
+
1280
>>
0
]
+
O
[
j
+
1536
>>
0
]
+
O
[
q
+
1792
>>
0
]
>>
16
)
-
128
;
c
=
p
(
K
,
B
,
c
,
t
,
v
),
d
=
p
(
L
,
C
,
d
,
u
,
w
),
e
=
p
(
M
,
C
,
e
,
u
,
w
),
f
+=
32
}
N
+=
8
}
if
(
J
>=
0
){
var
P
=
[];
P
[
1
]
=
J
+
1
,
P
[
0
]
=
(
1
<<
J
+
1
)
-
1
,
g
(
P
)}
i
(
65497
);
var
Q
=
"
data:image/jpeg;base64,
"
+
btoa
(
H
.
join
(
""
));
return
H
=
[],
Q
},
s
()}
return
a
.
encode
=
function
(
b
,
c
){
var
d
=
new
a
(
c
);
return
d
.
encode
(
b
)},
a
}),
b
(
"
runtime/html5/androidpatch
"
,[
"
runtime/html5/util
"
,
"
runtime/html5/jpegencoder
"
,
"
base
"
],
function
(
a
,
b
,
c
){
var
d
,
e
=
a
.
canvasToDataUrl
;
a
.
canvasToDataUrl
=
function
(
a
,
f
,
g
){
var
h
,
i
,
j
,
k
,
l
;
return
c
.
os
.
android
?(
"
image/jpeg
"
===
f
&&
"
undefined
"
==
typeof
d
&&
(
k
=
e
.
apply
(
null
,
arguments
),
l
=
k
.
split
(
"
,
"
),
k
=~
l
[
0
].
indexOf
(
"
base64
"
)?
atob
(
l
[
1
]):
decodeURIComponent
(
l
[
1
]),
k
=
k
.
substring
(
0
,
2
),
d
=
255
===
k
.
charCodeAt
(
0
)
&&
216
===
k
.
charCodeAt
(
1
)),
"
image/jpeg
"
!==
f
||
d
?
e
.
apply
(
null
,
arguments
):(
i
=
a
.
width
,
j
=
a
.
height
,
h
=
a
.
getContext
(
"
2d
"
),
b
.
encode
(
h
.
getImageData
(
0
,
0
,
i
,
j
),
g
))):
e
.
apply
(
null
,
arguments
)}}),
b
(
"
runtime/html5/image
"
,[
"
base
"
,
"
runtime/html5/runtime
"
,
"
runtime/html5/util
"
],
function
(
a
,
b
,
c
){
var
d
=
"
data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D
"
;
return
b
.
register
(
"
Image
"
,{
modified
:
!
1
,
init
:
function
(){
var
a
=
this
,
b
=
new
Image
;
b
.
onload
=
function
(){
a
.
_info
=
{
type
:
a
.
type
,
width
:
this
.
width
,
height
:
this
.
height
},
a
.
_metas
||
"
image/jpeg
"
!==
a
.
type
?
a
.
owner
.
trigger
(
"
load
"
):
c
.
parseMeta
(
a
.
_blob
,
function
(
b
,
c
){
a
.
_metas
=
c
,
a
.
owner
.
trigger
(
"
load
"
)})},
b
.
onerror
=
function
(){
a
.
owner
.
trigger
(
"
error
"
)},
a
.
_img
=
b
},
loadFromBlob
:
function
(
a
){
var
b
=
this
,
d
=
b
.
_img
;
b
.
_blob
=
a
,
b
.
type
=
a
.
type
,
d
.
src
=
c
.
createObjectURL
(
a
.
getSource
()),
b
.
owner
.
once
(
"
load
"
,
function
(){
c
.
revokeObjectURL
(
d
.
src
)})},
resize
:
function
(
a
,
b
){
var
c
=
this
.
_canvas
||
(
this
.
_canvas
=
document
.
createElement
(
"
canvas
"
));
this
.
_resize
(
this
.
_img
,
c
,
a
,
b
),
this
.
_blob
=
null
,
this
.
modified
=!
0
,
this
.
owner
.
trigger
(
"
complete
"
,
"
resize
"
)},
crop
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
=
this
.
_canvas
||
(
this
.
_canvas
=
document
.
createElement
(
"
canvas
"
)),
g
=
this
.
options
,
h
=
this
.
_img
,
i
=
h
.
naturalWidth
,
j
=
h
.
naturalHeight
,
k
=
this
.
getOrientation
();
e
=
e
||
1
,
f
.
width
=
c
,
f
.
height
=
d
,
g
.
preserveHeaders
||
this
.
_rotate2Orientaion
(
f
,
k
),
this
.
_renderImageToCanvas
(
f
,
h
,
-
a
,
-
b
,
i
*
e
,
j
*
e
),
this
.
_blob
=
null
,
this
.
modified
=!
0
,
this
.
owner
.
trigger
(
"
complete
"
,
"
crop
"
)},
getAsBlob
:
function
(
a
){
var
b
,
d
=
this
.
_blob
,
e
=
this
.
options
;
if
(
a
=
a
||
this
.
type
,
this
.
modified
||
this
.
type
!==
a
){
if
(
b
=
this
.
_canvas
,
"
image/jpeg
"
===
a
){
if
(
d
=
c
.
canvasToDataUrl
(
b
,
a
,
e
.
quality
),
e
.
preserveHeaders
&&
this
.
_metas
&&
this
.
_metas
.
imageHead
)
return
d
=
c
.
dataURL2ArrayBuffer
(
d
),
d
=
c
.
updateImageHead
(
d
,
this
.
_metas
.
imageHead
),
d
=
c
.
arrayBufferToBlob
(
d
,
a
)}
else
d
=
c
.
canvasToDataUrl
(
b
,
a
);
d
=
c
.
dataURL2Blob
(
d
)}
return
d
},
getAsDataUrl
:
function
(
a
){
var
b
=
this
.
options
;
return
a
=
a
||
this
.
type
,
"
image/jpeg
"
===
a
?
c
.
canvasToDataUrl
(
this
.
_canvas
,
a
,
b
.
quality
):
this
.
_canvas
.
toDataURL
(
a
)},
getOrientation
:
function
(){
return
this
.
_metas
&&
this
.
_metas
.
exif
&&
this
.
_metas
.
exif
.
get
(
"
Orientation
"
)
||
1
},
info
:
function
(
a
){
return
a
?(
this
.
_info
=
a
,
this
):
this
.
_info
},
meta
:
function
(
a
){
return
a
?(
this
.
_meta
=
a
,
this
):
this
.
_meta
},
destroy
:
function
(){
var
a
=
this
.
_canvas
;
this
.
_img
.
onload
=
null
,
a
&&
(
a
.
getContext
(
"
2d
"
).
clearRect
(
0
,
0
,
a
.
width
,
a
.
height
),
a
.
width
=
a
.
height
=
0
,
this
.
_canvas
=
null
),
this
.
_img
.
src
=
d
,
this
.
_img
=
this
.
_blob
=
null
},
_resize
:
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
,
h
,
i
,
j
=
this
.
options
,
k
=
a
.
width
,
l
=
a
.
height
,
m
=
this
.
getOrientation
();
~
[
5
,
6
,
7
,
8
].
indexOf
(
m
)
&&
(
c
^=
d
,
d
^=
c
,
c
^=
d
),
e
=
Math
[
j
.
crop
?
"
max
"
:
"
min
"
](
c
/
k
,
d
/
l
),
j
.
allowMagnify
||
(
e
=
Math
.
min
(
1
,
e
)),
f
=
k
*
e
,
g
=
l
*
e
,
j
.
crop
?(
b
.
width
=
c
,
b
.
height
=
d
):(
b
.
width
=
f
,
b
.
height
=
g
),
h
=
(
b
.
width
-
f
)
/
2
,
i
=
(
b
.
height
-
g
)
/
2
,
j
.
preserveHeaders
||
this
.
_rotate2Orientaion
(
b
,
m
),
this
.
_renderImageToCanvas
(
b
,
a
,
h
,
i
,
f
,
g
)},
_rotate2Orientaion
:
function
(
a
,
b
){
var
c
=
a
.
width
,
d
=
a
.
height
,
e
=
a
.
getContext
(
"
2d
"
);
switch
(
b
){
case
5
:
case
6
:
case
7
:
case
8
:
a
.
width
=
d
,
a
.
height
=
c
}
switch
(
b
){
case
2
:
e
.
translate
(
c
,
0
),
e
.
scale
(
-
1
,
1
);
break
;
case
3
:
e
.
translate
(
c
,
d
),
e
.
rotate
(
Math
.
PI
);
break
;
case
4
:
e
.
translate
(
0
,
d
),
e
.
scale
(
1
,
-
1
);
break
;
case
5
:
e
.
rotate
(.
5
*
Math
.
PI
),
e
.
scale
(
1
,
-
1
);
break
;
case
6
:
e
.
rotate
(.
5
*
Math
.
PI
),
e
.
translate
(
0
,
-
d
);
break
;
case
7
:
e
.
rotate
(.
5
*
Math
.
PI
),
e
.
translate
(
c
,
-
d
),
e
.
scale
(
-
1
,
1
);
break
;
case
8
:
e
.
rotate
(
-
.
5
*
Math
.
PI
),
e
.
translate
(
-
c
,
0
)}},
_renderImageToCanvas
:
function
(){
function
b
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
=
document
.
createElement
(
"
canvas
"
),
h
=
g
.
getContext
(
"
2d
"
),
i
=
0
,
j
=
c
,
k
=
c
;
for
(
g
.
width
=
1
,
g
.
height
=
c
,
h
.
drawImage
(
a
,
0
,
0
),
d
=
h
.
getImageData
(
0
,
0
,
1
,
c
).
data
;
k
>
i
;)
e
=
d
[
4
*
(
k
-
1
)
+
3
],
0
===
e
?
j
=
k
:
i
=
k
,
k
=
j
+
i
>>
1
;
return
f
=
k
/
c
,
0
===
f
?
1
:
f
}
function
c
(
a
){
var
b
,
c
,
d
=
a
.
naturalWidth
,
e
=
a
.
naturalHeight
;
return
d
*
e
>
1048576
?(
b
=
document
.
createElement
(
"
canvas
"
),
b
.
width
=
b
.
height
=
1
,
c
=
b
.
getContext
(
"
2d
"
),
c
.
drawImage
(
a
,
-
d
+
1
,
0
),
0
===
c
.
getImageData
(
0
,
0
,
1
,
1
).
data
[
3
]):
!
1
}
return
a
.
os
.
ios
?
a
.
os
.
ios
>=
7
?
function
(
a
,
c
,
d
,
e
,
f
,
g
){
var
h
=
c
.
naturalWidth
,
i
=
c
.
naturalHeight
,
j
=
b
(
c
,
h
,
i
);
return
a
.
getContext
(
"
2d
"
).
drawImage
(
c
,
0
,
0
,
h
*
j
,
i
*
j
,
d
,
e
,
f
,
g
)}:
function
(
a
,
d
,
e
,
f
,
g
,
h
){
var
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
=
d
.
naturalWidth
,
q
=
d
.
naturalHeight
,
r
=
a
.
getContext
(
"
2d
"
),
s
=
c
(
d
),
t
=
"
image/jpeg
"
===
this
.
type
,
u
=
1024
,
v
=
0
,
w
=
0
;
for
(
s
&&
(
p
/=
2
,
q
/=
2
),
r
.
save
(),
i
=
document
.
createElement
(
"
canvas
"
),
i
.
width
=
i
.
height
=
u
,
j
=
i
.
getContext
(
"
2d
"
),
k
=
t
?
b
(
d
,
p
,
q
):
1
,
l
=
Math
.
ceil
(
u
*
g
/
p
),
m
=
Math
.
ceil
(
u
*
h
/
q
/
k
);
q
>
v
;){
for
(
n
=
0
,
o
=
0
;
p
>
n
;)
j
.
clearRect
(
0
,
0
,
u
,
u
),
j
.
drawImage
(
d
,
-
n
,
-
v
),
r
.
drawImage
(
i
,
0
,
0
,
u
,
u
,
e
+
o
,
f
+
w
,
l
,
m
),
n
+=
u
,
o
+=
l
;
v
+=
u
,
w
+=
m
}
r
.
restore
(),
i
=
j
=
null
}:
function
(
b
){
var
c
=
a
.
slice
(
arguments
,
1
),
d
=
b
.
getContext
(
"
2d
"
);
d
.
drawImage
.
apply
(
d
,
c
)}}()})}),
b
(
"
runtime/html5/transport
"
,[
"
base
"
,
"
runtime/html5/runtime
"
],
function
(
a
,
b
){
var
c
=
a
.
noop
,
d
=
a
.
$
;
return
b
.
register
(
"
Transport
"
,{
init
:
function
(){
this
.
_status
=
0
,
this
.
_response
=
null
},
send
:
function
(){
var
b
,
c
,
e
,
f
=
this
.
owner
,
g
=
this
.
options
,
h
=
this
.
_initAjax
(),
i
=
f
.
_blob
,
j
=
g
.
server
;
g
.
sendAsBinary
?(
j
+=
(
/
\?
/
.
test
(
j
)?
"
&
"
:
"
?
"
)
+
d
.
param
(
f
.
_formData
),
c
=
i
.
getSource
()):(
b
=
new
FormData
,
d
.
each
(
f
.
_formData
,
function
(
a
,
c
){
b
.
append
(
a
,
c
)}),
b
.
append
(
g
.
fileVal
,
i
.
getSource
(),
g
.
filename
||
f
.
_formData
.
name
||
""
)),
g
.
withCredentials
&&
"
withCredentials
"
in
h
?(
h
.
open
(
g
.
method
,
j
,
!
0
),
h
.
withCredentials
=!
0
):
h
.
open
(
g
.
method
,
j
),
this
.
_setRequestHeader
(
h
,
g
.
headers
),
c
?(
h
.
overrideMimeType
&&
h
.
overrideMimeType
(
"
application/octet-stream
"
),
a
.
os
.
android
?(
e
=
new
FileReader
,
e
.
onload
=
function
(){
h
.
send
(
this
.
result
),
e
=
e
.
onload
=
null
},
e
.
readAsArrayBuffer
(
c
)):
h
.
send
(
c
)):
h
.
send
(
b
)},
getResponse
:
function
(){
return
this
.
_response
},
getResponseAsJson
:
function
(){
return
this
.
_parseJson
(
this
.
_response
)},
getStatus
:
function
(){
return
this
.
_status
},
abort
:
function
(){
var
a
=
this
.
_xhr
;
a
&&
(
a
.
upload
.
onprogress
=
c
,
a
.
onreadystatechange
=
c
,
a
.
abort
(),
this
.
_xhr
=
a
=
null
)},
destroy
:
function
(){
this
.
abort
()},
_initAjax
:
function
(){
var
a
=
this
,
b
=
new
XMLHttpRequest
,
d
=
this
.
options
;
return
!
d
.
withCredentials
||
"
withCredentials
"
in
b
||
"
undefined
"
==
typeof
XDomainRequest
||
(
b
=
new
XDomainRequest
),
b
.
upload
.
onprogress
=
function
(
b
){
var
c
=
0
;
return
b
.
lengthComputable
&&
(
c
=
b
.
loaded
/
b
.
total
),
a
.
trigger
(
"
progress
"
,
c
)},
b
.
onreadystatechange
=
function
(){
return
4
===
b
.
readyState
?(
b
.
upload
.
onprogress
=
c
,
b
.
onreadystatechange
=
c
,
a
.
_xhr
=
null
,
a
.
_status
=
b
.
status
,
b
.
status
>=
200
&&
b
.
status
<
300
?(
a
.
_response
=
b
.
responseText
,
a
.
trigger
(
"
load
"
)):
b
.
status
>=
500
&&
b
.
status
<
600
?(
a
.
_response
=
b
.
responseText
,
a
.
trigger
(
"
error
"
,
"
server
"
)):
a
.
trigger
(
"
error
"
,
a
.
_status
?
"
http
"
:
"
abort
"
)):
void
0
},
a
.
_xhr
=
b
,
b
},
_setRequestHeader
:
function
(
a
,
b
){
d
.
each
(
b
,
function
(
b
,
c
){
a
.
setRequestHeader
(
b
,
c
)})},
_parseJson
:
function
(
a
){
var
b
;
try
{
b
=
JSON
.
parse
(
a
)}
catch
(
c
){
b
=
{}}
return
b
}})}),
b
(
"
runtime/html5/md5
"
,[
"
runtime/html5/runtime
"
],
function
(
a
){
var
b
=
function
(
a
,
b
){
return
a
+
b
&
4294967295
},
c
=
function
(
a
,
c
,
d
,
e
,
f
,
g
){
return
c
=
b
(
b
(
c
,
a
),
b
(
e
,
g
)),
b
(
c
<<
f
|
c
>>>
32
-
f
,
d
)},
d
=
function
(
a
,
b
,
d
,
e
,
f
,
g
,
h
){
return
c
(
b
&
d
|~
b
&
e
,
a
,
b
,
f
,
g
,
h
)},
e
=
function
(
a
,
b
,
d
,
e
,
f
,
g
,
h
){
return
c
(
b
&
e
|
d
&~
e
,
a
,
b
,
f
,
g
,
h
)},
f
=
function
(
a
,
b
,
d
,
e
,
f
,
g
,
h
){
return
c
(
b
^
d
^
e
,
a
,
b
,
f
,
g
,
h
)},
g
=
function
(
a
,
b
,
d
,
e
,
f
,
g
,
h
){
return
c
(
d
^
(
b
|~
e
),
a
,
b
,
f
,
g
,
h
)},
h
=
function
(
a
,
c
){
var
h
=
a
[
0
],
i
=
a
[
1
],
j
=
a
[
2
],
k
=
a
[
3
];
h
=
d
(
h
,
i
,
j
,
k
,
c
[
0
],
7
,
-
680876936
),
k
=
d
(
k
,
h
,
i
,
j
,
c
[
1
],
12
,
-
389564586
),
j
=
d
(
j
,
k
,
h
,
i
,
c
[
2
],
17
,
606105819
),
i
=
d
(
i
,
j
,
k
,
h
,
c
[
3
],
22
,
-
1044525330
),
h
=
d
(
h
,
i
,
j
,
k
,
c
[
4
],
7
,
-
176418897
),
k
=
d
(
k
,
h
,
i
,
j
,
c
[
5
],
12
,
1200080426
),
j
=
d
(
j
,
k
,
h
,
i
,
c
[
6
],
17
,
-
1473231341
),
i
=
d
(
i
,
j
,
k
,
h
,
c
[
7
],
22
,
-
45705983
),
h
=
d
(
h
,
i
,
j
,
k
,
c
[
8
],
7
,
1770035416
),
k
=
d
(
k
,
h
,
i
,
j
,
c
[
9
],
12
,
-
1958414417
),
j
=
d
(
j
,
k
,
h
,
i
,
c
[
10
],
17
,
-
42063
),
i
=
d
(
i
,
j
,
k
,
h
,
c
[
11
],
22
,
-
1990404162
),
h
=
d
(
h
,
i
,
j
,
k
,
c
[
12
],
7
,
1804603682
),
k
=
d
(
k
,
h
,
i
,
j
,
c
[
13
],
12
,
-
40341101
),
j
=
d
(
j
,
k
,
h
,
i
,
c
[
14
],
17
,
-
1502002290
),
i
=
d
(
i
,
j
,
k
,
h
,
c
[
15
],
22
,
1236535329
),
h
=
e
(
h
,
i
,
j
,
k
,
c
[
1
],
5
,
-
165796510
),
k
=
e
(
k
,
h
,
i
,
j
,
c
[
6
],
9
,
-
1069501632
),
j
=
e
(
j
,
k
,
h
,
i
,
c
[
11
],
14
,
643717713
),
i
=
e
(
i
,
j
,
k
,
h
,
c
[
0
],
20
,
-
373897302
),
h
=
e
(
h
,
i
,
j
,
k
,
c
[
5
],
5
,
-
701558691
),
k
=
e
(
k
,
h
,
i
,
j
,
c
[
10
],
9
,
38016083
),
j
=
e
(
j
,
k
,
h
,
i
,
c
[
15
],
14
,
-
660478335
),
i
=
e
(
i
,
j
,
k
,
h
,
c
[
4
],
20
,
-
405537848
),
h
=
e
(
h
,
i
,
j
,
k
,
c
[
9
],
5
,
568446438
),
k
=
e
(
k
,
h
,
i
,
j
,
c
[
14
],
9
,
-
1019803690
),
j
=
e
(
j
,
k
,
h
,
i
,
c
[
3
],
14
,
-
187363961
),
i
=
e
(
i
,
j
,
k
,
h
,
c
[
8
],
20
,
1163531501
),
h
=
e
(
h
,
i
,
j
,
k
,
c
[
13
],
5
,
-
1444681467
),
k
=
e
(
k
,
h
,
i
,
j
,
c
[
2
],
9
,
-
51403784
),
j
=
e
(
j
,
k
,
h
,
i
,
c
[
7
],
14
,
1735328473
),
i
=
e
(
i
,
j
,
k
,
h
,
c
[
12
],
20
,
-
1926607734
),
h
=
f
(
h
,
i
,
j
,
k
,
c
[
5
],
4
,
-
378558
),
k
=
f
(
k
,
h
,
i
,
j
,
c
[
8
],
11
,
-
2022574463
),
j
=
f
(
j
,
k
,
h
,
i
,
c
[
11
],
16
,
1839030562
),
i
=
f
(
i
,
j
,
k
,
h
,
c
[
14
],
23
,
-
35309556
),
h
=
f
(
h
,
i
,
j
,
k
,
c
[
1
],
4
,
-
1530992060
),
k
=
f
(
k
,
h
,
i
,
j
,
c
[
4
],
11
,
1272893353
),
j
=
f
(
j
,
k
,
h
,
i
,
c
[
7
],
16
,
-
155497632
),
i
=
f
(
i
,
j
,
k
,
h
,
c
[
10
],
23
,
-
1094730640
),
h
=
f
(
h
,
i
,
j
,
k
,
c
[
13
],
4
,
681279174
),
k
=
f
(
k
,
h
,
i
,
j
,
c
[
0
],
11
,
-
358537222
),
j
=
f
(
j
,
k
,
h
,
i
,
c
[
3
],
16
,
-
722521979
),
i
=
f
(
i
,
j
,
k
,
h
,
c
[
6
],
23
,
76029189
),
h
=
f
(
h
,
i
,
j
,
k
,
c
[
9
],
4
,
-
640364487
),
k
=
f
(
k
,
h
,
i
,
j
,
c
[
12
],
11
,
-
421815835
),
j
=
f
(
j
,
k
,
h
,
i
,
c
[
15
],
16
,
530742520
),
i
=
f
(
i
,
j
,
k
,
h
,
c
[
2
],
23
,
-
995338651
),
h
=
g
(
h
,
i
,
j
,
k
,
c
[
0
],
6
,
-
198630844
),
k
=
g
(
k
,
h
,
i
,
j
,
c
[
7
],
10
,
1126891415
),
j
=
g
(
j
,
k
,
h
,
i
,
c
[
14
],
15
,
-
1416354905
),
i
=
g
(
i
,
j
,
k
,
h
,
c
[
5
],
21
,
-
57434055
),
h
=
g
(
h
,
i
,
j
,
k
,
c
[
12
],
6
,
1700485571
),
k
=
g
(
k
,
h
,
i
,
j
,
c
[
3
],
10
,
-
1894986606
),
j
=
g
(
j
,
k
,
h
,
i
,
c
[
10
],
15
,
-
1051523
),
i
=
g
(
i
,
j
,
k
,
h
,
c
[
1
],
21
,
-
2054922799
),
h
=
g
(
h
,
i
,
j
,
k
,
c
[
8
],
6
,
1873313359
),
k
=
g
(
k
,
h
,
i
,
j
,
c
[
15
],
10
,
-
30611744
),
j
=
g
(
j
,
k
,
h
,
i
,
c
[
6
],
15
,
-
1560198380
),
i
=
g
(
i
,
j
,
k
,
h
,
c
[
13
],
21
,
1309151649
),
h
=
g
(
h
,
i
,
j
,
k
,
c
[
4
],
6
,
-
145523070
),
k
=
g
(
k
,
h
,
i
,
j
,
c
[
11
],
10
,
-
1120210379
),
j
=
g
(
j
,
k
,
h
,
i
,
c
[
2
],
15
,
718787259
),
i
=
g
(
i
,
j
,
k
,
h
,
c
[
9
],
21
,
-
343485551
),
a
[
0
]
=
b
(
h
,
a
[
0
]),
a
[
1
]
=
b
(
i
,
a
[
1
]),
a
[
2
]
=
b
(
j
,
a
[
2
]),
a
[
3
]
=
b
(
k
,
a
[
3
])},
i
=
function
(
a
){
var
b
,
c
=
[];
for
(
b
=
0
;
64
>
b
;
b
+=
4
)
c
[
b
>>
2
]
=
a
.
charCodeAt
(
b
)
+
(
a
.
charCodeAt
(
b
+
1
)
<<
8
)
+
(
a
.
charCodeAt
(
b
+
2
)
<<
16
)
+
(
a
.
charCodeAt
(
b
+
3
)
<<
24
);
return
c
},
j
=
function
(
a
){
var
b
,
c
=
[];
for
(
b
=
0
;
64
>
b
;
b
+=
4
)
c
[
b
>>
2
]
=
a
[
b
]
+
(
a
[
b
+
1
]
<<
8
)
+
(
a
[
b
+
2
]
<<
16
)
+
(
a
[
b
+
3
]
<<
24
);
return
c
},
k
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
j
=
a
.
length
,
k
=
[
1732584193
,
-
271733879
,
-
1732584194
,
271733878
];
for
(
b
=
64
;
j
>=
b
;
b
+=
64
)
h
(
k
,
i
(
a
.
substring
(
b
-
64
,
b
)));
for
(
a
=
a
.
substring
(
b
-
64
),
c
=
a
.
length
,
d
=
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
b
=
0
;
c
>
b
;
b
+=
1
)
d
[
b
>>
2
]
|=
a
.
charCodeAt
(
b
)
<<
(
b
%
4
<<
3
);
if
(
d
[
b
>>
2
]
|=
128
<<
(
b
%
4
<<
3
),
b
>
55
)
for
(
h
(
k
,
d
),
b
=
0
;
16
>
b
;
b
+=
1
)
d
[
b
]
=
0
;
return
e
=
8
*
j
,
e
=
e
.
toString
(
16
).
match
(
/
(
.*
?)(
.
{0,8})
$/
),
f
=
parseInt
(
e
[
2
],
16
),
g
=
parseInt
(
e
[
1
],
16
)
||
0
,
d
[
14
]
=
f
,
d
[
15
]
=
g
,
h
(
k
,
d
),
k
},
l
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
i
=
a
.
length
,
k
=
[
1732584193
,
-
271733879
,
-
1732584194
,
271733878
];
for
(
b
=
64
;
i
>=
b
;
b
+=
64
)
h
(
k
,
j
(
a
.
subarray
(
b
-
64
,
b
)));
for
(
a
=
i
>
b
-
64
?
a
.
subarray
(
b
-
64
):
new
Uint8Array
(
0
),
c
=
a
.
length
,
d
=
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
b
=
0
;
c
>
b
;
b
+=
1
)
d
[
b
>>
2
]
|=
a
[
b
]
<<
(
b
%
4
<<
3
);
if
(
d
[
b
>>
2
]
|=
128
<<
(
b
%
4
<<
3
),
b
>
55
)
for
(
h
(
k
,
d
),
b
=
0
;
16
>
b
;
b
+=
1
)
d
[
b
]
=
0
;
return
e
=
8
*
i
,
e
=
e
.
toString
(
16
).
match
(
/
(
.*
?)(
.
{0,8})
$/
),
f
=
parseInt
(
e
[
2
],
16
),
g
=
parseInt
(
e
[
1
],
16
)
||
0
,
d
[
14
]
=
f
,
d
[
15
]
=
g
,
h
(
k
,
d
),
k
},
m
=
[
"
0
"
,
"
1
"
,
"
2
"
,
"
3
"
,
"
4
"
,
"
5
"
,
"
6
"
,
"
7
"
,
"
8
"
,
"
9
"
,
"
a
"
,
"
b
"
,
"
c
"
,
"
d
"
,
"
e
"
,
"
f
"
],
n
=
function
(
a
){
var
b
,
c
=
""
;
for
(
b
=
0
;
4
>
b
;
b
+=
1
)
c
+=
m
[
a
>>
8
*
b
+
4
&
15
]
+
m
[
a
>>
8
*
b
&
15
];
return
c
},
o
=
function
(
a
){
var
b
;
for
(
b
=
0
;
b
<
a
.
length
;
b
+=
1
)
a
[
b
]
=
n
(
a
[
b
]);
return
a
.
join
(
""
)},
p
=
function
(
a
){
return
o
(
k
(
a
))},
q
=
function
(){
this
.
reset
()};
return
"
5d41402abc4b2a76b9719d911017c592
"
!==
p
(
"
hello
"
)
&&
(
b
=
function
(
a
,
b
){
var
c
=
(
65535
&
a
)
+
(
65535
&
b
),
d
=
(
a
>>
16
)
+
(
b
>>
16
)
+
(
c
>>
16
);
return
d
<<
16
|
65535
&
c
}),
q
.
prototype
.
append
=
function
(
a
){
return
/
[\u
0080-
\u
FFFF
]
/
.
test
(
a
)
&&
(
a
=
unescape
(
encodeURIComponent
(
a
))),
this
.
appendBinary
(
a
),
this
},
q
.
prototype
.
appendBinary
=
function
(
a
){
this
.
_buff
+=
a
,
this
.
_length
+=
a
.
length
;
var
b
,
c
=
this
.
_buff
.
length
;
for
(
b
=
64
;
c
>=
b
;
b
+=
64
)
h
(
this
.
_state
,
i
(
this
.
_buff
.
substring
(
b
-
64
,
b
)));
return
this
.
_buff
=
this
.
_buff
.
substr
(
b
-
64
),
this
},
q
.
prototype
.
end
=
function
(
a
){
var
b
,
c
,
d
=
this
.
_buff
,
e
=
d
.
length
,
f
=
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
];
for
(
b
=
0
;
e
>
b
;
b
+=
1
)
f
[
b
>>
2
]
|=
d
.
charCodeAt
(
b
)
<<
(
b
%
4
<<
3
);
return
this
.
_finish
(
f
,
e
),
c
=
a
?
this
.
_state
:
o
(
this
.
_state
),
this
.
reset
(),
c
},
q
.
prototype
.
_finish
=
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
b
;
if
(
a
[
f
>>
2
]
|=
128
<<
(
f
%
4
<<
3
),
f
>
55
)
for
(
h
(
this
.
_state
,
a
),
f
=
0
;
16
>
f
;
f
+=
1
)
a
[
f
]
=
0
;
c
=
8
*
this
.
_length
,
c
=
c
.
toString
(
16
).
match
(
/
(
.*
?)(
.
{0,8})
$/
),
d
=
parseInt
(
c
[
2
],
16
),
e
=
parseInt
(
c
[
1
],
16
)
||
0
,
a
[
14
]
=
d
,
a
[
15
]
=
e
,
h
(
this
.
_state
,
a
)},
q
.
prototype
.
reset
=
function
(){
return
this
.
_buff
=
""
,
this
.
_length
=
0
,
this
.
_state
=
[
1732584193
,
-
271733879
,
-
1732584194
,
271733878
],
this
},
q
.
prototype
.
destroy
=
function
(){
delete
this
.
_state
,
delete
this
.
_buff
,
delete
this
.
_length
},
q
.
hash
=
function
(
a
,
b
){
/
[\u
0080-
\u
FFFF
]
/
.
test
(
a
)
&&
(
a
=
unescape
(
encodeURIComponent
(
a
)));
var
c
=
k
(
a
);
return
b
?
c
:
o
(
c
)},
q
.
hashBinary
=
function
(
a
,
b
){
var
c
=
k
(
a
);
return
b
?
c
:
o
(
c
)},
q
.
ArrayBuffer
=
function
(){
this
.
reset
()},
q
.
ArrayBuffer
.
prototype
.
append
=
function
(
a
){
var
b
,
c
=
this
.
_concatArrayBuffer
(
this
.
_buff
,
a
),
d
=
c
.
length
;
for
(
this
.
_length
+=
a
.
byteLength
,
b
=
64
;
d
>=
b
;
b
+=
64
)
h
(
this
.
_state
,
j
(
c
.
subarray
(
b
-
64
,
b
)));
return
this
.
_buff
=
d
>
b
-
64
?
c
.
subarray
(
b
-
64
):
new
Uint8Array
(
0
),
this
},
q
.
ArrayBuffer
.
prototype
.
end
=
function
(
a
){
var
b
,
c
,
d
=
this
.
_buff
,
e
=
d
.
length
,
f
=
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
];
for
(
b
=
0
;
e
>
b
;
b
+=
1
)
f
[
b
>>
2
]
|=
d
[
b
]
<<
(
b
%
4
<<
3
);
return
this
.
_finish
(
f
,
e
),
c
=
a
?
this
.
_state
:
o
(
this
.
_state
),
this
.
reset
(),
c
},
q
.
ArrayBuffer
.
prototype
.
_finish
=
q
.
prototype
.
_finish
,
q
.
ArrayBuffer
.
prototype
.
reset
=
function
(){
return
this
.
_buff
=
new
Uint8Array
(
0
),
this
.
_length
=
0
,
this
.
_state
=
[
1732584193
,
-
271733879
,
-
1732584194
,
271733878
],
this
},
q
.
ArrayBuffer
.
prototype
.
destroy
=
q
.
prototype
.
destroy
,
q
.
ArrayBuffer
.
prototype
.
_concatArrayBuffer
=
function
(
a
,
b
){
var
c
=
a
.
length
,
d
=
new
Uint8Array
(
c
+
b
.
byteLength
);
return
d
.
set
(
a
),
d
.
set
(
new
Uint8Array
(
b
),
c
),
d
},
q
.
ArrayBuffer
.
hash
=
function
(
a
,
b
){
var
c
=
l
(
new
Uint8Array
(
a
));
return
b
?
c
:
o
(
c
)},
a
.
register
(
"
Md5
"
,{
init
:
function
(){},
loadFromBlob
:
function
(
a
){
var
b
,
c
,
d
=
a
.
getSource
(),
e
=
2097152
,
f
=
Math
.
ceil
(
d
.
size
/
e
),
g
=
0
,
h
=
this
.
owner
,
i
=
new
q
.
ArrayBuffer
,
j
=
this
,
k
=
d
.
mozSlice
||
d
.
webkitSlice
||
d
.
slice
;
c
=
new
FileReader
,(
b
=
function
(){
var
l
,
m
;
l
=
g
*
e
,
m
=
Math
.
min
(
l
+
e
,
d
.
size
),
c
.
onload
=
function
(
b
){
i
.
append
(
b
.
target
.
result
),
h
.
trigger
(
"
progress
"
,{
total
:
a
.
size
,
loaded
:
m
})},
c
.
onloadend
=
function
(){
c
.
onloadend
=
c
.
onload
=
null
,
++
g
<
f
?
setTimeout
(
b
,
1
):
setTimeout
(
function
(){
h
.
trigger
(
"
load
"
),
j
.
result
=
i
.
end
(),
b
=
a
=
d
=
i
=
null
,
h
.
trigger
(
"
complete
"
)},
50
)},
c
.
readAsArrayBuffer
(
k
.
call
(
d
,
l
,
m
))})()},
getResult
:
function
(){
return
this
.
result
}})}),
b
(
"
runtime/flash/runtime
"
,[
"
base
"
,
"
runtime/runtime
"
,
"
runtime/compbase
"
],
function
(
b
,
c
,
d
){
function
e
(){
var
a
;
try
{
a
=
navigator
.
plugins
[
"
Shockwave Flash
"
],
a
=
a
.
description
}
catch
(
b
){
try
{
a
=
new
ActiveXObject
(
"
ShockwaveFlash.ShockwaveFlash
"
).
GetVariable
(
"
$version
"
)}
catch
(
c
){
a
=
"
0.0
"
}}
return
a
=
a
.
match
(
/
\d
+/g
),
parseFloat
(
a
[
0
]
+
"
.
"
+
a
[
1
],
10
)}
function
f
(){
function
d
(
a
,
b
){
var
c
,
d
,
e
=
a
.
type
||
a
;
c
=
e
.
split
(
"
::
"
),
d
=
c
[
0
],
e
=
c
[
1
],
"
Ready
"
===
e
&&
d
===
j
.
uid
?
j
.
trigger
(
"
ready
"
):
f
[
d
]
&&
f
[
d
].
trigger
(
e
.
toLowerCase
(),
a
,
b
)}
var
e
=
{},
f
=
{},
g
=
this
.
destroy
,
j
=
this
,
k
=
b
.
guid
(
"
webuploader_
"
);
c
.
apply
(
j
,
arguments
),
j
.
type
=
h
,
j
.
exec
=
function
(
a
,
c
){
var
d
,
g
=
this
,
h
=
g
.
uid
,
k
=
b
.
slice
(
arguments
,
2
);
return
f
[
h
]
=
g
,
i
[
a
]
&&
(
e
[
h
]
||
(
e
[
h
]
=
new
i
[
a
](
g
,
j
)),
d
=
e
[
h
],
d
[
c
])?
d
[
c
].
apply
(
d
,
k
):
j
.
flashExec
.
apply
(
g
,
arguments
)},
a
[
k
]
=
function
(){
var
a
=
arguments
;
setTimeout
(
function
(){
d
.
apply
(
null
,
a
)},
1
)},
this
.
jsreciver
=
k
,
this
.
destroy
=
function
(){
return
g
&&
g
.
apply
(
this
,
arguments
)},
this
.
flashExec
=
function
(
a
,
c
){
var
d
=
j
.
getFlash
(),
e
=
b
.
slice
(
arguments
,
2
);
return
d
.
exec
(
this
.
uid
,
a
,
c
,
e
)}}
var
g
=
b
.
$
,
h
=
"
flash
"
,
i
=
{};
return
b
.
inherits
(
c
,{
constructor
:
f
,
init
:
function
(){
var
a
,
c
=
this
.
getContainer
(),
d
=
this
.
options
;
c
.
css
({
position
:
"
absolute
"
,
top
:
"
-8px
"
,
left
:
"
-8px
"
,
width
:
"
9px
"
,
height
:
"
9px
"
,
overflow
:
"
hidden
"
}),
a
=
'
<object id="
'
+
this
.
uid
+
'
" type="application/x-shockwave-flash" data="
'
+
d
.
swf
+
'
"
'
,
b
.
browser
.
ie
&&
(
a
+=
'
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
'
),
a
+=
'
width="100%" height="100%" style="outline:0"><param name="movie" value="
'
+
d
.
swf
+
'
" /><param name="flashvars" value="uid=
'
+
this
.
uid
+
"
&jsreciver=
"
+
this
.
jsreciver
+
'
" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>
'
,
c
.
html
(
a
)},
getFlash
:
function
(){
return
this
.
_flash
?
this
.
_flash
:(
this
.
_flash
=
g
(
"
#
"
+
this
.
uid
).
get
(
0
),
this
.
_flash
)}}),
f
.
register
=
function
(
a
,
c
){
return
c
=
i
[
a
]
=
b
.
inherits
(
d
,
g
.
extend
({
flashExec
:
function
(){
var
a
=
this
.
owner
,
b
=
this
.
getRuntime
();
return
b
.
flashExec
.
apply
(
a
,
arguments
)}},
c
))},
e
()
>=
11.4
&&
c
.
addRuntime
(
h
,
f
),
f
}),
b
(
"
runtime/flash/filepicker
"
,[
"
base
"
,
"
runtime/flash/runtime
"
],
function
(
a
,
b
){
var
c
=
a
.
$
;
return
b
.
register
(
"
FilePicker
"
,{
init
:
function
(
a
){
var
b
,
d
,
e
=
c
.
extend
({},
a
);
for
(
b
=
e
.
accept
&&
e
.
accept
.
length
,
d
=
0
;
b
>
d
;
d
++
)
e
.
accept
[
d
].
title
||
(
e
.
accept
[
d
].
title
=
"
Files
"
);
delete
e
.
button
,
delete
e
.
id
,
delete
e
.
container
,
this
.
flashExec
(
"
FilePicker
"
,
"
init
"
,
e
)},
destroy
:
function
(){
this
.
flashExec
(
"
FilePicker
"
,
"
destroy
"
)}})}),
b
(
"
runtime/flash/image
"
,[
"
runtime/flash/runtime
"
],
function
(
a
){
return
a
.
register
(
"
Image
"
,{
loadFromBlob
:
function
(
a
){
var
b
=
this
.
owner
;
b
.
info
()
&&
this
.
flashExec
(
"
Image
"
,
"
info
"
,
b
.
info
()),
b
.
meta
()
&&
this
.
flashExec
(
"
Image
"
,
"
meta
"
,
b
.
meta
()),
this
.
flashExec
(
"
Image
"
,
"
loadFromBlob
"
,
a
.
uid
)}})}),
b
(
"
runtime/flash/transport
"
,[
"
base
"
,
"
runtime/flash/runtime
"
,
"
runtime/client
"
],
function
(
b
,
c
,
d
){
var
e
=
b
.
$
;
return
c
.
register
(
"
Transport
"
,{
init
:
function
(){
this
.
_status
=
0
,
this
.
_response
=
null
,
this
.
_responseJson
=
null
},
send
:
function
(){
var
a
,
b
=
this
.
owner
,
c
=
this
.
options
,
d
=
this
.
_initAjax
(),
f
=
b
.
_blob
,
g
=
c
.
server
;
d
.
connectRuntime
(
f
.
ruid
),
c
.
sendAsBinary
?(
g
+=
(
/
\?
/
.
test
(
g
)?
"
&
"
:
"
?
"
)
+
e
.
param
(
b
.
_formData
),
a
=
f
.
uid
):(
e
.
each
(
b
.
_formData
,
function
(
a
,
b
){
d
.
exec
(
"
append
"
,
a
,
b
)}),
d
.
exec
(
"
appendBlob
"
,
c
.
fileVal
,
f
.
uid
,
c
.
filename
||
b
.
_formData
.
name
||
""
)),
this
.
_setRequestHeader
(
d
,
c
.
headers
),
d
.
exec
(
"
send
"
,{
method
:
c
.
method
,
url
:
g
,
forceURLStream
:
c
.
forceURLStream
,
mimeType
:
"
application/octet-stream
"
},
a
)},
getStatus
:
function
(){
return
this
.
_status
},
getResponse
:
function
(){
return
this
.
_response
||
""
},
getResponseAsJson
:
function
(){
return
this
.
_responseJson
},
abort
:
function
(){
var
a
=
this
.
_xhr
;
a
&&
(
a
.
exec
(
"
abort
"
),
a
.
destroy
(),
this
.
_xhr
=
a
=
null
)},
destroy
:
function
(){
this
.
abort
()},
_initAjax
:
function
(){
var
b
=
this
,
c
=
new
d
(
"
XMLHttpRequest
"
);
return
c
.
on
(
"
uploadprogress progress
"
,
function
(
a
){
var
c
=
a
.
loaded
/
a
.
total
;
return
c
=
Math
.
min
(
1
,
Math
.
max
(
0
,
c
)),
b
.
trigger
(
"
progress
"
,
c
)}),
c
.
on
(
"
load
"
,
function
(){
var
d
,
e
=
c
.
exec
(
"
getStatus
"
),
f
=!
1
,
g
=
""
;
return
c
.
off
(),
b
.
_xhr
=
null
,
e
>=
200
&&
300
>
e
?
f
=!
0
:
e
>=
500
&&
600
>
e
?(
f
=!
0
,
g
=
"
server
"
):
g
=
"
http
"
,
f
&&
(
b
.
_response
=
c
.
exec
(
"
getResponse
"
),
b
.
_response
=
decodeURIComponent
(
b
.
_response
),
d
=
a
.
JSON
&&
a
.
JSON
.
parse
||
function
(
a
){
try
{
return
new
Function
(
"
return
"
+
a
).
call
()}
catch
(
b
){
return
{}}},
b
.
_responseJson
=
b
.
_response
?
d
(
b
.
_response
):{}),
c
.
destroy
(),
c
=
null
,
g
?
b
.
trigger
(
"
error
"
,
g
):
b
.
trigger
(
"
load
"
)}),
c
.
on
(
"
error
"
,
function
(){
c
.
off
(),
b
.
_xhr
=
null
,
b
.
trigger
(
"
error
"
,
"
http
"
)}),
b
.
_xhr
=
c
,
c
},
_setRequestHeader
:
function
(
a
,
b
){
e
.
each
(
b
,
function
(
b
,
c
){
a
.
exec
(
"
setRequestHeader
"
,
b
,
c
)})}})}),
b
(
"
runtime/flash/blob
"
,[
"
runtime/flash/runtime
"
,
"
lib/blob
"
],
function
(
a
,
b
){
return
a
.
register
(
"
Blob
"
,{
slice
:
function
(
a
,
c
){
var
d
=
this
.
flashExec
(
"
Blob
"
,
"
slice
"
,
a
,
c
);
return
new
b
(
d
.
uid
,
d
)}})}),
b
(
"
runtime/flash/md5
"
,[
"
runtime/flash/runtime
"
],
function
(
a
){
return
a
.
register
(
"
Md5
"
,{
init
:
function
(){},
loadFromBlob
:
function
(
a
){
return
this
.
flashExec
(
"
Md5
"
,
"
loadFromBlob
"
,
a
.
uid
)}})}),
b
(
"
preset/all
"
,[
"
base
"
,
"
widgets/filednd
"
,
"
widgets/filepaste
"
,
"
widgets/filepicker
"
,
"
widgets/image
"
,
"
widgets/queue
"
,
"
widgets/runtime
"
,
"
widgets/upload
"
,
"
widgets/validator
"
,
"
widgets/md5
"
,
"
runtime/html5/blob
"
,
"
runtime/html5/dnd
"
,
"
runtime/html5/filepaste
"
,
"
runtime/html5/filepicker
"
,
"
runtime/html5/imagemeta/exif
"
,
"
runtime/html5/androidpatch
"
,
"
runtime/html5/image
"
,
"
runtime/html5/transport
"
,
"
runtime/html5/md5
"
,
"
runtime/flash/filepicker
"
,
"
runtime/flash/image
"
,
"
runtime/flash/transport
"
,
"
runtime/flash/blob
"
,
"
runtime/flash/md5
"
],
function
(
a
){
return
a
}),
b
(
"
widgets/log
"
,[
"
base
"
,
"
uploader
"
,
"
widgets/widget
"
],
function
(
a
,
b
){
function
c
(
a
){
var
b
=
e
.
extend
({},
d
,
a
),
c
=
f
.
replace
(
/^
(
.*
)\?
/
,
"
$1
"
+
e
.
param
(
b
)),
g
=
new
Image
;
g
.
src
=
c
}
var
d
,
e
=
a
.
$
,
f
=
"
http://static.tieba.baidu.com/tb/pms/img/st.gif??
"
,
g
=
(
location
.
hostname
||
location
.
host
||
"
protected
"
).
toLowerCase
(),
h
=
g
&&
/baidu/i
.
exec
(
g
);
if
(
h
)
return
d
=
{
dv
:
3
,
master
:
"
webuploader
"
,
online
:
/test/
.
exec
(
g
)?
0
:
1
,
module
:
""
,
product
:
g
,
type
:
0
},
b
.
register
({
name
:
"
log
"
,
init
:
function
(){
var
a
=
this
.
owner
,
b
=
0
,
d
=
0
;
a
.
on
(
"
error
"
,
function
(
a
){
c
({
type
:
2
,
c_error_code
:
a
})}).
on
(
"
uploadError
"
,
function
(
a
,
b
){
c
({
type
:
2
,
c_error_code
:
"
UPLOAD_ERROR
"
,
c_reason
:
""
+
b
})}).
on
(
"
uploadComplete
"
,
function
(
a
){
b
++
,
d
+=
a
.
size
}).
on
(
"
uploadFinished
"
,
function
(){
c
({
c_count
:
b
,
c_size
:
d
}),
b
=
d
=
0
}),
c
({
c_usage
:
1
})}})}),
b
(
"
webuploader
"
,[
"
preset/all
"
,
"
widgets/log
"
],
function
(
a
){
return
a
}),
c
(
"
webuploader
"
)});
\ No newline at end of file
mall-demo/src/main/resources/static/plugins/zTree_v3/css/awesomeStyle/awesome.css
deleted
100644 → 0
View file @
0b285dd3
/*-------------------------------------
zTree Style using fontawesome instead of images
version: 1.1
author: Mike King
email: mikkelking @ hotmail . com
website: http://code.google.com/p/jquerytree/
-------------------------------------*/
/* Definitions ----------------------*/
/* End of Definitions ---------------*/
/* Imports -------------------------*/
/* End of Imports ------------------*/
.ztree
*
{
padding
:
0
;
margin
:
0
;
font-size
:
12px
;
font-family
:
Verdana
,
Arial
,
Helvetica
,
AppleGothic
,
sans-serif
;
background-color
:
#af0000
;
}
.ztree
{
margin
:
0
;
padding
:
5px
;
color
:
#ffffff
;
background-color
:
#af0000
;
}
.ztree
li
{
padding
:
0
;
margin
:
0
;
list-style
:
none
;
line-height
:
17px
;
text-align
:
left
;
white-space
:
nowrap
;
outline
:
0
;
}
.ztree
li
ul
{
margin
:
0px
;
padding
:
0
0
0
18px
;
}
.ztree
li
a
{
padding-right
:
3px
;
margin
:
0
;
cursor
:
pointer
;
height
:
17px
;
color
:
#ffffff
;
background-color
:
transparent
;
text-decoration
:
none
;
vertical-align
:
top
;
display
:
inline-block
;
}
.ztree
li
a
input
.rename
{
height
:
14px
;
width
:
80px
;
padding
:
0
;
margin
:
0
;
color
:
#af0000
;
background-color
:
#ffffff
;
font-size
:
12px
;
border
:
1px
#585956
solid
;
*
border
:
0px
;
}
.ztree
li
a
:hover
{
text-decoration
:
underline
;
}
.ztree
li
a
.curSelectedNode
{
padding-top
:
0px
;
background-color
:
#af4040
;
color
:
#ffff00
;
height
:
17px
;
opacity
:
0.8
;
}
.ztree
li
a
.curSelectedNode_Edit
{
padding-top
:
0px
;
background-color
:
transparent
;
color
:
#ffff00
;
height
:
17px
;
border
:
1px
#666
solid
;
opacity
:
0.8
;
}
.ztree
li
a
.tmpTargetNode_inner
{
padding-top
:
0px
;
background-color
:
#aaa
;
color
:
#ffff00
;
height
:
17px
;
border
:
1px
#666
solid
;
opacity
:
0.8
;
filter
:
alpha
(
opacity
=
80
);
}
.ztree
li
span
{
line-height
:
17px
;
margin-right
:
2px
;
background-color
:
transparent
;
}
.ztree
li
span
.button
{
line-height
:
0
;
margin
:
0
;
padding
:
0
;
width
:
15px
;
height
:
17px
;
display
:
inline-block
;
vertical-align
:
top
;
border
:
0px
solid
;
cursor
:
pointer
;
outline
:
none
;
background-color
:
transparent
;
background-repeat
:
no-repeat
;
background-attachment
:
scroll
;
}
.ztree
li
span
.button
::before
{
color
:
#ffffff
;
font-family
:
FontAwesome
;
padding-top
:
10px
;
}
.ztree
li
span
.button.chk
{
margin
:
0px
;
cursor
:
auto
;
width
:
12px
;
display
:
inline-block
;
padding-top
:
10px
;
padding-left
:
2px
;
}
.ztree
li
span
.button.chk.checkbox_false_full
::before
{
content
:
"\f096"
;
}
.ztree
li
span
.button.chk.checkbox_false_full_focus
::before
{
content
:
"\f096"
;
color
:
#ffff00
;
}
.ztree
li
span
.button.chk.checkbox_false_part
::before
{
content
:
"\f096"
;
color
:
#aaaaaa
;
}
.ztree
li
span
.button.chk.checkbox_false_part_focus
::before
{
content
:
"\f096"
;
color
:
#cad96c
;
}
.ztree
li
span
.button.chk.checkbox_false_disable
::before
{
content
:
"\f096"
;
color
:
#808080
;
}
.ztree
li
span
.button.chk.checkbox_true_full
::before
{
content
:
"\f046"
;
}
.ztree
li
span
.button.chk.checkbox_true_full_focus
::before
{
content
:
"\f046"
;
}
.ztree
li
span
.button.chk.checkbox_true_part
::before
{
content
:
"\f14a"
;
}
.ztree
li
span
.button.chk.checkbox_true_part_focus
::before
{
content
:
"\f14a"
;
color
:
#ffff00
;
}
.ztree
li
span
.button.chk.checkbox_true_full_focus
::before
{
content
:
"\f046"
;
color
:
#ffff00
;
}
.ztree
li
span
.button.chk.checkbox_true_part
::before
{
content
:
"\f046"
;
color
:
#aaaaaa
;
}
.ztree
li
span
.button.chk.checkbox_true_part_focus
::before
{
content
:
"\f046"
;
color
:
#cad96c
;
}
.ztree
li
span
.button.chk.checkbox_true_disable
::before
{
content
:
"\f046"
;
color
:
#808080
;
}
.ztree
li
span
.button.chk.radio_false_full
::before
{
content
:
"\f10c"
;
}
.ztree
li
span
.button.chk.radio_false_full_focus
::before
{
content
:
"\f10c"
;
color
:
#ffff00
;
}
.ztree
li
span
.button.chk.radio_false_part
::before
{
content
:
"\f10c"
;
color
:
#aaaaaa
;
}
.ztree
li
span
.button.chk.radio_false_part_focus
::before
{
content
:
"\f10c"
;
color
:
#ffff00
;
}
.ztree
li
span
.button.chk.radio_false_disable
::before
{
content
:
"\f1db"
;
color
:
#808080
;
}
.ztree
li
span
.button.chk.radio_true_full
::before
{
content
:
"\f192"
;
}
.ztree
li
span
.button.chk.radio_true_full_focus
::before
{
content
:
"\f192"
;
color
:
#ffff00
;
}
.ztree
li
span
.button.chk.radio_true_part
::before
{
content
:
"\f192"
;
color
:
#aaaaaa
;
}
.ztree
li
span
.button.chk.radio_true_part_focus
::before
{
content
:
"\f192"
;
color
:
#aaaaaa
;
}
.ztree
li
span
.button.chk.radio_true_disable
::before
{
content
:
"\f1db"
;
color
:
#808080
;
}
.ztree
li
span
.button.switch
{
width
:
15px
;
height
:
17px
;
}
.ztree
li
span
.button.root_open
::before
{
content
:
"\f078"
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
}
.ztree
li
span
.button.root_close
::before
{
content
:
"\f115"
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
}
.ztree
li
span
.button.roots_open
::before
{
content
:
"\f078"
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
}
.ztree
li
span
.button.roots_close
::before
{
content
:
"\f054"
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
}
.ztree
li
span
.button.center_open
::before
{
content
:
"\f078"
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
}
.ztree
li
span
.button.center_close
::before
{
content
:
"\f054"
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
}
.ztree
li
span
.button.bottom_open
::before
{
content
:
"\f078"
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
}
.ztree
li
span
.button.bottom_close
::before
{
content
:
"\f054"
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
}
.ztree
li
span
.button.root_docu
{
background
:
none
;
}
.ztree
li
span
.button.roots_docu
::before
{
content
:
"\f022"
;
padding-left
:
2px
;
display
:
inline-block
;
color
:
#ffffff
;
}
.ztree
li
span
.button.center_docu
::before
{
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
color
:
#ffffff
;
}
.ztree
li
span
.button.bottom_docu
::before
{
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
color
:
#ffffff
;
}
.ztree
li
span
.button.noline_docu
{
background
:
none
;
}
.ztree
li
span
.button.ico_open
::before
{
content
:
"\f115"
;
font-family
:
FontAwesome
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
color
:
#ffffff
;
}
.ztree
li
span
.button.ico_close
::before
{
content
:
"\f114"
;
font-family
:
FontAwesome
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
color
:
#ffffff
;
}
.ztree
li
span
.button.ico_docu
::before
{
content
:
"\f022"
;
font-family
:
FontAwesome
;
padding-top
:
10px
;
padding-left
:
2px
;
display
:
inline-block
;
color
:
#ffffff
;
}
.ztree
li
span
.button.edit
{
margin-left
:
4px
;
margin-right
:
-1px
;
vertical-align
:
top
;
*
vertical-align
:
middle
;
padding-top
:
10px
;
}
.ztree
li
span
.button.edit
::before
{
content
:
"\f044"
;
font-family
:
FontAwesome
;
}
.ztree
li
span
.button.remove
{
margin-left
:
4px
;
margin-right
:
-1px
;
vertical-align
:
top
;
*
vertical-align
:
middle
;
padding-top
:
10px
;
}
.ztree
li
span
.button.remove
::before
{
content
:
"\f1f8"
;
font-family
:
FontAwesome
;
}
.ztree
li
span
.button.add
{
margin-left
:
4px
;
margin-right
:
-1px
;
vertical-align
:
top
;
*
vertical-align
:
middle
;
padding-top
:
10px
;
}
.ztree
li
span
.button.add
::before
{
content
:
"\f067"
;
font-family
:
FontAwesome
;
}
.ztree
li
span
.button.ico_loading
{
margin-right
:
2px
;
background
:
url(./img/loading.gif)
no-repeat
scroll
0
0
transparent
;
vertical-align
:
top
;
*
vertical-align
:
middle
;
}
ul
.tmpTargetzTree
{
background-color
:
#FFE6B0
;
opacity
:
0.8
;
filter
:
alpha
(
opacity
=
80
);
}
span
.tmpzTreeMove_arrow
{
width
:
16px
;
height
:
17px
;
display
:
inline-block
;
padding
:
0
;
margin
:
2px
0
0
1px
;
border
:
0
none
;
position
:
absolute
;
background-color
:
transparent
;
background-attachment
:
scroll
;
}
span
.tmpzTreeMove_arrow
::before
{
content
:
"\f04b"
;
font-family
:
FontAwesome
;
color
:
#ffff00
;
}
ul
.ztree.zTreeDragUL
{
margin
:
0
;
padding
:
0
;
position
:
absolute
;
width
:
auto
;
height
:
auto
;
overflow
:
hidden
;
background-color
:
#cfcfcf
;
border
:
1px
#ffff00
dotted
;
opacity
:
0.8
;
filter
:
alpha
(
opacity
=
80
);
}
.ztreeMask
{
z-index
:
10000
;
background-color
:
#cfcfcf
;
opacity
:
0.0
;
filter
:
alpha
(
opacity
=
0
);
position
:
absolute
;
}
mall-demo/src/main/resources/static/plugins/zTree_v3/css/awesomeStyle/awesome.less
deleted
100644 → 0
View file @
0b285dd3
/*-------------------------------------
zTree Style using fontawesome instead of images
version: 1.1
author: Mike King
email: mikkelking @ hotmail . com
website: http://code.google.com/p/jquerytree/
-------------------------------------*/
/* Definitions ----------------------*/
@font-size: 12px;
// Regular icon and text color is white, which suits any medium -> dark background
@color-normal: white;
// Background color
@color-bg: #af0000;
// Highlight color
@color-highlight: yellow;
// Partially selected (checkboxes, radio buttons)
@color-partial: #aaaaaa;
// Partially selected and focused (checkboxes, radio buttons)
@color-partfocus: #cad96c;
// Disabled altogether
@color-disabled: #808080;
// Editing color
@color-edit: yellow;
@w: 15px;
@h: 17px;
@pad-left: 2px;
@pad-top: 10px;
/* End of Definitions ---------------*/
/* Imports -------------------------*/
@import "fa.less";
/* End of Imports ------------------*/
.ztree * {padding:0; margin:0; font-size:@font-size; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif; background-color: @color-bg;}
.ztree {
margin:0; padding:5px; color:@color-normal; background-color: @color-bg;
li {
padding:0; margin:0; list-style:none; line-height:17px; text-align:left; white-space:nowrap; outline:0;
ul {
margin: 0px; padding:0 0 0 18px;
}
ul.line { }
a {padding-right:3px; margin:0; cursor:pointer; height:@h; color:@color-normal; background-color: transparent;
text-decoration:none; vertical-align:top; display: inline-block;
input.rename {height:14px; width:80px; padding:0; margin:0;
color: @color-bg; background-color: @color-normal;
font-size:@font-size; border:1px #585956 solid; *border:0px}
}
a:hover {text-decoration:underline}
a.curSelectedNode {padding-top:0px; background-color:#af4040; color:@color-highlight; height:@h; opacity:0.8;}
a.curSelectedNode_Edit {padding-top:0px; background-color:transparent; color:@color-highlight; height:@h; border:1px #666 solid; opacity:0.8;}
a.tmpTargetNode_inner {padding-top:0px; background-color:#aaa; color:@color-highlight; height:@h; border:1px #666 solid;
opacity:0.8; filter:alpha(opacity=80)}
a.tmpTargetNode_prev {}
a.tmpTargetNode_next {}
span {line-height:@h; margin-right:2px; background-color:transparent;}
span.button {line-height:0; margin:0; padding: 0; width:@w; height:@h; display: inline-block; vertical-align:top;
border:0px solid; cursor: pointer;outline:none;
background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
&::before{color: @color-normal; font-family: FontAwesome; padding-top:@pad-top;}
&.chk { margin:0px; cursor: auto; width: 12px;
display: inline-block;padding-top:@pad-top;padding-left:@pad-left;
&.checkbox_false_full::before {content: @fa-square-o;}
&.checkbox_false_full_focus::before {content: @fa-square-o; color:@color-highlight;}
&.checkbox_false_part::before {content: @fa-square-o;color: @color-partial;}
&.checkbox_false_part_focus::before {content: @fa-square-o; color:@color-partfocus;}
&.checkbox_false_disable::before {content: @fa-square-o; color:@color-disabled;}
&.checkbox_true_full::before {content: @fa-check-square-o;}
&.checkbox_true_full_focus::before {content: @fa-check-square-o;}
&.checkbox_true_part::before {content: @fa-check-square;}
&.checkbox_true_part_focus::before {content: @fa-check-square; color: @color-highlight}
&.checkbox_true_full_focus::before {content: @fa-check-square-o; color: @color-highlight}
&.checkbox_true_part::before {content: @fa-check-square-o;color: @color-partial}
&.checkbox_true_part_focus::before {content: @fa-check-square-o;color: @color-partfocus;}
&.checkbox_true_disable::before {content: @fa-check-square-o;color: @color-disabled}
&.radio_false_full::before {content: @fa-circle-o;}
&.radio_false_full_focus::before {content: @fa-circle-o;color: @color-highlight}
&.radio_false_part::before {content: @fa-circle-o;color: @color-partial}
&.radio_false_part_focus::before {content: @fa-circle-o;color: @color-highlight}
&.radio_false_disable::before {content: @fa-circle-thin;color: @color-disabled}
&.radio_true_full::before {content: @fa-dot-circle-o;}
&.radio_true_full_focus::before {content: @fa-dot-circle-o;color: @color-highlight}
&.radio_true_part::before {content: @fa-dot-circle-o;color: @color-partial}
&.radio_true_part_focus::before {content: @fa-dot-circle-o;color: @color-partial;}
&.radio_true_disable::before {content: @fa-circle-thin;color: @color-disabled}
}
&.switch {width:@w; height:@h}
&.root_open::before{content: @fa-chevron-down;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;}
&.root_close::before{content: @fa-folder-open-o;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;}
&.roots_open::before{content: @fa-chevron-down;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;}
&.roots_close::before{content: @fa-chevron-right;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;}
&.center_open::before{content: @fa-chevron-down;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;}
&.center_close::before{content: @fa-chevron-right;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;}
&.bottom_open::before{content: @fa-chevron-down;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;}
&.bottom_close::before{content: @fa-chevron-right;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;}
&.noline_open{}
&.noline_close{}
&.root_docu{ background:none;}
&.roots_docu::before{content: @fa-list-alt;padding-left:@pad-left;display: inline-block;color:@color-normal;}
&.center_docu::before{padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;}
&.bottom_docu::before{padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;}
&.noline_docu{ background:none;}
&.ico_open::before {content: @fa-folder-open-o;font-family: FontAwesome;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;}
&.ico_close::before {content: @fa-folder-o;font-family: FontAwesome;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;}
&.ico_docu::before{content: @fa-list-alt;font-family: FontAwesome;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;}
&.edit {margin-left:4px; margin-right: -1px; vertical-align:top; *vertical-align:middle;padding-top:@pad-top;}
&.edit::before{content: @fa-pencil-square-o;font-family: FontAwesome;}
&.remove {margin-left:4px; margin-right: -1px; vertical-align:top; *vertical-align:middle;padding-top:@pad-top;}
&.remove::before{content: @fa-trash;font-family: FontAwesome;}
&.add {margin-left:4px; margin-right: -1px; vertical-align:top; *vertical-align:middle;padding-top:@pad-top;}
&.add::before{content: @fa-plus;font-family: FontAwesome;}
&.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
}
}
}
ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)}
// this is the arrow that moves
span.tmpzTreeMove_arrow{width:16px; height:@h; display: inline-block;
padding:0; margin:2px 0 0 1px; border:0 none; position:absolute;
background-color:transparent; background-attachment: scroll;
}
span.tmpzTreeMove_arrow::before{content: @fa-play;font-family: FontAwesome;color: @color-highlight;
}
// outline
ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden;
background-color:#cfcfcf; border:1px @color-highlight dotted; opacity:0.8; filter:alpha(opacity=80)}
.ztreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}
mall-demo/src/main/resources/static/plugins/zTree_v3/css/awesomeStyle/fa.less
deleted
100644 → 0
View file @
0b285dd3
@fa-glass: "\f000";
@fa-music: "\f001";
@fa-search: "\f002";
@fa-envelope-o: "\f003";
@fa-heart: "\f004";
@fa-star: "\f005";
@fa-star-o: "\f006";
@fa-user: "\f007";
@fa-film: "\f008";
@fa-th-large: "\f009";
@fa-th: "\f00a";
@fa-th-list: "\f00b";
@fa-check: "\f00c";
@fa-times: "\f00d";
@fa-search-plus: "\f00e";
@fa-search-minus: "\f010";
@fa-power-off: "\f011";
@fa-signal: "\f012";
@fa-cog: "\f013";
@fa-trash-o: "\f014";
@fa-home: "\f015";
@fa-file-o: "\f016";
@fa-clock-o: "\f017";
@fa-road: "\f018";
@fa-download: "\f019";
@fa-arrow-circle-o-down: "\f01a";
@fa-arrow-circle-o-up: "\f01b";
@fa-inbox: "\f01c";
@fa-play-circle-o: "\f01d";
@fa-repeat: "\f01e";
@fa-refresh: "\f021";
@fa-list-alt: "\f022";
@fa-lock: "\f023";
@fa-flag: "\f024";
@fa-headphones: "\f025";
@fa-volume-off: "\f026";
@fa-volume-down: "\f027";
@fa-volume-up: "\f028";
@fa-qrcode: "\f029";
@fa-barcode: "\f02a";
@fa-tag: "\f02b";
@fa-tags: "\f02c";
@fa-book: "\f02d";
@fa-bookmark: "\f02e";
@fa-print: "\f02f";
@fa-camera: "\f030";
@fa-font: "\f031";
@fa-bold: "\f032";
@fa-italic: "\f033";
@fa-text-height: "\f034";
@fa-text-width: "\f035";
@fa-align-left: "\f036";
@fa-align-center: "\f037";
@fa-align-right: "\f038";
@fa-align-justify: "\f039";
@fa-list: "\f03a";
@fa-outdent: "\f03b";
@fa-indent: "\f03c";
@fa-video-camera: "\f03d";
@fa-picture-o: "\f03e";
@fa-pencil: "\f040";
@fa-map-marker: "\f041";
@fa-adjust: "\f042";
@fa-tint: "\f043";
@fa-pencil-square-o: "\f044";
@fa-share-square-o: "\f045";
@fa-check-square-o: "\f046";
@fa-arrows: "\f047";
@fa-step-backward: "\f048";
@fa-fast-backward: "\f049";
@fa-backward: "\f04a";
@fa-play: "\f04b";
@fa-pause: "\f04c";
@fa-stop: "\f04d";
@fa-forward: "\f04e";
@fa-fast-forward: "\f050";
@fa-step-forward: "\f051";
@fa-eject: "\f052";
@fa-chevron-left: "\f053";
@fa-chevron-right: "\f054";
@fa-plus-circle: "\f055";
@fa-minus-circle: "\f056";
@fa-times-circle: "\f057";
@fa-check-circle: "\f058";
@fa-question-circle: "\f059";
@fa-info-circle: "\f05a";
@fa-crosshairs: "\f05b";
@fa-times-circle-o: "\f05c";
@fa-check-circle-o: "\f05d";
@fa-ban: "\f05e";
@fa-arrow-left: "\f060";
@fa-arrow-right: "\f061";
@fa-arrow-up: "\f062";
@fa-arrow-down: "\f063";
@fa-share: "\f064";
@fa-expand: "\f065";
@fa-compress: "\f066";
@fa-plus: "\f067";
@fa-minus: "\f068";
@fa-asterisk: "\f069";
@fa-exclamation-circle: "\f06a";
@fa-gift: "\f06b";
@fa-leaf: "\f06c";
@fa-fire: "\f06d";
@fa-eye: "\f06e";
@fa-eye-slash: "\f070";
@fa-exclamation-triangle: "\f071";
@fa-plane: "\f072";
@fa-calendar: "\f073";
@fa-random: "\f074";
@fa-comment: "\f075";
@fa-magnet: "\f076";
@fa-chevron-up: "\f077";
@fa-chevron-down: "\f078";
@fa-retweet: "\f079";
@fa-shopping-cart: "\f07a";
@fa-folder: "\f07b";
@fa-folder-open: "\f07c";
@fa-arrows-v: "\f07d";
@fa-arrows-h: "\f07e";
@fa-bar-chart: "\f080";
@fa-twitter-square: "\f081";
@fa-facebook-square: "\f082";
@fa-camera-retro: "\f083";
@fa-key: "\f084";
@fa-cogs: "\f085";
@fa-comments: "\f086";
@fa-thumbs-o-up: "\f087";
@fa-thumbs-o-down: "\f088";
@fa-star-half: "\f089";
@fa-heart-o: "\f08a";
@fa-sign-out: "\f08b";
@fa-linkedin-square: "\f08c";
@fa-thumb-tack: "\f08d";
@fa-external-link: "\f08e";
@fa-sign-in: "\f090";
@fa-trophy: "\f091";
@fa-github-square: "\f092";
@fa-upload: "\f093";
@fa-lemon-o: "\f094";
@fa-phone: "\f095";
@fa-square-o: "\f096";
@fa-bookmark-o: "\f097";
@fa-phone-square: "\f098";
@fa-twitter: "\f099";
@fa-facebook: "\f09a";
@fa-github: "\f09b";
@fa-unlock: "\f09c";
@fa-credit-card: "\f09d";
@fa-rss: "\f09e";
@fa-hdd-o: "\f0a0";
@fa-bullhorn: "\f0a1";
@fa-bell: "\f0f3";
@fa-certificate: "\f0a3";
@fa-hand-o-right: "\f0a4";
@fa-hand-o-left: "\f0a5";
@fa-hand-o-up: "\f0a6";
@fa-hand-o-down: "\f0a7";
@fa-arrow-circle-left: "\f0a8";
@fa-arrow-circle-right: "\f0a9";
@fa-arrow-circle-up: "\f0aa";
@fa-arrow-circle-down: "\f0ab";
@fa-globe: "\f0ac";
@fa-wrench: "\f0ad";
@fa-tasks: "\f0ae";
@fa-filter: "\f0b0";
@fa-briefcase: "\f0b1";
@fa-arrows-alt: "\f0b2";
@fa-users: "\f0c0";
@fa-link: "\f0c1";
@fa-cloud: "\f0c2";
@fa-flask: "\f0c3";
@fa-scissors: "\f0c4";
@fa-files-o: "\f0c5";
@fa-paperclip: "\f0c6";
@fa-floppy-o: "\f0c7";
@fa-square: "\f0c8";
@fa-bars: "\f0c9";
@fa-list-ul: "\f0ca";
@fa-list-ol: "\f0cb";
@fa-strikethrough: "\f0cc";
@fa-underline: "\f0cd";
@fa-table: "\f0ce";
@fa-magic: "\f0d0";
@fa-truck: "\f0d1";
@fa-pinterest: "\f0d2";
@fa-pinterest-square: "\f0d3";
@fa-google-plus-square: "\f0d4";
@fa-google-plus: "\f0d5";
@fa-money: "\f0d6";
@fa-caret-down: "\f0d7";
@fa-caret-up: "\f0d8";
@fa-caret-left: "\f0d9";
@fa-caret-right: "\f0da";
@fa-columns: "\f0db";
@fa-sort: "\f0dc";
@fa-sort-desc: "\f0dd";
@fa-sort-asc: "\f0de";
@fa-envelope: "\f0e0";
@fa-linkedin: "\f0e1";
@fa-undo: "\f0e2";
@fa-gavel: "\f0e3";
@fa-tachometer: "\f0e4";
@fa-comment-o: "\f0e5";
@fa-comments-o: "\f0e6";
@fa-bolt: "\f0e7";
@fa-sitemap: "\f0e8";
@fa-umbrella: "\f0e9";
@fa-clipboard: "\f0ea";
@fa-lightbulb-o: "\f0eb";
@fa-exchange: "\f0ec";
@fa-cloud-download: "\f0ed";
@fa-cloud-upload: "\f0ee";
@fa-user-md: "\f0f0";
@fa-stethoscope: "\f0f1";
@fa-suitcase: "\f0f2";
@fa-bell-o: "\f0a2";
@fa-coffee: "\f0f4";
@fa-cutlery: "\f0f5";
@fa-file-text-o: "\f0f6";
@fa-building-o: "\f0f7";
@fa-hospital-o: "\f0f8";
@fa-ambulance: "\f0f9";
@fa-medkit: "\f0fa";
@fa-fighter-jet: "\f0fb";
@fa-beer: "\f0fc";
@fa-h-square: "\f0fd";
@fa-plus-square: "\f0fe";
@fa-angle-double-left: "\f100";
@fa-angle-double-right: "\f101";
@fa-angle-double-up: "\f102";
@fa-angle-double-down: "\f103";
@fa-angle-left: "\f104";
@fa-angle-right: "\f105";
@fa-angle-up: "\f106";
@fa-angle-down: "\f107";
@fa-desktop: "\f108";
@fa-laptop: "\f109";
@fa-tablet: "\f10a";
@fa-mobile: "\f10b";
@fa-circle-o: "\f10c";
@fa-quote-left: "\f10d";
@fa-quote-right: "\f10e";
@fa-spinner: "\f110";
@fa-circle: "\f111";
@fa-reply: "\f112";
@fa-github-alt: "\f113";
@fa-folder-o: "\f114";
@fa-folder-open-o: "\f115";
@fa-smile-o: "\f118";
@fa-frown-o: "\f119";
@fa-meh-o: "\f11a";
@fa-gamepad: "\f11b";
@fa-keyboard-o: "\f11c";
@fa-flag-o: "\f11d";
@fa-flag-checkered: "\f11e";
@fa-terminal: "\f120";
@fa-code: "\f121";
@fa-reply-all: "\f122";
@fa-star-half-o: "\f123";
@fa-location-arrow: "\f124";
@fa-crop: "\f125";
@fa-code-fork: "\f126";
@fa-chain-broken: "\f127";
@fa-question: "\f128";
@fa-info: "\f129";
@fa-exclamation: "\f12a";
@fa-superscript: "\f12b";
@fa-subscript: "\f12c";
@fa-eraser: "\f12d";
@fa-puzzle-piece: "\f12e";
@fa-microphone: "\f130";
@fa-microphone-slash: "\f131";
@fa-shield: "\f132";
@fa-calendar-o: "\f133";
@fa-fire-extinguisher: "\f134";
@fa-rocket: "\f135";
@fa-maxcdn: "\f136";
@fa-chevron-circle-left: "\f137";
@fa-chevron-circle-right: "\f138";
@fa-chevron-circle-up: "\f139";
@fa-chevron-circle-down: "\f13a";
@fa-html5: "\f13b";
@fa-css3: "\f13c";
@fa-anchor: "\f13d";
@fa-unlock-alt: "\f13e";
@fa-bullseye: "\f140";
@fa-ellipsis-h: "\f141";
@fa-ellipsis-v: "\f142";
@fa-rss-square: "\f143";
@fa-play-circle: "\f144";
@fa-ticket: "\f145";
@fa-minus-square: "\f146";
@fa-minus-square-o: "\f147";
@fa-level-up: "\f148";
@fa-level-down: "\f149";
@fa-check-square: "\f14a";
@fa-pencil-square: "\f14b";
@fa-external-link-square: "\f14c";
@fa-share-square: "\f14d";
@fa-compass: "\f14e";
@fa-caret-square-o-down: "\f150";
@fa-caret-square-o-up: "\f151";
@fa-caret-square-o-right: "\f152";
@fa-eur: "\f153";
@fa-gbp: "\f154";
@fa-usd: "\f155";
@fa-inr: "\f156";
@fa-jpy: "\f157";
@fa-rub: "\f158";
@fa-krw: "\f159";
@fa-btc: "\f15a";
@fa-file: "\f15b";
@fa-file-text: "\f15c";
@fa-sort-alpha-asc: "\f15d";
@fa-sort-alpha-desc: "\f15e";
@fa-sort-amount-asc: "\f160";
@fa-sort-amount-desc: "\f161";
@fa-sort-numeric-asc: "\f162";
@fa-sort-numeric-desc: "\f163";
@fa-thumbs-up: "\f164";
@fa-thumbs-down: "\f165";
@fa-youtube-square: "\f166";
@fa-youtube: "\f167";
@fa-xing: "\f168";
@fa-xing-square: "\f169";
@fa-youtube-play: "\f16a";
@fa-dropbox: "\f16b";
@fa-stack-overflow: "\f16c";
@fa-instagram: "\f16d";
@fa-flickr: "\f16e";
@fa-adn: "\f170";
@fa-bitbucket: "\f171";
@fa-bitbucket-square: "\f172";
@fa-tumblr: "\f173";
@fa-tumblr-square: "\f174";
@fa-long-arrow-down: "\f175";
@fa-long-arrow-up: "\f176";
@fa-long-arrow-left: "\f177";
@fa-long-arrow-right: "\f178";
@fa-apple: "\f179";
@fa-windows: "\f17a";
@fa-android: "\f17b";
@fa-linux: "\f17c";
@fa-dribbble: "\f17d";
@fa-skype: "\f17e";
@fa-foursquare: "\f180";
@fa-trello: "\f181";
@fa-female: "\f182";
@fa-male: "\f183";
@fa-gittip: "\f184";
@fa-sun-o: "\f185";
@fa-moon-o: "\f186";
@fa-archive: "\f187";
@fa-bug: "\f188";
@fa-vk: "\f189";
@fa-weibo: "\f18a";
@fa-renren: "\f18b";
@fa-pagelines: "\f18c";
@fa-stack-exchange: "\f18d";
@fa-arrow-circle-o-right: "\f18e";
@fa-arrow-circle-o-left: "\f190";
@fa-caret-square-o-left: "\f191";
@fa-dot-circle-o: "\f192";
@fa-wheelchair: "\f193";
@fa-vimeo-square: "\f194";
@fa-try: "\f195";
@fa-plus-square-o: "\f196";
@fa-space-shuttle: "\f197";
@fa-slack: "\f198";
@fa-envelope-square: "\f199";
@fa-wordpress: "\f19a";
@fa-openid: "\f19b";
@fa-university: "\f19c";
@fa-graduation-cap: "\f19d";
@fa-yahoo: "\f19e";
@fa-google: "\f1a0";
@fa-reddit: "\f1a1";
@fa-reddit-square: "\f1a2";
@fa-stumbleupon-circle: "\f1a3";
@fa-stumbleupon: "\f1a4";
@fa-delicious: "\f1a5";
@fa-digg: "\f1a6";
@fa-pied-piper: "\f1a7";
@fa-pied-piper-alt: "\f1a8";
@fa-drupal: "\f1a9";
@fa-joomla: "\f1aa";
@fa-language: "\f1ab";
@fa-fax: "\f1ac";
@fa-building: "\f1ad";
@fa-child: "\f1ae";
@fa-paw: "\f1b0";
@fa-spoon: "\f1b1";
@fa-cube: "\f1b2";
@fa-cubes: "\f1b3";
@fa-behance: "\f1b4";
@fa-behance-square: "\f1b5";
@fa-steam: "\f1b6";
@fa-steam-square: "\f1b7";
@fa-recycle: "\f1b8";
@fa-car: "\f1b9";
@fa-taxi: "\f1ba";
@fa-tree: "\f1bb";
@fa-spotify: "\f1bc";
@fa-deviantart: "\f1bd";
@fa-soundcloud: "\f1be";
@fa-database: "\f1c0";
@fa-file-pdf-o: "\f1c1";
@fa-file-word-o: "\f1c2";
@fa-file-excel-o: "\f1c3";
@fa-file-powerpoint-o: "\f1c4";
@fa-file-image-o: "\f1c5";
@fa-file-archive-o: "\f1c6";
@fa-file-audio-o: "\f1c7";
@fa-file-video-o: "\f1c8";
@fa-file-code-o: "\f1c9";
@fa-vine: "\f1ca";
@fa-codepen: "\f1cb";
@fa-jsfiddle: "\f1cc";
@fa-life-ring: "\f1cd";
@fa-circle-o-notch: "\f1ce";
@fa-rebel: "\f1d0";
@fa-empire: "\f1d1";
@fa-git-square: "\f1d2";
@fa-git: "\f1d3";
@fa-hacker-news: "\f1d4";
@fa-tencent-weibo: "\f1d5";
@fa-qq: "\f1d6";
@fa-weixin: "\f1d7";
@fa-paper-plane: "\f1d8";
@fa-paper-plane-o: "\f1d9";
@fa-history: "\f1da";
@fa-circle-thin: "\f1db";
@fa-header: "\f1dc";
@fa-paragraph: "\f1dd";
@fa-sliders: "\f1de";
@fa-share-alt: "\f1e0";
@fa-share-alt-square: "\f1e1";
@fa-bomb: "\f1e2";
@fa-futbol-o: "\f1e3";
@fa-tty: "\f1e4";
@fa-binoculars: "\f1e5";
@fa-plug: "\f1e6";
@fa-slideshare: "\f1e7";
@fa-twitch: "\f1e8";
@fa-yelp: "\f1e9";
@fa-newspaper-o: "\f1ea";
@fa-wifi: "\f1eb";
@fa-calculator: "\f1ec";
@fa-paypal: "\f1ed";
@fa-google-wallet: "\f1ee";
@fa-cc-visa: "\f1f0";
@fa-cc-mastercard: "\f1f1";
@fa-cc-discover: "\f1f2";
@fa-cc-amex: "\f1f3";
@fa-cc-paypal: "\f1f4";
@fa-cc-stripe: "\f1f5";
@fa-bell-slash: "\f1f6";
@fa-bell-slash-o: "\f1f7";
@fa-trash: "\f1f8";
@fa-copyright: "\f1f9";
@fa-at: "\f1fa";
@fa-eyedropper: "\f1fb";
@fa-paint-brush: "\f1fc";
@fa-birthday-cake: "\f1fd";
@fa-area-chart: "\f1fe";
@fa-pie-chart: "\f200";
@fa-line-chart: "\f201";
@fa-lastfm: "\f202";
@fa-lastfm-square: "\f203";
@fa-toggle-off: "\f204";
@fa-toggle-on: "\f205";
@fa-bicycle: "\f206";
@fa-bus: "\f207";
@fa-ioxhost: "\f208";
@fa-angellist: "\f209";
@fa-cc: "\f20a";
@fa-ils: "\f20b";
@fa-meanpath: "\f20c";
mall-demo/src/main/resources/static/plugins/zTree_v3/css/awesomeStyle/img/loading.gif
deleted
100644 → 0
View file @
0b285dd3
381 Bytes
mall-demo/src/main/resources/static/plugins/zTree_v3/css/demo.css
deleted
100644 → 0
View file @
0b285dd3
html
,
body
,
div
,
span
,
applet
,
object
,
iframe
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
p
,
blockquote
,
pre
,
a
,
abbr
,
acronym
,
address
,
big
,
cite
,
code
,
del
,
dfn
,
em
,
font
,
img
,
ins
,
kbd
,
q
,
s
,
samp
,
small
,
strike
,
strong
,
sub
,
sup
,
tt
,
var
,
dl
,
dt
,
dd
,
ol
,
ul
,
li
,
fieldset
,
form
,
label
,
legend
,
table
,
caption
,
tbody
,
tfoot
,
thead
,
tr
,
th
,
td
{
margin
:
0
;
padding
:
0
;
border
:
0
;
outline
:
0
;
font-weight
:
inherit
;
font-style
:
inherit
;
font-size
:
100%
;
font-family
:
inherit
;
vertical-align
:
baseline
;}
body
{
color
:
#2f332a
;
font
:
15px
/
21px
Arial
,
Helvetica
,
simsun
,
sans-serif
;
background
:
#f0f6e4
\
9
;}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
color
:
#2f332a
;
font-weight
:
bold
;
font-family
:
Helvetica
,
Arial
,
sans-serif
;
padding-bottom
:
5px
;}
h1
{
font-size
:
24px
;
line-height
:
34px
;
text-align
:
center
;}
h2
{
font-size
:
14px
;
line-height
:
24px
;
padding-top
:
5px
;}
h6
{
font-weight
:
normal
;
font-size
:
12px
;
letter-spacing
:
1px
;
line-height
:
24px
;
text-align
:
center
;}
a
{
color
:
#3C6E31
;
text-decoration
:
underline
;}
a
:hover
{
background-color
:
#3C6E31
;
color
:
white
;}
input
.radio
{
margin
:
0
2px
0
8px
;}
input
.radio.first
{
margin-left
:
0
;}
input
.empty
{
color
:
lightgray
;}
code
{
color
:
#2f332a
;}
.highlight_red
{
color
:
#A60000
;}
.highlight_green
{
color
:
#A7F43D
;}
li
{
list-style
:
circle
;
font-size
:
12px
;}
li
.title
{
list-style
:
none
;}
ul
.list
{
margin-left
:
17px
;}
div
.content_wrap
{
width
:
600px
;
height
:
380px
;}
div
.content_wrap
div
.left
{
float
:
left
;
width
:
250px
;}
div
.content_wrap
div
.right
{
float
:
right
;
width
:
340px
;}
div
.zTreeDemoBackground
{
width
:
250px
;
height
:
362px
;
text-align
:
left
;}
ul
.ztree
{
margin-top
:
10px
;
border
:
1px
solid
#617775
;
background
:
#f0f6e4
;
width
:
220px
;
height
:
360px
;
overflow-y
:
scroll
;
overflow-x
:
auto
;}
ul
.log
{
border
:
1px
solid
#617775
;
background
:
#f0f6e4
;
width
:
300px
;
height
:
170px
;
overflow
:
hidden
;}
ul
.log.small
{
height
:
45px
;}
ul
.log
li
{
color
:
#666666
;
list-style
:
none
;
padding-left
:
10px
;}
ul
.log
li
.dark
{
background-color
:
#E3E3E3
;}
/* ruler */
div
.ruler
{
height
:
20px
;
width
:
220px
;
background-color
:
#f0f6e4
;
border
:
1px
solid
#333
;
margin-bottom
:
5px
;
cursor
:
pointer
}
div
.ruler
div
.cursor
{
height
:
20px
;
width
:
30px
;
background-color
:
#3C6E31
;
color
:
white
;
text-align
:
right
;
padding-right
:
5px
;
cursor
:
pointer
}
\ No newline at end of file
mall-demo/src/main/resources/static/plugins/zTree_v3/css/metroStyle/img/line_conn.png
deleted
100644 → 0
View file @
0b285dd3
933 Bytes
mall-demo/src/main/resources/static/plugins/zTree_v3/css/metroStyle/img/loading.gif
deleted
100644 → 0
View file @
0b285dd3
381 Bytes
mall-demo/src/main/resources/static/plugins/zTree_v3/css/metroStyle/img/metro.gif
deleted
100644 → 0
View file @
0b285dd3
4.57 KB
mall-demo/src/main/resources/static/plugins/zTree_v3/css/metroStyle/img/metro.png
deleted
100644 → 0
View file @
0b285dd3
5.16 KB
mall-demo/src/main/resources/static/plugins/zTree_v3/css/metroStyle/metroStyle.css
deleted
100644 → 0
View file @
0b285dd3
/*-------------------------------------
zTree Style
version: 3.4
author: Hunter.z
email: hunter.z@263.net
website: http://code.google.com/p/jquerytree/
-------------------------------------*/
.ztree
*
{
padding
:
0
;
margin
:
0
;
font-size
:
12px
;
font-family
:
Verdana
,
Arial
,
Helvetica
,
AppleGothic
,
sans-serif
}
.ztree
{
margin
:
0
;
padding
:
5px
;
color
:
#333
}
.ztree
li
{
padding
:
0
;
margin
:
0
;
list-style
:
none
;
line-height
:
17px
;
text-align
:
left
;
white-space
:
nowrap
;
outline
:
0
}
.ztree
li
ul
{
margin
:
0
;
padding
:
0
0
0
18px
}
.ztree
li
ul
.line
{
background
:
url(./img/line_conn.png)
0
0
repeat-y
;}
.ztree
li
a
{
padding-right
:
3px
;
margin
:
0
;
cursor
:
pointer
;
height
:
21px
;
color
:
#333
;
background-color
:
transparent
;
text-decoration
:
none
;
vertical-align
:
top
;
display
:
inline-block
}
.ztree
li
a
:hover
{
text-decoration
:
underline
}
.ztree
li
a
.curSelectedNode
{
padding-top
:
0px
;
background-color
:
#e5e5e5
;
color
:
black
;
height
:
21px
;
opacity
:
0.8
;}
.ztree
li
a
.curSelectedNode_Edit
{
padding-top
:
0px
;
background-color
:
#e5e5e5
;
color
:
black
;
height
:
21px
;
border
:
1px
#666
solid
;
opacity
:
0.8
;}
.ztree
li
a
.tmpTargetNode_inner
{
padding-top
:
0px
;
background-color
:
#aaa
;
color
:
white
;
height
:
21px
;
border
:
1px
#666
solid
;
opacity
:
0.8
;
filter
:
alpha
(
opacity
=
80
)}
.ztree
li
a
.tmpTargetNode_prev
{}
.ztree
li
a
.tmpTargetNode_next
{}
.ztree
li
a
input
.rename
{
height
:
14px
;
width
:
80px
;
padding
:
0
;
margin
:
0
;
font-size
:
12px
;
border
:
1px
#585956
solid
;
*
border
:
0px
}
.ztree
li
span
{
line-height
:
21px
;
margin-right
:
2px
}
.ztree
li
span
.button
{
line-height
:
0
;
margin
:
0
;
padding
:
0
;
width
:
21px
;
height
:
21px
;
display
:
inline-block
;
vertical-align
:
middle
;
border
:
0
none
;
cursor
:
pointer
;
outline
:
none
;
background-color
:
transparent
;
background-repeat
:
no-repeat
;
background-attachment
:
scroll
;
background-image
:
url("./img/metro.png")
;
*
background-image
:
url("./img/metro.gif")
}
.ztree
li
span
.button.chk
{
width
:
13px
;
height
:
13px
;
margin
:
0
2px
;
cursor
:
auto
}
.ztree
li
span
.button.chk.checkbox_false_full
{
background-position
:
-5px
-5px
;}
.ztree
li
span
.button.chk.checkbox_false_full_focus
{
background-position
:
-5px
-26px
;}
.ztree
li
span
.button.chk.checkbox_false_part
{
background-position
:
-5px
-48px
;}
.ztree
li
span
.button.chk.checkbox_false_part_focus
{
background-position
:
-5px
-68px
;}
.ztree
li
span
.button.chk.checkbox_false_disable
{
background-position
:
-5px
-89px
;}
.ztree
li
span
.button.chk.checkbox_true_full
{
background-position
:
-26px
-5px
;}
.ztree
li
span
.button.chk.checkbox_true_full_focus
{
background-position
:
-26px
-26px
;}
.ztree
li
span
.button.chk.checkbox_true_part
{
background-position
:
-26px
-48px
;}
.ztree
li
span
.button.chk.checkbox_true_part_focus
{
background-position
:
-26px
-68px
;}
.ztree
li
span
.button.chk.checkbox_true_disable
{
background-position
:
-26px
-89px
;}
.ztree
li
span
.button.chk.radio_false_full
{
background-position
:
-47px
-5px
;}
.ztree
li
span
.button.chk.radio_false_full_focus
{
background-position
:
-47px
-26px
;}
.ztree
li
span
.button.chk.radio_false_part
{
background-position
:
-47px
-47px
;}
.ztree
li
span
.button.chk.radio_false_part_focus
{
background-position
:
-47px
-68px
;}
.ztree
li
span
.button.chk.radio_false_disable
{
background-position
:
-47px
-89px
;}
.ztree
li
span
.button.chk.radio_true_full
{
background-position
:
-68px
-5px
;}
.ztree
li
span
.button.chk.radio_true_full_focus
{
background-position
:
-68px
-26px
;}
.ztree
li
span
.button.chk.radio_true_part
{
background-position
:
-68px
-47px
;}
.ztree
li
span
.button.chk.radio_true_part_focus
{
background-position
:
-68px
-68px
;}
.ztree
li
span
.button.chk.radio_true_disable
{
background-position
:
-68px
-89px
;}
.ztree
li
span
.button.switch
{
width
:
21px
;
height
:
21px
}
.ztree
li
span
.button.root_open
{
background-position
:
-105px
-63px
}
.ztree
li
span
.button.root_close
{
background-position
:
-126px
-63px
}
.ztree
li
span
.button.roots_open
{
background-position
:
-105px
0
;}
.ztree
li
span
.button.roots_close
{
background-position
:
-126px
0
;}
.ztree
li
span
.button.center_open
{
background-position
:
-105px
-21px
;}
.ztree
li
span
.button.center_close
{
background-position
:
-126px
-21px
;}
.ztree
li
span
.button.bottom_open
{
background-position
:
-105px
-42px
;}
.ztree
li
span
.button.bottom_close
{
background-position
:
-126px
-42px
;}
.ztree
li
span
.button.noline_open
{
background-position
:
-105px
-84px
;}
.ztree
li
span
.button.noline_close
{
background-position
:
-126px
-84px
;}
.ztree
li
span
.button.root_docu
{
background
:
none
;}
.ztree
li
span
.button.roots_docu
{
background-position
:
-84px
0
;}
.ztree
li
span
.button.center_docu
{
background-position
:
-84px
-21px
;}
.ztree
li
span
.button.bottom_docu
{
background-position
:
-84px
-42px
;}
.ztree
li
span
.button.noline_docu
{
background
:
none
;}
.ztree
li
span
.button.ico_open
{
margin-right
:
2px
;
background-position
:
-147px
-21px
;
vertical-align
:
top
;
*
vertical-align
:
middle
}
.ztree
li
span
.button.ico_close
{
margin-right
:
2px
;
margin-right
:
2px
;
background-position
:
-147px
0
;
vertical-align
:
top
;
*
vertical-align
:
middle
}
.ztree
li
span
.button.ico_docu
{
margin-right
:
2px
;
background-position
:
-147px
-42px
;
vertical-align
:
top
;
*
vertical-align
:
middle
}
.ztree
li
span
.button.edit
{
margin-left
:
2px
;
margin-right
:
-1px
;
background-position
:
-189px
-21px
;
vertical-align
:
top
;
*
vertical-align
:
middle
}
.ztree
li
span
.button.edit
:hover
{
background-position
:
-168px
-21px
;
}
.ztree
li
span
.button.remove
{
margin-left
:
2px
;
margin-right
:
-1px
;
background-position
:
-189px
-42px
;
vertical-align
:
top
;
*
vertical-align
:
middle
}
.ztree
li
span
.button.remove
:hover
{
background-position
:
-168px
-42px
;
}
.ztree
li
span
.button.add
{
margin-left
:
2px
;
margin-right
:
-1px
;
background-position
:
-189px
0
;
vertical-align
:
top
;
*
vertical-align
:
middle
}
.ztree
li
span
.button.add
:hover
{
background-position
:
-168px
0
;
}
.ztree
li
span
.button.ico_loading
{
margin-right
:
2px
;
background
:
url(./img/loading.gif)
no-repeat
scroll
0
0
transparent
;
vertical-align
:
top
;
*
vertical-align
:
middle
}
ul
.tmpTargetzTree
{
background-color
:
#FFE6B0
;
opacity
:
0.8
;
filter
:
alpha
(
opacity
=
80
)}
span
.tmpzTreeMove_arrow
{
width
:
16px
;
height
:
21px
;
display
:
inline-block
;
padding
:
0
;
margin
:
2px
0
0
1px
;
border
:
0
none
;
position
:
absolute
;
background-color
:
transparent
;
background-repeat
:
no-repeat
;
background-attachment
:
scroll
;
background-position
:
-168px
-84px
;
background-image
:
url("./img/metro.png")
;
*
background-image
:
url("./img/metro.gif")
}
ul
.ztree.zTreeDragUL
{
margin
:
0
;
padding
:
0
;
position
:
absolute
;
width
:
auto
;
height
:
auto
;
overflow
:
hidden
;
background-color
:
#cfcfcf
;
border
:
1px
#00B83F
dotted
;
opacity
:
0.8
;
filter
:
alpha
(
opacity
=
80
)}
.ztreeMask
{
z-index
:
10000
;
background-color
:
#cfcfcf
;
opacity
:
0.0
;
filter
:
alpha
(
opacity
=
0
);
position
:
absolute
}
mall-demo/src/main/resources/static/plugins/zTree_v3/css/zTreeStyle/img/diy/1_close.png
deleted
100644 → 0
View file @
0b285dd3
601 Bytes
mall-demo/src/main/resources/static/plugins/zTree_v3/css/zTreeStyle/img/diy/1_open.png
deleted
100644 → 0
View file @
0b285dd3
580 Bytes
mall-demo/src/main/resources/static/plugins/zTree_v3/css/zTreeStyle/img/diy/2.png
deleted
100644 → 0
View file @
0b285dd3
570 Bytes
mall-demo/src/main/resources/static/plugins/zTree_v3/css/zTreeStyle/img/diy/3.png
deleted
100644 → 0
View file @
0b285dd3
762 Bytes
Prev
1
…
5
6
7
8
9
10
11
Next
Write
Preview
Supports
Markdown
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