UNPKG

tnt.board

Version:

TnT track-based board display

49 lines (37 loc) 1.16 kB
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;