diff --git a/WebWidgets/ExtJS/include/Poco/WebWidgets/ExtJS/DynamicCodeLoaderRenderer.h b/WebWidgets/ExtJS/include/Poco/WebWidgets/ExtJS/DynamicCodeLoaderRenderer.h index 4e316b016..79a2b66bc 100644 --- a/WebWidgets/ExtJS/include/Poco/WebWidgets/ExtJS/DynamicCodeLoaderRenderer.h +++ b/WebWidgets/ExtJS/include/Poco/WebWidgets/ExtJS/DynamicCodeLoaderRenderer.h @@ -66,7 +66,7 @@ public: void renderBody(const Renderable* pRenderable, const RenderContext& context, std::ostream& ostr); /// Emits code for the page body to the given output stream. - void renderVariables(const DynamicCodeLoader* pLoader, const RenderContext& context, std::ostream& ostr); + static void renderVariables(const DynamicCodeLoader* pLoader, const RenderContext& context, std::ostream& ostr); // You must first call renderVariables then renderHead private: diff --git a/WebWidgets/ExtJS/src/DynamicCodeLoaderRenderer.cpp b/WebWidgets/ExtJS/src/DynamicCodeLoaderRenderer.cpp index 6e42242bb..d28c6de3f 100644 --- a/WebWidgets/ExtJS/src/DynamicCodeLoaderRenderer.cpp +++ b/WebWidgets/ExtJS/src/DynamicCodeLoaderRenderer.cpp @@ -119,7 +119,6 @@ void DynamicCodeLoaderRenderer::renderHead(const Renderable* pRenderable, const } // write loadAll - str << "function " << pLoader->loadAllFunctionName() << "(){" << std::endl; std::vector::const_iterator it = deps.begin(); str << "function " << pLoader->loadAllFunctionName() << "(){" << std::endl; diff --git a/WebWidgets/ExtJS/src/PageRenderer.cpp b/WebWidgets/ExtJS/src/PageRenderer.cpp index ba49517ae..e0a88359b 100644 --- a/WebWidgets/ExtJS/src/PageRenderer.cpp +++ b/WebWidgets/ExtJS/src/PageRenderer.cpp @@ -37,6 +37,7 @@ #include "Poco/WebWidgets/ExtJS/PageRenderer.h" #include "Poco/WebWidgets/ExtJS/Utility.h" #include "Poco/WebWidgets/ExtJS/PanelRenderer.h" +#include "Poco/WebWidgets/ExtJS/DynamicCodeLoaderRenderer.h" #include "Poco/WebWidgets/Page.h" #include "Poco/WebWidgets/Panel.h" #include "Poco/WebWidgets/RenderContext.h" @@ -146,13 +147,20 @@ void PageRenderer::renderHead(const Renderable* pRenderable, const RenderContext ostr << "oHead.appendChild(oScript);" << std::endl; ostr << "}" << std::endl; } - std::set::const_iterator itDC = dcls.begin(); - for (; itDC != dcls.end(); ++itDC) { - (*itDC)->renderHead(context, ostr); + std::set::const_iterator itDC = dcls.begin(); + for (; itDC != dcls.end(); ++itDC) + { + DynamicCodeLoaderRenderer::renderVariables((*itDC), context, ostr); + } + } + { + std::set::const_iterator itDC = dcls.begin(); + for (; itDC != dcls.end(); ++itDC) + { + (*itDC)->renderHead(context, ostr); + } } - - ostr << "Ext.onReady(function() {"; ostr << "var " << VAR_LOCALTMP << ";"; // tmp variable needed for table renderer