Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/application/aphlict/behavior-aphlict-status.js
- This file was added.
| /** | |||||
| * @provides javelin-behavior-aphlict-status | |||||
| * @requires javelin-behavior | |||||
| * javelin-aphlict | |||||
| * phabricator-phtize | |||||
| * javelin-dom | |||||
| * @javelin | |||||
| */ | |||||
| JX.behavior('aphlict-status', function(config) { | |||||
| var pht = JX.phtize(config.pht); | |||||
| function update() { | |||||
| var client = JX.Aphlict.getInstance(); | |||||
| if (!client) { | |||||
| return; | |||||
| } | |||||
| var node; | |||||
| try { | |||||
| node = JX.$(config.nodeID); | |||||
| } catch (ignored) { | |||||
| return; | |||||
| } | |||||
| var tip = null; | |||||
| var status = client.getStatus(); | |||||
| if (status == 'error') { | |||||
| tip = pht(client.getStatusCode()); | |||||
| } | |||||
| var status_node = JX.$N( | |||||
| 'span', | |||||
| { | |||||
| className: 'aphlict-connection-status-' + status, | |||||
| sigil: tip ? 'has-tooltip' : null, | |||||
| meta: tip ? {tip: tip, align: 'S', size: 300} : {} | |||||
| }, | |||||
| pht(status)); | |||||
| JX.DOM.setContent(node, status_node); | |||||
| } | |||||
| JX.Aphlict.listen('didChangeStatus', update); | |||||
| update(); | |||||
| }); | |||||