This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/widgets/connector.js
2020-03-12 13:29:55 -04:00

42 lines
922 B
JavaScript

import { next } from "@ember/runloop";
import { setOwner, getOwner } from "@ember/application";
export default class Connector {
constructor(widget, opts) {
this.widget = widget;
this.opts = opts;
}
init() {
const $elem = $(`<div class='widget-connector'></div>`);
const elem = $elem[0];
const { opts, widget } = this;
next(() => {
const mounted = widget._findView();
if (opts.component) {
const connector = widget.register.lookupFactory(
"component:connector-container"
);
const view = connector.create({
layoutName: `components/${opts.component}`,
model: widget.findAncestorModel()
});
setOwner(view, getOwner(mounted));
mounted._connected.push(view);
view.renderer.appendTo(view, $elem[0]);
}
});
return elem;
}
update() {}
}
Connector.prototype.type = "Widget";