Skip to content

Instantly share code, notes, and snippets.

@nagarajanpp8
Last active October 18, 2019 15:03
Show Gist options
  • Save nagarajanpp8/479f46024f203b8684fb55931fbf1030 to your computer and use it in GitHub Desktop.
Save nagarajanpp8/479f46024f203b8684fb55931fbf1030 to your computer and use it in GitHub Desktop.
Computed Property test
import Ember from 'ember';
const DefineCP = function(context, cpName, dependantKey, model){
context.set("model", model);
Ember.defineProperty(context, cpName, Ember.computed(dependantKey, function(){
return context.get(dependantKey);
}));
};
const DonutChart = Ember.Object.extend({
reinit(){
this.set("value", [2]);
return this;
},
data: Ember.computed("value.[]", function(){
if(this.value)
return this.value.reduce((a,b)=>{ return a+b; });
}),
setData(value){
let model = Ember.Object.create({ value });
DefineCP(this, "value","model.value", model);
// this.set("value", value);
return this;
}
});
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
init(){
this._super(...arguments);
this.donut = DonutChart.create().reinit();
},
actions:{
update(){
let data = [10, 20, 11];
this.donut.setData(data);
}
}
});
<button {{action "update"}}>Update</button>
{{donut.data}} {{donut.total}} {{donut.value}}
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "2.14.1",
"ember-template-compiler": "2.14.1",
"ember-testing": "2.14.1"
},
"addons": {
"ember-data": "2.14.10"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment