Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/webroot/rsrc/js/phui/behavior-phui-timer-control.js
12241 views
1
/**
2
* @provides javelin-behavior-phui-timer-control
3
* @requires javelin-behavior
4
* javelin-stratcom
5
* javelin-dom
6
*/
7
8
JX.behavior('phui-timer-control', function(config) {
9
var node = JX.$(config.nodeID);
10
var uri = config.uri;
11
var state = null;
12
13
function onupdate(result) {
14
var markup = result.markup;
15
if (markup) {
16
var new_node = JX.$H(markup).getFragment().firstChild;
17
JX.DOM.replace(node, new_node);
18
node = new_node;
19
20
// If the overall state has changed from the previous display state,
21
// animate the control to draw the user's attention to the state change.
22
if (result.state !== state) {
23
state = result.state;
24
JX.DOM.alterClass(node, 'phui-form-timer-updated', true);
25
}
26
}
27
28
var retry = result.retry;
29
if (retry) {
30
setTimeout(update, 1000);
31
}
32
}
33
34
function update() {
35
new JX.Request(uri, onupdate)
36
.setTimeout(10000)
37
.send();
38
}
39
40
update();
41
});
42
43