I have an apex:pageBlockSection defined within an apex:component. The component is used within an apex:pageBlock of a Visualforce page. It isn't rendered when the page initially loads.
When a user presses the the arrow on the page block section a JavaScript error is thrown.
Uncaught ReferenceError: twistSection is not defined
Why is this Salesforce JavaScript function missing?
I did find the twistSection
function defined on another page. It was defined in a script element of the HTML page (rather than an external script).
I guess I could copy this script definition into my component and define the missing function myself if required. My only concern is if when Salesforce updates their script mine will break.
The other backup plan is to put collapsible="false"
on the pageBlockSection. Feels a bit like admitting defeat though.
Best Answer
As an experiment I added a mock
apex:pageBlockSection
immediately after theapex:pageBlock
on the page.This seemed sufficient to get Salesforce to inject the missing JavaScript function. Note that it didn't need to be rendered to get the script defined.