You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
6.8 KiB
173 lines
6.8 KiB
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
|
<title>gosuv</title>
|
|
<link rel="shortcut icon" type="image/png" href="/res/images/favicon.ico" />
|
|
<link rel="stylesheet" type="text/css" href="/res/bootstrap-3.3.5/css/bootstrap.min.css">
|
|
<link rel="stylesheet" type="text/css" href="/res/font-awesome-4.6.3/css/font-awesome.min.css">
|
|
<link rel="stylesheet" type="text/css" href="/res/css/style.css">
|
|
</head>
|
|
|
|
<body id="app">
|
|
<nav class="navbar navbar-inverse">
|
|
<div class="container">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="/">Go Supervisor</a>
|
|
</div>
|
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
|
|
<ul class="nav navbar-nav">
|
|
<li class="hidden-xs">
|
|
<a>
|
|
<span class="glyphicon glyphicon-qrcode"></span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<ul id="nav-right-bar" class="nav navbar-nav navbar-right">
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div class="container">
|
|
<div class="col-md-12">
|
|
<button class="btn btn-default btn-sm" id="launchNewProgram">
|
|
<span class="glyphicon glyphicon-plus"></span> New Program
|
|
</button>
|
|
<button class="btn btn-default btn-sm" v-on:click="refresh">
|
|
<span class="glyphicon glyphicon-refresh"></span> Refresh
|
|
</button>
|
|
<button class="btn btn-default btn-sm" v-on:click="test">
|
|
<span class="glyphicon glyphicon-test"></span> Test
|
|
</button>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<td>Name</td>
|
|
<td>Status</td>
|
|
<td>Command</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr v-for="p in programs">
|
|
<td v-text="p.program.name"></td>
|
|
<td v-text="p.status"></td>
|
|
<td>
|
|
<button v-on:click="cmdStart(p.program.name)" class="btn btn-default btn-xs" :disabled="p.status=='running'">
|
|
<span class="glyphicon glyphicon-play"></span> Start
|
|
</button>
|
|
<button class="btn btn-default btn-xs" v-on:click="cmdStop(p.program.name)" :disabled="!canStop(p.status)">
|
|
<span class="glyphicon glyphicon-stop"></span> Stop
|
|
</button>
|
|
<button class="btn btn-default btn-xs" disabled="true">
|
|
<span class="glyphicon glyphicon-minus"></span> Tailf
|
|
</button>
|
|
<button class="btn btn-default btn-xs" disabled="true">
|
|
<span class="glyphicon glyphicon-cog"></span> Setting
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
<tr class="success">
|
|
<td>gohttpserver</td>
|
|
<td>Running(2h)</td>
|
|
<td>
|
|
<button class="btn btn-default btn-xs">
|
|
<span class="glyphicon glyphicon-play"></span> Start
|
|
</button>
|
|
<button class="btn btn-default btn-xs">
|
|
<span class="glyphicon glyphicon-stop"></span> Stop
|
|
</button>
|
|
<button class="btn btn-default btn-xs" disabled="true">
|
|
<span class="glyphicon glyphicon-minus"></span> Tailf
|
|
</button>
|
|
<button class="btn btn-default btn-xs">
|
|
<span class="glyphicon glyphicon-cog"></span> Setting
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- panels -->
|
|
<!-- modals -->
|
|
<div class="modal" id="newProgram">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<form id="formNewProgram" action="/api/programs" method="post">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<h4 class="modal-title">New program</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="form-group">
|
|
<label>Name</label>
|
|
<input type="text" name="name" v-model="program.name" class="form-control" value="h" placeholder="name (must be unique)" required>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Command</label>
|
|
<input type="text" name="command" value="echo redis-server --port 7788" class="form-control" placeholder="shell command, ex: redis-server --port 6379">
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Directory</label>
|
|
<input type="text" name="dir" class="form-control" placeholder="directory, default is /">
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Fail Retries</label>
|
|
<input style="max-width: 5em" type="number" name="retries" class="form-control" min="0" step="1" value="3">
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input name="autostart" type="checkbox"> Auto start
|
|
</label>
|
|
</div>
|
|
<!-- <button type="submit" class="btn btn-Wdefault">Submit</button> -->
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
<button type="submit" class="btn btn-primary">Add program</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<!-- /.modal-content -->
|
|
</div>
|
|
<!-- /.modal-dialog -->
|
|
</div>
|
|
<!-- /.modal -->
|
|
</div>
|
|
<script src="/res/js/jquery-3.1.0.min.js"></script>
|
|
<script src="/res/bootstrap-3.3.5/js/bootstrap.min.js"></script>
|
|
<script src="/res/js/moment.min.js"></script>
|
|
<script src="/res/js/underscore-min.js"></script>
|
|
<script src="/res/js/vue-1.0.min.js"></script>
|
|
<script src="/res/js/index.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
$("#launchNewProgram").click(function() {
|
|
$("#newProgram").modal({
|
|
show: true,
|
|
// keyboard: false,
|
|
backdrop: 'static',
|
|
})
|
|
});
|
|
// $("#newProgram").modal({
|
|
// show: true,
|
|
// // keyboard: false,
|
|
// backdrop: 'static',
|
|
// })
|
|
});
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|