I'm using seaside 3.4.8 and a component seaside-plotlyjs to make a javascript plot. This component uses the updateRoot:
selector to add in a link to the plotly javascript bundle. Everything is fine until I make the component a child of another component, in which case the plotly library is no longer added to the site. If I take the contents of the updateRoot:
selector and move it into the root component, then it works again. Is it possible to have the updateRoot:
selector be independent of whether my component is the root or a child of another one to improve the composability of my components?
ChildComponent>>updateRoot:
updateRoot: anHtmlRoot
super updateRoot: anHtmlRoot.
anHtmlRoot javascript url: 'https://cdn.plot.ly/plotly-2.4.2.min.js'
RootComponent>>updateRoot:
updateRoot: anHtmlRoot
super updateRoot: anHtmlRoot.
anHtmlRoot stylesheet url:
'https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.css'.
anHtmlRoot stylesheet url:
'https://cdnjs.cloudflare.com/ajax/libs/milligram/1.4.1/milligram.css'.
Did you implement a children
method on RootComponent
that returns the child component ?
Seaside will use the result of the children
method to know the component tree. A common mistake is to forget this method as many parts of Seaside work just fine without it returning all child component instances.