presets

package
v0.0.0-...-932f57c Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2025 License: MIT Imports: 46 Imported by: 0

README

  • Preset
    • Model
      • Listing

        • Bulk Actions
          • UpdateForm
          • UpdateFunc
        • Filter Menu
        • Filter Tabs
      • Detailing

        • Actions
          • UpdateForm
          • UpdateFunc
      • Editing

        • Multiple Editing Form by Name
      • Creating

Documentation

Index

Constants

View Source
const (
	PermModule = "presets"
	PermList   = "presets:list"
	PermGet    = "presets:get"
	PermCreate = "presets:create"
	PermUpdate = "presets:update"
	PermDelete = "presets:delete"

	PermActions         = "action"
	PermDoListingAction = "do_listing_action"
	PermBulkActions     = "bulk_action"
)
View Source
const (
	ParamID                        = "id"
	ParamSelectedID                = "selected_id"
	ParamAction                    = "action"
	ParamOverlay                   = "overlay"
	ParamOverlayUpdateID           = "overlay_update_id"
	ParamBulkActionName            = "bulk_action"
	ParamSelectedIds               = "selected_ids"
	ParamListingQueries            = "presets_listing_queries"
	ParamAfterDeleteEvent          = "presets_after_delete_event"
	ParamPortalID                  = "portal_id"
	ParamTargetPortal              = "target_portal"
	ParamEditFormUnscoped          = "presets_edit_form_unscoped"
	ParamPostChangeCallback        = "presets_post_change_callback"
	ParamPostDeleteCallback        = "presets_post_delete_callback"
	ParamPostExecuteActionCallback = "presets_post_execute_action_callback"
	ParamActionsDisabled           = "actions_disabled"
	ParamMustResult                = "must_result"
	ParamListingEncoder            = "presets_listingEncoder"

	// list editor
	ParamAddRowFormKey      = "listEditor_AddRowFormKey"
	ParamRemoveRowFormKey   = "listEditor_RemoveRowFormKey"
	ParamIsStartSort        = "listEditor_IsStartSort"
	ParamSortSectionFormKey = "listEditor_SortSectionFormKey"
	ParamSortResultFormKey  = "listEditor_SortResultFormKey"
)

params

View Source
const (
	CtxActionsComponent presetsCtx
	CtxMenuComponent
	CtxPortals

	CtxRespondDialogHandlers

	CtxSaveContext
	ParentsModelIDKey
	CtxEventHandlerWrapperNoFlash
)
View Source
const (
	DeleteConfirmPortalName = "deleteConfirm"

	SelectedEventParamName       = "selectedEvent"
	SelectedEventConfigParamName = "selectedEventConfig"
)
View Source
const (
	CoreI18nModuleKey   i18n.ModuleKey = "CoreI18nModuleKey"
	ModelsI18nModuleKey i18n.ModuleKey = "ModelsI18nModuleKey"
)
View Source
const (
	NotificationCenterPortalName   = "notification-center"
	DefaultConfirmDialogPortalName = "presets_ConfirmDialogPortalName"
	ListingDialogPortalName        = "presets_ListingDialogPortalName"
	FormPortalName                 = "presets_FormPortalName"
	FlashPortalName                = "flash"
)
View Source
const (
	CloseRightDrawerVarScript = "vars.presetsRightDrawer = false"

	CloseListingDialogVarScript = "vars.presetsListingDialog = false"
)
View Source
const (
	ConfirmDialogConfirmEvent     = "presets_ConfirmDialog_ConfirmEvent"
	ConfirmDialogPromptText       = "presets_ConfirmDialog_PromptText"
	ConfirmDialogDialogPortalName = "presets_ConfirmDialog_DialogPortalName"
)
View Source
const ActiveFilterTabQueryKey = "active_filter_tab"
View Source
const BreadcrumbsKey = "BreadcrumbsKey"
View Source
const (
	EventOpenConfirmDialog = "presets_ConfirmDialog"
)
View Source
const PortalPathKey = "portal_path"
View Source
const (
	SectionFieldName = "detailField"
)
View Source
const (
	ToTitleRecordEncoderName = "presets__toTitle"
)

Variables

View Source
var (
	ErrRecordNotFound         = errors.New("record not found")
	ErrDeleteRecordNotAllowed = errors.New("delete record not allowed")
	ErrUpdateRecordNotAllowed = errors.New("update record not allowed")
	ErrReadRecordNotAllowed   = errors.New("read record not allowed")
	ErrCreateRecordNotAllowed = errors.New("create record not allowed")
	ErrActionNotAllowed       = errors.New("action not allowed")
)
View Source
var (
	HumanizeString = str_utils.HumanizeString
	NamifyString   = str_utils.NamifyString
	SplitString    = str_utils.SplitString
)
View Source
var CommonMessagesTranslator i18n.TranslateFunc = func(ctx context.Context, key string, args ...string) (v string, ok bool) {
	if v = MustGetMessages(ctx).Common.Get(key); v != "" {
		v = strings.NewReplacer(args...).Replace(v)
		ok = true
	}
	return
}
View Source
var DefaultMessages = Messages_en_US
View Source
var Divider = h.RawHTML(`<svg width="1120" height="2" viewBox="0 0 1120 2" fill="none">
<path d="M0 1H1120" stroke="#01012E" stroke-opacity="0.134"/>
</svg>`)
View Source
var Messages_en_US = &Messages{
	YouAreHere:                        "You Are Here",
	SuccessfullyUpdated:               "Successfully Updated",
	SuccessfullyCreated:               "Successfully Created",
	SuccessfullyDeleted:               "Successfully Deleted",
	Search:                            "Search",
	New:                               "New",
	Update:                            "Update",
	Execute:                           "Execute",
	Delete:                            "Delete",
	Edit:                              "Edit",
	FormTitle:                         "Form",
	OK:                                "OK",
	Cancel:                            "Cancel",
	Clear:                             "Clear",
	Create:                            "Create",
	DeleteConfirmationTextTemplate:    "Are you sure you want to delete {the_model}: {title}?",
	CreatingObjectTitleTemplate:       "New {modelName}",
	CreatingFemaleObjectTitleTemplate: "New {modelName}",
	EditingTitleTemplate:              "Editing {modelName}",
	EditingObjectTitleTemplate:        "Editing {modelName} {id}",
	ListingObjectTitleTemplate:        "Listing {modelName}",
	DetailingObjectTitleTemplate:      "{modelName} {id}",
	FiltersClear:                      "Clear Filters",
	FiltersAdd:                        "Add Filters",
	FilterApply:                       "Apply",
	FilterByTemplate:                  "Filter by {filter}",
	FiltersDateInTheLast:              "is in the last",
	FiltersDateEquals:                 "is equal to",
	FiltersDateBetween:                "is between",
	FiltersDateIsAfter:                "is after",
	FiltersDateIsAfterOrOn:            "is on or after",
	FiltersDateIsBefore:               "is before",
	FiltersDateIsBeforeOrOn:           "is before or on",
	FiltersDateDays:                   "days",
	FiltersDateMonths:                 "months",
	FiltersDateAnd:                    "and",
	FiltersTo:                         "to",
	FiltersNumberEquals:               "is equal to",
	FiltersNumberBetween:              "between",
	FiltersNumberGreaterThan:          "is greater than",
	FiltersNumberLessThan:             "is less than",
	FiltersNumberAnd:                  "and",
	FiltersStringEquals:               "is equal to",
	FiltersStringContains:             "contains",
	FiltersMultipleSelectIn:           "in",
	FiltersMultipleSelectNotIn:        "not in",
	Month:                             "Month",
	MonthNames: [time.December + 1]string{
		"", "January", "February", "March", "April", "May", "June",
		"July", "August", "September", "October", "November", "December",
	},
	Year:                                       "Year",
	PaginationRowsPerPage:                      "Rows per page: ",
	ListingNoRecordToShow:                      "No records to show",
	ListingSelectedCountNotice:                 "{count} records are selected. ",
	ListingClearSelection:                      "clear selection",
	BulkActionNoAvailableRecords:               "None of the selected records can be executed with this action.",
	BulkActionSelectedIdsProcessNoticeTemplate: "Partially selected records cannot be executed with this action: {ids}.",
	ConfirmDialogPromptText:                    "Are you sure?",
	Language:                                   "Language",
	Colon:                                      ":",
	NotFoundPageNotice:                         "Sorry, the requested page cannot be found. Please check the URL.",
	PleaseSelectRecord:                         "Please select a record",
	AddRow:                                     "Add Row",

	BulkActionConfirmationTextTemplate: "Are you sure you want to <b>{Action}</b> then {count} records?",

	Error:             "ERROR",
	ErrEmptyParamID:   "Empty param ID",
	CopiedToClipboard: "Copied to clipboard",
}
View Source
var Messages_pt_BR = &Messages{
	YouAreHere:                 "Você está aqui",
	CopiedToClipboard:          "Copiado para a área de transferência!",
	TheFemaleTitle:             "A %s",
	TheMaleTitle:               "O %s",
	SuccessfullyUpdated:        "Atualizado com Sucesso",
	SuccessfullyCreated:        "Cadastrado com Sucesso",
	SuccessfullyDeleted:        "Excluído com Sucesso",
	SuccessfullyExecutedAction: "Ação executada com Sucesso",
	Search:                     "Pesquisa",
	New:                        "Novo",
	Update:                     "Atualizar",
	Execute:                    "Executar",
	Delete:                     "Excluir",
	Edit:                       "Editar",
	FormTitle:                  "Formulário",
	OK:                         "OK",
	Cancel:                     "Cancelar",
	Clear:                      "Limpar",

	Create:                                     "Cadastrar",
	DeleteConfirmationTextTemplate:             "Tem certeza de que deseja excluir {the_model}: {title}?",
	CreatingFemaleObjectTitleTemplate:          "Nova ‹{modelName}›",
	CreatingObjectTitleTemplate:                "Novo ‹{modelName}›",
	EditingTitleTemplate:                       "Editando ‹{modelName}›",
	EditingObjectTitleTemplate:                 "Editando ‹{modelName}› {id}",
	ListingObjectTitleTemplate:                 "Listando ‹{modelName}›",
	DetailingObjectTitleTemplate:               "‹{modelName}› {id}",
	FiltersClear:                               "Limpar Filtros",
	FiltersAdd:                                 "Adicionar Filtro",
	FilterApply:                                "Aplicar",
	FilterByTemplate:                           "Filtrar por {filter}",
	FiltersDateInTheLast:                       "está no último",
	FiltersDateEquals:                          "é igual a",
	FiltersDateBetween:                         "é entre",
	FiltersDateIsAfter:                         "é depois",
	FiltersDateIsAfterOrOn:                     "está depois ou em",
	FiltersDateIsBefore:                        "é antes",
	FiltersDateIsBeforeOrOn:                    "está antes ou em",
	FiltersDateDays:                            "dias",
	FiltersDateMonths:                          "meses",
	FiltersDateAnd:                             "e",
	FiltersTo:                                  "até",
	FiltersNumberEquals:                        "é igual a",
	FiltersNumberBetween:                       "entre",
	FiltersNumberGreaterThan:                   "é maior que",
	FiltersNumberLessThan:                      "é menor que",
	FiltersNumberAnd:                           "e",
	FiltersStringEquals:                        "é igual a",
	FiltersStringContains:                      "contém",
	FiltersMultipleSelectIn:                    "em",
	FiltersMultipleSelectNotIn:                 "fora de de",
	PaginationRowsPerPage:                      "Registros por página: ",
	PaginationPageInfo:                         "{currPageStart}-{currPageEnd} de {total}",
	PaginationPage:                             "Página:",
	PaginationOfPage:                           "de {total}",
	ListingNoRecordToShow:                      "Nenhum registro a ser mostrado",
	ListingSelectedCountNotice:                 "{count} registros selecionados. ",
	ListingClearSelection:                      "limpar seleção",
	BulkActionNoAvailableRecords:               "Nenhum dos registros selecionados podem ser executados com esta ação.",
	BulkActionSelectedIdsProcessNoticeTemplate: "Registros parcialmente selecionados não podem ser executados com esta ação Pesquisar isso no Goo: {ids}.",
	BulkActionConfirmationTextTemplate:         "Tem certeza que deseja executar a ação <b>{Action}</b> nos {count} registros?",
	ConfirmDialogPromptText:                    "Tem certeza?",
	ConfirmDialogPromptTitle:                   "Confirmação",
	Language:                                   "Idioma",
	Colon:                                      ":",
	NotFoundPageNotice:                         "Desculpe, a página solicitada não pode ser encontrada. Verifique o URL.",
	PleaseSelectRecord:                         "Selecione pelo menos um registro.",
	AddRow:                                     "Adicionar",
	Error:                                      "Erro",
	Month:                                      "Mês",
	Year:                                       "Ano",
	ErrEmptyParamID:                            "Parâmetro ID não informado",
	ErrPermissionDenied:                        "Permissão negada",

	TimeFormats: TimeFormatMessages{
		Time:     "15:04:05Z07:00",
		Date:     "02/01/2006",
		DateTime: "02/01/2006 15:04:05 Z07:00",
	},

	Common: map[string]string{
		"CreatedAt":           "Cadastro",
		"UpdatedAt":           "Atualização",
		"DeletedAt":           "Exclusão",
		"Title":               "Título",
		"Status":              "Situação",
		"Body":                "Corpo",
		"Cover":               "Destaque",
		"Type":                "Tipo",
		"Live":                "Site",
		"Name":                "Nome",
		"Summary":             "Sumário",
		"Page":                "Página",
		"Multiple Statuses":   "Múltiplas Situações",
		"Path":                "Caminho",
		"Enabled":             "Habilitado",
		"Translate":           "Traduzir",
		"Publication":         "Publicação",
		"Description":         "Descrição",
		"Action":              "Ação",
		"Actions":             "Ações",
		"YouAreHere":          "Voçê está aqui",
		"Size":                "Tamanho",
		"Position":            "Posição",
		"Link":                "URL",
		"LinkQuery":           "Parâmetros da URL",
		"ID":                  "ID",
		"Layout":              "Layout",
		"Galleries":           "Galerias de Imagens",
		"LayoutConfig":        "Configuração do Layout",
		"Config":              "Configuração",
		"TitleWithSlug":       "Endereço",
		"PageOptions":         "Opções da Página",
		"Value":               "Valor",
		"File":                "Arquivo",
		"LocaleCode":          "Idioma",
		"L10nTitle":           "Título em Outros Idiomas",
		"L10nDescription":     "Descrição em Outros Idiomas",
		"L10nLink":            "Endereço em Outros Idiomas",
		"Roles":               "Papéis",
		"PostListing":         "Listagem",
		"PostListingEnabled":  "Listado",
		"PostListingDisabled": "Não Listado",
		"Ext":                 "Extensão",
		"FileName":            "Nome do arquivo",
		"Profile":             "Perfil",
		"OldPassword":         "Senha Atual",
		"NewPassword":         "Nova Senha",
		"ConfirmPassword":     "Repita a Nova Senha",
	},

	MonthNames: [time.December + 1]string{
		"",
		"Janeiro",
		"Fevereiro",
		"Março",
		"Abril",
		"Maio",
		"Junho",
		"Julho",
		"Agosto",
		"Setembro",
		"Outubro",
		"Novembro",
		"Dezembro",
	},
}
View Source
var PermRead = []string{PermList, PermGet}

Functions

func AddFlashMessage

func AddFlashMessage(ctx *web.EventContext, message ...*FlashMessage)

func AddPortalPath

func AddPortalPath(ctx *web.EventContext, name string) (rollback func())

func AddPortals

func AddPortals(ctx *web.EventContext, portal ...h.HTMLComponent)

func BuildMenuItemCompomentsOfActions

func BuildMenuItemCompomentsOfActions(sharedPortal string, ctx *web.EventContext, mb *ModelBuilder, id string, obj any, actionBuilders ...*ActionBuilder) (items []*VListItemBuilder, errors h.HTMLComponents)

func CallOkHandler

func CallOkHandler(h OkHandler, ctx *web.EventContext) (ok bool)

func CallOkObjHandlers

func CallOkObjHandlers(h OkObjHandler, obj any, ctx *web.EventContext) (ok bool)

func CheckboxComponentFunc

func CheckboxComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func CheckboxReadonlyComponentFunc

func CheckboxReadonlyComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func CloseBtn

func CloseBtn() h.HTMLComponent

func ConfigureSelectField

func ConfigureSelectField(mb *ModelBuilder, name string, mode FieldMode, cfg SelectConfigor)

func ContextWithFieldOptions

func ContextWithFieldOptions(ctx web.ContextValuer, fqn CtxField, opts *CtxFieldOptions)

func ContextWrapFieldOptions

func ContextWrapFieldOptions(ctx web.ContextValuer, fqn CtxField, f func(opts *CtxFieldOptions))

func EditFormUnscoped

func EditFormUnscoped(ctx *web.EventContext, v bool)

func EditorJSComponentFunc

func EditorJSComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func EditorJSComponentReadFunc

func EditorJSComponentReadFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func EditorJSComponentWriteFunc

func EditorJSComponentWriteFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func FieldComponentContainer

func FieldComponentContainer(label any, comp h.HTMLComponent) h.HTMLComponent

func FieldPathIndex

func FieldPathIndex(i int) string

func FieldPerm

func FieldPerm(name string) string

func FileFieldComponentFunc

func FileFieldComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func FormFieldComponentWrapper

func FormFieldComponentWrapper(comp h.HTMLComponent) h.HTMLComponent

func FullScreenBtn

func FullScreenBtn() h.HTMLComponent

func GetActionsComponent

func GetActionsComponent(ctx *web.EventContext) h.HTMLComponents

func GetComponentFromContext

func GetComponentFromContext(ctx *web.EventContext, key presetsCtx) (h.HTMLComponent, bool)

func GetEditFormUnscoped

func GetEditFormUnscoped(ctx *web.EventContext) (ok bool)

func GetFieldLabels

func GetFieldLabels(ctx web.ContextValuer, fb *FieldsBuilder) map[string]string

func GetFieldStruct

func GetFieldStruct(i interface{}, name string) (_ *reflect.StructField)

func GetMenuComponent

func GetMenuComponent(ctx *web.EventContext) h.HTMLComponents

func GetOrNewPortalID

func GetOrNewPortalID(r *http.Request) (v string)

func GetOverlay

func GetOverlay(ctx *web.EventContext) actions.OverlayMode

func GetPortalID

func GetPortalID(r *http.Request) (v string)

func GetPortalPath

func GetPortalPath(ctx *web.EventContext, sub string) string

func GetPortals

func GetPortals(ctx *web.EventContext) h.HTMLComponents

func GetRespondDialogHandlers

func GetRespondDialogHandlers(ctx *web.EventContext) (handlers []func(d *DialogBuilder))

func GetSaveContext

func GetSaveContext(ctx *web.EventContext) (v context.Context)

func GetScope

func GetScope(ctx *web.EventContext) (scope *web.ScopeBuilder)

func IsInDialog

func IsInDialog(ctx *web.EventContext) bool

func IsInDrawer

func IsInDrawer(ctx *web.EventContext) bool

func KeyFormatTranslator

func KeyFormatTranslator(prefix, keyFormat string, module ...i18n.ModuleKey) i18n.Translator

func KeyFormatTranslatorD

func KeyFormatTranslatorD(prefix, keyFormat string, allowEmpty bool, module ...i18n.ModuleKey) i18n.Translator

func LongTextFieldComponentFunc

func LongTextFieldComponentFunc(field *FieldContext, _ *web.EventContext) *VTextareaBuilder
func MenuBtn() h.HTMLComponent

func MultiSelectReadComponentFunc

func MultiSelectReadComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func MultiSelectToStringComponentFunc

func MultiSelectToStringComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func MultiSelectWriteComponentFunc

func MultiSelectWriteComponentFunc(field *FieldContext, _ *web.EventContext) (comp h.HTMLComponent)

func NumberComponentFunc

func NumberComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func OkOrError

func OkOrError(ok bool, err error) error

func OverlayMode

func OverlayMode(ctx *web.EventContext) actions.OverlayMode

func PasswordFieldComponentFunc

func PasswordFieldComponentFunc(field *FieldContext, ctx *web.EventContext) h.HTMLComponent

func PermFromRequest

func PermFromRequest(r *http.Request) string

func ReadonlyComponentFunc

func ReadonlyComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func RecoverPrimaryColumnValuesBySlug

func RecoverPrimaryColumnValuesBySlug(dec SlugDecoder, slug string) (r map[string]string, err error)

func RegisterMultiSelectType

func RegisterMultiSelectType(p *Builder, typ any, cfg *MultiSelectConfig)

func RegisterSelectType

func RegisterSelectType(p *Builder, typ any, cfg *SelectConfig)

func RemoveEmptySliceItems

func RemoveEmptySliceItems(obj any, mib *ModifiedIndexesBuilder) func()

func RenderFlash

func RenderFlash(msg any, color ...string) h.HTMLComponent

func RespondFlash

func RespondFlash(r *web.EventResponse, msg any, color ...string)

func RuneFieldComponentFunc

func RuneFieldComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func SelectReadComponentFunc

func SelectReadComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func SelectToStringComponentFunc

func SelectToStringComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func SelectWriteComponentFunc

func SelectWriteComponentFunc(field *FieldContext, _ *web.EventContext) (comp h.HTMLComponent)

func ShowMessage

func ShowMessage(r *web.EventResponse, msg any, color ...string)

func SliceFieldComponentFuncWraper

func SliceFieldComponentFuncWraper(draggable bool, itemComponentFunc func(field *FieldContext, itemsModel, deleteFunc string) h.HTMLComponent, wrap ...func(fctx *FieldContext, comp h.HTMLComponent) h.HTMLComponent) func(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func SwitchComponentFunc

func SwitchComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func TDReadonlyBoolComponentFunc

func TDReadonlyBoolComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func TDStringComponentFunc

func TDStringComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func TextFieldComponentFunc

func TextFieldComponentFunc(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func TimeComponentFunc

func TimeComponentFunc(field *FieldContext, ctx *web.EventContext) h.HTMLComponent

func TimeComponentFuncSetter

func TimeComponentFuncSetter(obj interface{}, field *FieldContext, ctx *web.EventContext) (err error)

func TimeReadonlyComponentFunc

func TimeReadonlyComponentFunc(field *FieldContext, ctx *web.EventContext) h.HTMLComponent

func ToStringContext

func ToStringContext(ctx *web.EventContext, v any) string

func WalkModels

func WalkModels(models []*ModelBuilder, f func(mb *ModelBuilder) (state ModelWalkState, err error)) (err error)

func WithActionFormContext

func WithActionFormContext[T any](ctx web.ContextValuer, v *ActionFormContext[T])

func WithActionsComponent

func WithActionsComponent(ctx *web.EventContext, comp ...h.HTMLComponent)

func WithBulkActionFormContext

func WithBulkActionFormContext[T any](ctx web.ContextValuer, v *BulkActionFormContext[T])

func WithEventHandlerWrapperNoFlash

func WithEventHandlerWrapperNoFlash(ctx *web.EventContext)

func WithFieldLabels

func WithFieldLabels(ctx web.ContextValuer, fb *FieldsBuilder, labels map[string]string)

func WithMenuComponent

func WithMenuComponent(ctx *web.EventContext, comp ...h.HTMLComponent)

func WithModel

func WithModel(ctx *web.EventContext, model *ModelBuilder)

func WithPortals

func WithPortals(ctx *web.EventContext, portal ...h.HTMLComponent)

func WithRespondDialogHandlers

func WithRespondDialogHandlers(ctx *web.EventContext, f ...func(d *DialogBuilder))

func WithScope

func WithScope(ctx *web.EventContext, scope *web.ScopeBuilder)

func WrapEventHandler

func WrapEventHandler(wh web.EventHandler) web.EventHandler

func WriteSortableSliceFieldComponentFuncWraper

func WriteSortableSliceFieldComponentFuncWraper(fieldComp func(field *FieldContext, itemsModel, deleteFunc string) h.HTMLComponent, wrap ...func(fctx *FieldContext, comp h.HTMLComponent) h.HTMLComponent) func(field *FieldContext, _ *web.EventContext) h.HTMLComponent

func WriteSortableTextSliceFieldComponentFuncWraper

func WriteSortableTextSliceFieldComponentFuncWraper(wrap ...func(fctx *FieldContext, comp h.HTMLComponent) h.HTMLComponent) func(field *FieldContext, _ *web.EventContext) h.HTMLComponent

Types

type ActionBuildComponentFunc

type ActionBuildComponentFunc func(id string, ctx *web.EventContext, b *ContentComponentBuilder) (err error)

type ActionBuilder

type ActionBuilder struct {
	NameLabel
	// contains filtered or unexported fields
}

func Action

func Action(p *Builder, name string) *ActionBuilder

func (*ActionBuilder) BuildButton

func (b *ActionBuilder) BuildButton(defaultBtnBuilder ButtonComponentFunc, onclick *web.VueEventTagBuilder, id string, obj any, ctx *web.EventContext) h.HTMLComponent

func (*ActionBuilder) BuildComponentFunc

func (b *ActionBuilder) BuildComponentFunc(f ActionBuildComponentFunc) (r *ActionBuilder)

func (*ActionBuilder) Builder

func (b *ActionBuilder) Builder() *Builder

func (*ActionBuilder) ButtonCompFunc

func (b *ActionBuilder) ButtonCompFunc(v ButtonComponentFunc) (r *ActionBuilder)

ButtonCompFunc defines the components of the button area.

func (*ActionBuilder) ComponentFunc

func (b *ActionBuilder) ComponentFunc(v ActionComponentFunc) (r *ActionBuilder)

ComponentFunc defines the components in dialog of button click.

func (*ActionBuilder) Do

func (b *ActionBuilder) Do(baseModel *ModelBuilder, id string, ctx *web.EventContext, r *web.EventResponse) (success bool, err error)

func (*ActionBuilder) DoBtnLabel

func (b *ActionBuilder) DoBtnLabel(ctx *web.EventContext) string

func (*ActionBuilder) Form

func (b *ActionBuilder) Form(mb *ModelBuilder, id string, overlay actions.OverlayMode, ctx *web.EventContext) (comp h.HTMLComponent, err error)

func (*ActionBuilder) GetEnabled

func (b *ActionBuilder) GetEnabled() ActionEnabledFunc

func (*ActionBuilder) GetEnabledObj

func (b *ActionBuilder) GetEnabledObj() ActionEnabledObjFunc

func (*ActionBuilder) Icon

func (b *ActionBuilder) Icon(v string) *ActionBuilder

func (*ActionBuilder) IsEnabled

func (b *ActionBuilder) IsEnabled(id string, ctx *web.EventContext) (ok bool, err error)

func (*ActionBuilder) IsEnabledObj

func (b *ActionBuilder) IsEnabledObj(obj any, id string, ctx *web.EventContext) (ok bool, err error)

func (*ActionBuilder) Label

func (b *ActionBuilder) Label(v string) (r *ActionBuilder)

func (*ActionBuilder) LinkHandler

func (b *ActionBuilder) LinkHandler() ActionLinkHandler

func (*ActionBuilder) OnClick

func (*ActionBuilder) PermName

func (b *ActionBuilder) PermName() string

func (*ActionBuilder) PrimaryActionPositionBottom

func (b *ActionBuilder) PrimaryActionPositionBottom(v bool) *ActionBuilder

func (*ActionBuilder) RequestTitle

func (b *ActionBuilder) RequestTitle(mb *ModelBuilder, ctx context.Context) (label string)

func (*ActionBuilder) SetButtonColor

func (b *ActionBuilder) SetButtonColor(v string) (r *ActionBuilder)

SetButtonColor defines the color of default button if buttonCompFunc is not defined.

func (*ActionBuilder) SetDialogWidth

func (b *ActionBuilder) SetDialogWidth(v string) (r *ActionBuilder)

func (*ActionBuilder) SetDoBtnLabel

func (b *ActionBuilder) SetDoBtnLabel(f func(ctx *web.EventContext) string) *ActionBuilder

func (*ActionBuilder) SetEnabled

func (b *ActionBuilder) SetEnabled(f ActionEnabledFunc) *ActionBuilder

func (*ActionBuilder) SetEnabledObj

func (b *ActionBuilder) SetEnabledObj(f ActionEnabledObjFunc) *ActionBuilder

func (*ActionBuilder) SetFullComponent

func (b *ActionBuilder) SetFullComponent(v bool) (r *ActionBuilder)

func (*ActionBuilder) SetI18nLabel

func (b *ActionBuilder) SetI18nLabel(i18nLabel func(ctx context.Context) string) *ActionBuilder

func (*ActionBuilder) SetLinkHandler

func (b *ActionBuilder) SetLinkHandler(linkHandler ActionLinkHandler) *ActionBuilder

func (*ActionBuilder) SetShowInList

func (b *ActionBuilder) SetShowInList(v bool) *ActionBuilder

func (*ActionBuilder) SetVerifier

func (b *ActionBuilder) SetVerifier(v func(ctx *web.EventContext) *perm.Verifier) *ActionBuilder

func (*ActionBuilder) ShowInList

func (b *ActionBuilder) ShowInList() *ActionBuilder

func (*ActionBuilder) String

func (b *ActionBuilder) String() string

func (*ActionBuilder) Type

func (b *ActionBuilder) Type() ActionType

func (*ActionBuilder) UpdateFunc

func (b *ActionBuilder) UpdateFunc(v ActionUpdateFunc) (r *ActionBuilder)

UpdateFunc defines event when the button is clicked.

func (*ActionBuilder) View

func (b *ActionBuilder) View(baseModel *ModelBuilder, id string, ctx *web.EventContext, r *web.EventResponse) (err error)

func (*ActionBuilder) WrapButtonFunc

func (b *ActionBuilder) WrapButtonFunc(v func(old ButtonComponentFunc) ButtonComponentFunc) *ActionBuilder

func (*ActionBuilder) WrapEnabled

func (b *ActionBuilder) WrapEnabled(f func(old ActionEnabledFunc) ActionEnabledFunc) *ActionBuilder

func (*ActionBuilder) WrapEnabledObj

func (b *ActionBuilder) WrapEnabledObj(f func(old ActionEnabledObjFunc) ActionEnabledObjFunc) *ActionBuilder

func (*ActionBuilder) WrapUpdateFunc

func (b *ActionBuilder) WrapUpdateFunc(f func(old ActionUpdateFunc) ActionUpdateFunc) *ActionBuilder

type ActionButtomComponentFunc

type ActionButtomComponentFunc func(ctx *web.EventContext, title func() string, onclick *web.VueEventTagBuilder) h.HTMLComponent

type ActionComponentFunc

type ActionComponentFunc func(id string, ctx *web.EventContext) (comp h.HTMLComponent, err error)

type ActionEnabledFunc

type ActionEnabledFunc func(id string, ctx *web.EventContext) (ok bool, err error)

type ActionEnabledObjFunc

type ActionEnabledObjFunc func(obj any, id string, ctx *web.EventContext) (ok bool, err error)

type ActionFormBuilder

type ActionFormBuilder[T any] struct {
	// contains filtered or unexported fields
}

func ActionForm

func ActionForm[T any](action *ActionBuilder, eb *EditingBuilder, h ...ActionFormBuilderHandler[T]) *ActionFormBuilder[T]

func (*ActionFormBuilder[T]) Build

func (b *ActionFormBuilder[T]) Build() *ActionBuilder

func (*ActionFormBuilder[T]) CreateContext

func (b *ActionFormBuilder[T]) CreateContext(id string, ctx *web.EventContext) (fctx *ActionFormContext[T], err error)

func (*ActionFormBuilder[T]) Fetch

func (b *ActionFormBuilder[T]) Fetch(v bool) *ActionFormBuilder[T]

func (*ActionFormBuilder[T]) FetchObject

func (b *ActionFormBuilder[T]) FetchObject(fctx *ActionFormContext[T]) (err error)

func (*ActionFormBuilder[T]) GetOrCreateContext

func (b *ActionFormBuilder[T]) GetOrCreateContext(id string, ctx *web.EventContext) (fctx *ActionFormContext[T], err error)

func (*ActionFormBuilder[T]) Handler

func (*ActionFormBuilder[T]) InitForm

func (b *ActionFormBuilder[T]) InitForm(f func(fctx *ActionFormContext[T]) error) *ActionFormBuilder[T]

func (*ActionFormBuilder[T]) RenderForm

func (b *ActionFormBuilder[T]) RenderForm(fctx *ActionFormContext[T]) (_ h.HTMLComponent, err error)

type ActionFormBuilderHandler

type ActionFormBuilderHandler[T any] func(ctx *ActionFormContext[T]) (err error)

type ActionFormBuilderHandlers

type ActionFormBuilderHandlers[T any] []ActionFormBuilderHandler[T]

func (*ActionFormBuilderHandlers[T]) Append

func (c *ActionFormBuilderHandlers[T]) Append(handlers ...ActionFormBuilderHandler[T])

func (ActionFormBuilderHandlers[T]) Handler

func (*ActionFormBuilderHandlers[T]) Prepend

func (c *ActionFormBuilderHandlers[T]) Prepend(handlers ...ActionFormBuilderHandler[T])

type ActionFormContext

type ActionFormContext[T any] struct {
	Context *web.EventContext
	ID      string
	Obj     any
	Form    T
	Err     error
	datafield.DataField[*ActionFormContext[T]]
}

func GetActionFormContext

func GetActionFormContext[T any](ctx web.ContextValuer) *ActionFormContext[T]

func NewActionUpdateContext

func NewActionUpdateContext[T any](context *web.EventContext, id string) *ActionFormContext[T]

type ActionLinkHandler

type ActionLinkHandler func(baseModel *ModelBuilder, ctx *web.EventContext, r *web.EventResponse, q url.Values, id string)

type ActionOnClickHandler

type ActionOnClickHandler func(ctx *web.EventContext, id string, obj any) string

type ActionType

type ActionType uint8
const (
	ActionTypeListItem ActionType = iota
	ActionTypeList
	ActionTypeDetailing
	ActionTypePage
)

type ActionUpdateFunc

type ActionUpdateFunc func(id string, ctx *web.EventContext) (err error)

type AssetFunc

type AssetFunc func(ctx *web.EventContext)

type AutocompleteDataResult

type AutocompleteDataResult struct {
	Items   []OptionItem `json:"items"`
	Total   int          `json:"total"`
	Current int          `json:"current"`
	Pages   int          `json:"pages"`
}

type AutocompleteDataSourceConfig

type AutocompleteDataSourceConfig struct {
	OptionValue string
	OptionText  interface{} // func(interface{}) string or string
	OptionIcon  func(interface{}) string

	IsPaging bool

	KeywordColumns []string
	SQLConditions  []*SQLCondition
	OrderBy        string
	PerPage        int64
}
type Breadcrumb struct {
	URI   string
	Label string
}
type BreadcrumbsBuilder struct {
	// contains filtered or unexported fields
}

func GetBreadcrumbs

func GetBreadcrumbs(r *http.Request) *BreadcrumbsBuilder

func GetOrInitBreadcrumbs

func GetOrInitBreadcrumbs(r *http.Request) (bc *BreadcrumbsBuilder)
func (b *BreadcrumbsBuilder) Append(item ...*Breadcrumb)
func (b *BreadcrumbsBuilder) Component(youAreHere string) h.HTMLComponent
func (b *BreadcrumbsBuilder) Empty() bool
func (b *BreadcrumbsBuilder) Items() []*Breadcrumb
func (b *BreadcrumbsBuilder) Labels() (s []string)
func (b *BreadcrumbsBuilder) Prepend(item ...*Breadcrumb)

type Builder

type Builder struct {
	ModelConfigurators  ModelConfigurators
	ModelSetupFactories ModelSetupFactories

	datafield.DataField[*Builder]
	// contains filtered or unexported fields
}

func New

func New(i18nB *i18n.Builder) *Builder

func (*Builder) AddMenuTopItemFunc

func (b *Builder) AddMenuTopItemFunc(key string, v ComponentFunc) (r *Builder)

func (*Builder) AddPage

func (b *Builder) AddPage(page *PageBuilder) *Builder

func (*Builder) AddWrapHandler

func (b *Builder) AddWrapHandler(key string, f func(in http.Handler) (out http.Handler))

func (*Builder) AssetFunc

func (b *Builder) AssetFunc(v AssetFunc) (r *Builder)

func (*Builder) BindVerifiedPageFunc

func (b *Builder) BindVerifiedPageFunc(vf *perm.PermVerifierBuilder, f web.PageFunc) web.PageFunc

func (*Builder) BrandFunc

func (b *Builder) BrandFunc(v ComponentFunc) (r *Builder)

func (*Builder) BrandProfileSwitchLanguageDisplayFuncFunc

func (b *Builder) BrandProfileSwitchLanguageDisplayFuncFunc(f func(brand, profile, switchLanguage h.HTMLComponent) h.HTMLComponent) (r *Builder)

func (*Builder) BrandTitle

func (b *Builder) BrandTitle(v string) (r *Builder)

func (*Builder) Build

func (b *Builder) Build(mux ...*http.ServeMux)

func (*Builder) BuildPermissions

func (b *Builder) BuildPermissions() (rootMenu *PermMenu)

func (*Builder) Builder

func (b *Builder) Builder(v *web.Builder) (r *Builder)

func (*Builder) CreateMenus

func (b *Builder) CreateMenus(ctx *web.EventContext) (r h.HTMLComponent)

func (*Builder) CreatePage

func (b *Builder) CreatePage(page *PageBuilder) *PresetsPageBuilder

func (*Builder) DataOperator

func (b *Builder) DataOperator(v DataOperator) (r *Builder)

func (*Builder) DefaultLayout

func (b *Builder) DefaultLayout(in web.PageFunc, cfg *LayoutConfig) (out web.PageFunc)

func (*Builder) DefaultNotFoundPageFunc

func (b *Builder) DefaultNotFoundPageFunc(ctx *web.EventContext) (r web.PageResponse, err error)

func (*Builder) DetailLayoutFunc

func (b *Builder) DetailLayoutFunc(v func(in web.PageFunc, cfg *LayoutConfig) (out web.PageFunc)) (r *Builder)

func (*Builder) Dialog

func (b *Builder) Dialog(width ...string) *DialogBuilder

func (*Builder) DialogPortal

func (b *Builder) DialogPortal(portal string, width ...string) *DialogBuilder

func (*Builder) Drawer

func (p *Builder) Drawer(drawerMode actions.OverlayMode) *Drawer

func (*Builder) ExtraAsset

func (b *Builder) ExtraAsset(path string, contentType string, body web.ComponentsPack, refTag ...string) (r *Builder)

func (*Builder) FieldDefaults

func (b *Builder) FieldDefaults(v FieldMode) (r *FieldDefaults)

func (*Builder) FormatHtmlValue

func (b *Builder) FormatHtmlValue(v string) string

func (*Builder) GetBrandTitle

func (b *Builder) GetBrandTitle() string

func (*Builder) GetDataOperator

func (b *Builder) GetDataOperator() DataOperator

func (*Builder) GetDetailLayoutFunc

func (b *Builder) GetDetailLayoutFunc() func(in web.PageFunc, cfg *LayoutConfig) (out web.PageFunc)

func (*Builder) GetLayoutFunc

func (b *Builder) GetLayoutFunc() func(in web.PageFunc, cfg *LayoutConfig) (out web.PageFunc)

func (*Builder) GetModel

func (b *Builder) GetModel(typ any) *ModelBuilder

func (*Builder) GetModelByID

func (b *Builder) GetModelByID(id string) *ModelBuilder

func (*Builder) GetPage

func (b *Builder) GetPage(pth string) *PageBuilder

func (*Builder) GetPermission

func (b *Builder) GetPermission() (r *perm.Builder)

func (*Builder) GetProfileFunc

func (b *Builder) GetProfileFunc() ComponentFunc

func (*Builder) GetProgressBarColor

func (b *Builder) GetProgressBarColor() string

func (*Builder) GetURIPrefix

func (b *Builder) GetURIPrefix() string

func (*Builder) GetWebBuilder

func (b *Builder) GetWebBuilder() (r *web.Builder)

func (*Builder) HomePageFunc

func (b *Builder) HomePageFunc(v web.PageFunc) (r *Builder)

func (*Builder) HomePageLayoutConfig

func (b *Builder) HomePageLayoutConfig(v *LayoutConfig) (r *Builder)

func (*Builder) I18n

func (b *Builder) I18n() (r *i18n.Builder)

func (*Builder) InjectAssets

func (b *Builder) InjectAssets(ctx *web.EventContext)

func (*Builder) InjectExtraAssets

func (b *Builder) InjectExtraAssets(ctx *web.EventContext)

func (*Builder) LayoutFunc

func (b *Builder) LayoutFunc(v func(in web.PageFunc, cfg *LayoutConfig) (out web.PageFunc)) (r *Builder)

func (*Builder) Logger

func (b *Builder) Logger(v *zap.Logger) (r *Builder)

func (*Builder) MenuGroup

func (b *Builder) MenuGroup(name string) *MenuGroupBuilder

func (*Builder) MenuOrder

func (b *Builder) MenuOrder(items ...interface{})

item can be Slug name, model name, *MenuGroupBuilder the underlying logic is using Slug name, so if the Slug name is customized, item must be the Slug name example: b.MenuOrder(

b.MenuGroup("Product Management").SubItems(
	"products",
	"Variant",
),
"customized-uri",

)

func (*Builder) MessagesFunc

func (b *Builder) MessagesFunc(v MessagesFunc) (r *Builder)

func (*Builder) Model

func (b *Builder) Model(v interface{}, opts ...ModelBuilderOption) (r *ModelBuilder)

func (*Builder) Models

func (b *Builder) Models() []*ModelBuilder

func (*Builder) MuxSetup

func (b *Builder) MuxSetup(f func(prefix string, r *http.ServeMux)) *Builder

func (*Builder) NewFieldsBuilder

func (b *Builder) NewFieldsBuilder(v FieldMode) (r *FieldsBuilder)

func (*Builder) NotFoundFunc

func (b *Builder) NotFoundFunc(v web.PageFunc) (r *Builder)

func (*Builder) NotFoundPageLayoutConfig

func (b *Builder) NotFoundPageLayoutConfig(v *LayoutConfig) (r *Builder)

func (*Builder) NotificationFunc

func (b *Builder) NotificationFunc(contentFunc ComponentFunc, countFunc func(ctx *web.EventContext) int) (r *Builder)

func (*Builder) Overlay

func (b *Builder) Overlay(ctx *web.EventContext, r *web.EventResponse, comp h.HTMLComponent, width string)

func (*Builder) Permission

func (b *Builder) Permission(v *perm.Builder) (r *Builder)

func (*Builder) Permissions

func (b *Builder) Permissions() *PermMenu

func (*Builder) PlainLayout

func (b *Builder) PlainLayout(in web.PageFunc) (out web.PageFunc)

for pages outside the default presets layout

func (*Builder) ProfileFunc

func (b *Builder) ProfileFunc(v ComponentFunc) (r *Builder)

func (*Builder) ProgressBarColor

func (b *Builder) ProgressBarColor(v string) (r *Builder)

func (*Builder) RightDrawerWidth

func (b *Builder) RightDrawerWidth(v string) (r *Builder)

func (*Builder) RunBrandFunc

func (b *Builder) RunBrandFunc(ctx *web.EventContext) (r h.HTMLComponent)

func (*Builder) RunBrandProfileSwitchLanguageDisplayFunc

func (b *Builder) RunBrandProfileSwitchLanguageDisplayFunc(brand, profile, switchLanguage h.HTMLComponent, ctx *web.EventContext) (r h.HTMLComponent)

func (*Builder) RunSwitchLanguageFunc

func (b *Builder) RunSwitchLanguageFunc(ctx *web.EventContext) (r h.HTMLComponent)

func (*Builder) ServeHTTP

func (b *Builder) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*Builder) SetupRoutes

func (b *Builder) SetupRoutes(mux *http.ServeMux)

func (*Builder) SkipNotFoundHandlerFunc

func (b *Builder) SkipNotFoundHandlerFunc(f func(r *http.Request) bool) *Builder

func (*Builder) SwitchLanguageFunc

func (b *Builder) SwitchLanguageFunc(v ComponentFunc) (r *Builder)

func (*Builder) URIPrefix

func (b *Builder) URIPrefix(v string) (r *Builder)

func (*Builder) Use

func (b *Builder) Use(vs ...Plugin) (r *Builder)

func (*Builder) Verifier

func (b *Builder) Verifier(vf ...*perm.PermVerifierBuilder) (r *Builder)

func (*Builder) VuetifyOptions

func (b *Builder) VuetifyOptions(v string) (r *Builder)

func (*Builder) Wrap

func (b *Builder) Wrap(pf web.PageFunc, doPage ...func(p *web.PageBuilder)) http.Handler

func (*Builder) WrapModel

func (b *Builder) WrapModel(m *ModelBuilder, pf web.PageFunc) http.Handler

type BulkActionBuilder

type BulkActionBuilder struct {
	NameLabel
	// contains filtered or unexported fields
}

func (*BulkActionBuilder) Button

func (*BulkActionBuilder) ButtonColor

func (b *BulkActionBuilder) ButtonColor(v string) (r *BulkActionBuilder)

func (*BulkActionBuilder) ButtonCompFunc

func (*BulkActionBuilder) Component

func (b *BulkActionBuilder) Component(selectedIds []string, overlay actions.OverlayMode, ctx *web.EventContext) h.HTMLComponent

func (*BulkActionBuilder) ComponentFunc

func (*BulkActionBuilder) ComponentHandler

func (b *BulkActionBuilder) ComponentHandler() BulkActionComponentHandler

func (*BulkActionBuilder) DefaulButtonOnClick

func (b *BulkActionBuilder) DefaulButtonOnClick(ctx *web.EventContext) *web.VueEventTagBuilder

func (*BulkActionBuilder) DefaultButton

func (b *BulkActionBuilder) DefaultButton(_ *web.EventContext, title func() string, onClick *web.VueEventTagBuilder) h.HTMLComponent

func (*BulkActionBuilder) DialogWidth

func (b *BulkActionBuilder) DialogWidth(v string) (r *BulkActionBuilder)

func (*BulkActionBuilder) Do

func (b *BulkActionBuilder) Do(selectedIds []string, ctx *web.EventContext, r *web.EventResponse) (err error)

func (*BulkActionBuilder) DoBtnLabel

func (b *BulkActionBuilder) DoBtnLabel(ctx *web.EventContext) string

func (*BulkActionBuilder) Icon

func (*BulkActionBuilder) Label

func (*BulkActionBuilder) LinkHandler

func (b *BulkActionBuilder) LinkHandler() BulkActionLinkHandler

func (*BulkActionBuilder) RequestTitle

func (b *BulkActionBuilder) RequestTitle(ctx context.Context) (label string)

func (*BulkActionBuilder) SelectedIdsProcessorFunc

func (b *BulkActionBuilder) SelectedIdsProcessorFunc(v BulkActionSelectedIdsProcessorFunc) (r *BulkActionBuilder)

func (*BulkActionBuilder) SelectedIdsProcessorNoticeFunc

func (b *BulkActionBuilder) SelectedIdsProcessorNoticeFunc(v BulkActionSelectedIdsProcessorNoticeFunc) (r *BulkActionBuilder)

func (*BulkActionBuilder) SetAllowEmpty

func (b *BulkActionBuilder) SetAllowEmpty(v bool) *BulkActionBuilder

func (*BulkActionBuilder) SetComponentHandler

func (b *BulkActionBuilder) SetComponentHandler(componentHandler BulkActionComponentHandler) *BulkActionBuilder

func (*BulkActionBuilder) SetDoBtnLabel

func (b *BulkActionBuilder) SetDoBtnLabel(f func(ctx *web.EventContext) string) *BulkActionBuilder

func (*BulkActionBuilder) SetFullComponent

func (b *BulkActionBuilder) SetFullComponent(v bool) (r *BulkActionBuilder)

func (*BulkActionBuilder) SetI18nLabel

func (b *BulkActionBuilder) SetI18nLabel(i18nLabel func(ctx context.Context) string) *BulkActionBuilder

func (*BulkActionBuilder) SetLinkHandler

func (b *BulkActionBuilder) SetLinkHandler(linkHandler BulkActionLinkHandler) *BulkActionBuilder

func (*BulkActionBuilder) SetPerm

func (*BulkActionBuilder) UpdateFunc

func (*BulkActionBuilder) Verifier

func (b *BulkActionBuilder) Verifier(parent *perm.Verifier) *perm.Verifier

func (*BulkActionBuilder) View

func (b *BulkActionBuilder) View(baseModel *ModelBuilder, selectedIds []string, ctx *web.EventContext, r *web.EventResponse) (err error)

func (*BulkActionBuilder) WrapComponentFunc

func (*BulkActionBuilder) WrapUpdateFunc

type BulkActionCofirmatorBuilder

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

func (*BulkActionCofirmatorBuilder) Build

func (*BulkActionCofirmatorBuilder) Component

func (b *BulkActionCofirmatorBuilder) Component(selectedIds []string, ctx *web.EventContext) (comp h.HTMLComponent, err error)

func (*BulkActionCofirmatorBuilder) ConfirmationComp

func (*BulkActionCofirmatorBuilder) ConfirmationTableHandler

func (*BulkActionCofirmatorBuilder) HelpComp

func (*BulkActionCofirmatorBuilder) PostComp

func (*BulkActionCofirmatorBuilder) PreComp

func (*BulkActionCofirmatorBuilder) SearchParamsHandler

func (*BulkActionCofirmatorBuilder) SetConfirmationComp

func (*BulkActionCofirmatorBuilder) SetConfirmationTableHandler

func (b *BulkActionCofirmatorBuilder) SetConfirmationTableHandler(confirmationTableHandler BulkActionConfirmatorConfirmationTableHandler) *BulkActionCofirmatorBuilder

func (*BulkActionCofirmatorBuilder) SetHelpComp

func (*BulkActionCofirmatorBuilder) SetPostComp

func (*BulkActionCofirmatorBuilder) SetPreComp

func (*BulkActionCofirmatorBuilder) SetSearchParamsHandler

func (*BulkActionCofirmatorBuilder) SetUpdator

func (*BulkActionCofirmatorBuilder) SetWrapComp

func (*BulkActionCofirmatorBuilder) Update

func (b *BulkActionCofirmatorBuilder) Update(selectedIds []string, ctx *web.EventContext, r *web.EventResponse) (err error)

func (*BulkActionCofirmatorBuilder) Updator

func (*BulkActionCofirmatorBuilder) WrapComp

type BulkActionComponentFunc

type BulkActionComponentFunc func(selectedIds []string, ctx *web.EventContext) (comp h.HTMLComponent, err error)

type BulkActionComponentHandler

type BulkActionComponentHandler func(cb *ContentComponentBuilder, ctx *web.EventContext)

type BulkActionConfirmatorConfirmationComponent

type BulkActionConfirmatorConfirmationComponent func(records any, ctx *web.EventContext) (comp h.HTMLComponent, err error)

type BulkActionConfirmatorConfirmationTableHandler

type BulkActionConfirmatorConfirmationTableHandler func(records any, table *v.VDataTableBuilder, ctx *web.EventContext) (comp h.HTMLComponent, err error)

type BulkActionConfirmatorHelpComponent

type BulkActionConfirmatorHelpComponent func(ctx *web.EventContext) (comp h.HTMLComponent, err error)

type BulkActionConfirmatorSearchParamsHandler

type BulkActionConfirmatorSearchParamsHandler func(sp *data.SearchParams, ctx *web.EventContext) (err error)

type BulkActionConfirmatorUpdateFunc

type BulkActionConfirmatorUpdateFunc func(ctx *web.EventContext, r *web.EventResponse, mids model.IDSlice) (err error)

type BulkActionFormBuilder

type BulkActionFormBuilder[T any] struct {
	// contains filtered or unexported fields
}

func (*BulkActionFormBuilder[T]) Build

func (*BulkActionFormBuilder[T]) Handler

func (*BulkActionFormBuilder[T]) SetInsertFormBefore

func (b *BulkActionFormBuilder[T]) SetInsertFormBefore(v bool) *BulkActionFormBuilder[T]

type BulkActionFormBuilderHandler

type BulkActionFormBuilderHandler[T any] func(ctx *BulkActionFormContext[T]) (err error)

type BulkActionFormBuilderHandlers

type BulkActionFormBuilderHandlers[T any] []BulkActionFormBuilderHandler[T]

func (*BulkActionFormBuilderHandlers[T]) Append

func (c *BulkActionFormBuilderHandlers[T]) Append(handlers ...BulkActionFormBuilderHandler[T])

func (BulkActionFormBuilderHandlers[T]) Handler

func (*BulkActionFormBuilderHandlers[T]) Prepend

func (c *BulkActionFormBuilderHandlers[T]) Prepend(handlers ...BulkActionFormBuilderHandler[T])

type BulkActionFormContext

type BulkActionFormContext[T any] struct {
	Context    *web.EventContext
	Response   *web.EventResponse
	SelectedID []string
	Form       T
	Err        error
	datafield.DataField[*BulkActionFormContext[T]]
}

func GetBulkActionFormContext

func GetBulkActionFormContext[T any](ctx web.ContextValuer) *BulkActionFormContext[T]

func NewBulkActionFormContext

func NewBulkActionFormContext[T any](context *web.EventContext, r *web.EventResponse, selectedID []string) *BulkActionFormContext[T]

type BulkActionLinkHandler

type BulkActionLinkHandler func(baseModel *ModelBuilder, ctx *web.EventContext, r *web.EventResponse, q url.Values, selectedIds []string)

type BulkActionSelectedIdsProcessorFunc

type BulkActionSelectedIdsProcessorFunc func(selectedIds []string, ctx *web.EventContext) (processedSelectedIds []string, err error)

type BulkActionSelectedIdsProcessorNoticeFunc

type BulkActionSelectedIdsProcessorNoticeFunc func(selectedIds []string, processedSelectedIds []string, unactionableIds []string) string

type BulkActionUpdateFunc

type BulkActionUpdateFunc func(selectedIds []string, ctx *web.EventContext, r *web.EventResponse) (err error)

type ButtonComponentFunc

type ButtonComponentFunc func(ctx *web.EventContext, onclick *OnClick) h.HTMLComponent

type ColOrderBy

type ColOrderBy struct {
	FieldName string
	// ASC, DESC
	Asc OrderMode
}

func GetOrderBysFromQuery

func GetOrderBysFromQuery(query url.Values) []*ColOrderBy

GetOrderBysFromQuery gets order bys from query string.

type ComponentFunc

type ComponentFunc func(ctx *web.EventContext) h.HTMLComponent

type ConfirmDialogOpenerBuilder

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

func OpenConfirmDialog

func OpenConfirmDialog() *ConfirmDialogOpenerBuilder

func (*ConfirmDialogOpenerBuilder) AlertType

func (*ConfirmDialogOpenerBuilder) Build

func (*ConfirmDialogOpenerBuilder) Handler

func (*ConfirmDialogOpenerBuilder) HeaderColor

func (*ConfirmDialogOpenerBuilder) OkColor

func (*ConfirmDialogOpenerBuilder) OkText

func (*ConfirmDialogOpenerBuilder) ParseRequest

func (b *ConfirmDialogOpenerBuilder) ParseRequest(r *http.Request)

func (*ConfirmDialogOpenerBuilder) Portal

func (*ConfirmDialogOpenerBuilder) Prompt

func (*ConfirmDialogOpenerBuilder) PromptHandler

func (*ConfirmDialogOpenerBuilder) Title

type ContentComponentBuilder

type ContentComponentBuilder struct {
	Obj             any
	Context         *web.EventContext
	Title           string
	TopLeftActions  h.HTMLComponents
	TopRightActions h.HTMLComponents
	Tabs            []TabComponentFunc
	PreBody         h.HTMLComponents
	PostBody        h.HTMLComponents
	PrimaryAction   h.HTMLComponent
	BottomActions   h.HTMLComponents
	TopBar          h.HTMLComponent
	BottomBar       h.HTMLComponent
	Overlay         *ContentComponentBuilderOverlay
	Menu            h.HTMLComponents
	Body            h.HTMLComponent
	Scope           *web.ScopeBuilder
	MainPortals     h.HTMLComponents
	Notices         h.HTMLComponents
}

func (*ContentComponentBuilder) AddMenu

func (*ContentComponentBuilder) BuildOverlay

func (b *ContentComponentBuilder) BuildOverlay() h.HTMLComponent

func (*ContentComponentBuilder) BuildPage

func (b *ContentComponentBuilder) BuildPage() (comp h.HTMLComponent)

func (*ContentComponentBuilder) JoinedBody

func (b *ContentComponentBuilder) JoinedBody() h.HTMLComponent

func (*ContentComponentBuilder) Notice

type ContentComponentBuilderOverlay

type ContentComponentBuilderOverlay struct {
	Mode               actions.OverlayMode
	Width              string
	FullscreenDisabled bool
	CloseDisabled      bool
}

type ContextStringer

type ContextStringer interface {
	ContextString(ctx *web.EventContext) string
}

type ContextTitler

type ContextTitler interface {
	ContextTitle(ctx *web.EventContext) string
}

type CreateFunc

type CreateFunc func(obj interface{}, ctx *web.EventContext) (err error)

type CreatingRestrictionField

type CreatingRestrictionField[T any] struct {
	CreatingRestriction *Restriction[T]
}

func (*CreatingRestrictionField[T]) CanCreate

func (r *CreatingRestrictionField[T]) CanCreate(ctx *web.EventContext) bool

type CtxField

type CtxField string

type CtxFieldOptions

type CtxFieldOptions struct {
	Label       string
	Hint        string
	Hidden      bool
	HiddenLabel bool
	ReadOnly    bool
}

func FieldOptionsFromContext

func FieldOptionsFromContext(ctx web.ContextValuer, fqn CtxField, init ...bool) (opts *CtxFieldOptions)

type CustomPerm

type CustomPerm struct {
	Name  string                           `yaml:",omitempty" json:",omitempty"`
	Title func(ctx context.Context) string `yaml:"-" json:"-"`
}

type DataOperator

type DataOperator = data.DataOperator

Data Layer

type DeleteFunc

type DeleteFunc func(obj interface{}, id ID, cascade bool, ctx *web.EventContext) (err error)

type DeletingMenuItemBuilder

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

func NewDeletingMenuItemBuilder

func NewDeletingMenuItemBuilder(modelInfo *ModelInfo) *DeletingMenuItemBuilder

func (*DeletingMenuItemBuilder) Build

func (*DeletingMenuItemBuilder) SetUrl

func (*DeletingMenuItemBuilder) SetUrlValues

func (r *DeletingMenuItemBuilder) SetUrlValues(urlValues url.Values) *DeletingMenuItemBuilder

func (*DeletingMenuItemBuilder) SetWrapEvent

func (*DeletingMenuItemBuilder) Url

func (*DeletingMenuItemBuilder) UrlValues

func (r *DeletingMenuItemBuilder) UrlValues() url.Values

func (*DeletingMenuItemBuilder) WrapEvent

type DeletingRestrictionField

type DeletingRestrictionField[T any] struct {
	DeletingRestriction *ObjRestriction[T]
}

func (*DeletingRestrictionField[T]) CanDeleteObj

func (r *DeletingRestrictionField[T]) CanDeleteObj(obj any, ctx *web.EventContext) bool

type DetailingBuilder

type DetailingBuilder struct {
	SectionsBuilder
	RowMenuFields

	EditingRestrictionField[*DetailingBuilder]
	DeletingRestrictionField[*DetailingBuilder]
	// contains filtered or unexported fields
}

func NewDetailingBuilder

func NewDetailingBuilder(mb *ModelBuilder, sb SectionsBuilder) *DetailingBuilder

func (*DetailingBuilder) Action

func (b *DetailingBuilder) Action(name string) (r *ActionBuilder)

func (*DetailingBuilder) AddPageFunc

func (d *DetailingBuilder) AddPageFunc(vf *perm.PermVerifierBuilder, pth string, handler func(ctx *web.EventContext, obj any, mid model.ID, r *web.PageResponse) (err error), methods ...string) (ph *PageHandler)

func (*DetailingBuilder) AddRawPageFunc

func (d *DetailingBuilder) AddRawPageFunc(path string, f web.PageFunc, methods ...string) (ph *PageHandler)

func (*DetailingBuilder) AfterTitleCompFunc

func (b *DetailingBuilder) AfterTitleCompFunc(v ObjectComponentFunc) (r *DetailingBuilder)

func (*DetailingBuilder) AppendTabsPanelFunc

func (b *DetailingBuilder) AppendTabsPanelFunc(v TabComponentFunc) (r *DetailingBuilder)

func (*DetailingBuilder) BuildPage

func (b *DetailingBuilder) BuildPage(vf *perm.PermVerifierBuilder, builder func(ctx *web.EventContext, obj any, mid model.ID, r *web.PageResponse) (err error)) func(ctx *web.EventContext) (r web.PageResponse, err error)

func (DetailingBuilder) Clone

func (*DetailingBuilder) CreateDetailListField

func (b *DetailingBuilder) CreateDetailListField(ctx *web.EventContext) (r web.EventResponse, err error)

CreateDetailListField Event: click detail list field element Add row button

func (*DetailingBuilder) DeleteDetailListField

func (b *DetailingBuilder) DeleteDetailListField(ctx *web.EventContext) (r web.EventResponse, err error)

DeleteDetailListField Event: click detail list field element Delete button

func (*DetailingBuilder) EditDetailField

func (b *DetailingBuilder) EditDetailField(ctx *web.EventContext) (r web.EventResponse, err error)

EditDetailField EventFunc: click detail field component edit button

func (*DetailingBuilder) EditDetailListField

func (b *DetailingBuilder) EditDetailListField(ctx *web.EventContext) (r web.EventResponse, err error)

EditDetailListField Event: click detail list field element edit button

func (*DetailingBuilder) EventBuilder

func (b *DetailingBuilder) EventBuilder(builder func(ctx *web.EventContext, obj any, mid model.ID, r *web.EventResponse) (comp h.HTMLComponent, err error)) web.EventFunc

func (*DetailingBuilder) Except

func (b *DetailingBuilder) Except(vs ...string) (r *DetailingBuilder)

func (*DetailingBuilder) Fetch

func (b *DetailingBuilder) Fetch(id string, ctx *web.EventContext) (obj any, err error)

func (*DetailingBuilder) FetchFunc

func (b *DetailingBuilder) FetchFunc(v FetchFunc) (r *DetailingBuilder)

func (*DetailingBuilder) GetFetchFunc

func (b *DetailingBuilder) GetFetchFunc() FetchFunc

func (*DetailingBuilder) GetPageFunc

func (b *DetailingBuilder) GetPageFunc() web.PageFunc

func (*DetailingBuilder) GetVerifiers

func (b *DetailingBuilder) GetVerifiers() perm.PermVerifiers

func (*DetailingBuilder) HiddenField

func (b *DetailingBuilder) HiddenField(f ...string) *DetailingBuilder

func (*DetailingBuilder) ModelBuilder

func (b *DetailingBuilder) ModelBuilder() *ModelBuilder

func (*DetailingBuilder) Only

func (b *DetailingBuilder) Only(vs ...interface{}) (r *DetailingBuilder)

string / []string / *FieldsSection

func (*DetailingBuilder) PageFunc

func (b *DetailingBuilder) PageFunc(pf web.PageFunc) (r *DetailingBuilder)

func (*DetailingBuilder) Prepend

func (b *DetailingBuilder) Prepend(vs ...interface{}) (r *DetailingBuilder)

func (*DetailingBuilder) SaveDetailField

func (b *DetailingBuilder) SaveDetailField(ctx *web.EventContext) (r web.EventResponse, err error)

SaveDetailField EventFunc: click save button

func (*DetailingBuilder) SaveDetailListField

func (b *DetailingBuilder) SaveDetailListField(ctx *web.EventContext) (r web.EventResponse, err error)

SaveDetailListField Event: click detail list field element Save button

func (*DetailingBuilder) TabsPanelFunc

func (b *DetailingBuilder) TabsPanelFunc() (r []TabComponentFunc)

func (*DetailingBuilder) TabsPanels

func (b *DetailingBuilder) TabsPanels(vs ...TabComponentFunc) (r *DetailingBuilder)

func (*DetailingBuilder) Verifier

func (b *DetailingBuilder) Verifier(vf ...*perm.PermVerifierBuilder) (r *DetailingBuilder)

func (*DetailingBuilder) WrapFetchFunc

func (b *DetailingBuilder) WrapFetchFunc(w func(in FetchFunc) FetchFunc) (r *DetailingBuilder)

type DetailingRestrictionField

type DetailingRestrictionField[T any] struct {
	DetailingRestriction *ObjRestriction[T]
}

func (*DetailingRestrictionField[T]) CanDetailObj

func (r *DetailingRestrictionField[T]) CanDetailObj(obj any, ctx *web.EventContext) bool

type DialogBuilder

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

func Dialog

func Dialog(portalName string) *DialogBuilder

func (*DialogBuilder) Component

func (p *DialogBuilder) Component(comp h.HTMLComponent) h.HTMLComponent

func (*DialogBuilder) ContentPortalName

func (p *DialogBuilder) ContentPortalName() string

func (*DialogBuilder) Height

func (p *DialogBuilder) Height() string

func (*DialogBuilder) MaxHeight

func (p *DialogBuilder) MaxHeight() string

func (*DialogBuilder) Respond

func (p *DialogBuilder) Respond(ctx *web.EventContext, r *web.EventResponse, comp h.HTMLComponent)

func (*DialogBuilder) RootWrap

func (p *DialogBuilder) RootWrap(wrap func(comp h.HTMLComponent) h.HTMLComponent) *DialogBuilder

func (*DialogBuilder) SetContentPortalName

func (p *DialogBuilder) SetContentPortalName(contentPortalName string) *DialogBuilder

func (*DialogBuilder) SetHeight

func (p *DialogBuilder) SetHeight(height string) *DialogBuilder

func (*DialogBuilder) SetMaxHeight

func (p *DialogBuilder) SetMaxHeight(maxHeight string) *DialogBuilder

func (*DialogBuilder) SetScrollable

func (p *DialogBuilder) SetScrollable(s bool) *DialogBuilder

func (*DialogBuilder) SetTargetPortal

func (p *DialogBuilder) SetTargetPortal(portalName string) *DialogBuilder

func (*DialogBuilder) SetValidHeight

func (p *DialogBuilder) SetValidHeight(height string) *DialogBuilder

func (*DialogBuilder) SetValidMaxHeight

func (p *DialogBuilder) SetValidMaxHeight(height string) *DialogBuilder

func (*DialogBuilder) SetValidTargetPortalName

func (p *DialogBuilder) SetValidTargetPortalName(portalName string) *DialogBuilder

func (*DialogBuilder) SetValidWidth

func (p *DialogBuilder) SetValidWidth(width string) *DialogBuilder

func (*DialogBuilder) SetWidth

func (p *DialogBuilder) SetWidth(width string) *DialogBuilder

func (*DialogBuilder) TargetPortal

func (p *DialogBuilder) TargetPortal() string

func (*DialogBuilder) ValidContentPortalName

func (p *DialogBuilder) ValidContentPortalName(portalName string) *DialogBuilder

func (*DialogBuilder) Width

func (p *DialogBuilder) Width() string

func (*DialogBuilder) Wrap

func (p *DialogBuilder) Wrap(wrap func(comp *v.VDialogBuilder)) *DialogBuilder

type Drawer

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

func NewDrawer

func NewDrawer(width string, portalName string) *Drawer

func (*Drawer) Bottom

func (p *Drawer) Bottom() *Drawer

func (*Drawer) End

func (p *Drawer) End() *Drawer

func (*Drawer) Left

func (p *Drawer) Left() *Drawer

func (*Drawer) Location

func (p *Drawer) Location() string

func (*Drawer) PortalName

func (p *Drawer) PortalName() string

func (*Drawer) Respond

func (p *Drawer) Respond(r *web.EventResponse, comp h.HTMLComponent)

func (*Drawer) Right

func (p *Drawer) Right() *Drawer

func (*Drawer) RootWrap

func (p *Drawer) RootWrap(wrap func(comp h.HTMLComponent) h.HTMLComponent) *Drawer

func (*Drawer) SafeClose

func (p *Drawer) SafeClose() bool

func (*Drawer) Scrollable

func (p *Drawer) Scrollable() bool

func (*Drawer) SetLocation

func (p *Drawer) SetLocation(location string) *Drawer

func (*Drawer) SetPortalName

func (p *Drawer) SetPortalName(portalName string) *Drawer

func (*Drawer) SetSafeClose

func (p *Drawer) SetSafeClose(safeClose bool) *Drawer

func (*Drawer) SetScrollable

func (p *Drawer) SetScrollable(scrollable bool) *Drawer

func (*Drawer) SetValidPortalName

func (p *Drawer) SetValidPortalName(portalName string) *Drawer

func (*Drawer) SetValidWidth

func (p *Drawer) SetValidWidth(width string) *Drawer

func (*Drawer) SetWidth

func (p *Drawer) SetWidth(width string) *Drawer

func (*Drawer) Start

func (p *Drawer) Start() *Drawer

func (*Drawer) Top

func (p *Drawer) Top() *Drawer

func (*Drawer) Width

func (p *Drawer) Width() string

type EditingBuilder

type EditingBuilder struct {
	Fetcher    FetchFunc
	Setter     SetterFunc
	PostSetter SetterFunc
	Saver      SaveFunc
	Creator    CreateFunc
	New        func(ctx *web.EventContext, obj any) (err error)

	Validators Validators

	FieldsBuilder

	EditingRestrictionField[*EditingBuilder]
	// contains filtered or unexported fields
}

func NewEditingBuilder

func NewEditingBuilder(mb *ModelBuilder, fieldsBuilder FieldsBuilder) *EditingBuilder

func (*EditingBuilder) ActionsFunc

func (b *EditingBuilder) ActionsFunc(v ObjectComponentFunc) (r *EditingBuilder)

func (*EditingBuilder) Append

func (b *EditingBuilder) Append(vs ...interface{}) *EditingBuilder

string / []string / *FieldsSection

func (*EditingBuilder) AppendHiddenFunc

func (b *EditingBuilder) AppendHiddenFunc(v ObjectComponentFunc) (r *EditingBuilder)

func (*EditingBuilder) AppendTabsPanelFunc

func (b *EditingBuilder) AppendTabsPanelFunc(v TabComponentFunc) (r *EditingBuilder)

func (*EditingBuilder) ConfigureForm

func (b *EditingBuilder) ConfigureForm(f *Form) *Form

func (*EditingBuilder) CreateFunc

func (b *EditingBuilder) CreateFunc(v CreateFunc) (r *EditingBuilder)

func (*EditingBuilder) Creating

func (b *EditingBuilder) Creating(vs ...interface{}) (r *EditingBuilder)

func (*EditingBuilder) CreatingBuilder

func (b *EditingBuilder) CreatingBuilder() (c *EditingBuilder)

func (*EditingBuilder) DefaultPageFuncMode

func (b *EditingBuilder) DefaultPageFuncMode(creating bool, ctx *web.EventContext) (r web.PageResponse, err error)

func (*EditingBuilder) EditingTitleFunc

func (b *EditingBuilder) EditingTitleFunc(v EditingTitleComponentFunc) (r *EditingBuilder)

func (*EditingBuilder) Except

func (b *EditingBuilder) Except(vs ...string) *EditingBuilder

func (*EditingBuilder) FetchAndUnmarshal

func (b *EditingBuilder) FetchAndUnmarshal(opts *FieldsSetterOptions, id ID, removeDeletedAndSort bool, ctx *web.EventContext) (obj interface{}, vErr web.ValidationErrors)

func (*EditingBuilder) FetchFunc

func (b *EditingBuilder) FetchFunc(v FetchFunc) *EditingBuilder

func (*EditingBuilder) GetPageFunc

func (b *EditingBuilder) GetPageFunc() web.PageFunc

func (*EditingBuilder) HasCreatingBuilder

func (b *EditingBuilder) HasCreatingBuilder() bool

func (*EditingBuilder) HiddenField

func (b *EditingBuilder) HiddenField(f ...string) *EditingBuilder

func (*EditingBuilder) ModelBuilder

func (b *EditingBuilder) ModelBuilder() *ModelBuilder

func (*EditingBuilder) OnChangeActionFunc

func (b *EditingBuilder) OnChangeActionFunc(v OnChangeActionFunc) (r *EditingBuilder)

func (*EditingBuilder) Only

func (b *EditingBuilder) Only(vs ...interface{}) *EditingBuilder

string / []string / *FieldsSection

func (*EditingBuilder) PostComponent

func (*EditingBuilder) PostSaveCallback

func (b *EditingBuilder) PostSaveCallback(f SaveCallbackFunc) *EditingBuilder

func (*EditingBuilder) PostSetterFunc

func (b *EditingBuilder) PostSetterFunc(v SetterFunc) (r *EditingBuilder)

func (*EditingBuilder) PostValidate

func (b *EditingBuilder) PostValidate(f func(ctx *web.EventContext, obj any) (err error)) *EditingBuilder

func (*EditingBuilder) PreComponent

func (*EditingBuilder) PreSaveCallback

func (b *EditingBuilder) PreSaveCallback(f SaveCallbackFunc) *EditingBuilder

func (*EditingBuilder) PreValidate

func (b *EditingBuilder) PreValidate(f func(ctx *web.EventContext, obj any) (err error)) *EditingBuilder

func (*EditingBuilder) Prepend

func (b *EditingBuilder) Prepend(vs ...interface{}) *EditingBuilder

string / []string / *FieldsSection

func (*EditingBuilder) RunSetterFunc

func (b *EditingBuilder) RunSetterFunc(opts *FieldsSetterOptions, ctx *web.EventContext, removeDeletedAndSort bool, toObj interface{}) (vErr web.ValidationErrors)

func (*EditingBuilder) SaveBtn

func (b *EditingBuilder) SaveBtn(ctx *web.EventContext, id string, edit bool, targetPortal string) h.HTMLComponent

func (*EditingBuilder) SaveFunc

func (b *EditingBuilder) SaveFunc(v SaveFunc) (r *EditingBuilder)

func (*EditingBuilder) SaveOverlayContent

func (b *EditingBuilder) SaveOverlayContent(
	ctx *web.EventContext,
	r *web.EventResponse,
) (err error)

func (*EditingBuilder) SetPageFunc

func (b *EditingBuilder) SetPageFunc(pageFunc web.PageFunc) *EditingBuilder

func (*EditingBuilder) SetterFunc

func (b *EditingBuilder) SetterFunc(v SetterFunc) (r *EditingBuilder)

func (*EditingBuilder) SidePanelFunc

func (b *EditingBuilder) SidePanelFunc(v ObjectComponentFunc) (r *EditingBuilder)

func (*EditingBuilder) TabsPanels

func (b *EditingBuilder) TabsPanels(vs ...TabComponentFunc) (r *EditingBuilder)

func (*EditingBuilder) ToComponent

func (b *EditingBuilder) ToComponent(opts *ToComponentOptions, obj interface{}, mode FieldModeStack, ctx *web.EventContext) h.HTMLComponent

func (*EditingBuilder) UpdateOverlayContent

func (b *EditingBuilder) UpdateOverlayContent(
	ctx *web.EventContext,
	r *web.EventResponse,
	obj interface{},
	successMessage string,
	err error,
)

func (*EditingBuilder) WrapCreateFunc

func (b *EditingBuilder) WrapCreateFunc(w func(in CreateFunc) CreateFunc) (r *EditingBuilder)

func (*EditingBuilder) WrapFetchFunc

func (b *EditingBuilder) WrapFetchFunc(w func(in FetchFunc) FetchFunc) (r *EditingBuilder)

func (*EditingBuilder) WrapPostSaveCallback

func (b *EditingBuilder) WrapPostSaveCallback(f func(old SaveCallbackFunc) SaveCallbackFunc) (r *EditingBuilder)

func (*EditingBuilder) WrapPostSetterFunc

func (b *EditingBuilder) WrapPostSetterFunc(w func(in SetterFunc) SetterFunc) (r *EditingBuilder)

func (*EditingBuilder) WrapPostValidate

func (b *EditingBuilder) WrapPostValidate(f func(old func(ctx *web.EventContext, obj any) (err error)) func(ctx *web.EventContext, obj any) error) *EditingBuilder

func (*EditingBuilder) WrapPreSaveCallback

func (b *EditingBuilder) WrapPreSaveCallback(f func(old SaveCallbackFunc) SaveCallbackFunc) (r *EditingBuilder)

func (*EditingBuilder) WrapPreValidate

func (b *EditingBuilder) WrapPreValidate(f func(old func(ctx *web.EventContext, obj any) (err error)) func(ctx *web.EventContext, obj any) error) *EditingBuilder

func (*EditingBuilder) WrapSaveFunc

func (b *EditingBuilder) WrapSaveFunc(w func(in SaveFunc) SaveFunc) (r *EditingBuilder)

func (*EditingBuilder) WrapSetterFunc

func (b *EditingBuilder) WrapSetterFunc(w func(in SetterFunc) SetterFunc) (r *EditingBuilder)

type EditingRestrictionField

type EditingRestrictionField[T any] struct {
	EditingRestriction *ObjRestriction[T]
}

func (*EditingRestrictionField[T]) CanEditObj

func (r *EditingRestrictionField[T]) CanEditObj(obj any, ctx *web.EventContext) bool

type EditingTitleComponentFunc

type EditingTitleComponentFunc func(obj interface{}, defaultTitle string, ctx *web.EventContext) string

type EventHandlerWrapper

type EventHandlerWrapper struct {
	web.EventHandler
}

func (*EventHandlerWrapper) Handle

func (w *EventHandlerWrapper) Handle(ctx *web.EventContext) (r web.EventResponse, err error)

type FetchFunc

type FetchFunc func(obj interface{}, id ID, ctx *web.EventContext) (err error)

type FieldBuilder

type FieldBuilder struct {
	NameLabel

	Setup            FieldContextSetups
	ToComponentSetup FieldContextSetups
	Validators       FieldValidators
	ValueFormatters  FieldValueFormatters

	datafield.DataField[*FieldBuilder]
	// contains filtered or unexported fields
}

func (*FieldBuilder) AsSlice

func (f *FieldBuilder) AsSlice() *FieldBuilder

func (*FieldBuilder) Audited

func (b *FieldBuilder) Audited() bool

func (*FieldBuilder) AutoNested

func (b *FieldBuilder) AutoNested(mb *ModelBuilder, fb *FieldsBuilder) (r *FieldBuilder)

func (FieldBuilder) Clone

func (b FieldBuilder) Clone() *FieldBuilder

func (*FieldBuilder) ColumnName

func (b *FieldBuilder) ColumnName() string

func (*FieldBuilder) ComponentFunc

func (b *FieldBuilder) ComponentFunc(v FieldComponentFunc) (r *FieldBuilder)

func (*FieldBuilder) ContextHint

func (b *FieldBuilder) ContextHint(info *ModelInfo, ctx context.Context) string

func (*FieldBuilder) ContextLabel

func (b *FieldBuilder) ContextLabel(info *ModelInfo, ctx context.Context, fallback ...func(ctx context.Context, nameLabel NameLabel) string) (label string)

func (*FieldBuilder) ContextSetup

func (b *FieldBuilder) ContextSetup(f func(ctx *FieldContext)) *FieldBuilder

func (*FieldBuilder) DefaultContextHint

func (b *FieldBuilder) DefaultContextHint(ctx context.Context) string

func (*FieldBuilder) DefaultContextLabel

func (b *FieldBuilder) DefaultContextLabel(ctx context.Context) string

func (*FieldBuilder) DisableZeroRender

func (b *FieldBuilder) DisableZeroRender() *FieldBuilder

func (*FieldBuilder) Disabled

func (b *FieldBuilder) Disabled() bool

func (*FieldBuilder) Enable

func (b *FieldBuilder) Enable(v bool) *FieldBuilder

func (*FieldBuilder) Enabled

func (b *FieldBuilder) Enabled() func(ctx *FieldContext) bool

func (*FieldBuilder) GetCompFunc

func (b *FieldBuilder) GetCompFunc() FieldComponentFunc

func (*FieldBuilder) GetSetterFunc

func (b *FieldBuilder) GetSetterFunc() FieldSetterFunc

func (*FieldBuilder) Hint

func (n *FieldBuilder) Hint() bool

func (*FieldBuilder) IsEnabled

func (b *FieldBuilder) IsEnabled(ctx *FieldContext) bool

func (*FieldBuilder) Label

func (b *FieldBuilder) Label(v string) (r *FieldBuilder)

func (*FieldBuilder) Mode

func (b *FieldBuilder) Mode() FieldMode

func (*FieldBuilder) Nested

func (b *FieldBuilder) Nested(n Nested) (r *FieldBuilder)

func (*FieldBuilder) NewContext

func (b *FieldBuilder) NewContext(info *ModelInfo, ctx *web.EventContext, parent *FieldContext, obj any) (fctx *FieldContext)

func (*FieldBuilder) NewContextBuilder

func (b *FieldBuilder) NewContextBuilder(info *ModelInfo, ctx *web.EventContext, parent *FieldContext, obj any) *FieldContextBuilder

func (*FieldBuilder) SetAudited

func (b *FieldBuilder) SetAudited(audited bool) *FieldBuilder

func (*FieldBuilder) SetData

func (b *FieldBuilder) SetData(key, value any) *FieldBuilder

func (*FieldBuilder) SetDisabled

func (b *FieldBuilder) SetDisabled(v bool) *FieldBuilder

func (*FieldBuilder) SetEnabled

func (b *FieldBuilder) SetEnabled(enabled func(ctx *FieldContext) bool) *FieldBuilder

func (*FieldBuilder) SetHiddenLabel

func (n *FieldBuilder) SetHiddenLabel(hiddenLabel bool) *FieldBuilder

func (*FieldBuilder) SetHint

func (n *FieldBuilder) SetHint(hint bool) *FieldBuilder

func (*FieldBuilder) SetI18nLabel

func (n *FieldBuilder) SetI18nLabel(i18nLabel func(ctx context.Context) string) *FieldBuilder

func (*FieldBuilder) SetLabelKey

func (n *FieldBuilder) SetLabelKey(labelKey string) *FieldBuilder

func (*FieldBuilder) SetMode

func (b *FieldBuilder) SetMode(mode FieldMode) *FieldBuilder

func (*FieldBuilder) SetterFunc

func (b *FieldBuilder) SetterFunc(v FieldSetterFunc) (r *FieldBuilder)

func (*FieldBuilder) SetupFunc

func (b *FieldBuilder) SetupFunc(fc FieldContextSetup) *FieldBuilder

func (*FieldBuilder) String

func (b *FieldBuilder) String() string

func (*FieldBuilder) StructField

func (*FieldBuilder) ToComponent

func (b *FieldBuilder) ToComponent(ctx *FieldContext) (comp h.HTMLComponent)

func (*FieldBuilder) Validator

func (b *FieldBuilder) Validator(v ...FieldValidator) *FieldBuilder

func (*FieldBuilder) WithContextValue

func (b *FieldBuilder) WithContextValue(key interface{}, val interface{}) (r *FieldBuilder)

func (*FieldBuilder) WrapComponentFunc

func (b *FieldBuilder) WrapComponentFunc(v func(old FieldComponentFunc) FieldComponentFunc) (r *FieldBuilder)

func (*FieldBuilder) WrapEnabled

func (b *FieldBuilder) WrapEnabled(do func(old func(ctx *FieldContext) bool) func(ctx *FieldContext) bool) *FieldBuilder

type FieldBuilders

type FieldBuilders []*FieldBuilder

func (FieldBuilders) EachHavesComponent

func (b FieldBuilders) EachHavesComponent(cb func(fb *FieldBuilder) bool)

func (FieldBuilders) FieldsFromLayout

func (b FieldBuilders) FieldsFromLayout(layout []interface{}, filter ...FieldFilter) (res FieldBuilders)

func (FieldBuilders) FieldsGenFromLayout

func (b FieldBuilders) FieldsGenFromLayout(layout []interface{}, filter ...FieldFilter) func(func(int, *FieldBuilder) bool)

func (FieldBuilders) Filter

func (b FieldBuilders) Filter(filter ...FieldFilter) (out FieldBuilders)

func (FieldBuilders) First

func (b FieldBuilders) First() *FieldBuilder

func (FieldBuilders) FirstFilter

func (b FieldBuilders) FirstFilter(f func(fb *FieldBuilder) bool) *FieldBuilder

func (FieldBuilders) Get

func (b FieldBuilders) Get(name string) *FieldBuilder

func (FieldBuilders) HasMode

func (b FieldBuilders) HasMode(mode FieldMode, cb ...func(fb *FieldBuilder) bool) (r FieldBuilders)

func (FieldBuilders) Last

func (b FieldBuilders) Last() *FieldBuilder

func (FieldBuilders) Len

func (b FieldBuilders) Len() int

type FieldComponentFunc

type FieldComponentFunc func(field *FieldContext, ctx *web.EventContext) h.HTMLComponent

func FieldComponentWrapper

func FieldComponentWrapper(f FieldComponentFunc) FieldComponentFunc

func FormFieldComponentFuncWrapper

func FormFieldComponentFuncWrapper(f FieldComponentFunc) FieldComponentFunc

func ListingFieldComponentFuncWrapper

func ListingFieldComponentFuncWrapper(f FieldComponentFunc) FieldComponentFunc

func ReadOnlyFieldComponentFuncWrapper

func ReadOnlyFieldComponentFuncWrapper(f FieldComponentFunc) FieldComponentFunc

type FieldContext

type FieldContext struct {
	ToComponentOptions *ToComponentOptions
	Parent             *FieldContext
	Mode               FieldModeStack
	Field              *FieldBuilder
	EventContext       *web.EventContext
	Obj                interface{}
	Name               string
	FormKey            string
	Path               FieldPath
	Label              string
	Hint               func() string
	Errors             []string
	SliceErrors        map[int][]string
	ModelInfo          *ModelInfo
	Nested             Nested
	Context            context.Context
	ReadOnly           bool
	Required           bool
	Disabled           bool
	ValueOverride      interface{}
	ComponentHandlers  []func(ctx *FieldContext, comp h.HTMLComponent) h.HTMLComponent
}

func (*FieldContext) AddError

func (fc *FieldContext) AddError(err string) *FieldContext

func (*FieldContext) ChildFieldFormKey

func (fc *FieldContext) ChildFieldFormKey(child string) (s string)

func (*FieldContext) ComponentHandler

func (fc *FieldContext) ComponentHandler(f ...func(ctx *FieldContext, comp h.HTMLComponent) h.HTMLComponent) *FieldContext

func (*FieldContext) ContextValue

func (fc *FieldContext) ContextValue(key interface{}) (r interface{})

func (*FieldContext) Error

func (fc *FieldContext) Error(err error) *FieldContext

func (*FieldContext) RawValue

func (fc *FieldContext) RawValue() (r interface{})

func (*FieldContext) Root

func (fc *FieldContext) Root() *FieldContext

func (*FieldContext) SetContextValue

func (fc *FieldContext) SetContextValue(key, value interface{})

func (*FieldContext) StringValue

func (fc *FieldContext) StringValue() (r string)

func (*FieldContext) Value

func (fc *FieldContext) Value() (r interface{})

type FieldContextBuilder

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

func NewFieldContextBuilder

func NewFieldContextBuilder(field *FieldBuilder, info *ModelInfo, ctx *web.EventContext, parent *FieldContext, obj any) *FieldContextBuilder

func (*FieldContextBuilder) Build

func (b *FieldContextBuilder) Build() (fctx *FieldContext)

func (*FieldContextBuilder) Index

func (b *FieldContextBuilder) Index(index int) *FieldContextBuilder

type FieldContextSetup

type FieldContextSetup func(ctx *FieldContext)

type FieldContextSetups

type FieldContextSetups []FieldContextSetup

func (*FieldContextSetups) Add

func (FieldContextSetups) Setup

func (f FieldContextSetups) Setup(ctx *FieldContext)

type FieldDefaultBuilder

type FieldDefaultBuilder struct {
	datafield.DataField[*FieldDefaultBuilder]
	// contains filtered or unexported fields
}

func NewFieldDefault

func NewFieldDefault(t reflect.Type) *FieldDefaultBuilder

func (*FieldDefaultBuilder) ComponentFunc

func (*FieldDefaultBuilder) SetterFunc

type FieldDefaults

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

func NewFieldDefaults

func NewFieldDefaults(t FieldMode) (r *FieldDefaults)

func (*FieldDefaults) Disable

func (b *FieldDefaults) Disable(patterns ...string) (r *FieldDefaults)

func (*FieldDefaults) Exclude

func (b *FieldDefaults) Exclude(patterns ...string) (r *FieldDefaults)

func (*FieldDefaults) FieldType

func (b *FieldDefaults) FieldType(v interface{}) (r *FieldDefaultBuilder)

func (*FieldDefaults) InspectFields

func (b *FieldDefaults) InspectFields(val interface{}, setup ...FieldSetuper) (r *FieldsBuilder)

func (*FieldDefaults) NewFieldBuilders

func (b *FieldDefaults) NewFieldBuilders(fields reflect_utils.IndexableStructFields) (fbs FieldBuilders)

func (*FieldDefaults) SetupFields

func (b *FieldDefaults) SetupFields(fbs FieldBuilders, setupers ...FieldSetuper) (result FieldBuilders)

func (*FieldDefaults) String

func (b *FieldDefaults) String() string

type FieldFilter

type FieldFilter func(f *FieldBuilder) bool

func FieldRenderable

func FieldRenderable() FieldFilter

type FieldFilters

type FieldFilters []FieldFilter

func (FieldFilters) Accept

func (ff FieldFilters) Accept(f *FieldBuilder) bool

type FieldLabelsFunc

type FieldLabelsFunc func(b *FieldsBuilder, ctx web.ContextValuer) map[string]string

type FieldMode

type FieldMode uint8
const (
	NONE FieldMode = 1 << iota
	LIST
	DETAIL
	NEW
	EDIT

	WRITE = NEW | EDIT
	ALL   = LIST | DETAIL | WRITE
)

func (FieldMode) Has

func (m FieldMode) Has(f FieldMode) bool

func (FieldMode) HasAny

func (m FieldMode) HasAny(f ...FieldMode) bool

func (FieldMode) Is

func (f FieldMode) Is(m ...FieldMode) bool

func (FieldMode) IsDetail

func (f FieldMode) IsDetail() bool

func (FieldMode) IsEdit

func (f FieldMode) IsEdit() bool

func (FieldMode) IsList

func (f FieldMode) IsList() bool

func (FieldMode) IsNew

func (f FieldMode) IsNew() bool

func (FieldMode) IsWrite

func (f FieldMode) IsWrite() bool

func (FieldMode) Split

func (f FieldMode) Split() (modes []FieldMode)

type FieldModeStack

type FieldModeStack []FieldMode

func (FieldModeStack) Dot

func (s FieldModeStack) Dot() FieldMode

func (FieldModeStack) DotStack

func (s FieldModeStack) DotStack() FieldModeStack

func (FieldModeStack) Global

func (s FieldModeStack) Global() FieldMode

func (FieldModeStack) Is

func (f FieldModeStack) Is(mode ...FieldMode) bool

func (FieldModeStack) IsDetail

func (f FieldModeStack) IsDetail() bool

func (FieldModeStack) IsEdit

func (f FieldModeStack) IsEdit() bool

func (FieldModeStack) IsList

func (f FieldModeStack) IsList() bool

func (FieldModeStack) IsNew

func (f FieldModeStack) IsNew() bool

func (FieldModeStack) IsWrite

func (f FieldModeStack) IsWrite() bool

func (FieldModeStack) Push

type FieldMultiSelectConfigor

type FieldMultiSelectConfigor func() *MultiSelectConfig

type FieldPath

type FieldPath []string

func (*FieldPath) Append

func (p *FieldPath) Append(v ...string)

func (*FieldPath) AppendIndex

func (p *FieldPath) AppendIndex(i int)

func (FieldPath) Fqn

func (p FieldPath) Fqn() string

func (FieldPath) NoIndex

func (p FieldPath) NoIndex() (r FieldPath)

type FieldSelectConfigor

type FieldSelectConfigor func() *SelectConfig

type FieldSetterFunc

type FieldSetterFunc func(obj interface{}, field *FieldContext, ctx *web.EventContext) (err error)

type FieldSetuper

type FieldSetuper interface {
	InitField(f *FieldBuilder)
	ConfigureField(f *FieldBuilder)
}

type FieldSetupers

type FieldSetupers []FieldSetuper

func (FieldSetupers) ConfigureField

func (s FieldSetupers) ConfigureField(f *FieldBuilder)

func (FieldSetupers) InitField

func (s FieldSetupers) InitField(f *FieldBuilder)

type FieldStringer

type FieldStringer interface {
	FieldString(field *FieldContext) string
}

type FieldValidator

type FieldValidator interface {
	Validate(field *FieldContext) (err web.ValidationErrors)
}

type FieldValidatorFunc

type FieldValidatorFunc func(field *FieldContext) (err web.ValidationErrors)

func (FieldValidatorFunc) Validate

func (fv FieldValidatorFunc) Validate(field *FieldContext) (err web.ValidationErrors)

type FieldValidators

type FieldValidators []FieldValidator

func (*FieldValidators) Append

func (fv *FieldValidators) Append(v ...FieldValidator)

func (*FieldValidators) AppendFunc

func (fv *FieldValidators) AppendFunc(v ...FieldValidatorFunc)

func (FieldValidators) Validate

func (fv FieldValidators) Validate(field *FieldContext) (err web.ValidationErrors)

type FieldValueFormatter

type FieldValueFormatter interface {
	FormatValue(field *FieldContext) (err error)
}

type FieldValueFormatterFunc

type FieldValueFormatterFunc func(field *FieldContext) (err error)

func (FieldValueFormatterFunc) FormatValue

func (f FieldValueFormatterFunc) FormatValue(field *FieldContext) (err error)

type FieldValueFormatters

type FieldValueFormatters []FieldValueFormatter

func (*FieldValueFormatters) Append

func (f *FieldValueFormatters) Append(formatters ...FieldValueFormatter)

func (*FieldValueFormatters) AppendFunc

func (f *FieldValueFormatters) AppendFunc(formatters ...FieldValueFormatterFunc)

func (FieldValueFormatters) FormatValue

func (f FieldValueFormatters) FormatValue(field *FieldContext) (err error)

type FieldWalkHandle

type FieldWalkHandle func(field *FieldContext) (s FieldWalkState)

type FieldWalkHandleOptions

type FieldWalkHandleOptions struct {
	SkipPerssionCheck bool
	SkipNestedNil     bool
	SkipMode          bool
	InitializeSlices  bool
	InitializeObjects bool
	Handler           FieldWalkHandle
}

type FieldWalkState

type FieldWalkState uint8
const (
	FieldWalkNext FieldWalkState = iota
	FieldWalkSkipSiblings
	FieldWalkSkipChildren
	FieldWalkStop
)

type FieldWalker

type FieldWalker interface {
	Walk(fctx *FieldContext, opts *FieldWalkHandleOptions) (s FieldWalkState)
}

type FieldsBuilder

type FieldsBuilder struct {
	FieldToComponentSetup        FieldContextSetups
	BeforeSetObjectFieldsHandler SetObjectFieldsHandlers
	PostSetObjectFieldsHandler   SetObjectFieldsHandlers
	// contains filtered or unexported fields
}

func NewFieldsBuilder

func NewFieldsBuilder(builder *Builder) *FieldsBuilder

func (*FieldsBuilder) Append

func (b *FieldsBuilder) Append(names ...any) (r *FieldsBuilder)

func (*FieldsBuilder) BeginComponent

func (b *FieldsBuilder) BeginComponent(f func(info *ModelInfo, obj interface{}, mode FieldModeStack, parentFormValueKey string, ctx *web.EventContext) h.HTMLComponent) *FieldsBuilder

func (FieldsBuilder) Clone

func (b FieldsBuilder) Clone() *FieldsBuilder

func (*FieldsBuilder) CloneField

func (b *FieldsBuilder) CloneField(name ...string) (r *FieldsBuilder)

func (*FieldsBuilder) CurrentLayout

func (b *FieldsBuilder) CurrentLayout() (layout []interface{})

func (*FieldsBuilder) Defaults

func (b *FieldsBuilder) Defaults(v *FieldDefaults) (r *FieldsBuilder)

func (*FieldsBuilder) DoSkipFieldVerifier

func (b *FieldsBuilder) DoSkipFieldVerifier(field string) bool

func (*FieldsBuilder) Except

func (b *FieldsBuilder) Except(patterns ...string) (r *FieldsBuilder)

func (*FieldsBuilder) Field

func (b *FieldsBuilder) Field(name string) (r *FieldBuilder)

func (*FieldsBuilder) FieldLabelsFromContextFunc

func (b *FieldsBuilder) FieldLabelsFromContextFunc(f FieldLabelsFunc) (r *FieldsBuilder)

func (*FieldsBuilder) FieldNames

func (b *FieldsBuilder) FieldNames() (r []any)

func (*FieldsBuilder) GetField

func (b *FieldsBuilder) GetField(name string) (r *FieldBuilder)

func (*FieldsBuilder) GetFieldLabelsFromContext

func (b *FieldsBuilder) GetFieldLabelsFromContext(ctx web.ContextValuer) (labels map[string]string)

func (*FieldsBuilder) GetFieldOrDefault

func (b *FieldsBuilder) GetFieldOrDefault(name string) (r *FieldBuilder)

func (*FieldsBuilder) GetModel

func (b *FieldsBuilder) GetModel() interface{}

func (*FieldsBuilder) HasField

func (b *FieldsBuilder) HasField(name string) bool

func (*FieldsBuilder) HiddenField

func (b *FieldsBuilder) HiddenField(f ...string) *FieldsBuilder

func (*FieldsBuilder) IsAllowed

func (b *FieldsBuilder) IsAllowed(r *http.Request, info *ModelInfo, obj interface{}, field string, perm ...string) bool

func (*FieldsBuilder) Model

func (b *FieldsBuilder) Model(v interface{}) (r *FieldsBuilder)

func (*FieldsBuilder) NewFieldWithName

func (b *FieldsBuilder) NewFieldWithName(name string) (r *FieldBuilder)

func (*FieldsBuilder) Only

func (b *FieldsBuilder) Only(vs ...interface{}) (r *FieldsBuilder)

func (*FieldsBuilder) Prepend

func (b *FieldsBuilder) Prepend(names ...any) (r *FieldsBuilder)

func (*FieldsBuilder) SetObjectFields

func (b *FieldsBuilder) SetObjectFields(opts *FieldsSetterOptions, fromObj interface{}, toObj interface{}, parent *FieldContext, removeDeletedAndSort bool, modifiedIndexes *ModifiedIndexesBuilder, ctx *web.EventContext) (vErr web.ValidationErrors)

func (*FieldsBuilder) SetSkipFieldVerifier

func (b *FieldsBuilder) SetSkipFieldVerifier(skipFieldVerifier func(name string) bool)

func (*FieldsBuilder) SkipFieldVerifier

func (b *FieldsBuilder) SkipFieldVerifier() func(name string) bool

func (*FieldsBuilder) String

func (b *FieldsBuilder) String() (r string)

func (*FieldsBuilder) ToComponent

func (b *FieldsBuilder) ToComponent(opts *ToComponentOptions, info *ModelInfo, obj interface{}, mode FieldModeStack, ctx *web.EventContext) h.HTMLComponent

func (*FieldsBuilder) ToComponentForEach

func (b *FieldsBuilder) ToComponentForEach(opts *ToComponentOptions, field *FieldContext, slice interface{}, mode FieldModeStack, ctx *web.EventContext, rowFunc RowFunc) h.HTMLComponent

func (*FieldsBuilder) Unmarshal

func (b *FieldsBuilder) Unmarshal(opts *FieldsSetterOptions, toObj interface{}, info *ModelInfo, removeDeletedAndSort bool, ctx *web.EventContext) (vErr web.ValidationErrors)

func (*FieldsBuilder) Walk

func (b *FieldsBuilder) Walk(info *ModelInfo, obj interface{}, mode FieldModeStack, ctx *web.EventContext, handle FieldWalkHandle)

func (*FieldsBuilder) WalkOptions

func (b *FieldsBuilder) WalkOptions(info *ModelInfo, obj interface{}, mode FieldModeStack, ctx *web.EventContext, opts *FieldWalkHandleOptions)

func (*FieldsBuilder) WrapFieldLabelsFromContextFunc

func (b *FieldsBuilder) WrapFieldLabelsFromContextFunc(f func(old FieldLabelsFunc) FieldLabelsFunc) (r *FieldsBuilder)

type FieldsBuilderInterface

type FieldsBuilderInterface interface {
	Field(name string) *FieldBuilder
}

type FieldsContextLabelGetter

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

func NewFieldsContextLabelGetter

func NewFieldsContextLabelGetter(mi *ModelInfo, fg interface {
	Field(name string) *FieldBuilder
}, ctx web.ContextValuer) *FieldsContextLabelGetter

func (*FieldsContextLabelGetter) Get

func (g *FieldsContextLabelGetter) Get(name string) string

type FieldsSection

type FieldsSection struct {
	Title string
	Rows  [][]string
}

type FieldsSetterOptions

type FieldsSetterOptions struct {
	SkipPermVerify bool
}

type FilterDataFunc

type FilterDataFunc func(ctx *web.EventContext) vuetifyx.FilterData

type FilterTab

type FilterTab struct {
	ID    string
	Label string
	// render AdvancedLabel if it is not nil
	AdvancedLabel h.HTMLComponent
	Query         url.Values
	Default       bool
}

type FilterTabsFunc

type FilterTabsFunc func(ctx *web.EventContext) []*FilterTab

type FlashMessage

type FlashMessage = web.FlashMessage

func NewFlashMessage

func NewFlashMessage(msg any, color ...string) (m *FlashMessage)

type FlashMessages

type FlashMessages = web.FlashMessages

func GetFlashMessages

func GetFlashMessages(ctx *web.EventContext) (v FlashMessages)

func NewFlashMessages

func NewFlashMessages(msg any, color ...string) FlashMessages

type FooterActionBuilder

type FooterActionBuilder struct {
	NameLabel
	// contains filtered or unexported fields
}

func (*FooterActionBuilder) ButtonCompFunc

func (b *FooterActionBuilder) ButtonCompFunc(v ComponentFunc) (r *FooterActionBuilder)

type Form

type Form struct {
	Obj          interface{}
	MB           *ModelBuilder
	AutoSave     bool
	Portal       string
	PortalLoader *web.VueEventTagBuilder
	Title        string
	Notice,
	Body h.HTMLComponent
	Tabs []TabComponentFunc

	TopLeftActions  h.HTMLComponents
	TopRightActions h.HTMLComponents

	MainPortals   h.HTMLComponents
	PrimaryAction h.HTMLComponent
	Menu          h.HTMLComponents
	Actions       h.HTMLComponents
	ScopeDisabled bool
	Wrap          func(h h.HTMLComponent) h.HTMLComponent
	// contains filtered or unexported fields
}

func (*Form) Component

func (f *Form) Component() (comp h.HTMLComponent)

func (*Form) Respond

func (f *Form) Respond(r *web.EventResponse)

func (*Form) RespondToPortal

func (f *Form) RespondToPortal(portal string, r *web.EventResponse)

type FormBuilder

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

func NewFormBuilder

func NewFormBuilder(ctx *web.EventContext, mb *ModelBuilder, fb *FieldsBuilder, obj interface{}) *FormBuilder

func (*FormBuilder) Build

func (f *FormBuilder) Build() (form *Form)

func (*FormBuilder) Mode

func (f *FormBuilder) Mode() FieldMode

func (*FormBuilder) PortalName

func (f *FormBuilder) PortalName() string

func (*FormBuilder) SetMode

func (f *FormBuilder) SetMode(mode FieldMode) *FormBuilder

func (*FormBuilder) SetPortalName

func (f *FormBuilder) SetPortalName(portalName string)

type FormConfigure

type FormConfigure interface {
	ConfigureForm(f *Form)
}

type GetSelectConfigor

type GetSelectConfigor interface {
	SelectConfigor() SelectConfigor
}

type ID

type ID = model.ID

func ParseRecordID

func ParseRecordID(s Schema, v string) (id ID, err error)

type IDSlice

type IDSlice = model.IDSlice

func ParentsModelID

func ParentsModelID(r *http.Request) IDSlice

func ResolveParentsModelID

func ResolveParentsModelID(resolver ParentsModelIDResolver, r *http.Request) (ids IDSlice, err error)

type InstallFunc

type InstallFunc func(pb *Builder) error

type LayoutConfig

type LayoutConfig struct {
	SearchBoxInvisible          bool
	NotificationCenterInvisible bool
}

type ListEditorBuilder

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

func NewListEditor

func NewListEditor(v *FieldContext) *ListEditorBuilder

func (*ListEditorBuilder) AddListItemRowEvent

func (b *ListEditorBuilder) AddListItemRowEvent(v string) (r *ListEditorBuilder)

func (*ListEditorBuilder) Component

func (b *ListEditorBuilder) Component(ctx *web.EventContext) h.HTMLComponent

func (*ListEditorBuilder) DisplayFieldInSorter

func (b *ListEditorBuilder) DisplayFieldInSorter(v string) (r *ListEditorBuilder)

func (*ListEditorBuilder) RemoveListItemRowEvent

func (b *ListEditorBuilder) RemoveListItemRowEvent(v string) (r *ListEditorBuilder)

func (*ListEditorBuilder) SortListItemsEvent

func (b *ListEditorBuilder) SortListItemsEvent(v string) (r *ListEditorBuilder)

func (*ListEditorBuilder) Value

func (b *ListEditorBuilder) Value(v interface{}) (r *ListEditorBuilder)

type ListSorter

type ListSorter struct {
	Items []ListSorterItem `json:"items"`
}

type ListSorterItem

type ListSorterItem struct {
	Index int    `json:"index"`
	Label string `json:"label"`
}

type ListingBuilder

func NewListingBuilder

func NewListingBuilder(mb *ModelBuilder, fieldsBuilder FieldsBuilder) *ListingBuilder

func (*ListingBuilder) Action

func (b *ListingBuilder) Action(name string) (r *ActionBuilder)

func (*ListingBuilder) ActionsAsMenu

func (b *ListingBuilder) ActionsAsMenu(v bool) (r *ListingBuilder)

func (*ListingBuilder) AppendItemAction

func (b *ListingBuilder) AppendItemAction(actions ...*ActionBuilder) *ListingBuilder

func (*ListingBuilder) AppendListAction

func (b *ListingBuilder) AppendListAction(f func(ctx *web.EventContext) h.HTMLComponents) *ListingBuilder

func (*ListingBuilder) BulkAction

func (b *ListingBuilder) BulkAction(name string) (r *BulkActionBuilder)

func (*ListingBuilder) CellWrapperFunc

func (b *ListingBuilder) CellWrapperFunc(cwf vx.CellWrapperFunc) (r *ListingBuilder)

func (*ListingBuilder) Conditions

func (b *ListingBuilder) Conditions(v []*SQLCondition) (r *ListingBuilder)

func (*ListingBuilder) ConfigureAutocompleteDataSource

func (b *ListingBuilder) ConfigureAutocompleteDataSource(config *AutocompleteDataSourceConfig, name ...string) *vuetifyx.AutocompleteDataSource

func (*ListingBuilder) ConfigureComponent

func (b *ListingBuilder) ConfigureComponent() func(lcb *ListingComponentBuilder)

func (*ListingBuilder) DataTableDensity

func (b *ListingBuilder) DataTableDensity() string

func (*ListingBuilder) DeleteFunc

func (b *ListingBuilder) DeleteFunc(v DeleteFunc) (r *ListingBuilder)

func (*ListingBuilder) DialogHeight

func (b *ListingBuilder) DialogHeight(v string) (r *ListingBuilder)

func (*ListingBuilder) DialogWidth

func (b *ListingBuilder) DialogWidth(v string) (r *ListingBuilder)

func (*ListingBuilder) DisablePagination

func (b *ListingBuilder) DisablePagination(v bool) (r *ListingBuilder)

func (*ListingBuilder) Except

func (b *ListingBuilder) Except(vs ...string) (r *ListingBuilder)

func (*ListingBuilder) FilterDataFunc

func (b *ListingBuilder) FilterDataFunc(v FilterDataFunc) *ListingBuilder

func (*ListingBuilder) FilterTabsFunc

func (b *ListingBuilder) FilterTabsFunc(v FilterTabsFunc) *ListingBuilder

func (*ListingBuilder) FooterAction

func (b *ListingBuilder) FooterAction(name string) (r *FooterActionBuilder)

func (*ListingBuilder) GetPageFunc

func (b *ListingBuilder) GetPageFunc() web.PageFunc

func (*ListingBuilder) ItemAction

func (b *ListingBuilder) ItemAction(name string) (r *ActionBuilder)

func (*ListingBuilder) ListingComponentBuilderCtx

func (b *ListingBuilder) ListingComponentBuilderCtx(
	ctx *web.EventContext,
) *ListingComponentBuilder

func (*ListingBuilder) ModelBuilder

func (b *ListingBuilder) ModelBuilder() *ModelBuilder

func (*ListingBuilder) NewButtonFunc

func (b *ListingBuilder) NewButtonFunc(v ComponentFunc) (r *ListingBuilder)

func (*ListingBuilder) Only

func (b *ListingBuilder) Only(vs ...string) (r *ListingBuilder)

func (*ListingBuilder) OrderBy

func (b *ListingBuilder) OrderBy(v string) (r *ListingBuilder)

func (*ListingBuilder) OrderableFields

func (b *ListingBuilder) OrderableFields(v []*OrderableField) (r *ListingBuilder)

func (*ListingBuilder) PageFunc

func (b *ListingBuilder) PageFunc(pf web.PageFunc) (r *ListingBuilder)

func (*ListingBuilder) PerPage

func (b *ListingBuilder) PerPage(v int64) (r *ListingBuilder)

func (*ListingBuilder) Portals

func (b *ListingBuilder) Portals(portalID string) *ListingPortals

func (*ListingBuilder) PrependListAction

func (b *ListingBuilder) PrependListAction(f func(ctx *web.EventContext) h.HTMLComponents) *ListingBuilder

func (*ListingBuilder) RecordEncoderFactory

func (b *ListingBuilder) RecordEncoderFactory(name string) RecordEncoderFactory[any]

func (*ListingBuilder) RowMenuOfItems

func (b *ListingBuilder) RowMenuOfItems(ctx *web.EventContext) (fs RecordMenuItemFuncs)

func (*ListingBuilder) SearchColumns

func (b *ListingBuilder) SearchColumns(vs ...string) (r *ListingBuilder)

func (*ListingBuilder) SearchFunc

func (b *ListingBuilder) SearchFunc(v SearchFunc) (r *ListingBuilder)

func (*ListingBuilder) SelectableColumns

func (b *ListingBuilder) SelectableColumns(v bool) (r *ListingBuilder)

func (*ListingBuilder) SetConfigureComponent

func (b *ListingBuilder) SetConfigureComponent(configureComponent func(lcb *ListingComponentBuilder)) *ListingBuilder

func (*ListingBuilder) SetDataTableDensity

func (b *ListingBuilder) SetDataTableDensity(dataTableDensity string) *ListingBuilder

func (*ListingBuilder) SetRecordEncoderFactory

func (b *ListingBuilder) SetRecordEncoderFactory(name string, encoderFactory RecordEncoderFactory[any]) *ListingBuilder

func (*ListingBuilder) TTitle

func (b *ListingBuilder) TTitle(ctx context.Context) string

func (*ListingBuilder) Title

func (b *ListingBuilder) Title(title string) (r *ListingBuilder)

func (*ListingBuilder) WrapDeleteFunc

func (b *ListingBuilder) WrapDeleteFunc(w func(in DeleteFunc) DeleteFunc) (r *ListingBuilder)

func (*ListingBuilder) WrapFilterDataFunc

func (b *ListingBuilder) WrapFilterDataFunc(f func(old FilterDataFunc) FilterDataFunc) *ListingBuilder

func (*ListingBuilder) WrapFilterTabsFunc

func (b *ListingBuilder) WrapFilterTabsFunc(f func(old FilterTabsFunc) FilterTabsFunc) *ListingBuilder

func (*ListingBuilder) WrapSearchFunc

func (b *ListingBuilder) WrapSearchFunc(w func(in SearchFunc) SearchFunc) (r *ListingBuilder)

type ListingComponentBuilder

type ListingComponentBuilder struct {
	datafield.DataField[*ListingComponentBuilder]
	// contains filtered or unexported fields
}

func NewListingComponentBuilder

func NewListingComponentBuilder(b *ListingBuilder, portals *ListingPortals) *ListingComponentBuilder

func (*ListingComponentBuilder) Build

func (lcb *ListingComponentBuilder) Build(ctx *web.EventContext) (comp h.HTMLComponent, err error)

func (*ListingComponentBuilder) BuildTable

func (lcb *ListingComponentBuilder) BuildTable(ctx *web.EventContext, sr *SearchResult, overlayMode actions.OverlayMode) (
	dataTable h.HTMLComponent,
	err error,
)

func (*ListingComponentBuilder) BuildTableAdditions

func (lcb *ListingComponentBuilder) BuildTableAdditions(ctx *web.EventContext, sr *SearchResult, inDialog bool) (comp h.HTMLComponent)

func (*ListingComponentBuilder) ComponentWrap

func (*ListingComponentBuilder) ConfigureComponent

func (lcb *ListingComponentBuilder) ConfigureComponent() func(cb *ContentComponentBuilder)

func (*ListingComponentBuilder) FilterComponentsBuild

func (lcb *ListingComponentBuilder) FilterComponentsBuild() ListingFilterComponentsBuilder

func (*ListingComponentBuilder) GetTableComponents

func (lcb *ListingComponentBuilder) GetTableComponents(ctx *web.EventContext) (
	dataTable h.HTMLComponent,
	datatableAdditions h.HTMLComponent,
	err error,
)

func (*ListingComponentBuilder) Portals

func (lcb *ListingComponentBuilder) Portals() *ListingPortals

func (*ListingComponentBuilder) PreBuild

func (lcb *ListingComponentBuilder) PreBuild() ListingPreBuild

func (*ListingComponentBuilder) Selection

func (lcb *ListingComponentBuilder) Selection() bool

func (*ListingComponentBuilder) SetConfigureComponent

func (lcb *ListingComponentBuilder) SetConfigureComponent(configureComponent func(cb *ContentComponentBuilder)) *ListingComponentBuilder

func (*ListingComponentBuilder) SetFilterComponentsBuild

func (lcb *ListingComponentBuilder) SetFilterComponentsBuild(filterComponentsBuild ListingFilterComponentsBuilder) *ListingComponentBuilder

func (*ListingComponentBuilder) SetPortals

func (lcb *ListingComponentBuilder) SetPortals(portals *ListingPortals)

func (*ListingComponentBuilder) SetPreBuild

func (*ListingComponentBuilder) SetSelection

func (lcb *ListingComponentBuilder) SetSelection(selection bool) *ListingComponentBuilder

func (*ListingComponentBuilder) SetTableBuilder

func (lcb *ListingComponentBuilder) SetTableBuilder(tableBuilder ListingTableBuilder) *ListingComponentBuilder

func (*ListingComponentBuilder) TableBuilder

func (lcb *ListingComponentBuilder) TableBuilder() ListingTableBuilder

type ListingDoActionOptions

type ListingDoActionOptions struct {
	ListReloadDisabled bool
	Flash              any
}

type ListingDoBulkActionOptions

type ListingDoBulkActionOptions struct {
	ListReloadDisabled bool
	Flash              any
}

type ListingFilterComponentsBuilder

type ListingFilterComponentsBuilder func(lcb *ListingComponentBuilder, ctx *web.EventContext) h.HTMLComponent

type ListingPortals

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

func NewListingPortals

func NewListingPortals(uid string) *ListingPortals

func (*ListingPortals) DataTable

func (p *ListingPortals) DataTable() string

func (*ListingPortals) DataTableAdditions

func (p *ListingPortals) DataTableAdditions() string

func (*ListingPortals) Main

func (p *ListingPortals) Main() string

func (*ListingPortals) Model

func (p *ListingPortals) Model() *ModelBuilderPortals

func (*ListingPortals) New

func (p *ListingPortals) New(name string) string

func (*ListingPortals) SetUID

func (p *ListingPortals) SetUID(v string) *ListingPortals

func (*ListingPortals) Temp

func (p *ListingPortals) Temp() string

func (*ListingPortals) UID

func (p *ListingPortals) UID() string

type ListingPreBuild

type ListingPreBuild func(lcb *ListingComponentBuilder, ctx *web.EventContext) (err error)

type ListingRestrictionField

type ListingRestrictionField[T any] struct {
	ListingRestriction *Restriction[T]
}

func (*ListingRestrictionField[T]) CanList

func (r *ListingRestrictionField[T]) CanList(ctx *web.EventContext) bool

type ListingTableBuilder

type ListingTableBuilder func(lcb *ListingComponentBuilder, ctx *web.EventContext, sr *SearchResult, overlayMode actions.OverlayMode) (
	comp h.HTMLComponent,
	err error,
)
type Menu []interface{}
func (b *Menu) Group(name string) *MenuGroupBuilder
func (b *Menu) Order(items ...interface{})
type MenuGroupBuilder struct {
	// contains filtered or unexported fields
}
func (b *MenuGroupBuilder) Icon(v string) (r *MenuGroupBuilder)
func (b *MenuGroupBuilder) SubItems(ss ...string) (r *MenuGroupBuilder)
func (b *MenuGroupBuilder) TTitle(ctx context.Context) string
func (b *MenuGroupBuilder) TitleFunc(f func(ctx context.Context) string) *MenuGroupBuilder
type MenuGroups struct {
	// contains filtered or unexported fields
}
func (g *MenuGroups) MenuGroup(name string) (r *MenuGroupBuilder)

type Messages

type Messages struct {
	SuccessfullyUpdated        string
	SuccessfullyCreated        string
	SuccessfullyDeleted        string
	SuccessfullyExecutedAction string
	Search                     string
	TheFemaleTitle             string
	TheMaleTitle               string

	YouAreHere                                 string
	New                                        string
	Update                                     string
	Execute                                    string
	Delete                                     string
	Edit                                       string
	FormTitle                                  string
	OK                                         string
	Cancel                                     string
	Clear                                      string
	Create                                     string
	DeleteConfirmationTextTemplate             string
	CreatingFemaleObjectTitleTemplate          string
	EditingTitleTemplate                       string
	CreatingObjectTitleTemplate                string
	EditingObjectTitleTemplate                 string
	ListingObjectTitleTemplate                 string
	DetailingObjectTitleTemplate               string
	FiltersClear                               string
	FiltersAdd                                 string
	FilterApply                                string
	FilterByTemplate                           string
	FiltersDateInTheLast                       string
	FiltersDateEquals                          string
	FiltersDateBetween                         string
	FiltersDateIsAfter                         string
	FiltersDateIsAfterOrOn                     string
	FiltersDateIsBefore                        string
	FiltersDateIsBeforeOrOn                    string
	FiltersDateDays                            string
	FiltersDateMonths                          string
	FiltersDateAnd                             string
	FiltersTo                                  string
	FiltersNumberEquals                        string
	FiltersNumberBetween                       string
	FiltersNumberGreaterThan                   string
	FiltersNumberLessThan                      string
	FiltersNumberAnd                           string
	FiltersStringEquals                        string
	FiltersStringContains                      string
	FiltersMultipleSelectIn                    string
	FiltersMultipleSelectNotIn                 string
	Month                                      string
	MonthNames                                 [time.December + 1]string
	Year                                       string
	PaginationRowsPerPage                      string
	PaginationPageInfo                         string
	PaginationPage                             string
	PaginationOfPage                           string
	ListingNoRecordToShow                      string
	ListingSelectedCountNotice                 string
	ListingClearSelection                      string
	BulkActionNoAvailableRecords               string
	BulkActionSelectedIdsProcessNoticeTemplate string
	ConfirmDialogPromptTitle                   string
	ConfirmDialogPromptText                    string
	Language                                   string
	Colon                                      string
	NotFoundPageNotice                         string
	AddRow                                     string
	PleaseSelectRecord                         string

	BulkActionConfirmationTextTemplate string

	TimeFormats TimeFormatMessages

	Common StrMap

	Error               string
	ErrEmptyParamID     i18n.ErrorString
	ErrPermissionDenied i18n.ErrorString

	CopiedToClipboard string
}

func MustGetMessages

func MustGetMessages(ctx context.Context) *Messages

func (*Messages) BulkActionConfirmationText

func (msgr *Messages) BulkActionConfirmationText(action string, count string) string

func (*Messages) BulkActionSelectedIdsProcessNotice

func (msgr *Messages) BulkActionSelectedIdsProcessNotice(ids string) string

func (*Messages) CreatingObjectTitle

func (msgr *Messages) CreatingObjectTitle(modelName string, female bool) string

func (*Messages) DeleteConfirmationHtml

func (msgr *Messages) DeleteConfirmationHtml(model, theModelTitle, title string) string

func (*Messages) DeleteConfirmationText

func (msgr *Messages) DeleteConfirmationText(model, theModelTitle, title string) string

func (*Messages) DetailingObjectTitle

func (msgr *Messages) DetailingObjectTitle(label string, name string) string

func (*Messages) EditingObjectTitle

func (msgr *Messages) EditingObjectTitle(label string, name string) string

func (*Messages) EditingTitle

func (msgr *Messages) EditingTitle(label string) string

func (*Messages) FilterBy

func (msgr *Messages) FilterBy(filter string) string

func (*Messages) ListingObjectTitle

func (msgr *Messages) ListingObjectTitle(label string) string

func (*Messages) ListingSelectedCountNoticeText

func (msgr *Messages) ListingSelectedCountNoticeText(count int) string

func (*Messages) TheTitle

func (msgr *Messages) TheTitle(female bool, title string, args ...string) string

type MessagesFunc

type MessagesFunc func(r *http.Request) *Messages

type ModeObjectComponentFunc

type ModeObjectComponentFunc func(mode FieldModeStack, obj interface{}, ctx *web.EventContext) h.HTMLComponent

type ModelBuilder

func GetModel

func GetModel(ctx *web.EventContext) (v *ModelBuilder)

func NewModelBuilder

func NewModelBuilder(p *Builder, model interface{}, options ...ModelBuilderOption) (mb *ModelBuilder)

func (*ModelBuilder) ActionTranslator

func (mb *ModelBuilder) ActionTranslator(module ...i18n.ModuleKey) i18n.Translator

func (*ModelBuilder) AddChild

func (mb *ModelBuilder) AddChild(child *ModelBuilder)

func (*ModelBuilder) AddChildH

func (mb *ModelBuilder) AddChildH(child *ModelBuilder, h ...func(mb *ModelBuilder)) *ModelBuilder

func (*ModelBuilder) AddPageFunc

func (mb *ModelBuilder) AddPageFunc(vf *perm.PermVerifierBuilder, path string, f web.PageFunc, methods ...string) (ph *PageHandler)

func (*ModelBuilder) AddRawPageFunc

func (mb *ModelBuilder) AddRawPageFunc(path string, f web.PageFunc, methods ...string) (ph *PageHandler)

func (*ModelBuilder) AddRowMenuItem

func (mb *ModelBuilder) AddRowMenuItem(label string, componentFunc RecordMenuItemFunc)

func (*ModelBuilder) BindEventFunc

func (mb *ModelBuilder) BindEventFunc(f web.EventHandler) web.EventHandler

func (*ModelBuilder) BindPageFunc

func (mb *ModelBuilder) BindPageFunc(f web.PageFunc) web.PageFunc

func (*ModelBuilder) BindVerifiedPageFunc

func (mb *ModelBuilder) BindVerifiedPageFunc(vf *perm.PermVerifierBuilder, f web.PageFunc) web.PageFunc

func (*ModelBuilder) Builder

func (mb *ModelBuilder) Builder() *Builder

func (*ModelBuilder) BulkActionTranslator

func (mb *ModelBuilder) BulkActionTranslator(module ...i18n.ModuleKey) i18n.Translator

func (*ModelBuilder) ChildOf

func (mb *ModelBuilder) ChildOf(parent *ModelBuilder) *ModelBuilder

func (*ModelBuilder) Children

func (mb *ModelBuilder) Children() []*ModelBuilder

func (*ModelBuilder) CreatingDisabled

func (mb *ModelBuilder) CreatingDisabled() bool

func (*ModelBuilder) Creator

func (mb *ModelBuilder) Creator(obj interface{}, ctx *web.EventContext) (err error)

func (*ModelBuilder) CurrentDataOperator

func (mb *ModelBuilder) CurrentDataOperator() DataOperator

func (*ModelBuilder) DataOperator

func (mb *ModelBuilder) DataOperator() DataOperator

func (*ModelBuilder) DefaultRecordTitle

func (mb *ModelBuilder) DefaultRecordTitle(ctx *web.EventContext, obj any) string

func (*ModelBuilder) DefaultURLQueryFunc

func (mb *ModelBuilder) DefaultURLQueryFunc(v func(*http.Request) url.Values) (r *ModelBuilder)

func (*ModelBuilder) Deleter

func (mb *ModelBuilder) Deleter(obj interface{}, id ID, cascade bool, ctx *web.EventContext) (err error)

func (*ModelBuilder) DeletingDisabled

func (mb *ModelBuilder) DeletingDisabled() bool

func (*ModelBuilder) Depth

func (mb *ModelBuilder) Depth() (i int)

func (*ModelBuilder) DetailFieldBuilders

func (mb *ModelBuilder) DetailFieldBuilders() FieldBuilders

func (*ModelBuilder) Detailing

func (mb *ModelBuilder) Detailing(vs ...interface{}) (r *DetailingBuilder)

string / []string / *FieldsSection

func (*ModelBuilder) DetailingDisabled

func (mb *ModelBuilder) DetailingDisabled() bool

func (*ModelBuilder) DetailingParentsIDResolver

func (mb *ModelBuilder) DetailingParentsIDResolver() ParentsModelIDResolver

func (*ModelBuilder) DisableDetailing

func (mb *ModelBuilder) DisableDetailing() *ModelBuilder

func (*ModelBuilder) Editing

func (mb *ModelBuilder) Editing(vs ...interface{}) (r *EditingBuilder)

string / []string / *FieldsSection

func (*ModelBuilder) EditingDisabled

func (mb *ModelBuilder) EditingDisabled() bool

func (*ModelBuilder) Female

func (mb *ModelBuilder) Female() bool

func (*ModelBuilder) Fetcher

func (mb *ModelBuilder) Fetcher(obj interface{}, id ID, ctx *web.EventContext) (err error)

func (*ModelBuilder) FieldBuilders

func (mb *ModelBuilder) FieldBuilders() (r []FieldsBuilderInterface)

func (*ModelBuilder) FieldHint

func (mb *ModelBuilder) FieldHint(field *FieldBuilder, ctx *web.EventContext) (r string)

func (*ModelBuilder) FieldHintFunc

func (mb *ModelBuilder) FieldHintFunc(name string, f func(ctx *web.EventContext) string) (r *ModelBuilder)

func (*ModelBuilder) FieldHintTranslator

func (mb *ModelBuilder) FieldHintTranslator(module ...i18n.ModuleKey) i18n.Translator

func (*ModelBuilder) FieldLabel

func (mb *ModelBuilder) FieldLabel(field *FieldBuilder, ctx *web.EventContext) (r string)

func (*ModelBuilder) FieldLabelFunc

func (mb *ModelBuilder) FieldLabelFunc(name string, f func(ctx *web.EventContext) string) (r *ModelBuilder)

func (*ModelBuilder) FieldTranslator

func (mb *ModelBuilder) FieldTranslator(module ...i18n.ModuleKey) i18n.Translator

func (*ModelBuilder) FilterTranslator

func (mb *ModelBuilder) FilterTranslator(module ...i18n.ModuleKey) i18n.Translator

func (*ModelBuilder) GetChildByID

func (mb *ModelBuilder) GetChildByID(id string) *ModelBuilder

func (*ModelBuilder) GetLabel

func (mb *ModelBuilder) GetLabel() string

func (*ModelBuilder) GetLayoutConfig

func (mb *ModelBuilder) GetLayoutConfig() *LayoutConfig

func (*ModelBuilder) GetMenuIcon

func (mb *ModelBuilder) GetMenuIcon() string

func (*ModelBuilder) GetSingleton

func (mb *ModelBuilder) GetSingleton() bool

func (*ModelBuilder) GetVerifierModel

func (mb *ModelBuilder) GetVerifierModel() *ModelBuilder

func (*ModelBuilder) GetVerifiers

func (b *ModelBuilder) GetVerifiers() perm.PermVerifiers

func (*ModelBuilder) HasDetailing

func (mb *ModelBuilder) HasDetailing() bool

func (*ModelBuilder) Hints

func (mb *ModelBuilder) Hints(vs ...string) (r *ModelBuilder)

func (*ModelBuilder) I18nModuleKeyOrDefault

func (mb *ModelBuilder) I18nModuleKeyOrDefault() i18n.ModuleKey

func (*ModelBuilder) ID

func (mb *ModelBuilder) ID() string

func (*ModelBuilder) InMenu

func (mb *ModelBuilder) InMenu(v bool) (r *ModelBuilder)

func (*ModelBuilder) Info

func (mb *ModelBuilder) Info() (r *ModelInfo)

func (*ModelBuilder) IsInMenu

func (mb *ModelBuilder) IsInMenu() bool

func (*ModelBuilder) ItemRouteSetuper

func (mb *ModelBuilder) ItemRouteSetuper(f func(mux *http.ServeMux, uri string)) *ModelBuilder

func (*ModelBuilder) KeyFormatTranslator

func (mb *ModelBuilder) KeyFormatTranslator(keyFormat string, module ...i18n.ModuleKey) i18n.Translator

func (*ModelBuilder) KeyFormatTranslatorD

func (mb *ModelBuilder) KeyFormatTranslatorD(keyFormat string, allowEmpty bool, module ...i18n.ModuleKey) i18n.Translator

func (*ModelBuilder) Label

func (mb *ModelBuilder) Label(v string) (r *ModelBuilder)

func (*ModelBuilder) Labels

func (mb *ModelBuilder) Labels(vs ...string) (r *ModelBuilder)

func (*ModelBuilder) LayoutConfig

func (mb *ModelBuilder) LayoutConfig(v *LayoutConfig) (r *ModelBuilder)
func (mb *ModelBuilder) Link(v string) *ModelBuilder

func (*ModelBuilder) ListFieldBuilders

func (mb *ModelBuilder) ListFieldBuilders() FieldBuilders

func (*ModelBuilder) Listing

func (mb *ModelBuilder) Listing(vs ...string) (r *ListingBuilder)

func (*ModelBuilder) ListingAny

func (mb *ModelBuilder) ListingAny(vs ...interface{}) (r *ListingBuilder)

func (*ModelBuilder) LoadParentsID

func (mb *ModelBuilder) LoadParentsID(ctx *web.EventContext) (_ *web.EventContext, err error)

func (*ModelBuilder) MenuIcon

func (mb *ModelBuilder) MenuIcon(v string) (r *ModelBuilder)

func (*ModelBuilder) Model

func (mb *ModelBuilder) Model() interface{}

func (*ModelBuilder) ModelType

func (mb *ModelBuilder) ModelType() reflect.Type

func (*ModelBuilder) MustParseRecordID

func (mb *ModelBuilder) MustParseRecordID(v string) (id ID)

func (*ModelBuilder) MustRecordID

func (mb *ModelBuilder) MustRecordID(obj interface{}) ID

func (*ModelBuilder) NewFieldsBuilder

func (mb *ModelBuilder) NewFieldsBuilder(fields ...*FieldBuilder) *FieldsBuilder

func (*ModelBuilder) NewModel

func (mb *ModelBuilder) NewModel() (r interface{})

func (*ModelBuilder) NewModelSlice

func (mb *ModelBuilder) NewModelSlice() (r interface{})

func (*ModelBuilder) Parent

func (mb *ModelBuilder) Parent() *ModelBuilder

func (*ModelBuilder) Parents

func (mb *ModelBuilder) Parents() (parents []*ModelBuilder)

func (*ModelBuilder) ParseParentsID

func (mb *ModelBuilder) ParseParentsID(r *http.Request) (ids IDSlice, err error)

func (*ModelBuilder) ParseRecordID

func (mb *ModelBuilder) ParseRecordID(v string) (id ID, err error)

func (*ModelBuilder) ParseRecordIDTo

func (mb *ModelBuilder) ParseRecordIDTo(dst any, v string) (err error)

func (*ModelBuilder) Permissioner

func (mb *ModelBuilder) Permissioner() (r *ModelPermissioner)

func (*ModelBuilder) Placeholders

func (mb *ModelBuilder) Placeholders(vs ...string) (r *ModelBuilder)

func (*ModelBuilder) RecordID

func (mb *ModelBuilder) RecordID(obj interface{}) (id ID, err error)

func (*ModelBuilder) RecordTitle

func (mb *ModelBuilder) RecordTitle(obj any, ctx *web.EventContext) (s string)

func (*ModelBuilder) RecordTitleFetch

func (mb *ModelBuilder) RecordTitleFetch(obj any, ctx *web.EventContext) (_ string, err error)

func (*ModelBuilder) RegisterEventFunc

func (mb *ModelBuilder) RegisterEventFunc(id string, f web.EventFunc) string

func (*ModelBuilder) RegisterEventHandler

func (mb *ModelBuilder) RegisterEventHandler(eventFuncId string, ef web.EventHandler) (key string)

func (*ModelBuilder) RightDrawerWidth

func (mb *ModelBuilder) RightDrawerWidth(v string) *ModelBuilder

func (*ModelBuilder) Root

func (mb *ModelBuilder) Root() *ModelBuilder

func (*ModelBuilder) RouteSetuper

func (mb *ModelBuilder) RouteSetuper(f func(mux *http.ServeMux, uri string)) *ModelBuilder

func (*ModelBuilder) SaveURI

func (mb *ModelBuilder) SaveURI() (uri string)

func (*ModelBuilder) Saver

func (mb *ModelBuilder) Saver(obj interface{}, id ID, ctx *web.EventContext) (err error)

func (*ModelBuilder) Schema

func (mb *ModelBuilder) Schema() (s Schema)

func (*ModelBuilder) Searcher

func (mb *ModelBuilder) Searcher(model interface{}, params *SearchParams, ctx *web.EventContext) (r interface{}, totalCount int, err error)

func (*ModelBuilder) SetCreatingBuilder

func (mb *ModelBuilder) SetCreatingBuilder(b *EditingBuilder)

func (*ModelBuilder) SetCreatingDisabled

func (mb *ModelBuilder) SetCreatingDisabled(v bool) *ModelBuilder

func (*ModelBuilder) SetDataOperator

func (mb *ModelBuilder) SetDataOperator(dataOperator DataOperator) *ModelBuilder

func (*ModelBuilder) SetDeletingDisabled

func (mb *ModelBuilder) SetDeletingDisabled(v bool) *ModelBuilder

func (*ModelBuilder) SetDetailingBuilder

func (mb *ModelBuilder) SetDetailingBuilder(dt *DetailingBuilder) *ModelBuilder

func (*ModelBuilder) SetDetailingDisabled

func (mb *ModelBuilder) SetDetailingDisabled(v bool) *ModelBuilder

func (*ModelBuilder) SetDetailingParentsIDResolver

func (mb *ModelBuilder) SetDetailingParentsIDResolver(detailingParentsIDResolver ParentsModelIDResolver) *ModelBuilder

func (*ModelBuilder) SetEditingBuilder

func (mb *ModelBuilder) SetEditingBuilder(b *EditingBuilder)

func (*ModelBuilder) SetEditingDisabled

func (mb *ModelBuilder) SetEditingDisabled(v bool) *ModelBuilder

func (*ModelBuilder) SetFemale

func (mb *ModelBuilder) SetFemale(v bool) *ModelBuilder

func (*ModelBuilder) SetLabel

func (mb *ModelBuilder) SetLabel(label string) *ModelBuilder

func (*ModelBuilder) SetPlural

func (mb *ModelBuilder) SetPlural(v bool) *ModelBuilder

func (*ModelBuilder) SetPluralLabel

func (mb *ModelBuilder) SetPluralLabel(label string) *ModelBuilder

func (*ModelBuilder) SetSaveURI

func (mb *ModelBuilder) SetSaveURI(updatingURI string)

func (*ModelBuilder) SetUriName

func (mb *ModelBuilder) SetUriName(uriName string) *ModelBuilder

func (*ModelBuilder) SetVerifierModel

func (mb *ModelBuilder) SetVerifierModel(verifier *ModelBuilder) *ModelBuilder

func (*ModelBuilder) SetupRoutes

func (mb *ModelBuilder) SetupRoutes(mux *http.ServeMux)

func (*ModelBuilder) Singleton

func (mb *ModelBuilder) Singleton(v bool) (r *ModelBuilder)

func (*ModelBuilder) SplitedURI

func (mb *ModelBuilder) SplitedURI() (r []any)

func (*ModelBuilder) String

func (mb *ModelBuilder) String() string

func (*ModelBuilder) SubRoutesSetup

func (mb *ModelBuilder) SubRoutesSetup(f func(mux *http.ServeMux, baseUri string)) *ModelBuilder

func (*ModelBuilder) T

func (mb *ModelBuilder) T(ctx context.Context, key string, args ...string) string

func (*ModelBuilder) TFormat

func (mb *ModelBuilder) TFormat(ctx context.Context, fmt, key string, args ...string) string

func (*ModelBuilder) TPageLabel

func (mb *ModelBuilder) TPageLabel(ctx context.Context, args ...string) (s string)

func (*ModelBuilder) TTheTitle

func (mb *ModelBuilder) TTheTitle(ctx context.Context, args ...string) string

func (*ModelBuilder) TTitle

func (mb *ModelBuilder) TTitle(ctx context.Context, args ...string) string

func (*ModelBuilder) TTitleAuto

func (mb *ModelBuilder) TTitleAuto(ctx context.Context, args ...string) string

func (*ModelBuilder) TTitlePlural

func (mb *ModelBuilder) TTitlePlural(ctx context.Context, args ...string) string

func (*ModelBuilder) TakeFieldAsChild

func (mb *ModelBuilder) TakeFieldAsChild(fieldName string, h ...func(mb *ModelBuilder)) *ModelBuilder

func (*ModelBuilder) TitleFetcher

func (mb *ModelBuilder) TitleFetcher(obj interface{}, id ID, ctx *web.EventContext) (err error)

func (*ModelBuilder) Translator

func (mb *ModelBuilder) Translator(module ...i18n.ModuleKey) i18n.Translator

func (*ModelBuilder) URI

func (mb *ModelBuilder) URI() string

func (*ModelBuilder) URIName

func (mb *ModelBuilder) URIName(v string) (r *ModelBuilder)

func (*ModelBuilder) UpdateDataOperator

func (mb *ModelBuilder) UpdateDataOperator(h func(do DataOperator) DataOperator) *ModelBuilder

func (*ModelBuilder) UriName

func (mb *ModelBuilder) UriName() string

func (*ModelBuilder) Use

func (mb *ModelBuilder) Use(vs ...ModelPlugin) (r *ModelBuilder)

func (*ModelBuilder) Verifier

func (b *ModelBuilder) Verifier(vf ...*perm.PermVerifierBuilder) (r *ModelBuilder)

func (*ModelBuilder) VerifierModel

func (mb *ModelBuilder) VerifierModel() *ModelBuilder

func (*ModelBuilder) WithDataOperator

func (mb *ModelBuilder) WithDataOperator(h func(do DataOperator)) bool

func (*ModelBuilder) WithEditingBuilders

func (mb *ModelBuilder) WithEditingBuilders(do func(e *EditingBuilder)) *ModelBuilder

func (*ModelBuilder) WrapRouteSetuper

func (mb *ModelBuilder) WrapRouteSetuper(f func(old func(mux *http.ServeMux, uri string)) func(mux *http.ServeMux, uri string)) *ModelBuilder

func (*ModelBuilder) WriteFieldBuilders

func (mb *ModelBuilder) WriteFieldBuilders() FieldBuilders

type ModelBuilderConfig

type ModelBuilderConfig struct {
	ModelBuilderConfigAttributes
}

func ModelConfig

func ModelConfig() *ModelBuilderConfig

func (*ModelBuilderConfig) Apply

func (c *ModelBuilderConfig) Apply(mb *ModelBuilder)

func (*ModelBuilderConfig) DataOperator

func (c *ModelBuilderConfig) DataOperator() DataOperator

func (*ModelBuilderConfig) Female

func (mb *ModelBuilderConfig) Female() bool

func (*ModelBuilderConfig) Id

func (c *ModelBuilderConfig) Id() string

func (*ModelBuilderConfig) Label

func (c *ModelBuilderConfig) Label() string

func (*ModelBuilderConfig) ModuleKey

func (c *ModelBuilderConfig) ModuleKey() i18n.ModuleKey

func (*ModelBuilderConfig) Plural

func (c *ModelBuilderConfig) Plural() bool

func (*ModelBuilderConfig) PluralLabel

func (c *ModelBuilderConfig) PluralLabel() string

func (*ModelBuilderConfig) SetDataOperator

func (c *ModelBuilderConfig) SetDataOperator(dataOperator DataOperator) *ModelBuilderConfig

func (*ModelBuilderConfig) SetFemale

func (c *ModelBuilderConfig) SetFemale(v bool) *ModelBuilderConfig

func (*ModelBuilderConfig) SetId

func (*ModelBuilderConfig) SetLabel

func (c *ModelBuilderConfig) SetLabel(label string) *ModelBuilderConfig

func (*ModelBuilderConfig) SetModuleKey

func (c *ModelBuilderConfig) SetModuleKey(moduleKey i18n.ModuleKey) *ModelBuilderConfig

func (*ModelBuilderConfig) SetPlural

func (c *ModelBuilderConfig) SetPlural(v bool) *ModelBuilderConfig

func (*ModelBuilderConfig) SetPluralLabel

func (c *ModelBuilderConfig) SetPluralLabel(pluralLabel string) *ModelBuilderConfig

func (*ModelBuilderConfig) SetSingleton

func (c *ModelBuilderConfig) SetSingleton(v bool) *ModelBuilderConfig

func (*ModelBuilderConfig) SetUriName

func (c *ModelBuilderConfig) SetUriName(uriName string) *ModelBuilderConfig

func (*ModelBuilderConfig) Singleton

func (c *ModelBuilderConfig) Singleton() bool

func (*ModelBuilderConfig) UriName

func (c *ModelBuilderConfig) UriName() string

type ModelBuilderConfigAttributes

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

func (*ModelBuilderConfigAttributes) ModuleKey

func (*ModelBuilderConfigAttributes) SetModuleKey

func (c *ModelBuilderConfigAttributes) SetModuleKey(moduleKey i18n.ModuleKey)

type ModelBuilderOption

type ModelBuilderOption interface {
	Apply(mb *ModelBuilder)
}

type ModelBuilderOptionFunc

type ModelBuilderOptionFunc func(mb *ModelBuilder)

func ModelWithID

func ModelWithID(id string) ModelBuilderOptionFunc

func (ModelBuilderOptionFunc) Apply

func (f ModelBuilderOptionFunc) Apply(mb *ModelBuilder)

type ModelBuilderPortals

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

func NewModelBuilderPortals

func NewModelBuilderPortals(id string) *ModelBuilderPortals

func (*ModelBuilderPortals) Action

func (p *ModelBuilderPortals) Action() *ListingPortals

func (*ModelBuilderPortals) ID

func (p *ModelBuilderPortals) ID() string

func (*ModelBuilderPortals) Listing

func (p *ModelBuilderPortals) Listing() *ListingPortals

func (*ModelBuilderPortals) New

func (p *ModelBuilderPortals) New(name string) string

func (*ModelBuilderPortals) SetID

func (*ModelBuilderPortals) Temp

func (p *ModelBuilderPortals) Temp() string

func (*ModelBuilderPortals) UID

func (p *ModelBuilderPortals) UID() string

type ModelConfiguratorFunc

type ModelConfiguratorFunc func(mb *ModelBuilder)

func (ModelConfiguratorFunc) ConfigureModel

func (f ModelConfiguratorFunc) ConfigureModel(mb *ModelBuilder)

type ModelConfigurators

type ModelConfigurators []ModelConfigurer

func (*ModelConfigurators) Append

func (mc *ModelConfigurators) Append(m ...ModelConfigurer)

func (ModelConfigurators) ConfigureModel

func (mc ModelConfigurators) ConfigureModel(mb *ModelBuilder)

func (*ModelConfigurators) Insert

func (mc *ModelConfigurators) Insert(i int, m ...ModelConfigurer)

type ModelConfigurer

type ModelConfigurer interface {
	ConfigureModel(mb *ModelBuilder)
}

type ModelFormUnmarshallHandler

type ModelFormUnmarshallHandler interface {
	Handler(obj interface{}, ctx *web.EventContext) (err error)
}

type ModelFormUnmarshallHandlerFunc

type ModelFormUnmarshallHandlerFunc func(obj interface{}, ctx *web.EventContext) (err error)

func (ModelFormUnmarshallHandlerFunc) Handler

func (f ModelFormUnmarshallHandlerFunc) Handler(obj interface{}, ctx *web.EventContext) (err error)

type ModelFormUnmarshallHandlers

type ModelFormUnmarshallHandlers []ModelFormUnmarshallHandler

func (*ModelFormUnmarshallHandlers) Append

func (*ModelFormUnmarshallHandlers) AppendFunc

func (ModelFormUnmarshallHandlers) Handler

func (h ModelFormUnmarshallHandlers) Handler(obj interface{}, ctx *web.EventContext) (err error)

type ModelInfo

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

func (*ModelInfo) Builder

func (i *ModelInfo) Builder() *ModelBuilder

func (ModelInfo) ChildOf

func (i ModelInfo) ChildOf(parent *ModelInfo, obj any) *ModelInfo

func (ModelInfo) DetailingHref

func (i ModelInfo) DetailingHref(id any, parentID ...ID) string

func (ModelInfo) DetailingHrefCtx

func (i ModelInfo) DetailingHrefCtx(ctx *web.EventContext, id any) string

func (ModelInfo) EditingHref

func (i ModelInfo) EditingHref(id any, parentID ...ID) string

func (ModelInfo) EditingHrefCtx

func (i ModelInfo) EditingHrefCtx(ctx *web.EventContext, id any) string

func (*ModelInfo) GetID

func (i *ModelInfo) GetID(obj interface{}) (id ID, err error)

func (ModelInfo) HasDetailing

func (i ModelInfo) HasDetailing() bool

func (ModelInfo) ItemOf

func (i ModelInfo) ItemOf(slice interface{}, index int) *ModelInfo

func (ModelInfo) Label

func (i ModelInfo) Label() string

func (ModelInfo) ListingHref

func (i ModelInfo) ListingHref(parentID ...ID) string

func (ModelInfo) ListingHrefCtx

func (i ModelInfo) ListingHrefCtx(ctx *web.EventContext) string

func (ModelInfo) ListingHrefParts

func (i ModelInfo) ListingHrefParts() (r []any)

func (*ModelInfo) LookupID

func (i *ModelInfo) LookupID(obj interface{}) (id ID, level int, err error)

func (*ModelInfo) MustID

func (i *ModelInfo) MustID(obj interface{}) (id ID)

func (*ModelInfo) Parent

func (i *ModelInfo) Parent() (*ModelInfo, interface{})

func (*ModelInfo) Permissioner

func (i *ModelInfo) Permissioner() *ModelPermissioner

func (ModelInfo) PresetsPrefix

func (i ModelInfo) PresetsPrefix() string

func (*ModelInfo) Root

func (i *ModelInfo) Root() *ModelInfo

func (*ModelInfo) Schema

func (i *ModelInfo) Schema() model.Schema

func (*ModelInfo) Slice

func (i *ModelInfo) Slice() (interface{}, int)

func (ModelInfo) URI

func (i ModelInfo) URI() string

func (ModelInfo) URIName

func (i ModelInfo) URIName() string

func (ModelInfo) UpdateHref

func (i ModelInfo) UpdateHref(parentID ...ID) string

func (ModelInfo) UpdateHrefCtx

func (i ModelInfo) UpdateHrefCtx(ctx *web.EventContext) string

type ModelInstallFunc

type ModelInstallFunc func(mb *ModelBuilder) error

type ModelPerm

type ModelPerm struct {
	Parent      *ModelPerm                       `yaml:"-" json:"-"`
	Model       *ModelBuilder                    `yaml:"-" json:"-"`
	Name        string                           `yaml:",omitempty" json:",omitempty"`
	Title       func(ctx context.Context) string `yaml:"-" json:"-"`
	Custom      []*CustomPerm                    `yaml:",omitempty" json:",omitempty"`
	Object      *ModelPermObject                 `yaml:",omitempty" json:",omitempty"`
	Actions     ResourcePermActions              `yaml:",omitempty" json:",omitempty"`
	ListActions ResourcePermActions              `yaml:"list_actions,omitempty" json:",omitempty"`
	Children    []*ModelPerm                     `yaml:",omitempty" json:",omitempty"`
}

func (*ModelPerm) AddChildren

func (m *ModelPerm) AddChildren(children ...*ModelPerm)

func (*ModelPerm) Tree

func (m *ModelPerm) Tree() (node *PermNode)

type ModelPermObject

type ModelPermObject struct {
	Custom  []*CustomPerm       `yaml:",omitempty" json:",omitempty"`
	Actions ResourcePermActions `yaml:",omitempty" json:",omitempty"`
}

type ModelPermissioner

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

func (*ModelPermissioner) Actioner

func (p *ModelPermissioner) Actioner(r *http.Request, action string, id ID, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) Creator

func (p *ModelPermissioner) Creator(r *http.Request, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) Default

func (p *ModelPermissioner) Default(listing bool) *perm.Verifier

func (*ModelPermissioner) DefaultPermResourceName

func (p *ModelPermissioner) DefaultPermResourceName(listing bool) string

func (*ModelPermissioner) Deleter

func (p *ModelPermissioner) Deleter(r *http.Request, id ID, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) List

func (p *ModelPermissioner) List(r *http.Request, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) ListDo

func (p *ModelPermissioner) ListDo(r *http.Request, action string, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) ListVerifier

func (p *ModelPermissioner) ListVerifier(parentID ...ID) (v *perm.Verifier)

func (*ModelPermissioner) Lister

func (p *ModelPermissioner) Lister(r *http.Request, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) ObjectDo

func (p *ModelPermissioner) ObjectDo(r *http.Request, action string, id ID, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) ObjectFielder

func (p *ModelPermissioner) ObjectFielder(r *http.Request, field string, id ID, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) ObjectReadActioner

func (p *ModelPermissioner) ObjectReadActioner(r *http.Request, action string, id model.ID, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) Objector

func (p *ModelPermissioner) Objector(r *http.Request, id ID, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) PermResourceName

func (p *ModelPermissioner) PermResourceName(id ID, parentID ...ID) string

func (*ModelPermissioner) Reader

func (p *ModelPermissioner) Reader(r *http.Request, id ID, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) ReqCreator

func (p *ModelPermissioner) ReqCreator(r *http.Request) *perm.Verifier

func (*ModelPermissioner) ReqList

func (p *ModelPermissioner) ReqList(r *http.Request) *perm.Verifier

func (*ModelPermissioner) ReqListActioner

func (p *ModelPermissioner) ReqListActioner(r *http.Request, action string) *perm.Verifier

func (*ModelPermissioner) ReqListDo

func (p *ModelPermissioner) ReqListDo(r *http.Request, action string) *perm.Verifier

func (*ModelPermissioner) ReqLister

func (p *ModelPermissioner) ReqLister(r *http.Request) *perm.Verifier

func (*ModelPermissioner) ReqObjectActioner

func (p *ModelPermissioner) ReqObjectActioner(r *http.Request, obj any, action string) *perm.Verifier

func (*ModelPermissioner) ReqObjectDeleter

func (p *ModelPermissioner) ReqObjectDeleter(r *http.Request, obj any) *perm.Verifier

func (*ModelPermissioner) ReqObjectFieldConder

func (p *ModelPermissioner) ReqObjectFieldConder(r *http.Request, obj any, ok bool, field string) *perm.Verifier

func (*ModelPermissioner) ReqObjectFielder

func (p *ModelPermissioner) ReqObjectFielder(r *http.Request, obj any, field string) *perm.Verifier

func (*ModelPermissioner) ReqObjectReader

func (p *ModelPermissioner) ReqObjectReader(r *http.Request, obj any) *perm.Verifier

func (*ModelPermissioner) ReqObjectUpdater

func (p *ModelPermissioner) ReqObjectUpdater(r *http.Request, obj any) *perm.Verifier

func (*ModelPermissioner) ReqObjector

func (p *ModelPermissioner) ReqObjector(r *http.Request, obj any) *perm.Verifier

func (*ModelPermissioner) Updater

func (p *ModelPermissioner) Updater(r *http.Request, id ID, parentID ...ID) *perm.Verifier

func (*ModelPermissioner) Verifier

func (p *ModelPermissioner) Verifier(id ID, parentID ...ID) (v *perm.Verifier)

type ModelPlugin

type ModelPlugin interface {
	ModelInstall(pb *Builder, mb *ModelBuilder) (err error)
}

type ModelSetupFactories

type ModelSetupFactories []ModelSetupFactory
var DefaultModelSetupFactories ModelSetupFactories

func (*ModelSetupFactories) Append

func (f *ModelSetupFactories) Append(factory ...ModelSetupFactory)

func (ModelSetupFactories) Of

type ModelSetupFactory

type ModelSetupFactory func(mb *ModelBuilder) ModelSetuper

type ModelSetuper

type ModelSetuper interface {
	Init()
	InitFields(fieldBuilders *FieldBuilders)
	FieldSetuper
}

type ModelSetupers

type ModelSetupers []ModelSetuper

func (ModelSetupers) ConfigureField

func (s ModelSetupers) ConfigureField(f *FieldBuilder)

func (ModelSetupers) Init

func (s ModelSetupers) Init()

func (ModelSetupers) InitField

func (s ModelSetupers) InitField(f *FieldBuilder)

func (ModelSetupers) InitFields

func (s ModelSetupers) InitFields(fieldBuilders *FieldBuilders)

type ModelWalkState

type ModelWalkState uint8
const (
	ModelWalkStateNext ModelWalkState = iota
	ModelWalkStateStop
	ModelWalkStateSkipChildren
)

type ModifiedIndexesBuilder

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

func ContextModifiedIndexesBuilder

func ContextModifiedIndexesBuilder(ctx *web.EventContext) (r *ModifiedIndexesBuilder)

func (*ModifiedIndexesBuilder) AppendDeleted

func (b *ModifiedIndexesBuilder) AppendDeleted(sliceFormKey string, index int) (r *ModifiedIndexesBuilder)

func (*ModifiedIndexesBuilder) DeletedContains

func (b *ModifiedIndexesBuilder) DeletedContains(sliceFormKey string, index int) (r bool)

func (*ModifiedIndexesBuilder) FromHidden

func (b *ModifiedIndexesBuilder) FromHidden(req *http.Request) (r *ModifiedIndexesBuilder)

func (*ModifiedIndexesBuilder) SetSorted

func (b *ModifiedIndexesBuilder) SetSorted(sliceFormKey string, indexes []string) (r *ModifiedIndexesBuilder)

func (*ModifiedIndexesBuilder) SortedForEach

func (b *ModifiedIndexesBuilder) SortedForEach(slice interface{}, sliceFormKey string, f func(obj interface{}, i int))

func (*ModifiedIndexesBuilder) ToFormHidden

func (b *ModifiedIndexesBuilder) ToFormHidden() h.HTMLComponent

type MultiSelectConfig

type MultiSelectConfig struct {
	// AvailableKeys list of pairs of key and label [[key, label], ...]
	AvailableKeys   func(ctx *FieldContext) []string
	KeyLabels       func(ctx *FieldContext, keys []string) []string
	SelectedKeys    func(ctx *FieldContext) []string
	SetSelectedKeys func(ctx *FieldContext, keys []string) (err error)
	ToStringWrap    func(ctx *FieldContext, keys, labels []string) (newLabels []string)
	ToStringSep     string
}

type NameLabel

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

func (*NameLabel) HiddenLabel

func (n *NameLabel) HiddenLabel() bool

func (*NameLabel) I18nLabel

func (n *NameLabel) I18nLabel() func(ctx context.Context) string

func (*NameLabel) Label

func (n *NameLabel) Label() string

func (*NameLabel) LabelKey

func (n *NameLabel) LabelKey() string

func (*NameLabel) Name

func (n *NameLabel) Name() string

func (*NameLabel) SetHiddenLabel

func (n *NameLabel) SetHiddenLabel(hiddenLabel bool)

func (*NameLabel) SetI18nLabel

func (n *NameLabel) SetI18nLabel(i18nLabel func(ctx context.Context) string)

func (*NameLabel) SetLabel

func (n *NameLabel) SetLabel(label string)

func (*NameLabel) SetLabelKey

func (n *NameLabel) SetLabelKey(labelKey string)

func (*NameLabel) SetName

func (n *NameLabel) SetName(name string)

type Nested

type Nested interface {
	FieldWalker
	Model() *ModelBuilder
	FieldsBuilder() *FieldsBuilder
	Build(b *FieldBuilder)
}

type NestedSliceBuilder

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

func NestedSlice

func NestedSlice(mb *ModelBuilder, fb *FieldsBuilder) *NestedSliceBuilder

func (*NestedSliceBuilder) AddListItemRowEvent

func (n *NestedSliceBuilder) AddListItemRowEvent() string

func (*NestedSliceBuilder) Build

func (n *NestedSliceBuilder) Build(b *FieldBuilder)

func (*NestedSliceBuilder) DisplayFieldInSorter

func (n *NestedSliceBuilder) DisplayFieldInSorter() string

func (*NestedSliceBuilder) FieldsBuilder

func (n *NestedSliceBuilder) FieldsBuilder() *FieldsBuilder

func (*NestedSliceBuilder) Model

func (n *NestedSliceBuilder) Model() *ModelBuilder

func (*NestedSliceBuilder) RemoveListItemRowEvent

func (n *NestedSliceBuilder) RemoveListItemRowEvent() string

func (*NestedSliceBuilder) SetAddListItemRowEvent

func (n *NestedSliceBuilder) SetAddListItemRowEvent(addListItemRowEvent string) *NestedSliceBuilder

func (*NestedSliceBuilder) SetDisplayFieldInSorter

func (n *NestedSliceBuilder) SetDisplayFieldInSorter(displayFieldInSorter string) *NestedSliceBuilder

func (*NestedSliceBuilder) SetRemoveListItemRowEvent

func (n *NestedSliceBuilder) SetRemoveListItemRowEvent(removeListItemRowEvent string) *NestedSliceBuilder

func (*NestedSliceBuilder) SetSortListItemsEvent

func (n *NestedSliceBuilder) SetSortListItemsEvent(sortListItemsEvent string) *NestedSliceBuilder

func (*NestedSliceBuilder) SortListItemsEvent

func (n *NestedSliceBuilder) SortListItemsEvent() string

func (*NestedSliceBuilder) Walk

type NestedStructBuilder

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

func NestedStruct

func NestedStruct(mb *ModelBuilder, fb *FieldsBuilder) *NestedStructBuilder

func (*NestedStructBuilder) Build

func (n *NestedStructBuilder) Build(b *FieldBuilder)

func (*NestedStructBuilder) FieldsBuilder

func (n *NestedStructBuilder) FieldsBuilder() *FieldsBuilder

func (*NestedStructBuilder) Model

func (n *NestedStructBuilder) Model() *ModelBuilder

func (*NestedStructBuilder) Walk

type ObjRestriction

type ObjRestriction[T any] struct {
	// contains filtered or unexported fields
}

func NewObjRestriction

func NewObjRestriction[T any](obj T, f ...func(r *ObjRestriction[T])) (r *ObjRestriction[T])

func (*ObjRestriction[T]) CanObj

func (r *ObjRestriction[T]) CanObj(obj any, ctx *web.EventContext) bool

func (ObjRestriction[T]) Clone

func (r ObjRestriction[T]) Clone(to T) *ObjRestriction[T]

func (*ObjRestriction[T]) Insert

func (r *ObjRestriction[T]) Insert(g ...ObjRestrictionsGetter) *ObjRestriction[T]

func (*ObjRestriction[T]) ObjHandler

func (r *ObjRestriction[T]) ObjHandler(f ...OkObjHandler) *ObjRestriction[T]

func (*ObjRestriction[T]) ObjHandlers

func (r *ObjRestriction[T]) ObjHandlers() OkObjHandlers

func (*ObjRestriction[T]) SetObjHandlers

func (r *ObjRestriction[T]) SetObjHandlers(objHandlers OkObjHandlers) *ObjRestriction[T]

type ObjRestrictionsGetter

type ObjRestrictionsGetter interface {
	ObjHandlers() OkObjHandlers
}

type ObjRestrictor

type ObjRestrictor interface {
	CanObj(obj any, ctx *web.EventContext) bool
}

type ObjectBoolFunc

type ObjectBoolFunc func(obj interface{}, ctx *web.EventContext) bool

type ObjectComponentFunc

type ObjectComponentFunc func(obj interface{}, ctx *web.EventContext) h.HTMLComponent

type OkHandler

type OkHandler interface {
	Handle(ctx *web.EventContext) (ok bool, handled bool)
}

func WrapOkHandled

func WrapOkHandled(old OkHandler, do func(h OkHandler) OkHandler) OkHandler

type OkHandlerFunc

type OkHandlerFunc func(ctx *web.EventContext) (ok, handled bool)
var DefaultOkHandler OkHandlerFunc = func(ctx *web.EventContext) (ok, handled bool) {
	return
}

func (OkHandlerFunc) Handle

func (f OkHandlerFunc) Handle(ctx *web.EventContext) (ok, handled bool)

type OkHandlers

type OkHandlers []OkHandler

func (OkHandlers) Handle

func (s OkHandlers) Handle(ctx *web.EventContext) (ok, handled bool)

type OkObjHandler

type OkObjHandler interface {
	Handle(obj any, ctx *web.EventContext) (ok, handled bool)
}

func WrapOkObjHandled

func WrapOkObjHandled(old OkObjHandler, do func(h OkObjHandler) OkObjHandler) OkObjHandler

type OkObjHandlerFunc

type OkObjHandlerFunc func(obj any, ctx *web.EventContext) (ok, handled bool)
var DefaultOkObjHandler OkObjHandlerFunc = func(obj any, ctx *web.EventContext) (ok, handled bool) {
	return
}

func OkObjHandlerFuncT

func OkObjHandlerFuncT[T any](f func(obj T, ctx *web.EventContext) (ok, handled bool)) OkObjHandlerFunc

func (OkObjHandlerFunc) Handle

func (f OkObjHandlerFunc) Handle(obj any, ctx *web.EventContext) (ok, handled bool)

type OkObjHandlers

type OkObjHandlers []OkObjHandler

func (OkObjHandlers) Handle

func (s OkObjHandlers) Handle(obj any, ctx *web.EventContext) (ok, handled bool)

type OnChangeActionFunc

type OnChangeActionFunc func(id string, ctx *web.EventContext) (s string)

type OnClick

type OnClick struct {
	Raw     string
	Builder *web.VueEventTagBuilder
}

func (*OnClick) MarshalJSON

func (c *OnClick) MarshalJSON() ([]byte, error)

func (*OnClick) String

func (c *OnClick) String() string

type OptionItem

type OptionItem struct {
	Text  string `json:"text,omitempty"`
	Value string `json:"value,omitempty"`
	Icon  string `json:"icon,omitempty"`
}

type OrderMode

type OrderMode bool
const (
	OrderDesc OrderMode = false
	OrderAsc  OrderMode = true
)

func (OrderMode) String

func (m OrderMode) String() string

type OrderableField

type OrderableField struct {
	FieldName string
	DBColumn  string
}

type PageBuilder

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

func Page

func Page(path string) *PageBuilder

func (*PageBuilder) AutoPerm

func (b *PageBuilder) AutoPerm() *PageBuilder

func (*PageBuilder) BaseVerifier

func (b *PageBuilder) BaseVerifier(verifier *perm.Verifier) *PageBuilder

func (*PageBuilder) Build

func (b *PageBuilder) Build(prefix string) *PageHandler

func (*PageBuilder) FullPath

func (b *PageBuilder) FullPath() string

func (*PageBuilder) GetBaseVerifier

func (b *PageBuilder) GetBaseVerifier() *perm.Verifier

func (*PageBuilder) GetHandler

func (b *PageBuilder) GetHandler() http.Handler

func (*PageBuilder) GetMenuGroup

func (b *PageBuilder) GetMenuGroup() string

func (*PageBuilder) GetMenuIcon

func (b *PageBuilder) GetMenuIcon() string

func (*PageBuilder) GetMethods

func (b *PageBuilder) GetMethods() []string

func (*PageBuilder) GetTitleFunc

func (b *PageBuilder) GetTitleFunc() func(ctx context.Context) string

func (*PageBuilder) GetVerifier

func (b *PageBuilder) GetVerifier() *perm.PermVerifierBuilder

func (*PageBuilder) Handler

func (b *PageBuilder) Handler(h http.Handler) *PageBuilder

func (*PageBuilder) HandlerFromPageFunc

func (b *PageBuilder) HandlerFromPageFunc(wrap func(f web.PageFunc) http.Handler, f web.PageFunc) *PageBuilder

func (*PageBuilder) InMenu

func (b *PageBuilder) InMenu(v bool) (r *PageBuilder)

func (*PageBuilder) IsAutoPerm

func (b *PageBuilder) IsAutoPerm() *PageBuilder

func (*PageBuilder) IsInMenu

func (b *PageBuilder) IsInMenu() bool

func (*PageBuilder) MenuGroup

func (b *PageBuilder) MenuGroup(menuGroup string) *PageBuilder

func (*PageBuilder) MenuIcon

func (b *PageBuilder) MenuIcon(v string) (r *PageBuilder)

func (*PageBuilder) Methods

func (b *PageBuilder) Methods(methods ...string) *PageBuilder

func (*PageBuilder) PageHandler

func (b *PageBuilder) PageHandler() *PageHandler

func (*PageBuilder) Perm

func (*PageBuilder) PostBuild

func (b *PageBuilder) PostBuild(ph ...func(ph *PageHandler)) *PageBuilder

func (*PageBuilder) StringTitle

func (b *PageBuilder) StringTitle(t string) *PageBuilder

func (*PageBuilder) TTitle

func (b *PageBuilder) TTitle(ctx context.Context) string

func (*PageBuilder) TitleFunc

func (b *PageBuilder) TitleFunc(f func(ctx context.Context) string) *PageBuilder

func (*PageBuilder) Verifier

func (b *PageBuilder) Verifier(r *http.Request) *perm.Verifier

func (*PageBuilder) VerifierWithBase

func (b *PageBuilder) VerifierWithBase(base *perm.Verifier, r *http.Request) *perm.Verifier

type PageDoActionOptions

type PageDoActionOptions struct {
	ReloadPage         bool
	AutoReloadDisabled bool
}

type PageHandler

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

func NewPageHandler

func NewPageHandler(path string, handler http.Handler, methods ...string) *PageHandler

func (*PageHandler) ContainsMethods

func (h *PageHandler) ContainsMethods(methods ...string) (contained []string)

func (*PageHandler) Handler

func (h *PageHandler) Handler() http.Handler

func (*PageHandler) Methods

func (h *PageHandler) Methods() []string

func (*PageHandler) Path

func (h *PageHandler) Path() string

func (*PageHandler) ServeHTTP

func (h *PageHandler) ServeHTTP(writer http.ResponseWriter, request *http.Request)

func (*PageHandler) SetupRoute

func (h *PageHandler) SetupRoute(mux *http.ServeMux, cb ...func(pattern string, ph *PageHandler))

func (*PageHandler) WrapHandler

func (h *PageHandler) WrapHandler(f func(old http.Handler) http.Handler)

type PageHandlers

type PageHandlers []*PageHandler

func (*PageHandlers) Add

func (p *PageHandlers) Add(ph *PageHandler)

func (PageHandlers) SetupRoutes

func (p PageHandlers) SetupRoutes(mux *http.ServeMux, cb ...func(pattern string, ph *PageHandler))

func (PageHandlers) WithPathPrefix

func (p PageHandlers) WithPathPrefix(prefix string) PageHandlers

type PageTitle

type PageTitle interface {
	PageTitle() string
}

type ParentUriPart

type ParentUriPart int

type ParentsModelIDResolver

type ParentsModelIDResolver func(r *http.Request) (ids IDSlice, err error)
var DefaultParentsModelIDResolver ParentsModelIDResolver = func(r *http.Request) (ids IDSlice, err error) {
	return ParentsModelID(r), nil
}

type PermMenu

type PermMenu struct {
	Parent    *PermMenu                        `yaml:"-" json:"-"`
	Name      string                           `yaml:",omitempty" json:",omitempty"`
	Title     func(ctx context.Context) string `yaml:"-" json:"-"`
	Resources []*ModelPerm                     `yaml:",omitempty" json:",omitempty"`
	Children  []*PermMenu                      `yaml:",omitempty" json:",omitempty"`
}

func (*PermMenu) AddChildren

func (m *PermMenu) AddChildren(children ...*PermMenu)

func (*PermMenu) Tree

func (m *PermMenu) Tree() (n *PermNode)

type PermNode

type PermNode struct {
	Parent   *PermNode                        `yaml:"-" json:"-"`
	Name     string                           `yaml:",omitempty" json:",omitempty"`
	Title    func(ctx context.Context) string `yaml:"-" json:"-"`
	Actions  []*PermNodeAction                `yaml:",omitempty" json:",omitempty"`
	Children []*PermNode                      `yaml:",omitempty" json:",omitempty"`
}

func (*PermNode) AddChildren

func (n *PermNode) AddChildren(children ...*PermNode)

func (*PermNode) Walk

func (n *PermNode) Walk(f func(parents []*PermNode, node *PermNode))

func (*PermNode) Zip

func (n *PermNode) Zip() (enties []*PermZipEntry)

type PermNodeAction

type PermNodeAction struct {
	Name   string                           `yaml:",omitempty" json:",omitempty"`
	Fields []string                         `yaml:",omitempty" json:",omitempty"`
	Title  func(ctx context.Context) string `yaml:"-" json:"-"`
}

type PermZipEntry

type PermZipEntry struct {
	Resource string            `yaml:",omitempty" json:",omitempty"`
	Actions  []*PermNodeAction `yaml:",omitempty" json:",omitempty"`
}

type Plugin

type Plugin interface {
	Install(pb *Builder) (err error)
}

type PresetsPageBuilder

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

func PresetsPage

func PresetsPage(b *Builder, page *PageBuilder) *PresetsPageBuilder

func (*PresetsPageBuilder) Action

func (b *PresetsPageBuilder) Action(name string) *ActionBuilder

func (*PresetsPageBuilder) Build

func (b *PresetsPageBuilder) Build()

func (*PresetsPageBuilder) EventFunc

func (b *PresetsPageBuilder) EventFunc(eventFuncId string, ef web.EventFunc) *PresetsPageBuilder

func (*PresetsPageBuilder) EventHandler

func (b *PresetsPageBuilder) EventHandler(eventFuncId string, ef web.EventHandler) *PresetsPageBuilder

func (*PresetsPageBuilder) Layout

func (b *PresetsPageBuilder) Layout(pf web.PageFunc, layout ...*LayoutConfig) *PresetsPageBuilder

func (*PresetsPageBuilder) Page

func (b *PresetsPageBuilder) Page() *PageBuilder

func (*PresetsPageBuilder) Private

func (b *PresetsPageBuilder) Private() *PresetsPageBuilder

func (*PresetsPageBuilder) PrivateAction

func (b *PresetsPageBuilder) PrivateAction(name string, vf ...func(v *perm.Verifier) *perm.Verifier) *ActionBuilder

func (*PresetsPageBuilder) PrivateEventFunc

func (b *PresetsPageBuilder) PrivateEventFunc(eventFuncId string, ef web.EventFunc, vf ...func(v *perm.Verifier) *perm.Verifier) *PresetsPageBuilder

func (*PresetsPageBuilder) Raw

type RecordEncoderFactory

type RecordEncoderFactory[T any] func(ctx *web.EventContext) func(r T) any

func ToAnyTitleRecordEncoderFactory

func ToAnyTitleRecordEncoderFactory(l *ListingBuilder, ttf ...ToTitleFactory[any]) RecordEncoderFactory[any]

func ToTitleRecordEncoderFactory

func ToTitleRecordEncoderFactory[T any](l *ListingBuilder, ttf ...ToTitleFactory[T]) RecordEncoderFactory[any]

func (RecordEncoderFactory[T]) Any

func (RecordEncoderFactory[T]) EncodeSlice

func (f RecordEncoderFactory[T]) EncodeSlice(ctx *web.EventContext, slice any) any

type RecordMenuItemContext

type RecordMenuItemContext struct {
	Ctx             *web.EventContext
	RecordIndex     int
	Obj             any
	ID              string
	AddRecordPortal func(name string) (fqn string)
	TempPortal      string
}

type RecordMenuItemFunc

type RecordMenuItemFunc func(rctx *RecordMenuItemContext) h.HTMLComponent

func EditDeleteRowMenuItemFuncs

func EditDeleteRowMenuItemFuncs(mi *ModelInfo, url string, editExtraParams url.Values) []RecordMenuItemFunc

type RecordMenuItemFuncs

type RecordMenuItemFuncs []RecordMenuItemFunc

func (RecordMenuItemFuncs) ForEachRowMenuItemFunc

func (funcs RecordMenuItemFuncs) ForEachRowMenuItemFunc(sharedPortal string, addRowPortal func(rctx *RecordMenuItemContext, name string) string, cb func(i int, f vx.RowMenuItemFunc))

func (RecordMenuItemFuncs) ToRowMenuItemFuncs

func (funcs RecordMenuItemFuncs) ToRowMenuItemFuncs(sharedPortal string, addRowPortal func(rctx *RecordMenuItemContext, name string) string) (r []vx.RowMenuItemFunc)

type ResourcePermAction

type ResourcePermAction struct {
	Title    func(ctx context.Context) string `yaml:"-" json:"-"`
	Resource string                           `yaml:",omitempty" json:",omitempty"`
	Name     string                           `yaml:",omitempty" json:",omitempty"`
	Fields   []string                         `yaml:",omitempty" json:",omitempty"`
}

type ResourcePermActionAction

type ResourcePermActionAction struct {
	Name  string                           `yaml:",omitempty" json:",omitempty"`
	Title func(ctx context.Context) string `yaml:"-" json:"-"`
}

type ResourcePermActions

type ResourcePermActions []*ResourcePermAction

func (*ResourcePermActions) Add

func (a *ResourcePermActions) Add(action ...*ResourcePermAction)

type Restriction

type Restriction[T any] struct {
	// contains filtered or unexported fields
}

func NewRestriction

func NewRestriction[T any](obj T, f ...func(r *Restriction[T])) (r *Restriction[T])

func (*Restriction[T]) Can

func (r *Restriction[T]) Can(ctx *web.EventContext) bool

func (Restriction[T]) Clone

func (r Restriction[T]) Clone(to T) *Restriction[T]

func (*Restriction[T]) Dot

func (r *Restriction[T]) Dot() T

func (*Restriction[T]) Handler

func (r *Restriction[T]) Handler(f ...OkHandler) *Restriction[T]

func (*Restriction[T]) Handlers

func (r *Restriction[T]) Handlers() OkHandlers

func (*Restriction[T]) Insert

func (r *Restriction[T]) Insert(g ...RestrictionsGetter) *Restriction[T]

func (*Restriction[T]) SetHandlers

func (r *Restriction[T]) SetHandlers(handler OkHandlers) *Restriction[T]

type RestrictionsGetter

type RestrictionsGetter interface {
	Handlers() OkHandlers
}

type Restrictor

type Restrictor interface {
	Can(ctx *web.EventContext) bool
}

type RowFunc

type RowFunc func(obj interface{}, path FieldPath, formKey string, content h.HTMLComponent, ctx *web.EventContext) h.HTMLComponent

type RowMenuBuilder

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

func (*RowMenuBuilder) Empty

func (b *RowMenuBuilder) Empty()

func (*RowMenuBuilder) RowMenuItem

func (b *RowMenuBuilder) RowMenuItem(name string) *RowMenuItemBuilder

func (*RowMenuBuilder) SetRowMenuItem

func (b *RowMenuBuilder) SetRowMenuItem(name string) *RowMenuItemBuilder

type RowMenuFields

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

func (*RowMenuFields) RowMenu

func (b *RowMenuFields) RowMenu(listings ...string) *RowMenuBuilder

type RowMenuItemBuilder

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

func (*RowMenuItemBuilder) ComponentFunc

func (*RowMenuItemBuilder) Icon

func (*RowMenuItemBuilder) OnClick

func (*RowMenuItemBuilder) PermAction

func (b *RowMenuItemBuilder) PermAction(v string) *RowMenuItemBuilder

type RowMenuItemClickFunc

type RowMenuItemClickFunc func(ctx *web.EventContext, id string) (r web.EventResponse, err error)

type SQLCondition

type SQLCondition = data.SQLCondition

Data Layer

type SaveCallbackFunc

type SaveCallbackFunc func(ctx *web.EventContext, obj any) (done func(success bool) error, err error)

type SaveFunc

type SaveFunc func(obj interface{}, id ID, ctx *web.EventContext) (err error)

type Schema

type Schema = model.Schema

type SearchFunc

type SearchFunc func(model interface{}, params *SearchParams, ctx *web.EventContext) (r interface{}, totalCount int, err error)

type SearchParams

type SearchParams = data.SearchParams

Data Layer

type SearchResult

type SearchResult struct {
	Records    any           `json:"Records,omitempty"`
	TotalCount int           `json:"TotalCount,omitempty"`
	Page       int64         `json:"Page,omitempty"`
	PerPage    int64         `json:"PerPage,omitempty"`
	OrderBys   []*ColOrderBy `json:"OrderBys,omitempty"`
	// contains filtered or unexported fields
}

type SectionBuilder

type SectionBuilder struct {
	NameLabel
	// contains filtered or unexported fields
}

SectionBuilder save: fetcher => setter => saver show, edit: fetcher => setter

func (*SectionBuilder) AlwaysShowListLabel

func (d *SectionBuilder) AlwaysShowListLabel() *SectionBuilder

func (*SectionBuilder) ComponentEditBtnFunc

func (d *SectionBuilder) ComponentEditBtnFunc(v ObjectBoolFunc) *SectionBuilder

func (*SectionBuilder) ComponentFunc

func (b *SectionBuilder) ComponentFunc(v FieldComponentFunc) (r *FieldBuilder)

ComponentFunc set FieldBuilder compFunc

func (*SectionBuilder) ComponentHoverFunc

func (d *SectionBuilder) ComponentHoverFunc(v ObjectBoolFunc) *SectionBuilder

func (*SectionBuilder) DefaultElementUnmarshal

func (b *SectionBuilder) DefaultElementUnmarshal() func(toObj, formObj any, prefix string, ctx *web.EventContext) error

func (*SectionBuilder) DefaultListElementSaveFunc

func (b *SectionBuilder) DefaultListElementSaveFunc(obj interface{}, id ID, ctx *web.EventContext) (err error)

func (*SectionBuilder) DefaultSaveFunc

func (b *SectionBuilder) DefaultSaveFunc(obj interface{}, id ID, ctx *web.EventContext) (err error)

func (*SectionBuilder) DeleteBtnKey

func (b *SectionBuilder) DeleteBtnKey() string

func (*SectionBuilder) DisableElementCreateBtn

func (d *SectionBuilder) DisableElementCreateBtn() *SectionBuilder

func (*SectionBuilder) DisableElementDeleteBtn

func (d *SectionBuilder) DisableElementDeleteBtn() *SectionBuilder

func (*SectionBuilder) EditBtnKey

func (b *SectionBuilder) EditBtnKey() string

func (*SectionBuilder) EditComponentFunc

func (b *SectionBuilder) EditComponentFunc(v FieldComponentFunc) (r *SectionBuilder)

func (*SectionBuilder) Editing

func (b *SectionBuilder) Editing(fields ...interface{}) (r *SectionBuilder)

Editing default saver only save these field

func (*SectionBuilder) EditingField

func (b *SectionBuilder) EditingField(name string) (r *FieldBuilder)

func (*SectionBuilder) ElementEditBtnFunc

func (d *SectionBuilder) ElementEditBtnFunc(v ObjectBoolFunc) *SectionBuilder

func (*SectionBuilder) ElementEditComponentFunc

func (b *SectionBuilder) ElementEditComponentFunc(v FieldComponentFunc) (r *SectionBuilder)

func (*SectionBuilder) ElementHoverFunc

func (d *SectionBuilder) ElementHoverFunc(v ObjectBoolFunc) *SectionBuilder

func (*SectionBuilder) ElementShowComponentFunc

func (b *SectionBuilder) ElementShowComponentFunc(v FieldComponentFunc) (r *SectionBuilder)

func (*SectionBuilder) ElementUnmarshalFunc

func (b *SectionBuilder) ElementUnmarshalFunc(v func(toObj, formObj any, prefix string, ctx *web.EventContext) error) (r *SectionBuilder)

func (*SectionBuilder) FieldPortalName

func (b *SectionBuilder) FieldPortalName() string

func (*SectionBuilder) HiddenFuncs

func (b *SectionBuilder) HiddenFuncs(funcs ...ObjectComponentFunc) (r *SectionBuilder)

func (*SectionBuilder) IsList

func (b *SectionBuilder) IsList(v interface{}) (r *SectionBuilder)

func (*SectionBuilder) Label

func (b *SectionBuilder) Label(label string) (r *SectionBuilder)

func (*SectionBuilder) ListElementIsEditing

func (b *SectionBuilder) ListElementIsEditing(index int) string

func (*SectionBuilder) ListElementPortalName

func (b *SectionBuilder) ListElementPortalName(index int) string

func (*SectionBuilder) ListFieldPrefix

func (b *SectionBuilder) ListFieldPrefix(index int) string

func (*SectionBuilder) SaveBtnKey

func (b *SectionBuilder) SaveBtnKey() string

func (*SectionBuilder) SaveFunc

func (b *SectionBuilder) SaveFunc(v SaveFunc) (r *SectionBuilder)

func (*SectionBuilder) SetterFunc

func (b *SectionBuilder) SetterFunc(v SetterFunc) (r *SectionBuilder)

func (*SectionBuilder) ViewComponentFunc

func (b *SectionBuilder) ViewComponentFunc(v FieldComponentFunc) (r *SectionBuilder)

func (*SectionBuilder) Viewing

func (b *SectionBuilder) Viewing(fields ...interface{}) (r *SectionBuilder)

func (*SectionBuilder) ViewingField

func (b *SectionBuilder) ViewingField(name string) (r *FieldBuilder)

func (*SectionBuilder) WrapComponentEditBtnFunc

func (b *SectionBuilder) WrapComponentEditBtnFunc(w func(in ObjectBoolFunc) ObjectBoolFunc) (r *SectionBuilder)

func (*SectionBuilder) WrapComponentHoverFunc

func (b *SectionBuilder) WrapComponentHoverFunc(w func(in ObjectBoolFunc) ObjectBoolFunc) (r *SectionBuilder)

type SectionsBuilder

type SectionsBuilder struct {
	FieldsBuilder
	// contains filtered or unexported fields
}

func (*SectionsBuilder) GetSections

func (d *SectionsBuilder) GetSections() []*SectionBuilder

func (*SectionsBuilder) Section

func (d *SectionsBuilder) Section(name string) *SectionBuilder

type SelectConfig

type SelectConfig struct {
	// AvailableKeys list of pairs of key and label [[key, label], ...]
	AvailableKeysFunc     func(ctx *FieldContext) []string
	KeyLabelsFunc         func(ctx *FieldContext, key []string) []string
	KeyLabelsAndHintsFunc func(ctx *FieldContext, key []string) [][2]string
	SelectedKeyFunc       func(ctx *FieldContext) string
	SetSelectedKeyFunc    func(ctx *FieldContext, key string) (err error)
	ToStringWrapFunc      func(ctx *FieldContext, key, label string) (newLabel string)
}

func (*SelectConfig) AvailableKeys

func (s *SelectConfig) AvailableKeys(ctx *FieldContext) []string

func (*SelectConfig) KeyLabels

func (s *SelectConfig) KeyLabels(ctx *FieldContext, key []string) (r []string)

func (*SelectConfig) KeyLabelsAndHints

func (s *SelectConfig) KeyLabelsAndHints(ctx *FieldContext, key []string) (r [][2]string)

func (*SelectConfig) SelectedKey

func (s *SelectConfig) SelectedKey(ctx *FieldContext) string

func (*SelectConfig) SetSelectedKey

func (s *SelectConfig) SetSelectedKey(ctx *FieldContext, key string) (err error)

func (*SelectConfig) ToStringWrap

func (s *SelectConfig) ToStringWrap(ctx *FieldContext, key, label string) (newLabel string)

type SelectConfigor

type SelectConfigor interface {
	AvailableKeys(ctx *FieldContext) []string
	KeyLabels(ctx *FieldContext, key []string) []string
	KeyLabelsAndHints(ctx *FieldContext, key []string) [][2]string
	SelectedKey(ctx *FieldContext) string
	SetSelectedKey(ctx *FieldContext, key string) (err error)
	ToStringWrap(ctx *FieldContext, key, label string) (newLabel string)
}

type SetObjectFieldsHandler

type SetObjectFieldsHandler interface {
	Handler(fromObj interface{}, toObj interface{}, parent *FieldContext) (err error)
}

type SetObjectFieldsHandlerFunc

type SetObjectFieldsHandlerFunc func(fromObj interface{}, toObj interface{}, parent *FieldContext) (err error)

func (SetObjectFieldsHandlerFunc) Handler

func (f SetObjectFieldsHandlerFunc) Handler(fromObj interface{}, toObj interface{}, parent *FieldContext) (err error)

type SetObjectFieldsHandlers

type SetObjectFieldsHandlers []SetObjectFieldsHandler

func (*SetObjectFieldsHandlers) Append

func (h *SetObjectFieldsHandlers) Append(handler ...SetObjectFieldsHandler)

func (*SetObjectFieldsHandlers) AppendFunc

func (h *SetObjectFieldsHandlers) AppendFunc(handler ...SetObjectFieldsHandlerFunc)

func (SetObjectFieldsHandlers) Handler

func (h SetObjectFieldsHandlers) Handler(fromObj interface{}, toObj interface{}, parent *FieldContext) (err error)

type SetterFunc

type SetterFunc func(obj interface{}, ctx *web.EventContext)

type SlugDecoder

type SlugDecoder interface {
	PrimaryColumnValuesBySlug(slug string) map[string]string
}

type SlugEncoder

type SlugEncoder interface {
	PrimarySlug() string
}

type StrMap

type StrMap map[string]string

func (StrMap) Get

func (m StrMap) Get(key string) string

func (StrMap) Set

func (m StrMap) Set(pair ...string)

type TabComponentFunc

type TabComponentFunc func(obj interface{}, ctx *web.EventContext) (tab h.HTMLComponent, content h.HTMLComponent)

type TimeFormatMessages

type TimeFormatMessages struct {
	Date     string
	Time     string
	DateTime string
}

type ToComponentOptions

type ToComponentOptions struct {
	FieldVerifier  *perm.Verifier
	SkipPermVerify bool
}

type ToTitleFactory

type ToTitleFactory[T any] func(ctx *web.EventContext) func(r T) string

type ValidateFunc

type ValidateFunc func(obj interface{}, ctx *web.EventContext) (err web.ValidationErrors)

type Validator

type Validator interface {
	Validate(obj interface{}, mode FieldModeStack, ctx *web.EventContext) (err web.ValidationErrors)
}

type ValidatorFunc

type ValidatorFunc func(obj interface{}, mode FieldModeStack, ctx *web.EventContext) (err web.ValidationErrors)

func (ValidatorFunc) Validate

func (f ValidatorFunc) Validate(obj interface{}, mode FieldModeStack, ctx *web.EventContext) (err web.ValidationErrors)

type Validators

type Validators []Validator

func (*Validators) Append

func (vh *Validators) Append(v ...Validator)

func (*Validators) AppendFunc

func (vh *Validators) AppendFunc(v ...ValidatorFunc)

func (*Validators) Prepend

func (vh *Validators) Prepend(v ...Validator)

func (Validators) Validate

func (vh Validators) Validate(obj interface{}, mode FieldModeStack, ctx *web.EventContext) (err web.ValidationErrors)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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