little update, very little

master
codeskyblue 8 years ago
parent ad4c198c40
commit bc4dc97eae

@ -10,7 +10,7 @@ import (
)
var (
GitSummary string = "unknown"
Version string = "dev"
)
func actionServ(c *cli.Context) error {
@ -28,7 +28,7 @@ func actionStatus(c *cli.Context) error {
func main() {
app := cli.NewApp()
app.Name = "gosuv"
app.Version = GitSummary
app.Version = Version
app.Usage = "golang port of python-supervisor"
app.Commands = []cli.Command{
{

@ -40,7 +40,12 @@
</nav>
<div class="container">
<div class="col-md-12">
<table class="table">
<button class="btn btn-default btn-sm" id="launchNewProgram">
<span class="glyphicon glyphicon-plus"></span> New Program
</button>
</div>
<div class="col-md-12">
<table class="table table-hover">
<thead>
<tr>
<td>Name</td>
@ -49,9 +54,9 @@
</tr>
</thead>
<tbody>
<tr>
<tr class="success">
<td>gohttpserver</td>
<td>Running</td>
<td>Running(2h)</td>
<td>
<button class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-play"></span> Start
@ -59,12 +64,87 @@
<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>
</td>
</tr>
</tbody>
</table>
</div>
<!-- panels -->
<!-- modals -->
<div class="modal" id="newProgram">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
<p>Program setting&hellip;</p>
<form>
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" placeholder="name (must be unique)">
</div>
<div class="form-group">
<label>Command</label>
<input type="text" class="form-control" placeholder="shell command, ex: redis-server --port 6379">
</div>
<div class="form-group">
<label for="exampleInputFile">File input</label>
<input type="file" id="exampleInputFile">
<p class="help-block">Example block-level help text here.</p>
</div>
<div class="checkbox">
<label>
<input type="checkbox"> Check me out
</label>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</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 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>

@ -98,15 +98,16 @@ func (s *Supervisor) saveDB() error {
return ioutil.WriteFile(s.programPath(), data, 0644)
}
func (s *Supervisor) Index(w http.ResponseWriter, r *http.Request) {
func (s *Supervisor) hIndex(w http.ResponseWriter, r *http.Request) {
t := template.Must(template.New("t").ParseFiles("./res/index.html"))
t.ExecuteTemplate(w, "index.html", nil)
}
func (s *Supervisor) AddProgram(w http.ResponseWriter, r *http.Request) {
func (s *Supervisor) hAddProgram(w http.ResponseWriter, r *http.Request) {
pg := Program{
Name: r.FormValue("name"),
Command: r.FormValue("command"),
Dir: r.FormValue("dir"),
// TODO: missing other values
}
if err := pg.Check(); err != nil {
@ -133,8 +134,8 @@ func (s *Supervisor) AddProgram(w http.ResponseWriter, r *http.Request) {
func init() {
suv := &Supervisor{}
r := mux.NewRouter()
r.HandleFunc("/", suv.Index)
r.HandleFunc("/api/programs", suv.AddProgram).Methods("POST")
r.HandleFunc("/", suv.hIndex)
r.HandleFunc("/api/programs", suv.hAddProgram).Methods("POST")
fs := http.FileServer(http.Dir("res"))
http.Handle("/", r)

Loading…
Cancel
Save