Added datavalue filtering on date

This commit is contained in:
Magnus Åhall 2024-06-27 08:59:34 +02:00
parent b6e1139e8a
commit 43d8938459
6 changed files with 69 additions and 5 deletions

37
main.go
View file

@ -680,13 +680,44 @@ func pageDatapointValues(w http.ResponseWriter, r *http.Request, _ *session.T) {
return
}
// GET parameters.
display := r.URL.Query().Get("display")
if display == "" && datapoint.Datatype == INT {
display = "graph"
}
var timeFrom, timeTo time.Time
timeFromParam := r.URL.Query().Get("f")
if timeFromParam == "" {
timeFrom = time.Now().Add(time.Duration(-(24 * 7) * time.Hour))
} else {
timeFrom, err = time.Parse("2006-01-02T15:04:05", timeFromParam)
if err != nil {
httpError(w, werr.Wrap(err).Log())
return
}
}
timeToParam := r.URL.Query().Get("t")
if timeToParam == "" {
timeTo = time.Now()
} else {
timeTo, err = time.Parse("2006-01-02T15:04:05", timeToParam)
if err != nil {
httpError(w, werr.Wrap(err).Log())
return
}
}
// Fetch data point values according to the times.
var values []DatapointValue
values, err = DatapointValues(id)
values, err = DatapointValues(id, timeFrom, timeTo)
if err != nil {
httpError(w, werr.Wrap(err).Log())
return
}
logger.Info("FOO", "from", timeFrom, "to", timeTo, "t", timeToParam)
page := Page{
LAYOUT: "main",
PAGE: "datapoint_values",
@ -699,7 +730,9 @@ func pageDatapointValues(w http.ResponseWriter, r *http.Request, _ *session.T) {
page.Data = map[string]any{
"Datapoint": datapoint,
"Values": values,
"Display": r.URL.Query().Get("display"),
"TimeFrom": timeFrom.Format("2006-01-02T15:04:05"),
"TimeTo": timeTo.Format("2006-01-02T15:04:05"),
"Display": display,
}
page.Render(w)
return