mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-25 09:03:12 +03:00
21 lines
722 B
JavaScript
21 lines
722 B
JavaScript
|
/**
|
||
|
* 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 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 function (key, value) {
|
||
|
return arguments.length > 1 ? value : transform(this.get(upstream));
|
||
|
}.property(upstream);
|
||
|
};
|
||
|
|
||
|
export default BoundOneWay;
|