(function() {
/**
* @typedef {Help4.control2.Control.Params} Help4.control2.bubble.footer.BubbleFooter.Params
* @property {Help4.control2.bubble.Bubble} bubble - the corresponding bubble control
*/
/**
* Footer base class for bubbles.
* @augments Help4.control2.Control
*/
Help4.control2.bubble.footer.BubbleFooter = class extends Help4.control2.Control {
/**
* @override
* @param {Help4.control2.bubble.footer.BubbleFooter.Params} [params]
* @param {Help4.jscore.ControlBase.Params} [derived]
*/
constructor(params, derived) {
params ||= {};
const {bubble} = params;
if (!bubble) throw new Error('bubble parameter is required!');
const {TYPES: T} = Help4.jscore.ControlBase;
super(params, {
params: {
id: {init: `${bubble.id}-footer`},
tag: {init: 'footer'},
autoEvent: {init: true}, // to monitor mouseout & mouseover events; XRAY-2615, XRAY-4628
bubble: {type: T.instance, init: bubble, mandatory: true, private: true}
},
config: {
css: 'control-bubble-footer footer'
},
derived
});
}
}
})();