Documentation
¶
Overview ¶
Example (Main) ¶
demonstrate use of mdl-go-components
package main import ( mgc "github.com/mh-cbon/mdl-go-components" "github.com/mh-cbon/mdl-go-components/components" "html/template" "io" "os" ) var out io.Writer = os.Stdout // demonstrate use of mdl-go-components func main() { // create new template to reference mdl components blocks t := mgc.MustTemplate() // create a new render context: (template + writer) ctx := mgc.NewRenderContext(t, out) // create your components, and configure them btn := components.NewButton() btn.SetLabel("label") btn.Classes.Add("the-class-name") // attach components to a render context ctx.AttachTo(btn) // Call the component Render method to get the content. if _, err := btn.Render(); err != nil { panic(err) } // when suitable, components can be nested with the type // mgc.ViewComponentRenderer see tabs, dup, form ect. }
Output:
Index ¶
- Variables
- func GuessGlob() string
- func MustTemplate() *template.Template
- func Template() (*template.Template, error)
- type ContextRenderer
- type Ider
- type RenderContext
- func (ctx *RenderContext) AttachTo(view ViewComponentContextSetter)
- func (ctx *RenderContext) GetId() string
- func (ctx *RenderContext) GetTemplate() Templater
- func (ctx *RenderContext) GetWriter() io.Writer
- func (ctx *RenderContext) RenderComponent(view ViewComponentRenderer, args ...interface{}) (string, error)
- func (ctx *RenderContext) SetDefaultTo(view ViewComponentContextSetter)
- func (ctx *RenderContext) SetTemplate(s Templater)
- func (ctx *RenderContext) SetWriter(s io.Writer)
- type Templater
- type ViewComponent
- type ViewComponentContextSetter
- type ViewComponentRenderer
- type ViewData
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Tplpath = ""
Functions ¶
func MustTemplate ¶
Types ¶
type ContextRenderer ¶
type ContextRenderer interface { GetId() string RenderComponent(view ViewComponentRenderer, args ...interface{}) (string, error) SetDefaultTo(view ViewComponentContextSetter) AttachTo(view ViewComponentContextSetter) }
type RenderContext ¶
type RenderContext struct {
// contains filtered or unexported fields
}
func NewRenderContext ¶
func NewRenderContext(t Templater, wr io.Writer) *RenderContext
func (*RenderContext) AttachTo ¶
func (ctx *RenderContext) AttachTo(view ViewComponentContextSetter)
func (*RenderContext) GetId ¶
func (ctx *RenderContext) GetId() string
func (*RenderContext) GetTemplate ¶
func (ctx *RenderContext) GetTemplate() Templater
func (*RenderContext) GetWriter ¶
func (ctx *RenderContext) GetWriter() io.Writer
func (*RenderContext) RenderComponent ¶
func (ctx *RenderContext) RenderComponent(view ViewComponentRenderer, args ...interface{}) (string, error)
func (*RenderContext) SetDefaultTo ¶
func (ctx *RenderContext) SetDefaultTo(view ViewComponentContextSetter)
func (*RenderContext) SetTemplate ¶
func (ctx *RenderContext) SetTemplate(s Templater)
func (*RenderContext) SetWriter ¶
func (ctx *RenderContext) SetWriter(s io.Writer)
type ViewComponent ¶
type ViewComponent struct {
// contains filtered or unexported fields
}
func (*ViewComponent) GetBlock ¶
func (view *ViewComponent) GetBlock() string
func (*ViewComponent) GetRenderContext ¶
func (view *ViewComponent) GetRenderContext() ContextRenderer
func (*ViewComponent) SetBlock ¶
func (view *ViewComponent) SetBlock(s string)
func (*ViewComponent) SetDefaultRenderContext ¶
func (view *ViewComponent) SetDefaultRenderContext(ctx ContextRenderer)
func (*ViewComponent) SetRenderContext ¶
func (view *ViewComponent) SetRenderContext(s ContextRenderer)
type ViewComponentContextSetter ¶
type ViewComponentContextSetter interface { SetDefaultRenderContext(r ContextRenderer) SetRenderContext(r ContextRenderer) }
type ViewComponentRenderer ¶
type ViewComponentRenderer interface { SetDefaultRenderContext(r ContextRenderer) SetRenderContext(r ContextRenderer) GetRenderContext() ContextRenderer SetBlock(s string) GetBlock() string Render(args ...interface{}) (string, error) }
type ViewData ¶
type ViewData struct { Component interface{} Data interface{} }
func NewViewData ¶
func NewViewData(datas ...interface{}) *ViewData
Click to show internal directories.
Click to hide internal directories.