123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package presets
- import (
- "net/url"
- "github.com/qor5/web"
- "github.com/qor5/ui/vuetifyx"
- )
- func (b *ListingBuilder) FilterDataFunc(v FilterDataFunc) {
- if v == nil {
- b.filterDataFunc = nil
- return
- }
- b.filterDataFunc = func(ctx *web.EventContext) vuetifyx.FilterData {
- fd := v(ctx)
- for _, k := range fd {
- k.Key = "f_" + k.Key
- }
- return fd
- }
- }
- func (b *ListingBuilder) FilterTabsFunc(v FilterTabsFunc) {
- if v == nil {
- b.filterTabsFunc = nil
- return
- }
- b.filterTabsFunc = func(ctx *web.EventContext) []*FilterTab {
- fts := v(ctx)
- for _, ft := range fts {
- newQuery := make(url.Values)
- for k, _ := range ft.Query {
- newQuery["f_"+k] = ft.Query[k]
- }
- ft.Query = newQuery
- }
- return fts
- }
- }
|