proxy-trigger

Proxies ampersand-events or
Backbone.Events from one emitter to another.
A note about compatibility
The npm package should be used in
an ES6 environment. Even though the published code has ES5 syntax it uses
some ES6 features, so you have to make sure to use ES5 and ES6 polyfills if you
are in an ancient environment.
Install
npm install proxy-trigger
Usage
import proxyTrigger from 'proxy-trigger'
proxyTrigger(sourceEmitter, targetEmitter)
targetEmitter.on('foo bar', (msg) => console.log(msg))
sourceEmitter.trigger('foo', 'proxied foo')
sourceEmitter.trigger('bar', 'proxied bar')
proxyTrigger(sourceEmitter, targetEmitter, 'change:title')
targetEmitter.on('change:title', () => console.log('title changed'))
sourceEmitter.trigger('change:title')
proxyTrigger(sourceEmitter, targetEmitter, 'open close')
proxyTrigger(sourceEmitter, targetEmitter, ['open', 'close'])
proxyTrigger(sourceEmitter, targetEmitter, {'change:title': 'change:source.title'})
proxyTrigger(sourceEmitter, targetEmitter, [
'open close', {'change:title': 'change:source.title'}
])
Mixin usage
import {mixin as proxyTriggerMixin} from 'proxy-trigger'
import View from 'ampersand-view'
export default View.extend(proxyTriggerMixin, {
initialize () {
this.proxyTrigger(this.someSubView, 'close')
},
...
})
Test
npm test
License
MIT