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"))) } }