mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-14 12:23:03 +01:00
23 lines
No EOL
554 B
JavaScript
23 lines
No EOL
554 B
JavaScript
import {state, stream} from 'lstream';
|
|
|
|
export default function(viewer) {
|
|
|
|
const streams = {};
|
|
|
|
streams.objectsUpdate = stream();
|
|
streams.objects = streams.objectsUpdate.throttle().map(() => {
|
|
let objects = [];
|
|
viewer.layers.forEach(l => l.objects.forEach(o => objects.push(o)));
|
|
return objects;
|
|
}).remember([]);
|
|
|
|
streams.addingRoleMode = state(null);
|
|
streams.selection = state([]);
|
|
streams.objectUpdate = stream();
|
|
|
|
streams.constraintsUpdate = stream();
|
|
|
|
streams.constraintEditRequest = state(null);
|
|
|
|
return streams;
|
|
}; |