package monitor
import (
"time"
"github.com/gofiber/fiber/v2"
)
type Config struct {
Title string
Refresh time .Duration
APIOnly bool
Next func (c *fiber .Ctx ) bool
CustomHead string
FontURL string
ChartJsURL string
index string
}
var ConfigDefault = Config {
Title : defaultTitle ,
Refresh : defaultRefresh ,
FontURL : defaultFontURL ,
ChartJsURL : defaultChartJSURL ,
CustomHead : defaultCustomHead ,
APIOnly : false ,
Next : nil ,
index : newIndex (viewBag {
defaultTitle ,
defaultRefresh ,
defaultFontURL ,
defaultChartJSURL ,
defaultCustomHead ,
}),
}
func configDefault(config ...Config ) Config {
if ConfigDefault .Title != defaultTitle ||
ConfigDefault .Refresh != defaultRefresh ||
ConfigDefault .FontURL != defaultFontURL ||
ConfigDefault .ChartJsURL != defaultChartJSURL ||
ConfigDefault .CustomHead != defaultCustomHead {
if ConfigDefault .Refresh < minRefresh {
ConfigDefault .Refresh = minRefresh
}
ConfigDefault .index = newIndex (viewBag {
ConfigDefault .Title ,
ConfigDefault .Refresh ,
ConfigDefault .FontURL ,
ConfigDefault .ChartJsURL ,
ConfigDefault .CustomHead ,
})
}
if len (config ) < 1 {
return ConfigDefault
}
cfg := config [0 ]
if cfg .Title == "" {
cfg .Title = ConfigDefault .Title
}
if cfg .Refresh == 0 {
cfg .Refresh = ConfigDefault .Refresh
}
if cfg .FontURL == "" {
cfg .FontURL = defaultFontURL
}
if cfg .ChartJsURL == "" {
cfg .ChartJsURL = defaultChartJSURL
}
if cfg .Refresh < minRefresh {
cfg .Refresh = minRefresh
}
if cfg .Next == nil {
cfg .Next = ConfigDefault .Next
}
if !cfg .APIOnly {
cfg .APIOnly = ConfigDefault .APIOnly
}
cfg .index = newIndex (viewBag {
title : cfg .Title ,
refresh : cfg .Refresh ,
fontURL : cfg .FontURL ,
chartJSURL : cfg .ChartJsURL ,
customHead : cfg .CustomHead ,
})
return cfg
}
The pages are generated with Golds v0.6.7 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds .