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.es6
2016-11-15 15:13:39 -05:00

43 lines
889 B
JavaScript

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;
Ember.run.next(() => {
const mounted = widget._findView();
let context;
if (opts.context === 'model') {
const model = widget.findAncestorModel();
context = model;
}
const view = Ember.View.create({
container: mounted.container || widget.register,
templateName: opts.templateName,
context
});
if (Ember.setOwner) {
Ember.setOwner(view, Ember.getOwner(mounted));
}
mounted._connected.push(view);
view.renderer.replaceIn(view, $elem[0]);
});
return elem;
}
update() { }
}
Connector.prototype.type = 'Widget';