Skip to content

Instantly share code, notes, and snippets.

@richmolj
Forked from leondmello/application.controller.js
Created October 22, 2015 20:42
Show Gist options
  • Save richmolj/6cc2754758fdf3ab214e to your computer and use it in GitHub Desktop.
Save richmolj/6cc2754758fdf3ab214e to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle'
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{parent-comp}}
<br>
<br>
import Ember from 'ember';
export default Ember.Component.extend({
addPromise: function(){
this.get("addValidation")(() => {return new Ember.RSVP.Promise(function(resolve, reject) {
//resolve("Promise 1");
})});
this.get("addValidation")(() => {return new Ember.RSVP.Promise(function(resolve, reject) {
Ember.run.later(function(){reject("Promise 2")},200);
})});
this.get("addValidation")(() => {return new Ember.RSVP.Promise(function(resolve, reject) {
//reject("Promise 3");
})});
}.on("init")
});
import Ember from 'ember';
export default Ember.Component.extend({
setValidations: function() {
this.set("validations", [])
}.on("init"),
actions: {
addParentValidation: function(validation) {
this.get("validations").addObject(validation);
},
clicked: function() {
let promises = this.get('validations').map(function(v) { return v() });
console.log('promises', promises);
Ember.RSVP.Promise.all(promises).then(
function(values) {
console.log("Passed");
console.log(values);
}
).catch(function(reason) {
console.log("failed");
console.log(reason);
});;
}
}
});
<div>
Parent component
<button {{action "clicked"}}> CLick me </button>
{{child-comp addValidation = (action 'addParentValidation')}}
</div>
{
"version": "0.4.13",
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.1.0/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.1.0/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.1.0/ember-template-compiler.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment