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