mirror of
https://github.com/admpub/nging
synced 2022-08-13 11:39:22 +00:00
98 lines
2.3 KiB
Go
98 lines
2.3 KiB
Go
package settings
|
|
|
|
import (
|
|
"html/template"
|
|
|
|
"github.com/admpub/nging/v4/application/dbschema"
|
|
formsconfig "github.com/coscms/forms/config"
|
|
"github.com/webx-top/echo"
|
|
)
|
|
|
|
type FormSetter func(*SettingForm)
|
|
|
|
func OptTmpl(tmpl ...string) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.Tmpl = tmpl
|
|
}
|
|
}
|
|
func OptAddTmpl(tmpl ...string) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.Tmpl = append(form.Tmpl, tmpl...)
|
|
}
|
|
}
|
|
func OptHeadTmpl(tmpl ...string) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.HeadTmpl = tmpl
|
|
}
|
|
}
|
|
func OptAddHeadTmpl(tmpl ...string) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.HeadTmpl = append(form.HeadTmpl, tmpl...)
|
|
}
|
|
}
|
|
func OptFootTmpl(tmpl ...string) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.FootTmpl = tmpl
|
|
}
|
|
}
|
|
func OptAddFootTmpl(tmpl ...string) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.FootTmpl = append(form.FootTmpl, tmpl...)
|
|
}
|
|
}
|
|
func OptShort(short string) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.Short = short
|
|
}
|
|
}
|
|
func OptLabel(label string) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.Label = label
|
|
}
|
|
}
|
|
func OptGroup(group string) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.Group = group
|
|
}
|
|
}
|
|
func OptHookPost(hookPost ...func(echo.Context) error) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.hookPost = hookPost
|
|
}
|
|
}
|
|
func OptAddHookPost(hookPost ...func(echo.Context) error) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.hookPost = append(form.hookPost, hookPost...)
|
|
}
|
|
}
|
|
func OptHookGet(hookGet ...func(echo.Context) error) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.hookGet = hookGet
|
|
}
|
|
}
|
|
func OptAddHookGet(hookGet ...func(echo.Context) error) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.hookGet = append(form.hookGet, hookGet...)
|
|
}
|
|
}
|
|
func OptFormConfig(formcfg *formsconfig.Config) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.SetFormConfig(formcfg)
|
|
}
|
|
}
|
|
func OptDataTransfer(name string, dataInitor DataDecoder, dataForm DataEncoder) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.SetDataTransfer(name, dataInitor, dataForm)
|
|
}
|
|
}
|
|
func OptAddConfig(configs ...*dbschema.NgingConfig) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.AddConfig(configs...)
|
|
}
|
|
}
|
|
func OptRenderer(renderer func(echo.Context) template.HTML) FormSetter {
|
|
return func(form *SettingForm) {
|
|
form.SetRenderer(renderer)
|
|
}
|
|
}
|