linkeradmin

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2021 License: MIT Imports: 16 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Admin

type Admin struct {
	Menu      *Menu       `json:"menu"`
	Resources []*Resource `json:"resources"`
}

func NewAdmin

func NewAdmin() *Admin

func NewGuesserAdmin

func NewGuesserAdmin(l *linker.Linker) *Admin

func (*Admin) AddResource

func (a *Admin) AddResource(res *Resource) *Admin

func (*Admin) RemoveResource

func (a *Admin) RemoveResource(name string) *Admin

func (*Admin) Resource

func (a *Admin) Resource(name string) *Resource

type DefaultGuesser

type DefaultGuesser struct {
	// contains filtered or unexported fields
}

func NewDefaultGuesser

func NewDefaultGuesser(opts DefaultGuesserOptions) *DefaultGuesser

func (*DefaultGuesser) CreateInputs

func (g *DefaultGuesser) CreateInputs(resourceName string) []*fields.Input

func (*DefaultGuesser) Icon

func (g *DefaultGuesser) Icon(resourceName string) string

func (*DefaultGuesser) ListFields

func (g *DefaultGuesser) ListFields(resourceName string) []*fields.Field

func (*DefaultGuesser) Resources

func (g *DefaultGuesser) Resources() []*Resource

func (*DefaultGuesser) UpdateInputs

func (g *DefaultGuesser) UpdateInputs(resourceName string) []*fields.Input

type DefaultGuesserOptions

type DefaultGuesserOptions struct {
	Linker *linker.Linker
}

type Guesser

type Guesser interface {
	Resources() []*Resource
	Icon(resourceName string) string
	ListFields(resourceName string) []*fields.Field
	CreateInputs(resourceName string) []*fields.Input
	UpdateInputs(resourceName string) []*fields.Input
}

type LinkerAdminPlugin

type LinkerAdminPlugin struct {
	// contains filtered or unexported fields
}

func NewLinkerAdminPlugin

func NewLinkerAdminPlugin(opts Options) *LinkerAdminPlugin

func (*LinkerAdminPlugin) AppendMiddlewares

func (l *LinkerAdminPlugin) AppendMiddlewares() []web.MiddlewareFunc

func (*LinkerAdminPlugin) Instance

func (l *LinkerAdminPlugin) Instance() interface{}

func (*LinkerAdminPlugin) Name

func (l *LinkerAdminPlugin) Name() string

func (*LinkerAdminPlugin) OnCreated

func (l *LinkerAdminPlugin) OnCreated(z *zepto.Zepto)

func (*LinkerAdminPlugin) OnZeptoInit

func (l *LinkerAdminPlugin) OnZeptoInit(z *zepto.Zepto)

func (*LinkerAdminPlugin) OnZeptoStart

func (l *LinkerAdminPlugin) OnZeptoStart(z *zepto.Zepto)

func (*LinkerAdminPlugin) OnZeptoStop

func (l *LinkerAdminPlugin) OnZeptoStop(z *zepto.Zepto)

func (*LinkerAdminPlugin) PrependMiddlewares

func (l *LinkerAdminPlugin) PrependMiddlewares() []web.MiddlewareFunc
type Menu struct {
	Links []MenuLink `json:"links"`
}
type MenuLink struct {
	Icon               string `json:"icon"`
	Label              string `json:"label"`
	LinkToResourceName string `json:"link_to_resource_name"`
	LinkToPath         string `json:"link_to_path"`
}

type Options

type Options struct {
	// Admin Config
	Admin *Admin

	// Admin URL Path. Default "/admin"
	Path string

	// Enable/Disable automatic guessing of all resources and fields. Default is true
	AutoGuess *bool
}

type Resource

type Resource struct {
	Name     string                 `json:"name"`
	Icon     string                 `json:"icon"`
	Endpoint string                 `json:"endpoint"`
	List     *ResourceFieldEndpoint `json:"list_endpoint"`
	Create   *ResourceInputEndpoint `json:"create_endpoint"`
	Update   *ResourceInputEndpoint `json:"update_endpoint"`
}

func NewResource

func NewResource(name string) *Resource

type ResourceFieldEndpoint

type ResourceFieldEndpoint struct {
	Fields []*fields.Field `json:"fields"`
}

func NewResourceFieldEndpoint

func NewResourceFieldEndpoint() *ResourceFieldEndpoint

func (*ResourceFieldEndpoint) AddField

func (*ResourceFieldEndpoint) RemoveField

func (e *ResourceFieldEndpoint) RemoveField(name string) *ResourceFieldEndpoint

func (*ResourceFieldEndpoint) ReplaceField

func (e *ResourceFieldEndpoint) ReplaceField(name string, field fields.Field) *ResourceFieldEndpoint

type ResourceInputEndpoint

type ResourceInputEndpoint struct {
	Inputs []*fields.Input `json:"inputs"`
}

func NewResourceInputEndpoint

func NewResourceInputEndpoint() *ResourceInputEndpoint

func (*ResourceInputEndpoint) AddInput

func (*ResourceInputEndpoint) RemoveInput

func (e *ResourceInputEndpoint) RemoveInput(name string) *ResourceInputEndpoint

func (*ResourceInputEndpoint) ReplaceInput

func (e *ResourceInputEndpoint) ReplaceInput(name string, input fields.Input) *ResourceInputEndpoint

type Schema

type Schema struct {
	Admin *Admin `json:"admin"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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