29 lines
777 B
JavaScript
29 lines
777 B
JavaScript
const subscriptions = [];
|
|
|
|
// This is pretty hacky right now, but it makes sure we don't keep adding subscriptions.
|
|
// TODO -> Nuke this and move it up a layer once we have more vigorous layout support.
|
|
|
|
const vtkViewportSubscriptionManager = {
|
|
subscriptions,
|
|
pushSubscription(viewportIndex, subscription) {
|
|
if (!Array.isArray(subscriptions[viewportIndex])) {
|
|
subscriptions[viewportIndex] = [];
|
|
}
|
|
|
|
subscriptions[viewportIndex].push(subscription);
|
|
},
|
|
unsubscribe(viewportIndex) {
|
|
if (!subscriptions[viewportIndex]) {
|
|
return;
|
|
}
|
|
|
|
while (subscriptions[viewportIndex].length) {
|
|
subscriptions[viewportIndex].pop().unsubscribe();
|
|
}
|
|
|
|
subscriptions[viewportIndex] = null;
|
|
},
|
|
};
|
|
|
|
export default vtkViewportSubscriptionManager;
|