/
menu.go
90 lines (83 loc) · 2 KB
/
menu.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package examples_presets
import (
"github.com/qor5/admin/v3/presets"
"github.com/qor5/ui/v3/vuetify"
"github.com/qor5/web/v3"
h "github.com/theplant/htmlgo"
)
type music struct{}
type video struct{}
type book struct{}
func PresetsOrderMenu(b *presets.Builder) {
b.Model(&music{}).Listing().PageFunc(func(ctx *web.EventContext) (r web.PageResponse, err error) {
r.Body = vuetify.VContainer(
h.Div(
h.H1("music"),
).Class("text-center mt-8"),
)
return
})
b.Model(&video{}).Listing().PageFunc(func(ctx *web.EventContext) (r web.PageResponse, err error) {
r.Body = vuetify.VContainer(
h.Div(
h.H1("video"),
).Class("text-center mt-8"),
)
return
})
b.Model(&book{}).Listing().PageFunc(func(ctx *web.EventContext) (r web.PageResponse, err error) {
r.Body = vuetify.VContainer(
h.Div(
h.H1("book"),
).Class("text-center mt-8"),
)
return
})
// @snippet_begin(MenuOrderSample)
b.URIPrefix(PresetsMenuOrderPath).
MenuOrder(
"books",
"videos",
"musics",
)
// @snippet_end
}
func PresetsGroupMenu(b *presets.Builder) {
b.URIPrefix(PresetsMenuGroupPath)
b.Model(&music{}).Listing().PageFunc(func(ctx *web.EventContext) (r web.PageResponse, err error) {
r.Body = vuetify.VContainer(
h.Div(
h.H1("music"),
).Class("text-center mt-8"),
)
return
})
b.Model(&video{}).Listing().PageFunc(func(ctx *web.EventContext) (r web.PageResponse, err error) {
r.Body = vuetify.VContainer(
h.Div(
h.H1("video"),
).Class("text-center mt-8"),
)
return
})
// @snippet_begin(MenuGroupSample)
mb := b.Model(&book{}).MenuIcon("mdi-book")
mb.Listing().PageFunc(func(ctx *web.EventContext) (r web.PageResponse, err error) {
r.Body = vuetify.VContainer(
h.Div(
h.H1("book"),
).Class("text-center mt-8"),
)
return
})
b.MenuOrder(
"books",
b.MenuGroup("Media").SubItems(
"videos",
"musics",
).Icon("mdi-video"),
)
// @snippet_end
}
const PresetsMenuOrderPath = "/samples/menu_order"
const PresetsMenuGroupPath = "/samples/menu_group"