import BasicWidget from "./basic_widget.js";
import optionService from "../services/options.js";
export default class SidePaneContainer extends BasicWidget {
constructor(appContext, side, widgets) {
super(appContext);
this.side = side;
this.children = widgets;
}
render() {
this.$widget = $(`
`);
for (const widget of this.children) {
this.$widget.append(widget.render());
}
return this.$widget;
}
async eventReceived(name, data, sync = false) {
const options = await optionService.waitForOptions();
if (options.is(this.side + 'PaneVisible')) {
super.eventReceived(name, data, sync);
}
}
sidebarVisibilityChangedListener({side, show}) {
if (this.side === side) {
this.toggle(show);
this.eventReceived('lazyLoaded');
}
}
}