opendash
Version:
open.DASH data visualization framework
47 lines • 1.95 kB
JavaScript
var SourceAdapterContext = /** @class */ (function () {
function SourceAdapterContext(service, app) {
this.service = service;
this.app = app;
}
SourceAdapterContext.prototype.setLoading = function (value) {
this.service.setLoading(value);
};
SourceAdapterContext.prototype.setSources = function (sources) {
this.app.state.update(function (draft) {
if (!sources || !Array.isArray(sources) || sources.length === 0) {
draft.sources.all = [];
draft.sources.current = null;
}
else {
draft.sources.all = sources;
var current = sources.find(function (source) { var _a; return source.id === ((_a = draft.sources.current) === null || _a === void 0 ? void 0 : _a.id); });
if (!draft.sources.current || !current) {
draft.sources.current = sources[0];
}
else {
draft.sources.current = current;
}
}
});
this.service.notifySubscribers();
};
SourceAdapterContext.prototype.updateSources = function (id, source) {
this.app.state.update(function (draft) {
var _a;
if (((_a = draft.sources.current) === null || _a === void 0 ? void 0 : _a.id) === source.id) {
Object.assign(draft.sources.current, source);
}
var draftSource = draft.sources.all.find(function (s) { return s.id === source.id; });
if (draftSource) {
Object.assign(draftSource, source);
}
else {
draft.sources.all.push(source);
}
});
this.service.notifySubscribers();
};
return SourceAdapterContext;
}());
export { SourceAdapterContext };
//# sourceMappingURL=SourceAdapterContext.js.map