import { dispatch } from 'd3'; import distDomain from './distDomain'; import limitViewInterval from './limitViewInterval'; import stream from './stream'; import streamPanning from './streamPanning'; import tempPosForOrdinalScale from './tempPosForOrdinalScale' import viewInterval from './viewInerval'; const _attrs = { viewInterval : null, stream: null } const streamMixin = Base => { /** * @mixin StreamMixin */ let StreamMixin = class extends Base { constructor() { super(); this.setAttrs(_attrs); this.__execs__.viewInterval = null; this.__execs__.stream = null; this.__execs__.streamPanning = null; this.__execs__.streamPanningDispatch = dispatch('streamPanning'); this.rebindOnMethod(this.__execs__.streamPanningDispatch); } } StreamMixin.prototype.distDomain = distDomain; StreamMixin.prototype.limitViewInterval = limitViewInterval; StreamMixin.prototype.stream = stream; StreamMixin.prototype.streamPanning = streamPanning; StreamMixin.prototype.tempPosForOrdinalScale = tempPosForOrdinalScale; StreamMixin.prototype.viewInterval = viewInterval; return StreamMixin; } export default streamMixin;