consul/ui-v2/app/services/dom-buffer.js
John Cowen cbded4a10a ui: Improvements to modal-dialog (#5585)
1. If the modal gets bigger than 80% of the viewport height a scrollbar
will be shown. Currently there isn't anywhere it can get this big, but
future work involves possible larger modals
2. Usually its difficult to figure out which was the 'unchecked' radio
button using an onchange event. Luckily ember/handlebars changes its
properties after the onchange event, so knowing that and using an extra
data-checked attribute set via ember, we can figure out which radio
button has been 'unchecked'. This means the logic for opening an
closing modals becomes slightly easier
2019-05-01 18:22:30 +00:00

24 lines
642 B
JavaScript

import Service from '@ember/service';
import Evented from '@ember/object/evented';
const buffer = {};
export default Service.extend(Evented, {
// TODO: Consider renaming this and/or
// `delete`ing the buffer (but not the DOM element)
// flush should flush, but maybe being able to re-flush
// after you've flushed could be handy
flush: function(name) {
return buffer[name];
},
add: function(name, dom) {
this.trigger('add', dom);
buffer[name] = dom;
return dom;
},
remove: function(name) {
if (typeof buffer[name] !== 'undefined') {
buffer[name].remove();
delete buffer[name];
}
},
});