@jbrowse/plugin-wiggle
Version:
JBrowse 2 wiggle adapters, tracks, etc.
39 lines (38 loc) • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMultiWiggleSourcesAutorun = getMultiWiggleSourcesAutorun;
const util_1 = require("@jbrowse/core/util");
const aborting_1 = require("@jbrowse/core/util/aborting");
const stopToken_1 = require("@jbrowse/core/util/stopToken");
const tracks_1 = require("@jbrowse/core/util/tracks");
const mobx_1 = require("mobx");
const mobx_state_tree_1 = require("mobx-state-tree");
function getMultiWiggleSourcesAutorun(self) {
(0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(async () => {
try {
const view = (0, util_1.getContainingView)(self);
if (!view.initialized) {
return;
}
const { rpcManager } = (0, util_1.getSession)(self);
const { adapterConfig } = self;
const token = (0, stopToken_1.createStopToken)();
self.setSourcesLoading(token);
const sessionId = (0, tracks_1.getRpcSessionId)(self);
const sources = (await rpcManager.call(sessionId, 'MultiWiggleGetSources', {
regions: view.staticBlocks.contentBlocks,
sessionId,
adapterConfig,
}));
if ((0, mobx_state_tree_1.isAlive)(self)) {
self.setSources(sources);
}
}
catch (e) {
if (!(0, aborting_1.isAbortException)(e) && (0, mobx_state_tree_1.isAlive)(self)) {
console.error(e);
(0, util_1.getSession)(self).notifyError(`${e}`, e);
}
}
}));
}