widget

package module
v0.0.0-...-2ce4d61 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2020 License: MIT Imports: 25 Imported by: 0

README

Widget

Define some customizable, shareable HTML widgets for different pages

Documentation

https://doc.getqor.com/helpers/widget.html

License

Released under the MIT License.

Documentation

Index

Constants

View Source
const FS_NAME = "widgets"

Variables

View Source
var (
	PKG       = path_helpers.GetCalledDir()
	I18NGROUP = i18nmod.PkgToGroup(PKG)
)

Functions

This section is empty.

Types

type Config

type Config struct {
	Admin         *admin.Admin
	PreviewAssets []string
	AssetFS       assetfs.Interface
	RootAssetFS   assetfs.Interface
}

Config widget config

type Context

type Context struct {
	Context          *core.Context
	Widgets          *Widgets
	AvailableWidgets []string
	Options          map[string]interface{}
	InlineEdit       bool
	SourceType       string
	SourceID         string
	FuncMaps         template.FuncMap
	WidgetSetting    QorWidgetSettingInterface
}

Context widget context

func (*Context) Clone

func (context *Context) Clone() *Context

Clone clone a context

func (*Context) FuncMap

func (context *Context) FuncMap() template.FuncMap

FuncMap return funcmap

func (*Context) Funcs

func (context *Context) Funcs(funcMaps template.FuncMap) *Context

Funcs return view functions map

func (Context) Get

func (context Context) Get(name string) (interface{}, bool)

Get get option with name

func (*Context) GetDB

func (context *Context) GetDB() *aorm.DB

GetDB set option by name

func (*Context) Render

func (context *Context) Render(widgetName string, widgetGroupName string) template.HTML

Render render widget based on context

func (*Context) RenderWidget

func (context *Context) RenderWidget(widgetName string, widgetGroupName string, enabled bool) template.HTML

Render render widget based on context

func (*Context) Set

func (context *Context) Set(name string, value interface{})

Set set option by name

type GroupedWidgets

type GroupedWidgets struct {
	Group   string
	Widgets []*Widget
}

type Plugin

type Plugin struct {
	db.DBNames
	plug.EventDispatcher
}

func (*Plugin) OnRegister

func (p *Plugin) OnRegister()

type QorWidgetSetting

type QorWidgetSetting struct {
	Name        string `gorm:"primary_key"`
	Scope       string `gorm:"primary_key;size:128;default:'default'"`
	SourceType  string `gorm:"primary_key;default:''"`
	SourceID    string `gorm:"primary_key;default:''"`
	Description string
	Shared      bool
	WidgetType  string
	GroupName   string
	Template    string
	serializable_meta.SerializableMeta
	CreatedAt time.Time
	UpdatedAt time.Time
	Enabled   bool
}

QorWidgetSetting default qor widget setting struct

func (*QorWidgetSetting) ConfigureResource

func (widgetSetting *QorWidgetSetting) ConfigureResource(res resource.Resourcer)

ConfigureResource a method used to config Widget for qor admin

func (QorWidgetSetting) GetEnabled

func (widgetSetting QorWidgetSetting) GetEnabled() bool

GetShared get widget's source ID

func (QorWidgetSetting) GetGroupName

func (widgetSetting QorWidgetSetting) GetGroupName() string

GetGroupName get widget setting's group name

func (QorWidgetSetting) GetScope

func (widgetSetting QorWidgetSetting) GetScope() string

GetScope get widget's scope

func (*QorWidgetSetting) GetSerializableArgumentKind

func (widgetSetting *QorWidgetSetting) GetSerializableArgumentKind() string

GetSerializableArgumentKind get serializable kind

func (*QorWidgetSetting) GetSerializableArgumentResource

func (widgetSetting *QorWidgetSetting) GetSerializableArgumentResource() *admin.Resource

GetSerializableArgumentResource get setting's argument's resource

func (QorWidgetSetting) GetShared

func (widgetSetting QorWidgetSetting) GetShared() bool

GetShared get widget's source ID

func (QorWidgetSetting) GetSourceID

func (widgetSetting QorWidgetSetting) GetSourceID() string

GetSourceID get widget's source ID

func (QorWidgetSetting) GetSourceType

func (widgetSetting QorWidgetSetting) GetSourceType() string

GetSourceType get widget's source type

func (QorWidgetSetting) GetTemplate

func (widgetSetting QorWidgetSetting) GetTemplate() string

GetTemplate get used widget template

func (QorWidgetSetting) GetWidgetName

func (widgetSetting QorWidgetSetting) GetWidgetName() string

GetWidgetName get widget setting's group name

func (*QorWidgetSetting) ResourceName

func (widgetSetting *QorWidgetSetting) ResourceName() string

ResourceName get widget setting's resource name

func (*QorWidgetSetting) SetEnabled

func (widgetSetting *QorWidgetSetting) SetEnabled(enabled bool)

SetShared set widget setting's source id

func (*QorWidgetSetting) SetGroupName

func (widgetSetting *QorWidgetSetting) SetGroupName(groupName string)

SetGroupName set widget setting's group name

func (*QorWidgetSetting) SetScope

func (widgetSetting *QorWidgetSetting) SetScope(scope string)

SetScope set widget setting's scope

func (*QorWidgetSetting) SetSerializableArgumentKind

func (widgetSetting *QorWidgetSetting) SetSerializableArgumentKind(name string)

SetSerializableArgumentKind set serializable kind

func (*QorWidgetSetting) SetShared

func (widgetSetting *QorWidgetSetting) SetShared(shared bool)

SetShared set widget setting's source id

func (*QorWidgetSetting) SetSourceID

func (widgetSetting *QorWidgetSetting) SetSourceID(sourceID string)

SetSourceID set widget setting's source id

func (*QorWidgetSetting) SetSourceType

func (widgetSetting *QorWidgetSetting) SetSourceType(sourceType string)

SetSourceType set widget setting's souce type

func (*QorWidgetSetting) SetTemplate

func (widgetSetting *QorWidgetSetting) SetTemplate(template string)

SetTemplate set used widget's template

func (*QorWidgetSetting) SetWidgetName

func (widgetSetting *QorWidgetSetting) SetWidgetName(name string)

SetWidgetName set widget setting's group name

type QorWidgetSettingInterface

type QorWidgetSettingInterface interface {
	GetWidgetName() string
	SetWidgetName(string)
	GetGroupName() string
	SetGroupName(string)
	GetScope() string
	SetScope(string)
	GetEnabled() bool
	SetEnabled(bool)
	GetTemplate() string
	SetTemplate(string)
	GetSourceType() string
	SetSourceType(string)
	GetSourceID() string
	SetSourceID(string)
	GetShared() bool
	SetShared(bool)
	serializable_meta.SerializableMetaInterface
}

QorWidgetSettingInterface qor widget setting interface

type Scope

type Scope struct {
	Name    string
	Param   string
	Visible func(*Context) bool
}

Scope widget scope

func (*Scope) ToParam

func (scope *Scope) ToParam() string

ToParam generate param for scope

type Widget

type Widget struct {
	Name          string
	PreviewIcon   string
	Group         string
	Templates     []string
	Setting       *admin.Resource
	Permission    *roles.Permission
	InlineEditURL func(*Context) string
	Context       func(context *Context, setting interface{}) *Context
}

Widget widget struct

func GetWidget

func GetWidget(name string) *Widget

GetWidget get widget by name

func (*Widget) Render

func (w *Widget) Render(context *Context, file string) template.HTML

Render register widget itself content

type Widgets

type Widgets struct {
	Config                *Config
	Resource              *admin.Resource
	AssetFS               assetfs.Interface
	WidgetSettingResource *admin.Resource
	// contains filtered or unexported fields
}

Widgets widgets container

func New

func New(config *Config) *Widgets

New new widgets container

func (*Widgets) ConfigureResourceBeforeInitialize

func (widgets *Widgets) ConfigureResourceBeforeInitialize(res resource.Resourcer)

ConfigureQorResourceBeforeInitialize a method used to config Widget for qor admin

func (*Widgets) LoadPreviewAssets

func (widgets *Widgets) LoadPreviewAssets() template.HTML

LoadPreviewAssets will return assets tag used for Preview

func (*Widgets) NewContext

func (widgets *Widgets) NewContext(qorContext *core.Context, context *Context) *Context

NewContext create new context for widgets

func (*Widgets) RegisterFuncMap

func (widgets *Widgets) RegisterFuncMap(name string, fc interface{})

RegisterFuncMap register view funcs, it could be used when render templates

func (*Widgets) RegisterScope

func (widgets *Widgets) RegisterScope(scope *Scope)

RegisterScope register scope for widget

func (*Widgets) RegisterViewPath

func (widgets *Widgets) RegisterViewPath(p string)

RegisterViewPath register views directory

func (*Widgets) RegisterWidget

func (widgets *Widgets) RegisterWidget(w *Widget)

RegisterWidget register a new widget

func (*Widgets) RegisterWidgetsGroup

func (widgets *Widgets) RegisterWidgetsGroup(group *WidgetsGroup)

RegisterWidgetsGroup register widgets group

func (*Widgets) Render

func (widgets *Widgets) Render(context *core.Context, widgetName string, widgetGroupName string) template.HTML

Render find widget by name, render it based on current context

type WidgetsGroup

type WidgetsGroup struct {
	Name    string
	Widgets []string
}

WidgetsGroup widgets Group

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL