Skip to content
Snippets Groups Projects
Commit 24da4003 authored by Benjamin Wenger's avatar Benjamin Wenger
Browse files

got it working

parent 160601e4
Branches
No related tags found
No related merge requests found
...@@ -9,4 +9,5 @@ require ( ...@@ -9,4 +9,5 @@ require (
github.com/ugorji/go v1.1.4 // indirect github.com/ugorji/go v1.1.4 // indirect
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 // indirect github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 // indirect
gitlab.com/elixxir/client v1.5.1-0.20210317220715-139e06c28b9b gitlab.com/elixxir/client v1.5.1-0.20210317220715-139e06c28b9b
gitlab.com/xx_network/primitives v0.0.4-0.20210309173740-eb8cd411334a
) )
...@@ -42,13 +42,18 @@ func main() { ...@@ -42,13 +42,18 @@ func main() {
div.AddElement(sendText.Element) div.AddElement(sendText.Element)
// add a button // add a button
btn := bootstrap.NewButton(bootstrap.ButtonPrimary, "Send") btn := bootstrap.NewButton(bootstrap.ButtonPrimary, "Send over xx")
rtnDiv := bootstrap.NewElement("div", "well")
rtnRow := bootstrap.NewRow(bootstrap.NewColumn(bootstrap.ColumnSmall, 3, rtnDiv))
body.AddElement(rtnRow)
btnEvent := func(sender *gowd.Element, event *gowd.EventElement) { btnEvent := func(sender *gowd.Element, event *gowd.EventElement) {
btnClicked(sender, event, ethAddr.Element, sendText.Element) btnClicked(sender, event, ethAddr.Element.Kids[1], sendText.Element.Kids[1], rtnDiv)
} }
btn.OnEvent(gowd.OnClick, btnEvent) btn.OnEvent(gowd.OnClick, btnEvent)
div.AddElement(btn) div.AddElement(btn)
// div.AddHTML(` // div.AddHTML(`
// <label for="fname">Ethereum address:</label><br> // <label for="fname">Ethereum address:</label><br>
// <input type="text" id="ethaddr" name="ethaddr"><br> // <input type="text" id="ethaddr" name="ethaddr"><br>
...@@ -64,14 +69,20 @@ func main() { ...@@ -64,14 +69,20 @@ func main() {
gowd.Run(body) gowd.Run(body)
} }
var lastElement *gowd.Element
// happens when the 'start' button is clicked // happens when the 'start' button is clicked
func btnClicked(sender *gowd.Element, event *gowd.EventElement, ethAddr, sendText *gowd.Element) { func btnClicked(sender *gowd.Element, event *gowd.EventElement, ethAddr,
div := bootstrap.NewElement("div", "well") sendText *gowd.Element, div *gowd.Element) {
row := bootstrap.NewRow(bootstrap.NewColumn(bootstrap.ColumnSmall, 3, div))
body.AddElement(row) sender.SetAttribute("disabled", "true")
body.Render()
if lastElement!=nil{
div.RemoveElement(lastElement)
}
// adds test to the body // adds test to the body
text := div.AddElement(gowd.NewStyledText("Sending message...", gowd.BoldText))
// makes the body stop responding to user events // makes the body stop responding to user events
body.Disable() body.Disable()
...@@ -79,26 +90,43 @@ func btnClicked(sender *gowd.Element, event *gowd.EventElement, ethAddr, sendTex ...@@ -79,26 +90,43 @@ func btnClicked(sender *gowd.Element, event *gowd.EventElement, ethAddr, sendTex
// Send the message // Send the message
message := ethAddr.GetValue() + ";" + sendText.GetValue() message := ethAddr.GetValue() + ";" + sendText.GetValue()
text.SetText(message) defer func() {
sender.RemoveAttribute("disabled")
body.Render()
body.Enable()
}()
//text.SetText(message)
replyString := make(chan string)
// Inline function to print message from client to page, callback for upcoming function // Inline function to print message from client to page, callback for upcoming function
replyFunc := func(payload []byte, err error) { replyFunc := func(payload []byte, err error) {
var result string
if err != nil { if err != nil {
text.SetText(err.Error()) result = err.Error()
} else { } else {
text.SetText(string(payload)) result = string(payload)
} }
sender.SetText("Start") replyString <- result
body.RemoveElement(text) //sender.SetText("Start")
body.Enable() //body.RemoveElement(text)
//body.Enable()
} }
err := singleMngr.TransmitSingleUse(botContact, []byte(message), err := singleMngr.TransmitSingleUse(botContact, []byte(message),
"xxCoinGame", 10, replyFunc, 30*time.Second) "xxCoinGame", 10, replyFunc, 30*time.Second)
if err != nil { if err != nil {
text.SetText(err.Error()) //body.Enable()
sender.SetText("Start") lastElement = div.AddElement(gowd.NewStyledText(err.Error(), gowd.BoldText))
body.RemoveElement(text) //sender.SetText("Start")
body.Enable() //body.RemoveElement(text)
//body.Enable()
return
} }
result := <- replyString
lastElement = div.AddElement(gowd.NewStyledText(result, gowd.BoldText))
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment