All files / addon/components/modals -modal.js

0% Statements 0/8
0% Branches 0/6
0% Functions 0/3
0% Lines 0/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                                                             
import Component from '@ember/component';
import layout from '../../templates/components/modals/-modal';
import { task, didCancel } from 'ember-concurrency';
import { isPresent } from '@ember/utils';
 
export default Component.extend({
  layout,
  tagName: '',
  isOpen: false,
  title: null,
  size: null,
 
  onCloseTask: task(function * (modalCloseAction, asyncTask) {
    if(isPresent(asyncTask)) {
      const response = yield asyncTask();
      if(!response) {
        return false;
      }
    }
    return modalCloseAction();
  }),
 
  actions: {
    close(modalCloseAction) {
      return this.get('onCloseTask').perform(modalCloseAction, this.get('onHide')).catch(e => {
        if (!didCancel(e)) { throw e; }
      });
    },
  }
});