fix: add toggle to service (#317)

* fix: short nework word

* fix: add toggle on service

* fix: delete console log update main.js version

---------

Co-authored-by: LvGJ <lvgj1998@gmail.com>
This commit is contained in:
Ko no dio 2024-02-13 23:09:40 +08:00 committed by GitHub
parent b86b73a433
commit 626613441d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 40 additions and 9 deletions

View File

@ -394,6 +394,7 @@ type monitorForm struct {
MaxLatency float32
LatencyNotify string
EnableTriggerTask string
EnableShowInService string
FailTriggerTasksRaw string
RecoverTriggerTasksRaw string
}
@ -415,6 +416,7 @@ func (ma *memberAPI) addOrEditMonitor(c *gin.Context) {
m.LatencyNotify = mf.LatencyNotify == "on"
m.MinLatency = mf.MinLatency
m.MaxLatency = mf.MaxLatency
m.EnableShowInService = mf.EnableShowInService == "on"
m.EnableTriggerTask = mf.EnableTriggerTask == "on"
m.RecoverTriggerTasksRaw = mf.RecoverTriggerTasksRaw
m.FailTriggerTasksRaw = mf.FailTriggerTasksRaw

View File

@ -50,6 +50,7 @@ type Monitor struct {
Cover uint8
EnableTriggerTask bool `gorm:"default: false"`
EnableShowInService bool `gorm:"default: false"`
FailTriggerTasksRaw string `gorm:"default:'[]'"`
RecoverTriggerTasksRaw string `gorm:"default:'[]'"`
FailTriggerTasks []uint64 `gorm:"-" json:"-"` // 失败时执行的触发任务id

View File

@ -611,4 +611,7 @@ other = "Hide for Guest"
other = "Menu"
[NetworkSpiter]
other = "Network Monitor"
other = "Network"
[EnableShowInService]
other = "Enable Show in Service"

View File

@ -611,4 +611,7 @@ other = "Ocultar para Invitados"
other = "Menú"
[NetworkSpiter]
other = "Supervisión De Redes"
other = "Red"
[EnableShowInService]
other = "Mostrar en servicio"

View File

@ -611,4 +611,7 @@ other = "对游客隐藏"
other = "菜单"
[NetworkSpiter]
other = "网络监控"
other = "网络"
[EnableShowInService]
other = "在服务中显示"

View File

@ -611,4 +611,7 @@ other = "對遊客隱藏"
other = "菜單"
[NetworkSpiter]
other = "網絡監控"
other = "網絡"
[EnableShowInService]
other = "在服務中顯示"

View File

@ -339,6 +339,11 @@ function addOrEditMonitor(monitor) {
modal.find("select[name=Type]").val(monitor ? monitor.Type : 1);
modal.find("select[name=Cover]").val(monitor ? monitor.Cover : 0);
modal.find("input[name=NotificationTag]").val(monitor ? monitor.NotificationTag : null);
if (monitor && monitor.EnableShowInService) {
modal.find(".ui.nb-show-in-service.checkbox").checkbox("set checked")
} else {
modal.find(".ui.nb-show-in-service.checkbox").checkbox("set unchecked")
}
if (monitor && monitor.Notify) {
modal.find(".ui.nb-notify.checkbox").checkbox("set checked");
} else {

View File

@ -10,7 +10,7 @@
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-y/semantic-ui/2.4.1/semantic.min.js"></script>
<script src="/static/semantic-ui-alerts.min.js"></script>
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-y/vue/2.6.14/vue.min.js"></script>
<script src="/static/main.js?v20230614"></script>
<script src="/static/main.js?v20240213"></script>
<script>
(function () {
updateLang({{.LANG }});

View File

@ -24,6 +24,12 @@
<option value="3">TCP-Ping</option>
</select>
</div>
<div class="field">
<div class="ui nb-show-in-service checkbox">
<input name="EnableShowInService" type="checkbox" tabindex="0" class="hidden" />
<label>{{tr "EnableShowInService"}}</label>
</div>
</div>
<div class="field">
<label>{{tr "Duration"}}</label>
<input type="number" name="Duration" placeholder="{{tr "Seconds"}}" />
@ -110,3 +116,4 @@
</div>
</div>
{{end}}

View File

@ -68,4 +68,4 @@
<script>
$(".checkbox").checkbox();
</script>
{{end}}
{{end}}

View File

@ -12,7 +12,7 @@
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-y/semantic-ui/2.4.1/semantic.min.js"></script>
<script src="/static/semantic-ui-alerts.min.js"></script>
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-y/vue/2.6.14/vue.min.js"></script>
<script src="/static/main.js?v20230614"></script>
<script src="/static/main.js?v20240213"></script>
<script>
(function () {
updateLang({{.LANG }});

View File

@ -61,6 +61,7 @@
</section>
<section class="monitor-container">
{{range $service := .Services}}
{{if $service.Monitor.EnableShowInService}}
<section class="monitor-info-container">
<div class="monitor-state">
<span class="monitor-state-dot {{className (divU64 $service.CurrentUp (addU64 $service.CurrentUp $service.CurrentDown))}}"></span>
@ -81,6 +82,7 @@
{{end}}
</div>
</section>
{{end}}
{{end}}
</section>
{{if .CycleTransferStats}}

View File

@ -18,6 +18,7 @@
</thead>
<tbody>
{{range $service := .Services}}
{{if $service.Monitor.EnableShowInService}}
<tr>
<td class="ui center aligned">{{$service.Monitor.Name}}</td>
<td class="ui center aligned">
@ -33,7 +34,7 @@
class="delay-today {{className (divU64 $service.CurrentUp (addU64 $service.CurrentUp $service.CurrentDown))}}"></i>
{{statusName (divU64 $service.CurrentUp (addU64 $service.CurrentUp $service.CurrentDown))}}
</td>
</tr> {{end}}
</tr> {{end}} {{end}}
</tbody>
</table>

View File

@ -15,7 +15,7 @@
</thead>
<tbody id="servers">
<template v-for="service in services">
<tr>
<tr v-if="service.enableShow === 'true'">
<td class="node-cell center">
<div class="delay-today">
<i class="delay-today" :class="service.health.className"></i>
@ -137,6 +137,7 @@
delay: '{{$service.Delay}}'.replaceAll("[","").replaceAll("]","").split(" "),
up: '{{$service.Up}}'.replaceAll("[","").replaceAll("]","").split(" "),
down: '{{$service.Down}}'.replaceAll("[","").replaceAll("]","").split(" "),
enableShow: '{{$service.Monitor.EnableShowInService}}',
})
{{end}}
// @formatter:on