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 you have to make sure to use ES5 and ES6 polyfills if you are in an ancient environment. That's why I added core-js as a peer dependency.
Install
npm install proxy-trigger
Usage
import proxyTrigger from 'proxy-trigger'
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