| package ui |
|
|
| import ( |
| "github.com/GoAdminGroup/go-admin/modules/config" |
| "github.com/GoAdminGroup/go-admin/modules/language" |
| "github.com/GoAdminGroup/go-admin/modules/service" |
| "github.com/GoAdminGroup/go-admin/template/icon" |
| "github.com/GoAdminGroup/go-admin/template/types" |
| "github.com/GoAdminGroup/go-admin/template/types/action" |
| ) |
|
|
| type Service struct { |
| NavButtons *types.Buttons |
| } |
|
|
| const ServiceKey = "ui" |
|
|
| func (s *Service) Name() string { |
| return "ui" |
| } |
|
|
| func GetService(srv service.List) *Service { |
| if v, ok := srv.Get("ui").(*Service); ok { |
| return v |
| } |
| panic("wrong service") |
| } |
|
|
| func NewService(btns *types.Buttons) *Service { |
| return &Service{ |
| NavButtons: btns, |
| } |
| } |
|
|
| func (s *Service) UpdateButtons() { |
|
|
| } |
|
|
| func (s *Service) RemoveOrShowSiteNavButton(remove bool) { |
| if remove { |
| *s.NavButtons = (*s.NavButtons).RemoveSiteNavButton() |
| } else { |
| *s.NavButtons = (*s.NavButtons).AddNavButton(icon.Gear, types.NavBtnSiteName, |
| action.JumpInNewTab(config.Url("/info/site/edit"), |
| language.GetWithScope("site setting", "config"))) |
| } |
| } |
|
|
| func (s *Service) RemoveOrShowInfoNavButton(remove bool) { |
| if remove { |
| *s.NavButtons = (*s.NavButtons).RemoveInfoNavButton() |
| } else { |
| *s.NavButtons = (*s.NavButtons).AddNavButton(icon.Info, types.NavBtnInfoName, |
| action.JumpInNewTab(config.Url("/application/info"), |
| language.GetWithScope("system info", "system"))) |
| } |
|
|
| } |
|
|
| func (s *Service) RemoveOrShowToolNavButton(remove bool) { |
| if remove { |
| *s.NavButtons = (*s.NavButtons).RemoveToolNavButton() |
| } else { |
| *s.NavButtons = (*s.NavButtons).AddNavButton(icon.Wrench, types.NavBtnToolName, |
| action.JumpInNewTab(config.Url("/info/generate/new"), |
| language.GetWithScope("tool", "tool"))) |
| } |
|
|
| } |
|
|
| func (s *Service) RemoveOrShowPlugNavButton(remove bool) { |
| if remove { |
| *s.NavButtons = (*s.NavButtons).RemovePlugNavButton() |
| } else { |
| *s.NavButtons = (*s.NavButtons).AddNavButton(icon.Plug, types.NavBtnToolName, |
| action.JumpInNewTab(config.Url("/plugin"), |
| language.GetWithScope("plugin", "plugin"))) |
| } |
|
|
| } |
|
|