tnt.board
Version:
TnT track-based board display
49 lines (37 loc) • 1.16 kB
JavaScript
var apijs = require ("tnt.api");
var spinner = require ("./spinner.js")();
var tnt_data = {};
tnt_data.sync = function() {
var update_track = function(obj) {
var track = this;
track.data().elements(update_track.retriever().call(track, obj.loc));
obj.on_success();
};
apijs (update_track)
.getset ('elements', [])
.getset ('retriever', function () {});
return update_track;
};
tnt_data.async = function () {
var update_track = function (obj) {
var track = this;
spinner.on.call(track);
update_track.retriever().call(track, obj.loc)
.then (function (resp) {
track.data().elements(resp);
obj.on_success();
spinner.off.call(track);
});
};
var api = apijs (update_track)
.getset ('elements', [])
.getset ('retriever');
return update_track;
};
// A predefined track displaying no external data
// it is used for location and axis tracks for example
tnt_data.empty = function () {
var updater = tnt_data.sync();
return updater;
};
module.exports = exports = tnt_data;