mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-30 17:30:59 +01:00
48 lines
962 B
JavaScript
48 lines
962 B
JavaScript
|
/**
|
||
|
* @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();
|
||
|
});
|