uAdmin Tutorial Part 5 - Register Inlines and Drop Down List (Current Progress)¶
Structure:
models¶
category.go¶
package models
import (
"github.com/uadmin/uadmin"
)
// Category Model !
type Category struct {
uadmin.Model
Name string `uadmin:"required"`
Icon string `uadmin:"image"`
}
friend.go¶
package models
import (
"github.com/uadmin/uadmin"
)
// Nationality Field !
type Nationality int
// Chinese !
func (Nationality) Chinese() Nationality {
return 1
}
// Filipino !
func (Nationality) Filipino() Nationality {
return 2
}
// Others !
func (Nationality) Others() Nationality {
return 3
}
// Friend Model !
type Friend struct {
uadmin.Model
Name string `uadmin:"required"`
Email string `uadmin:"email"`
Password string `uadmin:"password;list_exclude"`
Nationality Nationality
Invite string `uadmin:"link"`
}
// Save !
func (f *Friend) Save() {
f.Invite = "https://www.google.com/"
uadmin.Save(f)
}
todo.go¶
package models
import (
"time"
"github.com/uadmin/uadmin"
)
// Todo Model !
type Todo struct {
uadmin.Model
Name string
Description string `uadmin:"html"`
Category Category
CategoryID uint
Friend Friend `uadmin:"help:Who will be a part of your activity?"`
FriendID uint
TargetDate time.Time
Progress int `uadmin:"progress_bar"`
}
main.go¶
package main
import (
// Specify the username that you used inside github.com folder
"github.com/username/todo/models"
"github.com/uadmin/uadmin"
)
func main() {
// Register Models
uadmin.Register(
models.Todo{},
models.Category{},
models.Friend{},
)
// Register Inlines
uadmin.RegisterInlines(models.Category{}, map[string]string{
"Todo": "CategoryID",
})
uadmin.RegisterInlines(models.Friend{}, map[string]string{
"Todo": "FriendID",
})
uadmin.StartServer()
}