Details
-
Improvement
-
Status: Open
-
Normal
-
Resolution: Unresolved
-
5.5.0
-
None
-
None
Description
Using a SPA to render components together with a manage content button is not fully supported yet. When a manage content button is used to select a new document for a component, the SPA is not informed about the changes, but instead the template seems to get re-rendered by the channel manager.
During some investigation we found out that in the overlay service (_pickPath) the the following line is used to render the component when a document is picked:
this._renderComponent(component.getId());
This line does not take the SPA into account, as for example is done in the Hippo iframe controller (_renderComponent):
if (!this.SpaService.renderComponent(componentId, propertiesMap)) {
this.PageStructureService.renderComponent(componentId, propertiesMap);
}
However, using this renderComponent method in the overlay service causes a cyclic dependency (between overlay service and the SPA service).
When using a work around, by publishing a 'render-component' event through Ext js (so that the render component of the Hippo iframe controller gets triggered), proved that this change would notify the SPA correctly and thereby the SPA was able to act on it accordingly and thus be able to render the component again.
this.CmsService.getParentIFramePanel().hostToIframe.publish('render-component', component.getId());
Attachments
Issue Links
- relates to
-
CMS-14729 Add more channel events
- Needs priority