Source: control2/Cover.js

(function() {
    /**
     * @typedef {Help4.control2.Control.Params} Help4.control2.Cover.Params
     */

    /**
     * A control to put a cover on top of the screen.
     * @augments Help4.control2.Control
     */
    Help4.control2.Cover = class extends Help4.control2.Control {
        /**
         * @override
         * @param {Help4.control2.Cover.Params} [params]
         * @param {Help4.jscore.ControlBase.Params} [derived]
         */
        constructor(params, derived) {
            super(params, {
                params: {
                    autoEvent: {init: true}
                },
                config: {
                    css: 'control-cover'
                },
                derived
            });
        }

        /**
         * @override
         * @param {HTMLElement} dom - control DOM
         */
        _onDomCreated(dom) {
            this.align();
        }

        /**
         * @returns {Help4.control2.Cover}
         */
        align() {
            this.setStyle({
                width: window.innerWidth + 'px',
                height: window.innerHeight + 'px',
            });
            return this;
        }
    }
})();