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