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
c93ec612
Unverified
Commit
c93ec612
authored
May 17, 2018
by
yann300
Committed by
GitHub
May 17, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1307 from ethereum/multi_param_angles_content
Multi param angles content
parents
4071e96e
d6cdd48f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
77 additions
and
17 deletions
+77
-17
multiParamManager.js
src/multiParamManager.js
+75
-15
universal-dapp-styles.js
src/universal-dapp-styles.js
+2
-2
No files found.
src/multiParamManager.js
View file @
c93ec612
...
@@ -20,16 +20,75 @@ class MultiParamManager {
...
@@ -20,16 +20,75 @@ class MultiParamManager {
this
.
clickCallBack
=
clickCallBack
this
.
clickCallBack
=
clickCallBack
this
.
inputs
=
inputs
this
.
inputs
=
inputs
this
.
title
=
title
this
.
title
=
title
this
.
basicInputField
this
.
multiFields
}
}
switchMethodViewOn
()
{
switchMethodViewOn
()
{
this
.
contractActionsContainerSingle
.
style
.
display
=
'none'
this
.
contractActionsContainerSingle
.
style
.
display
=
'none'
this
.
contractActionsContainerMulti
.
style
.
display
=
'flex'
this
.
contractActionsContainerMulti
.
style
.
display
=
'flex'
this
.
makeMultiVal
()
}
}
switchMethodViewOff
()
{
switchMethodViewOff
()
{
this
.
contractActionsContainerSingle
.
style
.
display
=
'flex'
this
.
contractActionsContainerSingle
.
style
.
display
=
'flex'
this
.
contractActionsContainerMulti
.
style
.
display
=
'none'
this
.
contractActionsContainerMulti
.
style
.
display
=
'none'
var
multiValString
=
this
.
getMultiValsString
()
if
(
multiValString
)
this
.
basicInputField
.
value
=
multiValString
}
getValue
(
item
,
index
)
{
var
valStr
=
item
.
value
.
join
(
''
)
return
valStr
}
getMultiValsString
()
{
var
valArray
=
this
.
multiFields
.
querySelectorAll
(
'input'
)
var
ret
=
''
var
valArrayTest
=
[]
for
(
var
j
=
0
;
j
<
valArray
.
length
;
j
++
)
{
if
(
ret
!==
''
)
ret
+=
','
var
elVal
=
valArray
[
j
].
value
valArrayTest
.
push
(
elVal
)
elVal
=
elVal
.
replace
(
/
(
^|,
\s
+|,
)(\d
+
)(\s
+,|,|$
)
/g
,
'$1"$2"$3'
)
// replace non quoted number by quoted number
elVal
=
elVal
.
replace
(
/
(
^|,
\s
+|,
)(
0
[
xX
][
0-9a-fA-F
]
+
)(\s
+,|,|$
)
/g
,
'$1"$2"$3'
)
// replace non quoted hex string by quoted hex string
try
{
JSON
.
parse
(
elVal
)
}
catch
(
e
)
{
elVal
=
'"'
+
elVal
+
'"'
}
ret
+=
elVal
}
var
valStringTest
=
valArrayTest
.
join
(
''
)
if
(
valStringTest
)
{
return
ret
}
else
{
return
''
}
}
emptyInputs
()
{
var
valArray
=
this
.
multiFields
.
querySelectorAll
(
'input'
)
for
(
var
k
=
0
;
k
<
valArray
.
length
;
k
++
)
{
valArray
[
k
].
value
=
''
}
this
.
basicInputField
.
value
=
''
}
makeMultiVal
()
{
var
inputString
=
this
.
basicInputField
.
value
if
(
inputString
)
{
inputString
=
inputString
.
replace
(
/
(
^|,
\s
+|,
)(\d
+
)(\s
+,|,|$
)
/g
,
'$1"$2"$3'
)
// replace non quoted number by quoted number
inputString
=
inputString
.
replace
(
/
(
^|,
\s
+|,
)(
0
[
xX
][
0-9a-fA-F
]
+
)(\s
+,|,|$
)
/g
,
'$1"$2"$3'
)
// replace non quoted hex string by quoted hex string
var
inputJSON
=
JSON
.
parse
(
'['
+
inputString
+
']'
)
var
multiInputs
=
this
.
multiFields
.
querySelectorAll
(
'input'
)
for
(
var
k
=
0
;
k
<
multiInputs
.
length
;
k
++
)
{
if
(
inputJSON
[
k
])
{
multiInputs
[
k
].
value
=
JSON
.
stringify
(
inputJSON
[
k
])
}
}
}
}
}
createMultiFields
()
{
createMultiFields
()
{
...
@@ -52,28 +111,29 @@ class MultiParamManager {
...
@@ -52,28 +111,29 @@ class MultiParamManager {
title
=
'(fallback)'
title
=
'(fallback)'
}
}
var
basicInputField
=
yo
`<input></input>`
this
.
basicInputField
=
yo
`<input></input>`
basicInputField
.
setAttribute
(
'placeholder'
,
this
.
inputs
)
this
.
basicInputField
.
setAttribute
(
'placeholder'
,
this
.
inputs
)
basicInputField
.
setAttribute
(
'title'
,
this
.
inputs
)
this
.
basicInputField
.
setAttribute
(
'title'
,
this
.
inputs
)
var
onClick
=
(
domEl
)
=>
{
var
onClick
=
(
domEl
)
=>
{
this
.
clickCallBack
(
this
.
funABI
.
inputs
,
basicInputField
.
value
)
this
.
clickCallBack
(
this
.
funABI
.
inputs
,
this
.
basicInputField
.
value
)
this
.
emptyInputs
()
}
}
this
.
contractActionsContainerSingle
=
yo
`<div class="
${
css
.
contractActionsContainerSingle
}
" >
this
.
contractActionsContainerSingle
=
yo
`<div class="
${
css
.
contractActionsContainerSingle
}
" >
<button onclick=
${()
=>
{
onClick
()
}}
class
=
"${css.instanceButton}"
>
$
{
title
}
</button>
${
basicInputField
}
<i class="fa fa-angle-down
${
css
.
methCaret
}
" onclick=
${()
=>
{
this
.
switchMethodViewOn
()
}}
title
=
$
{
title
}
></i>
<button onclick=
${()
=>
{
onClick
()
}}
class
=
"${css.instanceButton}"
>
$
{
title
}
</button>
${
this
.
basicInputField
}
<i class="fa fa-angle-down
${
css
.
methCaret
}
" onclick=
${()
=>
{
this
.
switchMethodViewOn
()
}}
title
=
$
{
title
}
></i>
</div>`
</div>`
var
multiFields
=
this
.
createMultiFields
()
this
.
multiFields
=
this
.
createMultiFields
()
var
multiOnClick
=
()
=>
{
var
multiOnClick
=
()
=>
{
var
valArray
=
multiFields
.
querySelectorAll
(
'input'
)
var
valsString
=
this
.
getMultiValsString
()
var
ret
=
''
if
(
valsString
)
{
for
(
var
k
=
0
;
k
<
valArray
.
length
;
k
++
)
{
this
.
clickCallBack
(
this
.
funABI
.
inputs
,
valsString
)
var
el
=
valArray
[
k
]
}
else
{
if
(
ret
!==
''
)
ret
+=
','
this
.
clickCallBack
(
this
.
funABI
.
inputs
,
''
)
ret
+=
el
.
value
}
}
this
.
clickCallBack
(
this
.
funABI
.
inputs
,
ret
)
this
.
emptyInputs
(
)
}
}
var
button
=
yo
`<button onclick=
${()
=>
{
multiOnClick
()
}}
class
=
"${css.instanceButton}"
><
/button>
`
var
button
=
yo
`<button onclick=
${()
=>
{
multiOnClick
()
}}
class
=
"${css.instanceButton}"
><
/button>
`
...
@@ -84,7 +144,7 @@ class MultiParamManager {
...
@@ -84,7 +144,7 @@ class MultiParamManager {
<
div
class
=
"${css.multiTitle}"
>
$
{
title
}
</div>
<
div
class
=
"${css.multiTitle}"
>
$
{
title
}
</div>
<i class='fa fa-angle-up
${
css
.
methCaret
}
'></i>
<i class='fa fa-angle-up
${
css
.
methCaret
}
'></i>
</div>
</div>
${
multiFields
}
${
this
.
multiFields
}
<div class="
${
css
.
group
}
${
css
.
multiArg
}
" >
<div class="
${
css
.
group
}
${
css
.
multiArg
}
" >
${
button
}
${
button
}
</div>
</div>
...
@@ -106,7 +166,7 @@ class MultiParamManager {
...
@@ -106,7 +166,7 @@ class MultiParamManager {
contractProperty.classList.add(css.hasArgs)
contractProperty.classList.add(css.hasArgs)
} else {
} else {
this.contractActionsContainerSingle.querySelector('i').style.visibility = 'hidden'
this.contractActionsContainerSingle.querySelector('i').style.visibility = 'hidden'
basicInputField.style.display = 'none'
this.
basicInputField.style.display = 'none'
}
}
if (this.funABI.payable === true) {
if (this.funABI.payable === true) {
...
...
src/universal-dapp-styles.js
View file @
c93ec612
...
@@ -154,7 +154,7 @@ var css = csjs`
...
@@ -154,7 +154,7 @@ var css = csjs`
}
}
.contractActionsContainerMultiInner {
.contractActionsContainerMultiInner {
margin-bottom: 10px;
margin-bottom: 10px;
border
-bottom
: 1px solid
${
styles
.
appProperties
.
solidBorderBox_BorderColor
}
;
border: 1px solid
${
styles
.
appProperties
.
solidBorderBox_BorderColor
}
;
padding: 0px 5px 5px 0px;
padding: 0px 5px 5px 0px;
background-color:
${
styles
.
appProperties
.
primary_BackgroundColor
}
;
background-color:
${
styles
.
appProperties
.
primary_BackgroundColor
}
;
width: 100%;
width: 100%;
...
@@ -171,7 +171,7 @@ var css = csjs`
...
@@ -171,7 +171,7 @@ var css = csjs`
.contractProperty .multiTitle {
.contractProperty .multiTitle {
display: inline-block;
display: inline-block;
width: 90%;
width: 90%;
font-size: 1
0
px;
font-size: 1
2
px;
height: 25px;
height: 25px;
padding-left: 20px;
padding-left: 20px;
font-weight: bold;
font-weight: bold;
...
...
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