Skip to content

Instantly share code, notes, and snippets.

@sukima
Created November 29, 2018 23:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sukima/64bc114b4ba5b3ff6a2fb770d1946fed to your computer and use it in GitHub Desktop.
Save sukima/64bc114b4ba5b3ff6a2fb770d1946fed to your computer and use it in GitHub Desktop.
remodal with ember-confirmed and concurrency tasks
import Ember from 'ember';
import { task } from 'ember-concurrency';
export default Ember.Component.extend({
tagName: '',
openModal: task(function* () {
let { reason } = yield this.modalManager.open();
return reason;
}).drop()
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
{{#my-modal as |reason actions|}}
<button {{action actions.openModal}}>Open Modal</button>
{{#if reason}}
<p>Last modal was {{reason}}</p>
{{/if}}
{{/my-modal}}
{{#ember-remodal-redux
registerModalManager=(action (mut this.modalManager))
as |modal resolve|}}
<p>This is my fancy modal!</p>
<p>Do you like it?</p>
<div class="modal-actions">
<button {{action resolve "confirm"}}>Yes</button>
<button {{action resolve "reject"}}>No</button>
</div>
{{/ember-remodal-redux}}
{{yield this.openModal.lastSuccessful.value (hash openModal=(perform this.openModal))}}
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"ENV": {
"APP": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-concurrency": "latest",
"ember-confirmed": "latest",
"ember-remodal": "latest"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment