Documentation
¶
Index ¶
- func RegisterCallbacks(db *gorm.DB)
- func RegisterMediaHandler(name string, handler MediaHandler)
- type AssetManager
- type Base
- func (Base) ConfigureQorMetaBeforeInitialize(meta resource.Metaor)
- func (b *Base) Cropped(values ...bool) (result bool)
- func (b Base) Ext() string
- func (b *Base) GetCropOption(name string) *image.Rectangle
- func (b Base) GetFileHeader() FileHeader
- func (b Base) GetFileName() string
- func (b Base) GetSizes() map[string]Size
- func (b Base) GetURL(option *Option, scope *gorm.Scope, field *gorm.Field, templater URLTemplater) string
- func (b Base) GetURLTemplate(option *Option) (path string)
- func (b Base) IsImage() bool
- func (b Base) IsVideo() bool
- func (b *Base) NeedCrop() bool
- func (b Base) Retrieve(url string) (*os.File, error)
- func (b *Base) Scan(data interface{}) (err error)
- func (b Base) String() string
- func (b Base) URL(styles ...string) string
- func (b Base) Value() (driver.Value, error)
- type CropOption
- type File
- type FileHeader
- type FileSystem
- type Media
- type MediaBox
- func (mediaBox MediaBox) ConfigureQorMeta(metaor resource.Metaor)
- func (mediaBox MediaBox) Crop(res *admin.Resource, db *gorm.DB, mediaOption MediaOption) (err error)
- func (mediaBox *MediaBox) Scan(data interface{}) (err error)
- func (mediaBox MediaBox) URL(styles ...string) string
- func (mediaBox MediaBox) Value() (driver.Value, error)
- type MediaBoxConfig
- type MediaHandler
- type MediaLibrary
- func (MediaLibrary) ConfigureQorResource(res resource.Resourcer)
- func (mediaLibrary *MediaLibrary) GetMediaOption() MediaOption
- func (mediaLibrary *MediaLibrary) GetSelectedType() string
- func (mediaLibrary *MediaLibrary) ScanMediaOptions(mediaOption MediaOption) error
- func (mediaLibrary *MediaLibrary) SetSelectedType(typ string)
- type MediaLibraryInterface
- type MediaLibraryStorage
- func (mediaLibraryStorage MediaLibraryStorage) ConfigureQorMeta(metaor resource.Metaor)
- func (mediaLibraryStorage MediaLibraryStorage) GetSizes() map[string]Size
- func (mediaLibraryStorage *MediaLibraryStorage) Scan(data interface{}) (err error)
- func (mediaLibraryStorage MediaLibraryStorage) Value() (driver.Value, error)
- type MediaOption
- type Option
- type Size
- type URLTemplater
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterCallbacks ¶
RegisterCallbacks register callback into GORM DB
func RegisterMediaHandler ¶
func RegisterMediaHandler(name string, handler MediaHandler)
RegisterMediaHandler register Media library handler
Types ¶
type AssetManager ¶
type AssetManager struct {
gorm.Model
File FileSystem `media_library:"URL:/system/assets/{{primary_key}}/{{filename_with_hash}}"`
}
AssetManager defined a asset manager that could be used to manage assets in qor admin
func (*AssetManager) ConfigureQorResource ¶
func (*AssetManager) ConfigureQorResource(res resource.Resourcer)
ConfigureQorResource configure qor locale for Qor Admin
type Base ¶
type Base struct {
FileName string
Url string
CropOptions map[string]*CropOption `json:",omitempty"`
Delete bool `json:",omitempty"`
Crop bool `json:"-"`
FileHeader FileHeader `json:"-"`
Reader io.Reader `json:"-"`
// contains filtered or unexported fields
}
Base defined a base struct for storages
func (Base) ConfigureQorMetaBeforeInitialize ¶
ConfigureQorMetaBeforeInitialize configure this field for Qor Admin
func (*Base) GetCropOption ¶
GetCropOption get crop options
func (Base) GetFileHeader ¶
func (b Base) GetFileHeader() FileHeader
GetFileHeader get file's header, this value only exists when saving files
func (Base) GetURL ¶
func (b Base) GetURL(option *Option, scope *gorm.Scope, field *gorm.Field, templater URLTemplater) string
GetURL get default URL for a model based on its options
func (Base) GetURLTemplate ¶
GetURLTemplate get url template
type CropOption ¶
type CropOption struct {
X, Y, Width, Height int
}
CropOption includes crop options
type FileHeader ¶
FileHeader is an interface, for matched values, when call its `Open` method will return `multipart.File`
type FileSystem ¶
type FileSystem struct {
Base
}
FileSystem defined a media library storage using file system
func (FileSystem) GetFullPath ¶
func (f FileSystem) GetFullPath(url string, option *Option) (path string, err error)
GetFullPath return full file path from a relative file path
type Media ¶
type Media interface {
Scan(value interface{}) error
Value() (driver.Value, error)
GetURLTemplate(*Option) string
GetURL(option *Option, scope *gorm.Scope, field *gorm.Field, templater URLTemplater) string
GetFileHeader() FileHeader
GetFileName() string
GetSizes() map[string]Size
NeedCrop() bool
Cropped(values ...bool) bool
GetCropOption(name string) *image.Rectangle
Store(url string, option *Option, reader io.Reader) error
Retrieve(url string) (*os.File, error)
IsImage() bool
URL(style ...string) string
Ext() string
String() string
}
MediaLibrary is an interface including methods that needs for a media library storage
type MediaBox ¶
type MediaBox struct {
Values string `json:"-" gorm:"size:4294967295;"`
Files []File `json:",omitempty"`
}
func (MediaBox) ConfigureQorMeta ¶
type MediaBoxConfig ¶
type MediaBoxConfig struct {
RemoteDataResource *admin.Resource
Sizes map[string]Size
Max uint
admin.SelectManyConfig
}
MediaBoxConfig configure MediaBox metas
func (*MediaBoxConfig) ConfigureQorMeta ¶
func (*MediaBoxConfig) ConfigureQorMeta(resource.Metaor)
func (*MediaBoxConfig) GetTemplate ¶
type MediaHandler ¶
type MediaHandler interface {
CouldHandle(media Media) bool
Handle(media Media, file multipart.File, option *Option) error
}
MediaHandler media library handler interface, defined which files could be handled, and the handler
type MediaLibrary ¶
type MediaLibrary struct {
gorm.Model
SelectedType string
File MediaLibraryStorage `sql:"size:4294967295;" media_library:"url:/system/{{class}}/{{primary_key}}/{{column}}.{{extension}}"`
}
func (MediaLibrary) ConfigureQorResource ¶
func (MediaLibrary) ConfigureQorResource(res resource.Resourcer)
func (*MediaLibrary) GetMediaOption ¶
func (mediaLibrary *MediaLibrary) GetMediaOption() MediaOption
func (*MediaLibrary) GetSelectedType ¶
func (mediaLibrary *MediaLibrary) GetSelectedType() string
func (*MediaLibrary) ScanMediaOptions ¶
func (mediaLibrary *MediaLibrary) ScanMediaOptions(mediaOption MediaOption) error
func (*MediaLibrary) SetSelectedType ¶
func (mediaLibrary *MediaLibrary) SetSelectedType(typ string)
type MediaLibraryInterface ¶
type MediaLibraryInterface interface {
ScanMediaOptions(MediaOption) error
SetSelectedType(string)
GetSelectedType() string
GetMediaOption() MediaOption
}
type MediaLibraryStorage ¶
type MediaLibraryStorage struct {
FileSystem
Sizes map[string]Size `json:",omitempty"`
Video string
SelectedType string
Description string
}
func (MediaLibraryStorage) ConfigureQorMeta ¶
func (mediaLibraryStorage MediaLibraryStorage) ConfigureQorMeta(metaor resource.Metaor)
func (MediaLibraryStorage) GetSizes ¶
func (mediaLibraryStorage MediaLibraryStorage) GetSizes() map[string]Size
func (*MediaLibraryStorage) Scan ¶
func (mediaLibraryStorage *MediaLibraryStorage) Scan(data interface{}) (err error)
type MediaOption ¶
type MediaOption struct {
Video string `json:",omitempty"`
FileName string `json:",omitempty"`
URL string `json:",omitempty"`
OriginalURL string `json:",omitempty"`
CropOptions map[string]*CropOption `json:",omitempty"`
Sizes map[string]Size `json:",omitempty"`
SelectedType string `json:",omitempty"`
Description string `json:",omitempty"`
Crop bool
}
type Size ¶
Size is a struct, used for `GetSizes` method, it will return a slice of Size, media library will crop images automatically based on it
type URLTemplater ¶
URLTemplater is a interface to return url template