added default settings
This commit is contained in:
parent
843375bc14
commit
ec79619f38
|
@ -10,7 +10,6 @@ run-charts:
|
||||||
script: curl -o /dev/null -s -w '%{time_total}' http://example.com
|
script: curl -o /dev/null -s -w '%{time_total}' http://example.com
|
||||||
refresh-rate-ms: 300
|
refresh-rate-ms: 300
|
||||||
time-scale-sec: 1
|
time-scale-sec: 1
|
||||||
style: dots/lines
|
|
||||||
position:
|
position:
|
||||||
x: 0
|
x: 0
|
||||||
y: 0
|
y: 0
|
||||||
|
@ -22,8 +21,6 @@ run-charts:
|
||||||
- label: posts
|
- label: posts
|
||||||
script: mongo --quiet --host=localhost blog --eval "db.getCollection('post').find({}).size()" | grep 2
|
script: mongo --quiet --host=localhost blog --eval "db.getCollection('post').find({}).size()" | grep 2
|
||||||
color: 3
|
color: 3
|
||||||
refresh-rate-ms: 200
|
|
||||||
time-scale-sec: 1
|
|
||||||
position:
|
position:
|
||||||
x: 15
|
x: 15
|
||||||
y: 0
|
y: 0
|
||||||
|
|
|
@ -26,8 +26,10 @@ type RunChart struct {
|
||||||
func Load(location string) *Config {
|
func Load(location string) *Config {
|
||||||
|
|
||||||
cfg := readFile(location)
|
cfg := readFile(location)
|
||||||
validate(cfg)
|
cfg.validate()
|
||||||
setColors(cfg)
|
cfg.setDefaultValues()
|
||||||
|
cfg.setDefaultColors()
|
||||||
|
cfg.setDefaultLayout()
|
||||||
|
|
||||||
return cfg
|
return cfg
|
||||||
}
|
}
|
||||||
|
@ -48,26 +50,3 @@ func readFile(location string) *Config {
|
||||||
|
|
||||||
return cfg
|
return cfg
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
TODO validation
|
|
||||||
- title uniquness and mandatory within a single type of widget
|
|
||||||
- label uniqueness and mandatory (if > 1 data bullets)
|
|
||||||
*/
|
|
||||||
func validate(config *Config) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func setColors(config *Config) {
|
|
||||||
|
|
||||||
palette := settings.GetPalette(config.Theme)
|
|
||||||
|
|
||||||
for i, chart := range config.RunCharts {
|
|
||||||
for j, item := range chart.Items {
|
|
||||||
if item.Color == 0 {
|
|
||||||
item.Color = palette.Colors[i+j]
|
|
||||||
chart.Items[j] = item
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
package config
|
||||||
|
|
||||||
|
import "github.com/sqshq/vcmd/settings"
|
||||||
|
|
||||||
|
const (
|
||||||
|
defaultRefreshRateMs = 300
|
||||||
|
defaultTimeScaleSec = 1
|
||||||
|
defaultTheme = settings.ThemeDark
|
||||||
|
)
|
||||||
|
|
||||||
|
func (self *Config) setDefaultValues() {
|
||||||
|
|
||||||
|
if len(self.Theme) == 0 {
|
||||||
|
self.Theme = defaultTheme
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, chart := range self.RunCharts {
|
||||||
|
if chart.RefreshRateMs == 0 {
|
||||||
|
chart.RefreshRateMs = defaultRefreshRateMs
|
||||||
|
}
|
||||||
|
if chart.TimeScaleSec == 0 {
|
||||||
|
chart.TimeScaleSec = defaultTimeScaleSec
|
||||||
|
}
|
||||||
|
self.RunCharts[i] = chart
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (config *Config) setDefaultLayout() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (config *Config) setDefaultColors() {
|
||||||
|
|
||||||
|
palette := settings.GetPalette(config.Theme)
|
||||||
|
|
||||||
|
for i, chart := range config.RunCharts {
|
||||||
|
for j, item := range chart.Items {
|
||||||
|
if item.Color == 0 {
|
||||||
|
item.Color = palette.Colors[i+j]
|
||||||
|
chart.Items[j] = item
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
package config
|
||||||
|
|
||||||
|
/*
|
||||||
|
TODO validation
|
||||||
|
- title uniquness and mandatory within a single type of widget
|
||||||
|
- label uniqueness and mandatory (if > 1 data bullets)
|
||||||
|
*/
|
||||||
|
func (self *Config) validate() {
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue