Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
cdn
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
2
Merge Requests
2
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lambda
cdn
Commits
b5e00c6d
Commit
b5e00c6d
authored
Feb 24, 2017
by
TingSong-Syu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add jquery.ns-autogrow 1.1.6
parent
6777cd0e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
147 additions
and
0 deletions
+147
-0
jquery.ns-autogrow.js
jquery.ns-autogrow/1.1.6/jquery.ns-autogrow.js
+139
-0
jquery.ns-autogrow.min.js
jquery.ns-autogrow/1.1.6/jquery.ns-autogrow.min.js
+8
-0
No files found.
jquery.ns-autogrow/1.1.6/jquery.ns-autogrow.js
0 → 100644
View file @
b5e00c6d
/*!
Non-Sucking Autogrow 1.1.6
license: MIT
author: Roman Pushkin
https://github.com/ro31337/jquery.ns-autogrow
*/
(
function
()
{
var
getVerticalScrollbarWidth
;
(
function
(
$
,
window
)
{
return
$
.
fn
.
autogrow
=
function
(
options
)
{
if
(
options
==
null
)
{
options
=
{};
}
if
(
options
.
horizontal
==
null
)
{
options
.
horizontal
=
true
;
}
if
(
options
.
vertical
==
null
)
{
options
.
vertical
=
true
;
}
if
(
options
.
debugx
==
null
)
{
options
.
debugx
=
-
10000
;
}
if
(
options
.
debugy
==
null
)
{
options
.
debugy
=
-
10000
;
}
if
(
options
.
debugcolor
==
null
)
{
options
.
debugcolor
=
'yellow'
;
}
if
(
options
.
flickering
==
null
)
{
options
.
flickering
=
true
;
}
if
(
options
.
postGrowCallback
==
null
)
{
options
.
postGrowCallback
=
function
()
{};
}
if
(
options
.
verticalScrollbarWidth
==
null
)
{
options
.
verticalScrollbarWidth
=
getVerticalScrollbarWidth
();
}
if
(
options
.
horizontal
===
false
&&
options
.
vertical
===
false
)
{
return
;
}
return
this
.
filter
(
'textarea'
).
each
(
function
()
{
var
$e
,
$shadow
,
fontSize
,
heightPadding
,
minHeight
,
minWidth
,
update
;
$e
=
$
(
this
);
if
(
$e
.
data
(
'autogrow-enabled'
))
{
return
;
}
$e
.
data
(
'autogrow-enabled'
);
minHeight
=
$e
.
height
();
minWidth
=
$e
.
width
();
heightPadding
=
$e
.
css
(
'lineHeight'
)
*
1
||
0
;
$e
.
hasVerticalScrollBar
=
function
()
{
return
$e
[
0
].
clientHeight
<
$e
[
0
].
scrollHeight
;
};
$shadow
=
$
(
'<div class="autogrow-shadow"></div>'
).
css
({
position
:
'absolute'
,
display
:
'inline-block'
,
'background-color'
:
options
.
debugcolor
,
top
:
options
.
debugy
,
left
:
options
.
debugx
,
'max-width'
:
$e
.
css
(
'max-width'
),
'padding'
:
$e
.
css
(
'padding'
),
fontSize
:
$e
.
css
(
'fontSize'
),
fontFamily
:
$e
.
css
(
'fontFamily'
),
fontWeight
:
$e
.
css
(
'fontWeight'
),
lineHeight
:
$e
.
css
(
'lineHeight'
),
resize
:
'none'
,
'word-wrap'
:
'break-word'
}).
appendTo
(
document
.
body
);
if
(
options
.
horizontal
===
false
)
{
$shadow
.
css
({
'width'
:
$e
.
width
()
});
}
else
{
fontSize
=
$e
.
css
(
'font-size'
);
$shadow
.
css
(
'padding-right'
,
'+='
+
fontSize
);
$shadow
.
normalPaddingRight
=
$shadow
.
css
(
'padding-right'
);
}
update
=
(
function
(
_this
)
{
return
function
(
event
)
{
var
height
,
val
,
width
;
val
=
_this
.
value
.
replace
(
/&/g
,
'&'
).
replace
(
/</g
,
'<'
).
replace
(
/>/g
,
'>'
).
replace
(
/
\n
/g
,
'<br/> '
).
replace
(
/"/g
,
'"'
).
replace
(
/'/g
,
'''
).
replace
(
/
\n
$/
,
'<br/> '
).
replace
(
/
\n
/g
,
'<br/>'
).
replace
(
/
{2,}
/g
,
function
(
space
)
{
return
Array
(
space
.
length
-
1
).
join
(
' '
)
+
' '
;
});
if
(
/
(\n
|
\r)
/
.
test
(
_this
.
value
))
{
val
+=
'<br />'
;
if
(
options
.
flickering
===
false
)
{
val
+=
'<br />'
;
}
}
$shadow
.
html
(
val
);
if
(
options
.
vertical
===
true
)
{
height
=
Math
.
max
(
$shadow
.
height
()
+
heightPadding
,
minHeight
);
$e
.
height
(
height
);
}
if
(
options
.
horizontal
===
true
)
{
$shadow
.
css
(
'padding-right'
,
$shadow
.
normalPaddingRight
);
if
(
options
.
vertical
===
false
&&
$e
.
hasVerticalScrollBar
())
{
$shadow
.
css
(
'padding-right'
,
"+="
+
options
.
verticalScrollbarWidth
+
"px"
);
}
width
=
Math
.
max
(
$shadow
.
outerWidth
(),
minWidth
);
$e
.
width
(
width
);
}
return
options
.
postGrowCallback
(
$e
);
};
})(
this
);
$e
.
change
(
update
).
keyup
(
update
).
keydown
(
update
);
$
(
window
).
resize
(
update
);
return
update
();
});
};
})(
window
.
jQuery
,
window
);
getVerticalScrollbarWidth
=
function
()
{
var
inner
,
outer
,
w1
,
w2
;
inner
=
document
.
createElement
(
'p'
);
inner
.
style
.
width
=
"100%"
;
inner
.
style
.
height
=
"200px"
;
outer
=
document
.
createElement
(
'div'
);
outer
.
style
.
position
=
"absolute"
;
outer
.
style
.
top
=
"0px"
;
outer
.
style
.
left
=
"0px"
;
outer
.
style
.
visibility
=
"hidden"
;
outer
.
style
.
width
=
"200px"
;
outer
.
style
.
height
=
"150px"
;
outer
.
style
.
overflow
=
"hidden"
;
outer
.
appendChild
(
inner
);
document
.
body
.
appendChild
(
outer
);
w1
=
inner
.
offsetWidth
;
outer
.
style
.
overflow
=
'scroll'
;
w2
=
inner
.
offsetWidth
;
if
(
w1
===
w2
)
{
w2
=
outer
.
clientWidth
;
}
document
.
body
.
removeChild
(
outer
);
return
w1
-
w2
;
};
}).
call
(
this
);
jquery.ns-autogrow/1.1.6/jquery.ns-autogrow.min.js
0 → 100644
View file @
b5e00c6d
/*!
Non-Sucking Autogrow 1.1.6
license: MIT
author: Roman Pushkin
https://github.com/ro31337/jquery.ns-autogrow
*/
(
function
(){
var
e
;
!
function
(
t
,
l
){
return
t
.
fn
.
autogrow
=
function
(
i
){
if
(
null
==
i
&&
(
i
=
{}),
null
==
i
.
horizontal
&&
(
i
.
horizontal
=!
0
),
null
==
i
.
vertical
&&
(
i
.
vertical
=!
0
),
null
==
i
.
debugx
&&
(
i
.
debugx
=-
1
e4
),
null
==
i
.
debugy
&&
(
i
.
debugy
=-
1
e4
),
null
==
i
.
debugcolor
&&
(
i
.
debugcolor
=
"yellow"
),
null
==
i
.
flickering
&&
(
i
.
flickering
=!
0
),
null
==
i
.
postGrowCallback
&&
(
i
.
postGrowCallback
=
function
(){}),
null
==
i
.
verticalScrollbarWidth
&&
(
i
.
verticalScrollbarWidth
=
e
()),
i
.
horizontal
!==!
1
||
i
.
vertical
!==!
1
)
return
this
.
filter
(
"textarea"
).
each
(
function
(){
var
e
,
n
,
r
,
o
,
a
,
c
,
d
;
if
(
e
=
t
(
this
),
!
e
.
data
(
"autogrow-enabled"
))
return
e
.
data
(
"autogrow-enabled"
),
a
=
e
.
height
(),
c
=
e
.
width
(),
o
=
1
*
e
.
css
(
"lineHeight"
)
||
0
,
e
.
hasVerticalScrollBar
=
function
(){
return
e
[
0
].
clientHeight
<
e
[
0
].
scrollHeight
},
n
=
t
(
'<div class="autogrow-shadow"></div>'
).
css
({
position
:
"absolute"
,
display
:
"inline-block"
,
"background-color"
:
i
.
debugcolor
,
top
:
i
.
debugy
,
left
:
i
.
debugx
,
"max-width"
:
e
.
css
(
"max-width"
),
padding
:
e
.
css
(
"padding"
),
fontSize
:
e
.
css
(
"fontSize"
),
fontFamily
:
e
.
css
(
"fontFamily"
),
fontWeight
:
e
.
css
(
"fontWeight"
),
lineHeight
:
e
.
css
(
"lineHeight"
),
resize
:
"none"
,
"word-wrap"
:
"break-word"
}).
appendTo
(
document
.
body
),
i
.
horizontal
===!
1
?
n
.
css
({
width
:
e
.
width
()}):(
r
=
e
.
css
(
"font-size"
),
n
.
css
(
"padding-right"
,
"+="
+
r
),
n
.
normalPaddingRight
=
n
.
css
(
"padding-right"
)),
d
=
function
(
t
){
return
function
(
l
){
var
r
,
d
,
s
;
return
d
=
t
.
value
.
replace
(
/&/g
,
"&"
).
replace
(
/</g
,
"<"
).
replace
(
/>/g
,
">"
).
replace
(
/
\n
/g
,
"<br/> "
).
replace
(
/"/g
,
"""
).
replace
(
/'/g
,
"'"
).
replace
(
/
\n
$/
,
"<br/> "
).
replace
(
/
\n
/g
,
"<br/>"
).
replace
(
/
{2,}
/g
,
function
(
e
){
return
Array
(
e
.
length
-
1
).
join
(
" "
)
+
" "
}),
/
(\n
|
\r)
/
.
test
(
t
.
value
)
&&
(
d
+=
"<br />"
,
i
.
flickering
===!
1
&&
(
d
+=
"<br />"
)),
n
.
html
(
d
),
i
.
vertical
===!
0
&&
(
r
=
Math
.
max
(
n
.
height
()
+
o
,
a
),
e
.
height
(
r
)),
i
.
horizontal
===!
0
&&
(
n
.
css
(
"padding-right"
,
n
.
normalPaddingRight
),
i
.
vertical
===!
1
&&
e
.
hasVerticalScrollBar
()
&&
n
.
css
(
"padding-right"
,
"+="
+
i
.
verticalScrollbarWidth
+
"px"
),
s
=
Math
.
max
(
n
.
outerWidth
(),
c
),
e
.
width
(
s
)),
i
.
postGrowCallback
(
e
)}}(
this
),
e
.
change
(
d
).
keyup
(
d
).
keydown
(
d
),
t
(
l
).
resize
(
d
),
d
()})}}(
window
.
jQuery
,
window
),
e
=
function
(){
var
e
,
t
,
l
,
i
;
return
e
=
document
.
createElement
(
"p"
),
e
.
style
.
width
=
"100%"
,
e
.
style
.
height
=
"200px"
,
t
=
document
.
createElement
(
"div"
),
t
.
style
.
position
=
"absolute"
,
t
.
style
.
top
=
"0px"
,
t
.
style
.
left
=
"0px"
,
t
.
style
.
visibility
=
"hidden"
,
t
.
style
.
width
=
"200px"
,
t
.
style
.
height
=
"150px"
,
t
.
style
.
overflow
=
"hidden"
,
t
.
appendChild
(
e
),
document
.
body
.
appendChild
(
t
),
l
=
e
.
offsetWidth
,
t
.
style
.
overflow
=
"scroll"
,
i
=
e
.
offsetWidth
,
l
===
i
&&
(
i
=
t
.
clientWidth
),
document
.
body
.
removeChild
(
t
),
l
-
i
}}).
call
(
this
);
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment