A utility for adding modal popup windows in Ember.js.

Usage no npm install needed!

<script type="module">
  import abcumEmberModals from 'https://cdn.skypack.dev/@abcum/ember-modals';



A utility for adding modal popup windows to an Ember.js app.



ember install @abcum/ember-modals


The ember-modals addon adds functionality for adding modal popup windows to an Ember.js app, using actions, or routes. A modal window can be shown when a value is changed, when an action is run from a component, or when a route is entered.


Add the modal-outlet component to your application template.

{{!-- app/templates/application.hbs --}}

To show a modal window in the same template.

{{!-- app/templates/post.hbs --}}
<button {{action 'toggle' displayModal}}>Delete this post</button>
{{#if displayModal}}
    {{#modal-window class="alert" close=(action 'toggle' displayModal)}}
        {{!-- window content --}}

To show a modal window after an action on a component.

{{!-- app/templates/posts.hbs --}}
{{#each model as |post|}}
    {{blog-post deletePost=(open-modal 'post.popup' model=post)}}
{{!-- app/templates/post/popup.hbs --}}
{{#modal-window class="alert" close=(close-modal)}}
    {{!-- window content --}}

To show a modal window when a route is activated.

{{!-- app/templates/posts.hbs --}}
{{#each model as |post|}}
    {{#link-to 'post' post}}View post{{/link-to}}
{{!-- app/templates/post.hbs --}}
{{#modal-window class="alert" close=(transition-to 'posts')}}
    {{!-- window content --}}

To style the modal background and the modal window itself, follow the css styling code below.

modal-cover {
    @include backdrop-filter( blur(5px) );
    @include animation(fadeIn 0.3s ease-in-out 0s);

modal-front {
    margin:0 auto 0 auto;
    @include box-shadow(0 0 15px rgba(0,0,0,0.6));
    @include animation(ghost 0.3s ease-in-out 0.2s normal both);


  • make install (install bower and ember-cli dependencies)
  • make upgrade (upgrade ember-cli to the specified version)
  • make tests (run all tests defined in the package)