Browse Source

Trigger `component:mount` once the DOM is appended to the parent. Closes #4136

pull/4141/head
Artur Arseniev 5 years ago
parent
commit
32547184b8
  1. 5
      src/dom_components/view/ComponentView.js
  2. 11
      src/dom_components/view/ComponentsView.js

5
src/dom_components/view/ComponentView.js

@ -503,11 +503,8 @@ export default Backbone.View.extend({
}, },
postRender() { postRender() {
const { em, model, modelOpt } = this; if (!this.modelOpt.temporary) {
if (!modelOpt.temporary) {
this.onRender(this._clbObj()); this.onRender(this._clbObj());
em && em.trigger('component:mount', model);
} }
}, },

11
src/dom_components/view/ComponentsView.js

@ -61,8 +61,7 @@ export default Backbone.View.extend({
const fragment = fragmentEl || null; const fragment = fragmentEl || null;
const { frameView = {} } = config; const { frameView = {} } = config;
const sameFrameView = frameView.model && model.getView(frameView.model); const sameFrameView = frameView.model && model.getView(frameView.model);
const dt = const dt = opts.componentTypes || (em && em.get('DomComponents').getTypes());
opts.componentTypes || (em && em.get('DomComponents').getTypes());
const type = model.get('type') || 'default'; const type = model.get('type') || 'default';
let viewObject = this.compView; let viewObject = this.compView;
@ -77,7 +76,7 @@ export default Backbone.View.extend({
new viewObject({ new viewObject({
model, model,
config, config,
componentTypes: dt componentTypes: dt,
}); });
let rendered; let rendered;
@ -115,6 +114,10 @@ export default Backbone.View.extend({
} }
} }
if (!model.opt.temporary) {
em?.trigger('component:mount', model);
}
return rendered; return rendered;
}, },
@ -132,5 +135,5 @@ export default Backbone.View.extend({
el.innerHTML = ''; el.innerHTML = '';
el.appendChild(frag); el.appendChild(frag);
return this; return this;
} },
}); });

Loading…
Cancel
Save