diff --git a/app/assets/javascripts/discourse/components/d-modal.js.es6 b/app/assets/javascripts/discourse/components/d-modal.js.es6 index 1e1a40cdc34..2ac4f6d0367 100644 --- a/app/assets/javascripts/discourse/components/d-modal.js.es6 +++ b/app/assets/javascripts/discourse/components/d-modal.js.es6 @@ -1,10 +1,20 @@ import { on } from "ember-addons/ember-computed-decorators"; export default Ember.Component.extend({ - elementId: 'discourse-modal', - classNameBindings: [':modal', 'modalClass'], + classNameBindings: [':modal', ':d-modal', 'modalClass', 'modalStyle'], attributeBindings: ['data-keyboard'], + init() { + this._super(...arguments); + + // If we need to render a second modal for any reason, we can't + // use `elementId` + if (this.get('modalStyle') !== 'inline-modal') { + this.set('elementId', 'discourse-modal'); + this.set('modalStyle', 'popup-modal'); + } + }, + // We handle ESC ourselves 'data-keyboard': 'false', diff --git a/app/assets/javascripts/discourse/templates/components/d-modal.hbs b/app/assets/javascripts/discourse/templates/components/d-modal.hbs new file mode 100644 index 00000000000..8ed28a6a0e4 --- /dev/null +++ b/app/assets/javascripts/discourse/templates/components/d-modal.hbs @@ -0,0 +1,24 @@ + diff --git a/app/assets/javascripts/discourse/templates/modal.hbs b/app/assets/javascripts/discourse/templates/modal.hbs index a52aa8276fe..43c4e79f49b 100644 --- a/app/assets/javascripts/discourse/templates/modal.hbs +++ b/app/assets/javascripts/discourse/templates/modal.hbs @@ -1,24 +1,10 @@ -{{#d-modal modalClass=modalClass title=title class="hidden"}} - {{/d-modal}}