| <!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> |