From d3d6d5d13d086992d927838a87c9efaec8967b1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20=C3=85hall?= Date: Mon, 20 May 2024 19:40:19 +0200 Subject: [PATCH] Added groups for datapoints --- datapoint.go | 11 +++++++++-- main.go | 1 + sql/00013.sql | 1 + static/css/datapoints.css | 10 ++++++++++ static/less/datapoints.less | 12 ++++++++++++ views/pages/datapoint_edit.gotmpl | 3 +++ views/pages/datapoints.gotmpl | 18 ++++++++++++------ 7 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 sql/00013.sql diff --git a/datapoint.go b/datapoint.go index f02dfb8..07346e8 100644 --- a/datapoint.go +++ b/datapoint.go @@ -22,6 +22,7 @@ const ( type Datapoint struct { ID int + Group string Name string Datatype DatapointType LastValue time.Time `db:"last_value"` @@ -70,14 +71,16 @@ func (dp Datapoint) Update() (err error) {// {{{ if dp.ID == 0 { _, err = service.Db.Conn.Exec( - `INSERT INTO datapoint(name, datatype) VALUES($1, $2)`, + `INSERT INTO datapoint("group", name, datatype) VALUES($1, $2, $3)`, + dp.Group, name, dp.Datatype, ) } else { _, err = service.Db.Conn.Exec( - `UPDATE datapoint SET name=$2, datatype=$3 WHERE id=$1`, + `UPDATE datapoint SET "group"=$2, name=$3, datatype=$4 WHERE id=$1`, dp.ID, + dp.Group, name, dp.Datatype, ) @@ -131,6 +134,7 @@ func DatapointsRetrieve() (dps []Datapoint, err error) { // {{{ dp.name, dp.datatype, dp.last_value, + dp.group, dpv.id AS v_id, dpv.ts, @@ -146,6 +150,7 @@ func DatapointsRetrieve() (dps []Datapoint, err error) { // {{{ FROM datapoint_value ) dpv ON dpv.datapoint_id = dp.id AND rn = 1 ORDER BY + dp.group ASC, dp.name ASC `) if err != nil { @@ -155,6 +160,7 @@ func DatapointsRetrieve() (dps []Datapoint, err error) { // {{{ type DbRes struct { ID int + Group string Name string Datatype DatapointType LastValue time.Time `db:"last_value"` @@ -178,6 +184,7 @@ func DatapointsRetrieve() (dps []Datapoint, err error) { // {{{ dp.ID = res.ID dp.Name = res.Name + dp.Group = res.Group dp.Datatype = res.Datatype dp.LastValue = res.LastValue dp.Found = true diff --git a/main.go b/main.go index 70192db..383ede6 100644 --- a/main.go +++ b/main.go @@ -555,6 +555,7 @@ func pageDatapointUpdate(w http.ResponseWriter, r *http.Request, _ *session.T) { var dp Datapoint dp.ID = id + dp.Group = r.FormValue("group") dp.Name = r.FormValue("name") dp.Datatype = DatapointType(r.FormValue("datatype")) err = dp.Update() diff --git a/sql/00013.sql b/sql/00013.sql new file mode 100644 index 0000000..0fae712 --- /dev/null +++ b/sql/00013.sql @@ -0,0 +1 @@ +ALTER TABLE datapoint ADD COLUMN "group" varchar NOT NULL DEFAULT ''; diff --git a/static/css/datapoints.css b/static/css/datapoints.css index 82b89a2..1963b13 100644 --- a/static/css/datapoints.css +++ b/static/css/datapoints.css @@ -103,8 +103,18 @@ label { grid-gap: 8px 16px; margin-top: 16px; } +#datapoints .group { + font-size: 1.1em; + font-weight: bold; + color: #fabd2f; + margin-top: 1.5em; + padding-bottom: 4px; + border-bottom: unset; +} #datapoints .header { font-weight: 500; + font-size: 0.85em; + color: #d5c4a1; } #datapoints div { white-space: nowrap; diff --git a/static/less/datapoints.less b/static/less/datapoints.less index db152b9..26ee63d 100644 --- a/static/less/datapoints.less +++ b/static/less/datapoints.less @@ -6,8 +6,20 @@ grid-gap: 8px 16px; margin-top: 16px; + .group { + font-size: 1.10em; + font-weight: bold; + color: @color2; + margin-top: 1.5em; + padding-bottom: 4px; + border-bottom: unset; + } + + .header { font-weight: @bold; + font-size: 0.85em; + color: @text1; } div { diff --git a/views/pages/datapoint_edit.gotmpl b/views/pages/datapoint_edit.gotmpl index 439b4b2..9e9ee66 100644 --- a/views/pages/datapoint_edit.gotmpl +++ b/views/pages/datapoint_edit.gotmpl @@ -10,6 +10,9 @@
+
Group
+
+
Name
diff --git a/views/pages/datapoints.gotmpl b/views/pages/datapoints.gotmpl index a8dbf1c..91fc6c1 100644 --- a/views/pages/datapoints.gotmpl +++ b/views/pages/datapoints.gotmpl @@ -7,14 +7,19 @@ Create
-
Name
-
Datatype
-
Last value
-
Value
-
- + {{ $prevGroup := "kalle" }} {{ range .Data.Datapoints }} + {{ if ne $prevGroup .Group }} +
{{ .Group }}
+
Name
+
Datatype
+
Last value
+
Value
+
+ + {{ else }}
+ {{ end }}
{{ .Datatype }}
{{ format_time .LastValue }}
@@ -27,6 +32,7 @@
+ {{ $prevGroup = .Group }} {{ end }}
{{ end }}