blob: a7e74e4540c8dd6d04f6009bfb1f403f74672f96 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Skia Push Server</title>
{{template "header.html" .}}
<style is="custom-style" type="text/css" media="screen">
:root {
--default-primary-color: #1f78b4;
paper-input {
--paper-input-container-color: white;
--paper-input-container-input-color: white;
}
}
</style>
<style type="text/css" media="screen">
body {
font-family: Arial, sans-serif;
font-size: 15px;
}
login-sk {
margin-left: auto;
}
login-sk a {
color: white;
}
a {
color: #1f78b4;
font-weight: bold;
}
#mainContainer {
background: white;
padding: 2em 1em;
}
paper-toast {
margin: 2em;
}
html, body {
height: 100%;
margin: 0;
}
paper-header-panel {
height: 100%;
}
#refresh,
#spinner {
display: inline-block;
}
</style>
</head>
<body class="fullbleed layout vertical">
<paper-header-panel fixed="true">
<paper-toolbar>
<div>Skia Push</div>
<div>
<button id="refresh" on-tap="refreshPackages">Refresh Packages</button>
<paper-spinner id="spinner"></paper-spinner>
</div>
<div>
<paper-input label="Filter servers/apps" id="filter-servers"></paper-input>
</div>
<login-sk></login-sk>
</paper-toolbar>
<push-server-sk></push-server-sk>
<paper-toast></paper-toast>
<error-toast-sk></error-toast-sk>
</paper-header-panel>
<script type="text/javascript" charset="utf-8">
(function(){
var UPDATE_MS = 5000;
sk.get("/_/state").then(JSON.parse).then(function(json) {
$$$('push-server-sk').setConfig(json.servers, json.packages, json.ip);
Object.keys(json.status).forEach(function(service) {
sk.Mailbox.send(service, json.status[service]);
});
}).catch(sk.errorMessage);
function updateStatus() {
sk.get("/_/status").then(JSON.parse).then(function(json) {
Object.keys(json).forEach(function(service) {
sk.Mailbox.send(service, json[service]);
});
window.setTimeout(updateStatus, UPDATE_MS);
}).catch(function(err) {
sk.errorMessage(err);
window.setTimeout(updateStatus, UPDATE_MS);
});
};
window.setTimeout(updateStatus, UPDATE_MS);
$$$('push-server-sk').addEventListener('change-package', function(e) {
var body = {
Name: e.detail.name,
Server: e.detail.server
};
sk.post("/_/state", JSON.stringify(body)).then(JSON.parse).then(function(json) {
$$$('push-server-sk').setConfig(json.servers, json.packages, json.ip);
}).catch(sk.errorMessage);
});
$$$('push-server-sk').addEventListener('unit-action', function(e) {
sk.post("/_/change?" + sk.query.fromObject(e.detail), "").then(JSON.parse).then(function(json) {
$$$('paper-toast').text = json.result;
$$$('paper-toast').show();
}).catch(sk.errorMessage);
});
$$$('#refresh').addEventListener('click', function() {
$$$('#spinner').active = true;
sk.get("/_/state?refresh=true").then(JSON.parse).then(function(json) {
$$$('push-server-sk').setConfig(json.servers, json.packages, json.ip);
Object.keys(json.status).forEach(function(service) {
sk.Mailbox.send(service, json.status[service]);
});
$$$('#spinner').active = false;
}).catch(function(msg) {
sk.errorMessage(msg);
$$$('#spinner').active = false;
});
});
$$$('#filter-servers').addEventListener('input', function() {
$$$('push-server-sk').filterText = $$$('#filter-servers').value;
});
// Check to see if filter param was specified.
var params = sk.query.toParamSet(window.location.search.substring(1));
if (params['filter']) {
$$$('#filter-servers').value = params['filter'][0];
$$$('push-server-sk').filterText = params['filter'][0];
}
})();
</script>
</body>
</html>