cowbell/splittypie

View on GitHub
app/components/modal-dialog.js

Summary

Maintainability
A
0 mins
Test Coverage
import { inject as service } from "@ember/service";
import { get } from "@ember/object";
import { run } from "@ember/runloop";
import Component from "@ember/component";

export default Component.extend({
    modal: service(),

    didInsertElement() {
        this._super(...arguments);
        this.$(".modal").modal().on("hidden.bs.modal", () => {
            run(() => {
                get(this, "modal").trigger("remove");
            });
        });
        get(this, "modal").one("hide", this, "onHide");
    },

    willDestroyElement() {
        this.onHide();
    },

    onHide() {
        const $modal = this.$(".modal");

        if ($modal && $modal.modal) {
            this.$(".modal").modal("hide");
        }
    },
});