Compare commits

...

2 Commits

Author SHA1 Message Date
Magnus Åhall
1deb80c776 Bumped to v37 2024-07-07 15:52:08 +02:00
Magnus Åhall
85a6da0b0a Added link to datapoint values from trigger 2024-07-07 15:51:51 +02:00
5 changed files with 30 additions and 6 deletions

View File

@ -29,7 +29,7 @@ import (
"time"
)
const VERSION = "v36"
const VERSION = "v37"
var (
logger *slog.Logger

View File

@ -13,17 +13,24 @@
.widgets .datapoints {
font: "Roboto Mono", monospace;
display: grid;
grid-template-columns: min-content min-content 1fr;
grid-template-columns: repeat(4, min-content);
gap: 6px 8px;
margin-bottom: 8px;
white-space: nowrap;
}
.widgets .datapoints div {
white-space: nowrap;
}
.widgets .datapoints .invalid {
color: #c83737;
}
.widgets .datapoints .delete img {
height: 16px;
}
.widgets .datapoints .values img {
height: 16px;
width: 16px;
}
.widgets .action {
display: grid;
grid-template-columns: min-content min-content 1fr;

View File

@ -13,17 +13,24 @@
.widgets .datapoints {
font: "Roboto Mono", monospace;
display: grid;
grid-template-columns: min-content min-content 1fr;
grid-template-columns: repeat(4, min-content);
gap: 6px 8px;
margin-bottom: 8px;
white-space: nowrap;
}
.widgets .datapoints div {
white-space: nowrap;
}
.widgets .datapoints .invalid {
color: #c83737;
}
.widgets .datapoints .delete img {
height: 16px;
}
.widgets .datapoints .values img {
height: 16px;
width: 16px;
}
.widgets .action {
display: grid;
grid-template-columns: min-content min-content 1fr;

View File

@ -19,9 +19,10 @@ export class UI {
let html = Object.keys(this.trigger.datapoints).sort().map(dpName => {
const dp = this.trigger.datapoints[dpName]
return `
<div class="datapoint delete"><a href="#" onclick="_ui.deleteDatapoint('${dp.Name}')"><img src="/images/${this.version}/${this.theme}/delete.svg"></a></div>
<div class="datapoint name ${dp.Found ? 'valid' : 'invalid'}"><b>${dp.Name}</b></div>
<div class="datapoint value">${dp.Found ? dp.LastDatapointValue.TemplateValue : ''}</div>
<div class="daatpoint values"><a href="/datapoint/values/${dp.ID}"><img src="/images/${this.version}/${this.theme}/values.svg"></a></div>
<div class="datapoint delete"><a href="#" onclick="_ui.deleteDatapoint('${dp.Name}')"><img src="/images/${this.version}/${this.theme}/delete.svg"></a></div>
`
}).join('')
datapoints.innerHTML += html
@ -84,7 +85,7 @@ export class UI {
})
}//}}}
deleteDatapoint(name) {//{{{
if (!confirm(`Delete ${name}?`)) {
if (!confirm(`Remove datapoint ${name} from this trigger?`)) {
return
}

View File

@ -19,11 +19,15 @@
.datapoints {
font: "Roboto Mono", monospace;
display: grid;
grid-template-columns: min-content min-content 1fr;
grid-template-columns: repeat(4, min-content);
gap: 6px 8px;
margin-bottom: 8px;
white-space: nowrap;
div {
white-space: nowrap;
}
.invalid {
color: #c83737;
}
@ -31,6 +35,11 @@
.delete img {
height: 16px;
}
.values img {
height: 16px;
width: 16px;
}
}
.action {