- Update overlay example page - Add LLoadingCircle icon - Rename LErrorCircle to LWarningCircle - Change ToastMessageTypeCaution to use LWarningCircle
		
			
				
	
	
		
			267 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			267 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package overlay
 | 
						|
 | 
						|
// 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/icons"
 | 
						|
)
 | 
						|
 | 
						|
func (c *Container) 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{vugu.VGAttribute{Namespace: "", Key: "class", Val: "d3c-1684423938"}}}
 | 
						|
	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)
 | 
						|
		if c.modal != nil {
 | 
						|
			vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "class", Val: "d3c-1684423938-modal-container"}}}
 | 
						|
			vgparent.AppendChild(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: "div", Attr: []vugu.VGAttribute(nil)}
 | 
						|
				vgparent.AppendChild(vgn)
 | 
						|
				vgn.AddAttrInterface("class", c.modalContainerClasses)
 | 
						|
				{
 | 
						|
					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: "div", Attr: []vugu.VGAttribute(nil)}
 | 
						|
					vgparent.AppendChild(vgn)
 | 
						|
					vgn.AddAttrInterface("class", "d3c-1684423938-modal-menu "+c.modalSignalClasses)
 | 
						|
					{
 | 
						|
						vgparent := vgn
 | 
						|
						_ = vgparent
 | 
						|
						vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t\t"}
 | 
						|
						vgparent.AppendChild(vgn)
 | 
						|
						vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "h3", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "class", Val: "d3c-1684423938-modal-title"}, vugu.VGAttribute{Namespace: "", Key: "style", Val: "flex-grow:1; margin: 0;"}}}
 | 
						|
						vgparent.AppendChild(vgn)
 | 
						|
						vgn.SetInnerHTML(c.modalTitle)
 | 
						|
						vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t\t"}
 | 
						|
						vgparent.AppendChild(vgn)
 | 
						|
						{
 | 
						|
							vgcompKey := vugu.MakeCompKey(0x2DDBBBB22E2345CF^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-borderless"
 | 
						|
							vgcomp.Click = input.ClickFunc(func(event input.ClickEvent) { c.handleModalClose(event) })
 | 
						|
							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(0xC5A4AEF7F17F2072^vgin.CurrentPositionHash(), vgiterkey)
 | 
						|
									// ask BuildEnv for prior instance of this specific component
 | 
						|
									vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LCancel)
 | 
						|
									if vgcomp == nil {
 | 
						|
										// create new one if needed
 | 
						|
										vgcomp = new(icons.LCancel)
 | 
						|
										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
 | 
						|
							})
 | 
						|
							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)
 | 
						|
					}
 | 
						|
					vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
 | 
						|
					vgparent.AppendChild(vgn)
 | 
						|
					{
 | 
						|
						var vgcomp vugu.Builder = c.modal
 | 
						|
						if vgcomp != nil {
 | 
						|
							vgin.BuildEnv.WireComponent(vgcomp)
 | 
						|
							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(1), Data: "\n\t"}
 | 
						|
				vgparent.AppendChild(vgn)
 | 
						|
			}
 | 
						|
		}
 | 
						|
		vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t"}
 | 
						|
		vgparent.AppendChild(vgn)
 | 
						|
		vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "class", Val: "d3c-1684423938-toast-container"}}}
 | 
						|
		vgparent.AppendChild(vgn)
 | 
						|
		{
 | 
						|
			vgparent := vgn
 | 
						|
			_ = vgparent
 | 
						|
			vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
 | 
						|
			vgparent.AppendChild(vgn)
 | 
						|
			for vgiterkeyt, toast := range c.toasts {
 | 
						|
				var vgiterkey interface{} = vgiterkeyt
 | 
						|
				_ = vgiterkey
 | 
						|
				toast := toast
 | 
						|
				_ = toast
 | 
						|
				vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute(nil)}
 | 
						|
				vgparent.AppendChild(vgn)
 | 
						|
				vgn.AddAttrInterface("class", "d3c-1684423938-toast "+toast.containerClasses)
 | 
						|
				{
 | 
						|
					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: "div", Attr: []vugu.VGAttribute(nil)}
 | 
						|
					vgparent.AppendChild(vgn)
 | 
						|
					vgn.AddAttrInterface("class", "d3c-1684423938-toast-signal "+toast.signalClasses)
 | 
						|
					vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
 | 
						|
					vgparent.AppendChild(vgn)
 | 
						|
					vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "class", Val: "d3c-1684423938-toast-body"}}}
 | 
						|
					vgparent.AppendChild(vgn)
 | 
						|
					{
 | 
						|
						vgparent := vgn
 | 
						|
						_ = vgparent
 | 
						|
						{
 | 
						|
							var vgcomp vugu.Builder = toast.body
 | 
						|
							if vgcomp != nil {
 | 
						|
								vgin.BuildEnv.WireComponent(vgcomp)
 | 
						|
								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)
 | 
						|
					vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "class", Val: "d3c-1684423938-toast-menu"}}}
 | 
						|
					vgparent.AppendChild(vgn)
 | 
						|
					{
 | 
						|
						vgparent := vgn
 | 
						|
						_ = vgparent
 | 
						|
						vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t\t"}
 | 
						|
						vgparent.AppendChild(vgn)
 | 
						|
						{
 | 
						|
							vgcompKey := vugu.MakeCompKey(0xA4C000EAE5DBC775^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-borderless"
 | 
						|
							vgcomp.Click = input.ClickFunc(func(event input.ClickEvent) { c.handleToastClose(event, toast.body) })
 | 
						|
							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(0x552899AFEF0EE902^vgin.CurrentPositionHash(), vgiterkey)
 | 
						|
									// ask BuildEnv for prior instance of this specific component
 | 
						|
									vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LCancel)
 | 
						|
									if vgcomp == nil {
 | 
						|
										// create new one if needed
 | 
						|
										vgcomp = new(icons.LCancel)
 | 
						|
										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
 | 
						|
							})
 | 
						|
							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)
 | 
						|
					}
 | 
						|
					vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
 | 
						|
					vgparent.AppendChild(vgn)
 | 
						|
				}
 | 
						|
			}
 | 
						|
			vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t"}
 | 
						|
			vgparent.AppendChild(vgn)
 | 
						|
		}
 | 
						|
		vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t"}
 | 
						|
		vgparent.AppendChild(vgn)
 | 
						|
		if c.WaitOverlayActive() {
 | 
						|
			vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "class", Val: "d3c-1684423938-wait-overlay"}}}
 | 
						|
			vgparent.AppendChild(vgn)
 | 
						|
			{
 | 
						|
				vgparent := vgn
 | 
						|
				_ = vgparent
 | 
						|
				vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
 | 
						|
				vgparent.AppendChild(vgn)
 | 
						|
				{
 | 
						|
					vgcompKey := vugu.MakeCompKey(0x700D2E58F0637825^vgin.CurrentPositionHash(), vgiterkey)
 | 
						|
					// ask BuildEnv for prior instance of this specific component
 | 
						|
					vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LLoadingCircle)
 | 
						|
					if vgcomp == nil {
 | 
						|
						// create new one if needed
 | 
						|
						vgcomp = new(icons.LLoadingCircle)
 | 
						|
						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: 4em;"
 | 
						|
					vgout.Components = append(vgout.Components, vgcomp)
 | 
						|
					vgn = &vugu.VGNode{Component: vgcomp}
 | 
						|
					vgparent.AppendChild(vgn)
 | 
						|
				}
 | 
						|
				vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t"}
 | 
						|
				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\t.d3c-1684423938 {\n\t\tposition: fixed;\n\t\tz-index: 2;\n\t}\n\n\t.d3c-1684423938-modal-container {\n\t\twidth: 100vw;\n\t\theight: 100vh;\n\t\tposition: fixed;\n\t\tbackdrop-filter: blur(1px) brightness(80%);\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tz-index: 1;\n\t}\n\n\t.d3c-1684423938-modal-container > div {\n\t\tbackground-color: var(--d3c-color-background);\n\t\tcolor: var(--d3c-color-text);\n\t\tborder-radius: 4px;\n\t\tmax-width: 100%;\n\t\tmax-height: 100%;\n\t\toverflow: auto;\n\t\tbox-shadow: 0 1em 3em var(--d3c-color-shadow);\n\t}\n\n\t.d3c-1684423938-modal-menu {\n\t\tpadding: 0.5em;\n\t\tdisplay: flex;\n\t\tgap: 0.5em;\n\t\tjustify-content: flex-end;\n\t\talign-items: baseline;\n\t\tbackground-color: var(--d3c-color-background);\n\t\tcolor: var(--d3c-color-text);\n\t}\n\n\t.d3c-1684423938-modal-title {\n\t\ttext-align: center;\n\t}\n\n\t.d3c-1684423938-toast-container {\n\t\tpadding: 1em;\n\t\tpointer-events: none;\n\t\twidth: 100vw;\n\t\theight: 100vh;\n\t\tposition: fixed;\n\t\tz-index: 2;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: flex-end;\n\t\talign-items: center;\n\t\tgap: 1em;\n\t\tbox-sizing: border-box;\n\t}\n\n\t.d3c-1684423938-toast {\n\t\tpointer-events: auto;\n\t\tdisplay: flex;\n\t\tbackground-color: var(--d3c-color-background);\n\t\tborder-radius: 4px;\n\t\toverflow: hidden;\n\t\tcolor: var(--d3c-color-text);\n\t\tbox-shadow: 0 1em 2em var(--d3c-color-shadow);\n\t}\n\n\t.d3c-1684423938-toast-signal {\n\t\twidth: 0.5em;\n\t\theight: 100%;\n\t\tbackground-color: var(--d3c-color-background);\n\t\tcolor: var(--d3c-color-text);\n\t}\n\n\t.d3c-1684423938-toast-menu {\n\t\tpadding: 0.5em 0.5em 0 0;\n\t}\n\n\t.d3c-1684423938-wait-overlay {\n\t\tpointer-events: none;\n\t\tposition: fixed;\n\t\tbox-sizing: border-box;\n\t\twidth: 100vw;\n\t\theight: 100vh;\n\t\tz-index: 3;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tanimation: d3c-1684423938-blur-in 2s forwards;\n\t}\n\n\t@keyframes d3c-1684423938-blur-in {\n\t\tfrom {backdrop-filter: blur(0px) brightness(100%);}\n\t\tto {backdrop-filter: blur(1px) brightness(80%);}\n\t}\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
 |