a73e0958d5
Move all the dom-things to use the dom service in tabular-collection, feedback-dialog, list-collection and node show. Move get-component-factory into utils/dom and use dom.root() in a few more places This includes an additional `dom.components` method which gives you a list of components matching the selector instead of just one.
34 lines
1 KiB
JavaScript
34 lines
1 KiB
JavaScript
import Component from '@ember/component';
|
|
import { get, set } from '@ember/object';
|
|
import { inject as service } from '@ember/service';
|
|
export default Component.extend({
|
|
dom: service('dom'),
|
|
// TODO: could this be dom.viewport() ?
|
|
win: window,
|
|
isDropdownVisible: false,
|
|
didInsertElement: function() {
|
|
get(this, 'dom')
|
|
.root()
|
|
.classList.remove('template-with-vertical-menu');
|
|
},
|
|
actions: {
|
|
dropdown: function(e) {
|
|
if (get(this, 'dcs.length') > 0) {
|
|
set(this, 'isDropdownVisible', !get(this, 'isDropdownVisible'));
|
|
}
|
|
},
|
|
change: function(e) {
|
|
const dom = get(this, 'dom');
|
|
const $root = dom.root();
|
|
const $body = dom.element('body');
|
|
if (e.target.checked) {
|
|
$root.classList.add('template-with-vertical-menu');
|
|
$body.style.height = $root.style.height = get(this, 'win').innerHeight + 'px';
|
|
} else {
|
|
$root.classList.remove('template-with-vertical-menu');
|
|
$body.style.height = $root.style.height = null;
|
|
}
|
|
},
|
|
},
|
|
});
|