Ghost/ghost/admin/app/utils/bound-one-way.js
Austin Burdine c5535e0a1b update Ember to 1.12.1/ember-data to 1.0.0-beta.18
No issue
- fixed "{{#each}}" helper in templates to use block syntax
- fixed deprecated ember.controller getter/setter function to use new syntax
- removed unnecessary pass-protect route view
2015-06-02 22:26:16 -06:00

29 lines
853 B
JavaScript

import Ember from 'ember';
/**
* Defines a property similarly to `Ember.computed.oneway`,
* save that while a `oneway` loses its binding upon being set,
* the `BoundOneWay` will continue to listen for upstream changes.
*
* This is an ideal tool for working with values inside of {{input}}
* elements.
* @param {*} upstream
* @param {function} transform a function to transform the **upstream** value.
*/
var BoundOneWay = function (upstream, transform) {
if (typeof transform !== 'function') {
// default to the identity function
transform = function (value) { return value; };
}
return Ember.computed(upstream, {
get: function () {
return transform(this.get(upstream));
},
set: function (key, value) {
return value;
}
});
};
export default BoundOneWay;