diff --git a/ui/app/helpers/bind.js b/ui/app/helpers/bind.js new file mode 100644 index 000000000..36e3bf4e2 --- /dev/null +++ b/ui/app/helpers/bind.js @@ -0,0 +1,17 @@ +import { helper } from '@ember/component/helper'; +import { assert } from '@ember/debug'; + +/** + * bind + * + * Usage: {{bind this.function}} + * + * Returns a version of a function bound to the template target (e.g., component or controller) + */ +export function bind([func, target]) { + assert('A function is required as the first argument', typeof func === 'function'); + assert('A context is required as the second argument', target); + return func.bind(target); +} + +export default helper(bind);