nezha/resource/template/dashboard/server.html

133 lines
6.2 KiB
HTML
Raw Normal View History

2020-12-09 06:05:40 -05:00
{{define "dashboard/server"}}
2019-12-08 10:18:29 -05:00
{{template "common/header" .}}
{{template "common/menu" .}}
<div class="nb-container">
<div class="ui container">
2020-03-22 08:55:27 -04:00
<div class="ui grid">
<div class="right floated right aligned twelve wide column">
2021-08-05 23:48:34 -04:00
<button class="ui right labeled nezha-primary-btn icon button" onclick="addOrEditServer()"><i
class="add icon"></i> {{tr "AddServer"}}
2020-03-22 08:55:27 -04:00
</button>
2021-11-04 00:06:20 -04:00
<button class="ui right labeled nezha-primary-btn icon button" onclick="forceUpdate()"><i
class="arrow alternate circle up outline icon"></i> {{tr "ForceUpdate"}}
2021-11-04 00:06:20 -04:00
</button>
2020-03-22 08:55:27 -04:00
</div>
</div>
2019-12-08 10:18:29 -05:00
<table class="ui very basic table">
<thead>
<tr>
<th><button onclick="checkAllServer()" class="ui mini nezha-primary-btn button">{{tr "SelectAll"}}</button></th>
<th>ID({{tr "DisplayIndex"}})</th>
<th>{{tr "Name"}}</th>
<th>{{tr "Tag"}}</th>
2021-01-08 08:04:50 -05:00
<th>IP</th>
<th>{{tr "VersionNumber"}}</th>
<th>{{tr "Secret"}}</th>
<th>{{tr "OneKeyInstall"}}</th>
<th>{{tr "Note"}}</th>
<th>{{tr "Administration"}}</th>
2019-12-08 10:18:29 -05:00
</tr>
</thead>
<tbody>
{{range $server := .Servers}}
<tr>
2021-11-04 00:06:20 -04:00
<td><input type="checkbox" class="nezha-servers" value="{{$server.ID}}" /></td>
<td>{{$server.ID}}({{$server.DisplayIndex}})</td>
2019-12-08 10:18:29 -05:00
<td>{{$server.Name}}</td>
2021-01-12 01:09:25 -05:00
<td>{{$server.Tag}}</td>
2021-01-08 08:04:50 -05:00
<td>{{$server.Host.IP}}</td>
<td>{{$server.Host.Version}}</td>
2019-12-08 10:18:29 -05:00
<td>{{$server.Secret}}</td>
2021-08-10 08:04:58 -04:00
<td>
<button class="ui icon green mini button"
data-clipboard-text="{{if $.Conf.GRPCHost}}curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh install_agent {{$.Conf.GRPCHost}} {{if $.Conf.ProxyGRPCPort}}{{$.Conf.ProxyGRPCPort}}{{else}}{{$.Conf.GRPCPort}}{{end}} {{$server.Secret}}{{if $.Conf.TLS}} --tls{{end}}{{else}}{{tr "NoDomainAlert"}}{{end}}"
data-tooltip="{{tr "ClickToCopyTheInstallationCommand"}}">
2021-08-10 08:04:58 -04:00
<i class="linux icon"></i>
</button>
<button class="ui icon green mini button"
2022-04-28 23:21:47 -04:00
data-clipboard-text="{{if $.Conf.GRPCHost}}set-ExecutionPolicy RemoteSigned;Invoke-WebRequest https://raw.githubusercontent.com/naiba/nezha/master/script/install.ps1 -OutFile C:\install.ps1;powershell.exe C:\install.ps1 {{$.Conf.GRPCHost}}:{{if $.Conf.ProxyGRPCPort}}{{$.Conf.ProxyGRPCPort}}{{else}}{{$.Conf.GRPCPort}}{{end}} {{$server.Secret}}{{if $.Conf.TLS}} --tls{{end}}{{else}}{{tr "NoDomainAlert"}}{{end}}"
data-tooltip="{{tr "ClickToCopyTheInstallationCommand"}}">
2021-08-10 08:04:58 -04:00
<i class="windows icon"></i>
</button>
</td>
<td style="word-break: break-word;">{{$server.Note}}</td>
2019-12-20 10:58:09 -05:00
<td>
<div class="ui mini icon buttons">
2021-08-17 23:56:54 -04:00
<button class="ui button" onclick="connectToServer({{$server.ID}})">
<i class="terminal icon"></i>
</button>
2021-08-10 08:04:58 -04:00
<button class="ui button" onclick="addOrEditServer({{$server.Marshal}})">
2019-12-20 10:58:09 -05:00
<i class="edit icon"></i>
</button>
2020-03-22 08:55:27 -04:00
<button class="ui button"
onclick="showConfirm('{{tr "DeleteServer"}}}','{{tr "ConfirmToDeleteThisServer"}}',deleteRequest,'/api/server/'+{{$server.ID}})">
<i class="trash alternate outline icon"></i>
2019-12-20 10:58:09 -05:00
</button>
</div>
</td>
2019-12-08 10:18:29 -05:00
</tr>
{{end}}
</tbody>
</table>
</div>
</div>
2021-08-10 08:04:58 -04:00
{{template "component/server" .}}
2019-12-08 10:18:29 -05:00
{{template "common/footer" .}}
2022-04-28 21:27:11 -04:00
<script src="https://fastly.jsdelivr.net/npm/clipboard@2.0.8/dist/clipboard.min.js"></script>
2021-08-10 08:04:58 -04:00
<script>
var clipboard = new ClipboardJS('.ui.icon.green.mini.button');
2021-11-04 00:06:20 -04:00
const checkBoxList = document.querySelectorAll('tbody > tr > td > input.nezha-servers[type=checkbox]')
function checkAllServer() {
checkBoxList.forEach(cb => {
cb.checked = true
})
}
function forceUpdate() {
const servers = []
checkBoxList.forEach(cb => {
if (cb.checked) {
servers.push(parseInt(cb.value))
}
})
if (servers.length == 0) {
$.suiAlert({
title: '{{tr "NoServerSelected"}}',
2021-11-04 00:06:20 -04:00
description: '',
type: 'warning',
time: '2',
position: 'top-center',
});
return
}
$.post('/api/force-update', JSON.stringify(servers))
.then((resp) => {
if (resp.code == 200) {
$.suiAlert({
title: '{{tr "ExecutionResults"}}',
2021-11-04 00:06:20 -04:00
description: resp.message,
type: 'success',
time: '3',
position: 'top-center',
});
} else {
$.suiAlert({
title: '',
description: resp.message,
type: 'error',
time: '3',
position: 'top-center',
});
}
}).catch(err => {
$.suiAlert({
title: '',
description: err,
type: 'error',
time: '3',
position: 'top-center',
});
})
}
2021-08-10 08:04:58 -04:00
</script>
{{end}}