2023-05-25 13:59:13 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
// Code generated by vugu via vugugen. Please regenerate instead of editing or add additional code in a separate file. DO NOT EDIT.
|
|
|
|
|
|
|
|
import "fmt"
|
|
|
|
import "reflect"
|
|
|
|
import "github.com/vugu/vjson"
|
|
|
|
import "github.com/vugu/vugu"
|
|
|
|
import js "github.com/vugu/vugu/js"
|
|
|
|
|
|
|
|
import (
|
|
|
|
"git.d3nexus.de/Dadido3/D3vugu-components/components/input"
|
|
|
|
"git.d3nexus.de/Dadido3/D3vugu-components/components/layout"
|
|
|
|
//"git.d3nexus.de/Dadido3/D3vugu-components/components/navigation"
|
|
|
|
"git.d3nexus.de/Dadido3/D3vugu-components/components/view"
|
|
|
|
"git.d3nexus.de/Dadido3/D3vugu-components/icons"
|
|
|
|
)
|
|
|
|
|
|
|
|
func (c *PageInput) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
|
|
|
|
var vgiterkey interface{}
|
|
|
|
_ = vgiterkey
|
|
|
|
var vgn *vugu.VGNode
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgout.Out = append(vgout.Out, vgn) // root for output
|
|
|
|
{
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x20AFF4661A9DBAD9^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*layout.Container)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(layout.Container)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "h1", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Input"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Clickable components support the "}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x2E6D6C403988153C^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.CodeInline)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.CodeInline)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "EventClick"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: " event that handlers can be registered to with "}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x8E897D05FF62A33^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.CodeInline)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.CodeInline)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "@Click=\"c.handleButton(event)\""}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xC1C3CCC0AF55B34A^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.Code)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.Code)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "pre", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "style", Val: "margin: 0;"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML("func (c *PageInput) handleButton(event input.ClickEvent) {\n" +
|
|
|
|
" c.button1Counter++\n" +
|
|
|
|
"}")
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Data binding..."))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "h2", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Button"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Simple example with click handler:"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x736F807B47B17752^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.Code)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.Code)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "pre", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "style", Val: "margin: 0;"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML("<input:Button @Click=\"c.button1Counter++\"><div vg-content=\"fmt.Sprintf(`Button pressed %d times`, c.button1Counter)\"></div></input:Button>")
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xCBC9DEE03A1E26A2^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Button)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.Click = input.ClickFunc(func(event input.ClickEvent) { c.button1Counter++ })
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(fmt.Sprintf("Button pressed %d times", c.button1Counter))
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Symbols can be attached to buttons:"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x5F232F759A4B73AE^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.Code)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.Code)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "pre", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "style", Val: "margin: 0;"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML("<input:Button>\n" +
|
|
|
|
" <vg-slot name=\"IconSlot\"><icons:LDocument></icons:LDocument></vg-slot>\n" +
|
|
|
|
" <vg-slot name=\"DefaultSlot\"><div>Some text</div></vg-slot>\n" +
|
|
|
|
"</input:Button>")
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xEB082BAAB0ABC376^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Button)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.IconSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xE26F025C754B71B6^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LDocument)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(icons.LDocument)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Some text"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Use the "}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x67ED61626DC06036^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.CodeInline)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.CodeInline)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "d3c-button-vertical"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: " CSS class to align the button content vertically:"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x1B4AC4970673A406^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.Code)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.Code)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "pre", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "style", Val: "margin: 0;"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML("<input:Button class=\"d3c-button-vertical\">\n" +
|
|
|
|
" <vg-slot name=\"IconSlot\"><icons:LGlobe style=\"font-size: 2em;\"></icons:LGlobe></vg-slot>\n" +
|
|
|
|
" <vg-slot name=\"DefaultSlot\"><div>Something</div></vg-slot>\n" +
|
|
|
|
"</input:Button>")
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x793CBD2C6ACD6913^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Button)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.AttrMap = make(map[string]interface{}, 8)
|
|
|
|
vgcomp.AttrMap["class"] = "d3c-button-vertical"
|
|
|
|
vgcomp.IconSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xD464CB7D5C84AD3E^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LGlobe)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(icons.LGlobe)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.AttrMap = make(map[string]interface{}, 8)
|
|
|
|
vgcomp.AttrMap["style"] = "font-size: 2em;"
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Something"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
2023-05-25 14:37:46 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
2023-05-25 15:20:12 +00:00
|
|
|
vgn.SetInnerHTML(vugu.HTML("Buttons can be bound to boolean variables, in this case they will function as a toggle:"))
|
2023-05-25 14:37:46 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x96B6DA51AAF049CA^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 14:37:46 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.Code)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.Code)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "pre", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "style", Val: "margin: 0;"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML("<input:Button :Bind=\"&c.button4Bool\">Toggle me!</input:Button>")
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x3F74EE4F364D7546^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 14:37:46 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Button)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.Bind = &c.button4Bool
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Toggle me!"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "span", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(fmt.Sprintf(`Boolean is set to %v.`, c.button4Bool))
|
2023-05-25 13:59:13 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "h2", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Input fields"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Input fields can be bound to data. They will automatically change their type based on the bound data type."))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
2023-06-04 15:45:27 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "To make labels work correctly, you have to use the "}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
|
|
|
vgcompKey := vugu.MakeCompKey(0x5A116BC94CF63768^vgin.CurrentPositionHash(), vgiterkey)
|
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.CodeInline)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.CodeInline)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "ID=\"some-id\""}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: " tag (uppercase ID), which will set the ID of the embedded input element!"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
2023-05-25 13:59:13 +00:00
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xE85FB93B618818E8^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.Code)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.Code)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "pre", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "style", Val: "margin: 0;"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML("<label for=\"page-input-1\">Some input field</label>\n" +
|
2023-06-04 15:45:27 +00:00
|
|
|
"<input:Field ID=\"page-input-1\" :Bind=\"input.FieldBindAny{&c.inputField1String}\"></input:Field>")
|
2023-05-25 13:59:13 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "label", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "for", Val: "page-input-1"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Some input field bound to string value"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x89C59B48EFCFE8B2^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Field)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Field)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
2023-05-25 15:44:44 +00:00
|
|
|
vgcomp.Bind = input.FieldBindAny{&c.inputField1String}
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcomp.ID = "page-input-1"
|
2023-05-25 13:59:13 +00:00
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "span", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
2023-05-25 15:44:44 +00:00
|
|
|
vgn.SetInnerHTML(fmt.Sprintf("Current value is %q.", c.inputField1String))
|
2023-05-25 13:59:13 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "br", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML(""))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "label", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "for", Val: "page-input-2"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Some input field bound to integer value"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x4E2591ABE6D3FA81^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Field)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Field)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
2023-05-25 15:44:44 +00:00
|
|
|
vgcomp.Bind = input.FieldBindAny{&c.inputField2Int}
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcomp.ID = "page-input-2"
|
2023-05-25 13:59:13 +00:00
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "span", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
2023-05-25 15:44:44 +00:00
|
|
|
vgn.SetInnerHTML(fmt.Sprintf("Current value is %v.", c.inputField2Int))
|
2023-05-25 13:59:13 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "br", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML(""))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "label", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "for", Val: "page-input-3"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Some input field bound to float value"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x551A134858275AB5^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 13:59:13 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Field)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Field)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
2023-05-25 15:44:44 +00:00
|
|
|
vgcomp.Bind = input.FieldBindAny{&c.inputField3Float}
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcomp.ID = "page-input-3"
|
2023-05-25 13:59:13 +00:00
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "span", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
2023-05-25 15:44:44 +00:00
|
|
|
vgn.SetInnerHTML(fmt.Sprintf("Current value is %v.", c.inputField3Float))
|
2023-05-25 15:20:12 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "For passwords you have to use the "}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x7D75A607D172A648^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 15:20:12 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.CodeInline)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(view.CodeInline)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "input.FieldBindPassword"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: " binder:"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "label", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "for", Val: "page-input-4"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Some input field bound to password string"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x60E1D908E511559^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 15:20:12 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Field)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Field)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
2023-05-25 15:44:44 +00:00
|
|
|
vgcomp.Bind = input.FieldBindPassword{&c.inputField4String}
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcomp.ID = "page-input-4"
|
2023-05-25 15:20:12 +00:00
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "span", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
2023-05-25 15:44:44 +00:00
|
|
|
vgn.SetInnerHTML(fmt.Sprintf("Secret password is %q.", c.inputField4String))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("You can add additional buttons to the input field:"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "label", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "for", Val: "page-input-5"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Some input field with some extra button"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x9CE0F544EC27FBEB^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 15:44:44 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Field)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Field)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.Bind = input.FieldBindAny{&c.inputField5String}
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcomp.ID = "page-input-5"
|
2023-05-25 15:44:44 +00:00
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xE80EA74D367F5D16^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 15:44:44 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Button)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.Bind = &c.inputField5Bool
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
if !c.inputField5Bool {
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xA5DA8A9DBDB90700^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 15:44:44 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LLockOpened)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(icons.LLockOpened)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.AttrMap = make(map[string]interface{}, 8)
|
|
|
|
vgcomp.AttrMap["class"] = "d3c-button-borderless"
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
if c.inputField5Bool {
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xDD2A63E717759625^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 15:44:44 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LLockClosed)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(icons.LLockClosed)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.AttrMap = make(map[string]interface{}, 8)
|
|
|
|
vgcomp.AttrMap["class"] = "d3c-button-borderless"
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x1F20F757A0BF686B^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 15:44:44 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Button)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
|
|
|
|
vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
|
|
|
|
vgout = &vugu.BuildOut{}
|
|
|
|
vgout.Out = append(vgout.Out, vgn)
|
|
|
|
vgparent := vgn
|
|
|
|
_ = vgparent
|
|
|
|
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x70D6A89A66CE9BBA^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-25 15:44:44 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LGlobe)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(icons.LGlobe)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
2023-05-27 11:37:40 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "h2", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Drop-down"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "label", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "for", Val: "page-dropdown-1"}}}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Select a slice entry"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0x454363DE2B487242^vgin.CurrentPositionHash(), vgiterkey)
|
2023-05-27 11:37:40 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Dropdown)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Dropdown)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.Bind = input.FieldBindAny{Value: &c.dropdown1Index}
|
2023-06-02 09:17:22 +00:00
|
|
|
vgcomp.BindList = input.ListBindGenericSlice[string]{Slice: &c.dropdown1Slice}
|
2023-05-27 11:37:40 +00:00
|
|
|
vgcomp.AttrMap = make(map[string]interface{}, 8)
|
|
|
|
vgcomp.AttrMap["id"] = "page-dropdown-1"
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "span", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(fmt.Sprintf("The selected index is %d.", c.dropdown1Index))
|
2023-06-02 09:17:22 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "h2", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Tags"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "p", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
vgn.SetInnerHTML(vugu.HTML("Select or change the list of tags"))
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
{
|
2023-06-04 15:45:27 +00:00
|
|
|
vgcompKey := vugu.MakeCompKey(0xD0C3C4E61B43E42F^vgin.CurrentPositionHash(), vgiterkey)
|
2023-06-02 09:17:22 +00:00
|
|
|
// ask BuildEnv for prior instance of this specific component
|
|
|
|
vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Tags)
|
|
|
|
if vgcomp == nil {
|
|
|
|
// create new one if needed
|
|
|
|
vgcomp = new(input.Tags)
|
|
|
|
vgin.BuildEnv.WireComponent(vgcomp)
|
|
|
|
}
|
|
|
|
vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around
|
|
|
|
vgcomp.Bind = input.ListBindGenericSlice[string]{Slice: &c.tags1Slice}
|
|
|
|
vgcomp.AttrMap = make(map[string]interface{}, 8)
|
|
|
|
vgcomp.AttrMap["id"] = "page-tags-1"
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
2023-05-25 15:44:44 +00:00
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\n\t"}
|
2023-05-25 13:59:13 +00:00
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
return
|
|
|
|
})
|
|
|
|
vgout.Components = append(vgout.Components, vgcomp)
|
|
|
|
vgn = &vugu.VGNode{Component: vgcomp}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n"}
|
|
|
|
vgparent.AppendChild(vgn)
|
|
|
|
}
|
|
|
|
vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "style", Attr: []vugu.VGAttribute(nil)}
|
|
|
|
{
|
|
|
|
vgn.AppendChild(&vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n", Attr: []vugu.VGAttribute(nil)})
|
|
|
|
}
|
|
|
|
vgout.AppendCSS(vgn)
|
|
|
|
return vgout
|
|
|
|
}
|
|
|
|
|
|
|
|
// 'fix' unused imports
|
|
|
|
var _ fmt.Stringer
|
|
|
|
var _ reflect.Type
|
|
|
|
var _ vjson.RawMessage
|
|
|
|
var _ js.Value
|