From 15f6747485b5912f657c2c0fce8f41c01c70d2ad Mon Sep 17 00:00:00 2001 From: "ctrlaltca@gmail.com" <> Date: Fri, 24 Jun 2011 22:12:36 +0000 Subject: merged in the patch for progressive rendering from #235; unit tests doesn't evidence any regression, but of course more proper testing is needed --- framework/Web/UI/TForm.php | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'framework/Web/UI/TForm.php') diff --git a/framework/Web/UI/TForm.php b/framework/Web/UI/TForm.php index 561b59cb..f1e8df5a 100644 --- a/framework/Web/UI/TForm.php +++ b/framework/Web/UI/TForm.php @@ -4,7 +4,7 @@ * * @author Qiang Xue * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2011 PradoSoft + * @copyright Copyright © 2005-2011 PradoSoft * @license http://www.pradosoft.com/license/ * @version $Id$ * @package System.Web.UI @@ -72,11 +72,6 @@ class TForm extends TControl public function render($writer) { $page=$this->getPage(); - $page->beginFormRender($writer); - $htmlWriter = Prado::createComponent($this->GetResponse()->getHtmlWriterType(), new TTextWriter()); - $this->renderChildren( $htmlWriter ); - $content = $htmlWriter->flush(); - $page->endFormRender($writer); $this->addAttributesToRender($writer); $writer->renderBeginTag('form'); @@ -84,18 +79,27 @@ class TForm extends TControl $cs=$page->getClientScript(); if($page->getClientSupportsJavaScript()) { - $cs->renderHiddenFields($writer); - $cs->renderScriptFiles($writer); + $cs->renderHiddenFieldsBegin($writer); + $cs->renderScriptFilesBegin($writer); $cs->renderBeginScripts($writer); - $writer->write($content); - + $page->beginFormRender($writer); + $this->renderChildren($writer); + $cs->renderHiddenFieldsEnd($writer); + $page->endFormRender($writer); + + $cs->renderScriptFilesEnd($writer); $cs->renderEndScripts($writer); } else { - $cs->renderHiddenFields($writer); - $writer->write($content); + $cs->renderHiddenFieldsBegin($writer); + + $page->beginFormRender($writer); + $this->renderChildren($writer); + $page->endFormRender($writer); + + $cs->renderHiddenFieldsEnd($writer); } $writer->renderEndTag(); -- cgit v1.2.3