diff options
author | Adam Kocoloski <adam@cloudant.com> | 2010-08-26 12:21:37 -0400 |
---|---|---|
committer | Adam Kocoloski <adam@cloudant.com> | 2010-08-26 12:21:37 -0400 |
commit | 949f9da6a6548704786d809be76a3a2d47d6fabe (patch) | |
tree | 8791c528310a88f4c01bd0d1da0872fb5bdfc3e6 /rel/overlay/share/www/status.html | |
parent | ea7721877368bf0e356fe5601ce5c99a5460d12f (diff) |
move futon to share/www
Diffstat (limited to 'rel/overlay/share/www/status.html')
-rw-r--r-- | rel/overlay/share/www/status.html | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/rel/overlay/share/www/status.html b/rel/overlay/share/www/status.html new file mode 100644 index 00000000..2067ab9b --- /dev/null +++ b/rel/overlay/share/www/status.html @@ -0,0 +1,109 @@ +<!DOCTYPE html> +<!-- + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +--> +<html lang="en"> + <head> + <title>Status</title> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> + <link rel="stylesheet" href="style/layout.css?0.11.0" type="text/css"> + <script src="script/json2.js"></script> + <script src="script/sha1.js"></script> + <script src="script/jquery.js?1.4.2"></script> + <script src="script/jquery.couch.js?0.11.0"></script> + <script src="script/jquery.dialog.js?0.11.0"></script> + <script src="script/futon.js?0.11.0"></script> + </head> + <body><div id="wrap"> + <h1> + <a href="index.html">Overview</a> + <strong>Status</strong> + </h1> + <div id="content"> + <div id="interval"> + <label>Poll interval: + <input type="range" min="1" max="30" value="5" size="3"> + <span class="secs">5</span> second(s) + </label> + </div> + <table id="status" class="listing" cellspacing="0"> + <caption>Active Tasks</caption> + <thead><tr> + <th>Type</th> + <th>Object</th> + <th>PID</th> + <th>Status</th> + </tr></thead> + <tbody class="content"></tbody> + </table> + + </div> + </div></body> + <script> + var refreshTimeout = null; + + $.futon.storage.declare("poll_interval", {defaultValue: 5}); + + function refresh() { + $.couch.activeTasks({ + success: function(tasks) { + clearTimeout(refreshTimeout); + $("#status tbody.content").empty(); + if (!tasks.length) { + $("<tr class='none'><th colspan='4'>No tasks running</th></tr>") + .appendTo("#status tbody.content"); + } else { + $.each(tasks, function(idx, task) { + $("<tr><th></th><td class='object'></td><td class='pid'></td><td class='status'></td></tr>") + .find("th").text(task.type).end() + .find("td.object").text(task.task).end() + .find("td.pid").text(task.pid).end() + .find("td.status").text(task.status).end() + .appendTo("#status tbody.content"); + }); + } + refreshTimeout = setTimeout(refresh, + parseInt($("#interval input").val(), 10) * 1000); + } + }); + } + + function updateInterval(value) { + if (isNaN(value)) { + value = 5; + $("#interval input").val(value); + } + $("#interval .secs").text(value); + refresh(); + $.futon.storage.set("poll_interval", value); + } + + $(function() { + var slider = $("#interval input"); + slider.val(parseInt($.futon.storage.get("poll_interval"))); + if (slider[0].type == "range") { + slider.bind("input", function() { + updateInterval(this.value); + }); + $("#interval .secs").text($("#interval input").val()); + } else { + slider.bind("change", function() { + updateInterval(this.value); + }); + $("#interval .secs").hide(); + } + refresh(); + }); + </script> +</html> |