Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
4145568a
Unverified
Commit
4145568a
authored
Sep 18, 2018
by
yann300
Committed by
GitHub
Sep 18, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1510 from ethereum/terminal-commands
add html filter on terminal paste
parents
b53f594b
967b1379
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
9 deletions
+32
-9
terminal.js
src/app/panels/terminal.js
+32
-9
No files found.
src/app/panels/terminal.js
View file @
4145568a
...
...
@@ -102,7 +102,7 @@ class Terminal {
if
(
self
.
_view
.
el
)
return
self
.
_view
.
el
self
.
_view
.
journal
=
yo
`<div class=
${
css
.
journal
}
></div>`
self
.
_view
.
input
=
yo
`
<span class=
${
css
.
input
}
contenteditable="true" onkeydown=
${
change
}
></span>
<span class=
${
css
.
input
}
contenteditable="true" on
paste=
${
paste
}
on
keydown=
${
change
}
></span>
`
self
.
_view
.
input
.
innerText
=
'
\
n'
self
.
_view
.
cli
=
yo
`
...
...
@@ -141,14 +141,6 @@ class Terminal {
</div>
</div>
`
setInterval
(()
=>
{
self
.
_view
.
pendingTxCount
.
innerHTML
=
self
.
_opts
.
udapp
.
pendingTransactionsCount
()
},
1000
)
function
listenOnNetwork
(
ev
)
{
self
.
event
.
trigger
(
'listenOnNetWork'
,
[
ev
.
currentTarget
.
checked
])
}
self
.
_view
.
term
=
yo
`
<div class=
${
css
.
terminal_container
}
onscroll=
${
throttle
(
reattach
,
10
)}
onclick=
${
focusinput
}
>
<div class=
${
css
.
terminal
}
>
...
...
@@ -163,7 +155,38 @@ class Terminal {
${
self
.
_view
.
term
}
</div>
`
setInterval
(()
=>
{
self
.
_view
.
pendingTxCount
.
innerHTML
=
self
.
_opts
.
udapp
.
pendingTransactionsCount
()
},
1000
)
function
listenOnNetwork
(
ev
)
{
self
.
event
.
trigger
(
'listenOnNetWork'
,
[
ev
.
currentTarget
.
checked
])
}
function
paste
(
event
)
{
const
selection
=
window
.
getSelection
()
if
(
!
selection
.
rangeCount
)
return
false
event
.
preventDefault
()
event
.
stopPropagation
()
var
clipboard
=
(
event
.
clipboardData
||
window
.
clipboardData
)
var
text
=
clipboard
.
getData
(
'text/plain'
)
text
=
text
.
replace
(
/
[^\x
20-
\x
FF
]
/gi
,
''
)
// remove non-UTF-8 characters
var
temp
=
document
.
createElement
(
'div'
)
temp
.
innerHTML
=
text
var
textnode
=
document
.
createTextNode
(
temp
.
textContent
)
selection
.
getRangeAt
(
0
).
insertNode
(
textnode
)
selection
.
empty
()
self
.
scroll2bottom
()
placeCaretAtEnd
(
event
.
currentTarget
)
}
function
placeCaretAtEnd
(
el
)
{
el
.
focus
()
var
range
=
document
.
createRange
()
range
.
selectNodeContents
(
el
)
range
.
collapse
(
false
)
var
sel
=
window
.
getSelection
()
sel
.
removeAllRanges
()
sel
.
addRange
(
range
)
}
function
throttle
(
fn
,
wait
)
{
var
time
=
Date
.
now
()
return
function
debounce
()
{
...
...
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