Skip to content
Snippets Groups Projects
Commit c34d64fd authored by Jono Wenger's avatar Jono Wenger
Browse files

Fix HTML

parent c60f7420
No related branches found
No related tags found
No related merge requests found
...@@ -2,13 +2,10 @@ package main ...@@ -2,13 +2,10 @@ package main
import ( import (
"github.com/dtylman/gowd" "github.com/dtylman/gowd"
"github.com/dtylman/gowd/bootstrap"
"gitlab.com/elixxir/client/interfaces/contact" "gitlab.com/elixxir/client/interfaces/contact"
"gitlab.com/elixxir/client/single" "gitlab.com/elixxir/client/single"
"fmt"
"time" "time"
"github.com/dtylman/gowd/bootstrap"
) )
var password string var password string
...@@ -21,7 +18,7 @@ var body *gowd.Element ...@@ -21,7 +18,7 @@ var body *gowd.Element
func main() { func main() {
_, singleMngr = initClient() //_, singleMngr = initClient()
// creates a new bootstrap fluid container // creates a new bootstrap fluid container
body = bootstrap.NewContainer(false) body = bootstrap.NewContainer(false)
...@@ -31,55 +28,61 @@ func main() { ...@@ -31,55 +28,61 @@ func main() {
row := bootstrap.NewRow(bootstrap.NewColumn(bootstrap.ColumnSmall, 3, div)) row := bootstrap.NewRow(bootstrap.NewColumn(bootstrap.ColumnSmall, 3, div))
body.AddElement(row) body.AddElement(row)
div.AddHTML(` row.SetAttribute("style", "font-size:1.5em")
<label for="fname">Ethereum address:</label><br>
<input type="text" id="ethaddr" name="ethaddr"><br> ethAddr := bootstrap.NewFormInput(bootstrap.InputTypeText, "Ethereum Address:")
<label for="lname">Message:</label><br> ethAddr.Element.Kids[1].SetAttribute("style", "font-family:'Roboto Mono', 'Courier New', Courier, monospace;")
<input type="text" id="message" name="message"><br><br>`, nil) sendText := bootstrap.NewFormInput(bootstrap.InputTypeText, "Message:")
div.AddElement(ethAddr.Element)
div.AddElement(sendText.Element)
// add a button // add a button
btn := bootstrap.NewButton(bootstrap.ButtonPrimary, "Send") btn := bootstrap.NewButton(bootstrap.ButtonPrimary, "Send")
btn.OnEvent(gowd.OnClick, btnClicked) btnEvent := func(sender *gowd.Element, event *gowd.EventElement) {
row.AddElement(bootstrap.NewColumn(bootstrap.ColumnSmall, 3, bootstrap.NewElement("div", "well", btn))) btnClicked(sender, event, ethAddr.Element, sendText.Element)
}
/* btn.OnEvent(gowd.OnClick, btnEvent)
// add some other elements from HTML div.AddElement(btn)
div.AddHTML(`<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Dropdown Example // div.AddHTML(`
<span class="caret"></span></button> // <label for="fname">Ethereum address:</label><br>
<ul class="dropdown-menu" id="dropdown-menu"> // <input type="text" id="ethaddr" name="ethaddr"><br>
<li><a href="#">HTML</a></li> // <label for="lname">Message:</label><br>
<li><a href="#">CSS</a></li> // <input type="text" id="message" name="message"><br><br>`, nil)
<li><a href="#">JavaScript</a></li> //
</ul> // // add a button
</div>`, nil) // btn := bootstrap.NewButton(bootstrap.ButtonPrimary, "Send")
// btn.OnEvent(gowd.OnClick, btnClicked)
*/ // row.AddElement(bootstrap.NewColumn(bootstrap.ColumnSmall, 3, bootstrap.NewElement("div", "well", btn)))
// start the ui loop // start the ui loop
gowd.Run(body) gowd.Run(body)
} }
// happens when the 'start' button is clicked // happens when the 'start' button is clicked
func btnClicked(sender *gowd.Element, event *gowd.EventElement) { func btnClicked(sender *gowd.Element, event *gowd.EventElement, ethAddr, sendText *gowd.Element) {
div := bootstrap.NewElement("div", "well")
row := bootstrap.NewRow(bootstrap.NewColumn(bootstrap.ColumnSmall, 3, div))
body.AddElement(row)
// adds test to the body // adds test to the body
text := body.AddElement(gowd.NewStyledText("Sending message...", gowd.BoldText)) 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()
ethAddr := body.Find("ethaddr").GetValue() // Send the message
sendText := body.Find("message").GetValue() message := ethAddr.GetValue() + ";" + sendText.GetValue()
//send the message text.SetText(message)
message := fmt.Sprintf("%s:%s",ethAddr,sendText)
// 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) {
if err != nil { if err != nil {
body.AddHTML(fmt.Sprintf("<textarea readonly style\"width:100%;\">{}</textarea>", err.Error()), nil) text.SetText(err.Error())
} else { } else {
body.AddHTML(fmt.Sprintf("<textarea readonly style\"width:100%;\">{}</textarea>", string(payload)), nil) text.SetText(string(payload))
} }
sender.SetText("Start") sender.SetText("Start")
body.RemoveElement(text) body.RemoveElement(text)
...@@ -89,7 +92,7 @@ func btnClicked(sender *gowd.Element, event *gowd.EventElement) { ...@@ -89,7 +92,7 @@ func btnClicked(sender *gowd.Element, event *gowd.EventElement) {
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 {
body.AddHTML(fmt.Sprintf("<textarea readonly style\"width:100%;\">{}</textarea>", string(err.Error())), nil) text.SetText(err.Error())
sender.SetText("Start") sender.SetText("Start")
body.RemoveElement(text) body.RemoveElement(text)
body.Enable() body.Enable()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment