diff --git a/ui-v2/app/components/modal-dialog.js b/ui-v2/app/components/modal-dialog.js index f34c78a096..cb934102a0 100644 --- a/ui-v2/app/components/modal-dialog.js +++ b/ui-v2/app/components/modal-dialog.js @@ -105,15 +105,17 @@ export default DomBufferComponent.extend(SlotsMixin, WithResizing, { }, actions: { change: function(e) { - if (e && e.target && e.target.checked) { + if (get(e, 'target.checked')) { this._open(e); } else { this._close(); } }, close: function() { - get(this, 'dom').element('#modal_close').checked = true; - this.onclose(); + const $close = get(this, 'dom').element('#modal_close'); + $close.checked = true; + const $input = get(this, 'dom').element('input[name="modal"]', this.element); + $input.onchange({ target: $input }); }, }, }); diff --git a/ui-v2/app/components/modal-layer.js b/ui-v2/app/components/modal-layer.js index 74a2887c31..003bf86870 100644 --- a/ui-v2/app/components/modal-layer.js +++ b/ui-v2/app/components/modal-layer.js @@ -10,8 +10,10 @@ export default DomBufferFlushComponent.extend({ .filter(function(item) { return item.getAttribute('id') !== 'modal_close'; }) - .forEach(function(item) { - item.onchange(); + .forEach(function(item, i) { + if (item.getAttribute('data-checked') === 'true') { + item.onchange({ target: item }); + } }); }, }, diff --git a/ui-v2/app/services/dom-buffer.js b/ui-v2/app/services/dom-buffer.js index 9cb647c4fb..fe58d5fa36 100644 --- a/ui-v2/app/services/dom-buffer.js +++ b/ui-v2/app/services/dom-buffer.js @@ -15,7 +15,9 @@ export default Service.extend(Evented, { return dom; }, remove: function(name) { - buffer[name].remove(); - delete buffer[name]; + if (typeof buffer[name] !== 'undefined') { + buffer[name].remove(); + delete buffer[name]; + } }, }); diff --git a/ui-v2/app/styles/components/modal-dialog/layout.scss b/ui-v2/app/styles/components/modal-dialog/layout.scss index ee3ed9d167..222ffd4129 100644 --- a/ui-v2/app/styles/components/modal-dialog/layout.scss +++ b/ui-v2/app/styles/components/modal-dialog/layout.scss @@ -46,6 +46,8 @@ padding-right: 15px; } %modal-window > div { + overflow-y: auto; + max-height: 80vh; padding: 20px 23px; } %modal-window > footer, diff --git a/ui-v2/app/templates/components/modal-dialog.hbs b/ui-v2/app/templates/components/modal-dialog.hbs index 5ee2ba9e4b..4f7357efca 100644 --- a/ui-v2/app/templates/components/modal-dialog.hbs +++ b/ui-v2/app/templates/components/modal-dialog.hbs @@ -1,5 +1,5 @@ {{yield}} - +