github.com/vugu/vugu@v0.3.5/domrender/renderer-js-util.go (about) 1 package domrender 2 3 import "github.com/vugu/vugu" 4 5 // namespaceToURI resolves the given namespaces to the URI with the specifications 6 func namespaceToURI(namespace string) string { 7 switch namespace { 8 case "html": 9 return "http://www.w3.org/1999/xhtml" 10 case "math": 11 return "http://www.w3.org/1998/Math/MathML" 12 case "svg": 13 return "http://www.w3.org/2000/svg" 14 case "xlink": 15 return "http://www.w3.org/1999/xlink" 16 case "xml": 17 return "http://www.w3.org/XML/1998/namespace" 18 case "xmlns": 19 return "http://www.w3.org/2000/xmlns/" 20 default: 21 return "" 22 } 23 } 24 25 type renderedCtx struct { 26 eventEnv vugu.EventEnv 27 first bool 28 } 29 30 // EventEnv implements RenderedCtx by returning the EventEnv. 31 func (c *renderedCtx) EventEnv() vugu.EventEnv { 32 return c.eventEnv 33 } 34 35 // First returns true for the first render and otherwise false. 36 func (c *renderedCtx) First() bool { 37 return c.first 38 } 39 40 type rendered0 interface { 41 Rendered() 42 } 43 type rendered1 interface { 44 Rendered(ctx vugu.RenderedCtx) 45 } 46 47 func invokeRendered(c interface{}, rctx *renderedCtx) { 48 if i, ok := c.(rendered0); ok { 49 i.Rendered() 50 } else if i, ok := c.(rendered1); ok { 51 i.Rendered(rctx) 52 } 53 }