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) { vgcompKey := vugu.MakeCompKey(0x928E418A9F1AD716^vgin.CurrentPositionHash(), vgiterkey) // 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) { vgcompKey := vugu.MakeCompKey(0xCF0DD6A7C79A983D^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: "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) { vgcompKey := vugu.MakeCompKey(0xECF261CDF62F4799^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: "@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) { vgcompKey := vugu.MakeCompKey(0x7C9A794E47C178A2^vgin.CurrentPositionHash(), vgiterkey) // 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) { vgcompKey := vugu.MakeCompKey(0x8B2AC0254C511E18^vgin.CurrentPositionHash(), vgiterkey) // 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("
") 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) { vgcompKey := vugu.MakeCompKey(0xE9F6BF7F6F2D97B9^vgin.CurrentPositionHash(), vgiterkey) // 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) { vgcompKey := vugu.MakeCompKey(0x304A5F2A364165CA^vgin.CurrentPositionHash(), vgiterkey) // 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("\n" + " \n" + "
Some text
\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) { vgcompKey := vugu.MakeCompKey(0x2DDC70A29611DBAF^vgin.CurrentPositionHash(), vgiterkey) // 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 { vgcompKey := vugu.MakeCompKey(0x6A43A0E51C9A6C53^vgin.CurrentPositionHash(), vgiterkey) // 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) { vgcompKey := vugu.MakeCompKey(0xAFFD7BC3E634D1E8^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: "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) { vgcompKey := vugu.MakeCompKey(0x6385B83403AC7D96^vgin.CurrentPositionHash(), vgiterkey) // 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("\n" + " \n" + "
Something
\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) { vgcompKey := vugu.MakeCompKey(0xA165259441557D96^vgin.CurrentPositionHash(), vgiterkey) // 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 { vgcompKey := vugu.MakeCompKey(0x3B26A12A9A9AD428^vgin.CurrentPositionHash(), vgiterkey) // 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) } 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("Buttons can be bound to boolean variables, in this case they will function as a toggle:")) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"} vgparent.AppendChild(vgn) { vgcompKey := vugu.MakeCompKey(0xC7CE5967907608F3^vgin.CurrentPositionHash(), vgiterkey) // 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("Toggle me!") 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) { vgcompKey := vugu.MakeCompKey(0x1E87DA8BFC8EA20^vgin.CurrentPositionHash(), vgiterkey) // 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)) 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("Radio buttons")) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"} vgparent.AppendChild(vgn) { vgcompKey := vugu.MakeCompKey(0x23B1580846A400A4^vgin.CurrentPositionHash(), vgiterkey) // 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("\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) { vgcompKey := vugu.MakeCompKey(0xDE9F0C080FCBE9B6^vgin.CurrentPositionHash(), vgiterkey) // ask BuildEnv for prior instance of this specific component vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.RadioButton) if vgcomp == nil { // create new one if needed vgcomp = new(input.RadioButton) 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.radioButton1} vgcomp.AttrMap = make(map[string]interface{}, 8) vgcomp.AttrMap["id"] = "page-radio-button-1-a" vgcomp.Key = "A" 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-radio-button-1-a"}}} vgparent.AppendChild(vgn) vgn.SetInnerHTML(vugu.HTML("Option A")) 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) { vgcompKey := vugu.MakeCompKey(0xF51B902E976F71D0^vgin.CurrentPositionHash(), vgiterkey) // ask BuildEnv for prior instance of this specific component vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.RadioButton) if vgcomp == nil { // create new one if needed vgcomp = new(input.RadioButton) 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.radioButton1} vgcomp.AttrMap = make(map[string]interface{}, 8) vgcomp.AttrMap["id"] = "page-radio-button-1-b" vgcomp.Key = "B" 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-radio-button-1-b"}}} vgparent.AppendChild(vgn) vgn.SetInnerHTML(vugu.HTML("Option B")) 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) { vgcompKey := vugu.MakeCompKey(0x784BD71FE417B48C^vgin.CurrentPositionHash(), vgiterkey) // ask BuildEnv for prior instance of this specific component vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.RadioButton) if vgcomp == nil { // create new one if needed vgcomp = new(input.RadioButton) 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.radioButton1} vgcomp.AttrMap = make(map[string]interface{}, 8) vgcomp.AttrMap["id"] = "page-radio-button-1-c" vgcomp.Key = "C" 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-radio-button-1-c"}}} vgparent.AppendChild(vgn) vgn.SetInnerHTML(vugu.HTML("Option C")) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"} vgparent.AppendChild(vgn) vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute(nil)} vgparent.AppendChild(vgn) vgn.SetInnerHTML(fmt.Sprintf(`Selected option is %q.`, c.radioButton1)) 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("Checkboxes")) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"} vgparent.AppendChild(vgn) { vgcompKey := vugu.MakeCompKey(0xA28B1B8C0429AF0^vgin.CurrentPositionHash(), vgiterkey) // 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("\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) { vgcompKey := vugu.MakeCompKey(0xE9AAA18D5DF3C0DE^vgin.CurrentPositionHash(), vgiterkey) // ask BuildEnv for prior instance of this specific component vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.CheckBox) if vgcomp == nil { // create new one if needed vgcomp = new(input.CheckBox) vgin.BuildEnv.WireComponent(vgcomp) } vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around vgcomp.Bind = &c.checkBox1 vgcomp.AttrMap = make(map[string]interface{}, 8) vgcomp.AttrMap["id"] = "page-checkBox-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: "label", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "for", Val: "page-checkBox-1"}}} vgparent.AppendChild(vgn) vgn.SetInnerHTML(vugu.HTML("Click this to toggle the checkbox")) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"} vgparent.AppendChild(vgn) vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute(nil)} vgparent.AppendChild(vgn) vgn.SetInnerHTML(fmt.Sprintf(`Boolean is set to %v.`, c.checkBox1)) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"} vgparent.AppendChild(vgn) { vgcompKey := vugu.MakeCompKey(0x651C9288CF002954^vgin.CurrentPositionHash(), vgiterkey) // ask BuildEnv for prior instance of this specific component vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.CheckBox) if vgcomp == nil { // create new one if needed vgcomp = new(input.CheckBox) vgin.BuildEnv.WireComponent(vgcomp) } vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around vgcomp.Bind = &c.checkBox2 vgcomp.AttrMap = make(map[string]interface{}, 8) vgcomp.AttrMap["id"] = "page-checkBox-2" 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-checkBox-2"}}} vgparent.AppendChild(vgn) vgn.SetInnerHTML(vugu.HTML("Click this to toggle the pre-checked checkbox")) 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) 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(0x68BB9D88FA3B351D^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) { vgcompKey := vugu.MakeCompKey(0xE2564FDE4DB68CE0^vgin.CurrentPositionHash(), vgiterkey) // 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("\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: "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) { vgcompKey := vugu.MakeCompKey(0x28EFFF3CE273EF44^vgin.CurrentPositionHash(), vgiterkey) // 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.inputField1String} vgcomp.ID = "page-input-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("Current value is %q.", c.inputField1String)) 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) { vgcompKey := vugu.MakeCompKey(0x756CB00237D8810^vgin.CurrentPositionHash(), vgiterkey) // 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.inputField2Int} vgcomp.ID = "page-input-2" 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("Current value is %v.", c.inputField2Int)) 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) { vgcompKey := vugu.MakeCompKey(0x7C3A36DA5DCF3ED3^vgin.CurrentPositionHash(), vgiterkey) // 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.inputField3Float} vgcomp.ID = "page-input-3" 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("Current value is %v.", c.inputField3Float)) 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-6"}}} vgparent.AppendChild(vgn) vgn.SetInnerHTML(vugu.HTML("Some input field bound to bool value")) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"} vgparent.AppendChild(vgn) { vgcompKey := vugu.MakeCompKey(0xA262AF139BBC7695^vgin.CurrentPositionHash(), vgiterkey) // 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.inputField6Bool} vgcomp.ID = "page-input-6" 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("Current state is %v.", c.inputField6Bool)) 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 set the "} vgparent.AppendChild(vgn) { vgcompKey := vugu.MakeCompKey(0x5E54C508EAB2DA75^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: "Type=\"password\""} 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: " field of the component:"} 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) { vgcompKey := vugu.MakeCompKey(0xE6214B61489F970C^vgin.CurrentPositionHash(), vgiterkey) // 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.inputField4String} vgcomp.ID = "page-input-4" vgcomp.Type = "password" 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("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) { vgcompKey := vugu.MakeCompKey(0xADA936494B3AA8DD^vgin.CurrentPositionHash(), vgiterkey) // 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} vgcomp.ID = "page-input-5" 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) { vgcompKey := vugu.MakeCompKey(0xDAEC1AA0D2CE5DA9^vgin.CurrentPositionHash(), vgiterkey) // 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 { { vgcompKey := vugu.MakeCompKey(0xCEC4D5F629C814D7^vgin.CurrentPositionHash(), vgiterkey) // 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 { { vgcompKey := vugu.MakeCompKey(0xB0BD1FB25F12743D^vgin.CurrentPositionHash(), vgiterkey) // 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) { vgcompKey := vugu.MakeCompKey(0xBAC9520EAD4AF0A4^vgin.CurrentPositionHash(), vgiterkey) // 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) { vgcompKey := vugu.MakeCompKey(0x9E8F42676B734407^vgin.CurrentPositionHash(), vgiterkey) // 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) } 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("time.Time is also supported:")) 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-7"}}} vgparent.AppendChild(vgn) vgn.SetInnerHTML(vugu.HTML("Some input field bound to a time.Time value")) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"} vgparent.AppendChild(vgn) { vgcompKey := vugu.MakeCompKey(0x4B1753F5FE40444B^vgin.CurrentPositionHash(), vgiterkey) // 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.inputField7Time} vgcomp.ID = "page-input-7" 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("Selected date and time is %v.", c.inputField7Time)) 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) { vgcompKey := vugu.MakeCompKey(0xE08CB30A293A1BE1^vgin.CurrentPositionHash(), vgiterkey) // 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} vgcomp.BindList = input.ListBindGenericSlice[string]{Slice: &c.dropdown1Slice} 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)) 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) { vgcompKey := vugu.MakeCompKey(0x331AF2E50268D980^vgin.CurrentPositionHash(), vgiterkey) // 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) } 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("Text-area")) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"} vgparent.AppendChild(vgn) { vgcompKey := vugu.MakeCompKey(0xCF8CCA9BEBE76CBE^vgin.CurrentPositionHash(), vgiterkey) // ask BuildEnv for prior instance of this specific component vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.TextArea) if vgcomp == nil { // create new one if needed vgcomp = new(input.TextArea) vgin.BuildEnv.WireComponent(vgcomp) } vgin.BuildEnv.UseComponent(vgcompKey, vgcomp) // ensure we can use this in the cache next time around vgcomp.Bind = &c.textArea1 vgcomp.AttrMap = make(map[string]interface{}, 8) vgcomp.AttrMap["id"] = "page-text-area-1" vgcomp.AttrMap["rows"] = "10" vgcomp.AttrMap["style"] = "width:100%;resize:none;box-sizing:border-box;" 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: "pre", Attr: []vugu.VGAttribute(nil)} vgparent.AppendChild(vgn) vgn.SetInnerHTML(fmt.Sprintf("Your entered text: %s", c.textArea1)) vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\n\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"} 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