From e2614a35a70f609bccc1d65df6f1b92ff1fef5ef Mon Sep 17 00:00:00 2001 From: wei <> Date: Wed, 9 May 2007 02:51:02 +0000 Subject: Add compact db demo, add THtmlArea::EnableCompression, add ClientSide options for TColorPicker --- .gitattributes | 2 + build.xml | 89 +++++++++++++---- buildscripts/phing/tasks/PradoPackageTask.php | 5 +- demos/northwind-db/protected/data/Northwind.db | Bin 583680 -> 583680 bytes demos/northwind-db/protected/database/sqlmap.xml | 107 +++++++++++++++++++++ .../source/prado/colorpicker/colorpicker.js | 2 + .../source/prado/colorpicker/default.css | 25 ++--- framework/Web/UI/WebControls/TColorPicker.php | 51 +++++++++- framework/Web/UI/WebControls/THtmlArea.php | 34 ++++++- .../tickets/protected/pages/Ticket609.page | 11 +++ 10 files changed, 284 insertions(+), 42 deletions(-) create mode 100644 demos/northwind-db/protected/database/sqlmap.xml create mode 100644 tests/FunctionalTests/tickets/protected/pages/Ticket609.page diff --git a/.gitattributes b/.gitattributes index eef497b2..8a52fca2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -899,6 +899,7 @@ demos/northwind-db/protected/database/Region.php -text demos/northwind-db/protected/database/Shipper.php -text demos/northwind-db/protected/database/Supplier.php -text demos/northwind-db/protected/database/Territory.php -text +demos/northwind-db/protected/database/sqlmap.xml -text demos/northwind-db/protected/pages/Home.page -text demos/northwind-db/protected/pages/Home.php -text demos/northwind-db/protected/pages/northwind.gif -text @@ -2573,6 +2574,7 @@ tests/FunctionalTests/tickets/protected/pages/Ticket591.php -text tests/FunctionalTests/tickets/protected/pages/Ticket593.page -text tests/FunctionalTests/tickets/protected/pages/Ticket605.page -text tests/FunctionalTests/tickets/protected/pages/Ticket606.page -text +tests/FunctionalTests/tickets/protected/pages/Ticket609.page -text tests/FunctionalTests/tickets/protected/pages/Ticket614.page -text tests/FunctionalTests/tickets/protected/pages/Ticket68.page -text tests/FunctionalTests/tickets/protected/pages/Ticket72.page -text diff --git a/build.xml b/build.xml index d4cccf51..fa384404 100644 --- a/build.xml +++ b/build.xml @@ -156,24 +156,24 @@ - + + - - + + - + PRADO Framework for PHP 5, version ${prado.version}. See docs/ directory for documentation. - + - + - + - + - + @@ -214,26 +214,26 @@ - + - + + destfile="${build.compact.dir}/prado-db/messages.txt" /> - - + + @@ -243,10 +243,65 @@ files="IMappedStatement.php,TMappedStatement.php,TCachingStatement.php,TUpdateMappedStatement.php,TDeleteMappedStatement.php,TInsertMappedStatement.php,TPreparedCommand.php,TPreparedStatement.php,TPreparedStatementFactory.php,TSelectMappedStatement.php,TSimpleDynamicSql.php,TStaticSql.php"/> + destfile="${build.compact.dir}/prado-db/messages.txt" /> - + + + + + + + + + + setDbConnection($conn); + +$manager = new TSqlMapManager($conn); +$manager->configureXml('./database/sqlmap.xml'); +$sqlmap = $manager->getSqlMapGateway(); + +//start playing + +foreach(Employee::finder()->findAll() as $employee) + var_dump($employee->LastName); + +foreach(Region::finder()->withTerritories()->findAll() as $region) +{ + var_dump($region->RegionDescription); + foreach($region->Territories as $territory) + var_dump($territory->TerritoryDescription); +} + +var_dump($sqlmap->queryForList('products-with-price', 50)); + +?>]]> + diff --git a/buildscripts/phing/tasks/PradoPackageTask.php b/buildscripts/phing/tasks/PradoPackageTask.php index 8784bb77..e54a4093 100644 --- a/buildscripts/phing/tasks/PradoPackageTask.php +++ b/buildscripts/phing/tasks/PradoPackageTask.php @@ -1,5 +1,4 @@ -getMode()', 'true', $content); $content = str_replace('TApplicationMode::Debug', 'true', $content); diff --git a/demos/northwind-db/protected/data/Northwind.db b/demos/northwind-db/protected/data/Northwind.db index 9d6b08b4..9503b1e2 100644 Binary files a/demos/northwind-db/protected/data/Northwind.db and b/demos/northwind-db/protected/data/Northwind.db differ diff --git a/demos/northwind-db/protected/database/sqlmap.xml b/demos/northwind-db/protected/database/sqlmap.xml new file mode 100644 index 00000000..bf98796e --- /dev/null +++ b/demos/northwind-db/protected/database/sqlmap.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/framework/Web/Javascripts/source/prado/colorpicker/colorpicker.js b/framework/Web/Javascripts/source/prado/colorpicker/colorpicker.js index 746a0caf..557b4b51 100644 --- a/framework/Web/Javascripts/source/prado/colorpicker/colorpicker.js +++ b/framework/Web/Javascripts/source/prado/colorpicker/colorpicker.js @@ -461,6 +461,8 @@ Object.extend(Prado.WebUI.TColorPicker.prototype, this.button.style.backgroundColor = color.toString(); if(typeof(this.onChange) == "function") this.onChange(color); + if(this.options.OnColorSelected) + this.options.OnColorSelected(this,color); }, getFullPickerContainer : function(pickerID) diff --git a/framework/Web/Javascripts/source/prado/colorpicker/default.css b/framework/Web/Javascripts/source/prado/colorpicker/default.css index 67235c08..7bbc08d5 100644 --- a/framework/Web/Javascripts/source/prado/colorpicker/default.css +++ b/framework/Web/Javascripts/source/prado/colorpicker/default.css @@ -3,8 +3,6 @@ .TColorPicker_button { - border: 1px solid #919EA9; - background-color: #fff; } .TColorPicker @@ -49,23 +47,16 @@ } /** UI **/ -.TColorPicker_button -{ - position: absolute; - font-size: 0; - padding: 1px; - margin-left: 1px; -} - .TColorPicker_button img { - width: 18px; - height: 18px; -} - -* html .TColorPicker_button -{ - margin-top: 1px; + border: 2px ridge ActiveBorder; + background-color: #fff; + padding: 1px; + height: 16px; + width: 16px; + margin: 1px; + margin-bottom: -6px; + margin-bottom: expression(-4); /** IE hack **/ } .TColorPicker diff --git a/framework/Web/UI/WebControls/TColorPicker.php b/framework/Web/UI/WebControls/TColorPicker.php index 5f0c0b03..51e51ec3 100644 --- a/framework/Web/UI/WebControls/TColorPicker.php +++ b/framework/Web/UI/WebControls/TColorPicker.php @@ -24,6 +24,8 @@ class TColorPicker extends TTextBox { const SCRIPT_PATH = 'prado/colorpicker'; + private $_clientSide; + /** * @return boolean whether the color picker should pop up when the button is clicked. */ @@ -105,6 +107,24 @@ class TColorPicker extends TTextBox $this->setViewState('CancelButtonText', $value, 'Cancel'); } + /** + * @return TColorPickerClientSide javascript event options. + */ + public function getClientSide() + { + if(is_null($this->_clientSide)) + $this->_clientSide = $this->createClientSide(); + return $this->_clientSide; + } + + /** + * @return TColorPickerClientSide javascript validator event options. + */ + protected function createClientSide() + { + return new TColorPickerClientSide; + } + /** * Get javascript color picker options. * @return array color picker client-side options @@ -122,7 +142,7 @@ class TColorPicker extends TTextBox $options['OKButtonText'] = $this->getOKButtonText(); $options['CancelButtonText'] = $this->getCancelButtonText(); } - + $options = array_merge($options,$this->getClientSide()->getOptions()->toArray()); return $options; } @@ -221,4 +241,33 @@ class TColorPickerMode extends TEnumerable const Full='Full'; } +/** + * TColorPickerClientSide class. + * + * Client-side javascript code options. + * + * @author Wei Zhuo + * @version $Id$ + * @package System.Web.UI.WebControls + * @since 3.1 + */ +class TColorPickerClientSide extends TClientSideOptions +{ + /** + * @return string javascript code for when a color is selected. + */ + public function getOnColorSelected() + { + return $this->getOption('OnColorSelected'); + } + + /** + * @param string javascript code for when a color is selected. + */ + public function setOnColorSelected($javascript) + { + $this->setFunction('OnColorSelected', $javascript); + } +} + ?> \ No newline at end of file diff --git a/framework/Web/UI/WebControls/THtmlArea.php b/framework/Web/UI/WebControls/THtmlArea.php index 91f0f033..efe3e6d9 100644 --- a/framework/Web/UI/WebControls/THtmlArea.php +++ b/framework/Web/UI/WebControls/THtmlArea.php @@ -268,9 +268,27 @@ class THtmlArea extends TTextBox return $this->getViewState('CustomPluginPath'); } + /** + * @return boolean enable compression of the javascript files, default is true. + */ + public function getEnableCompression() + { + return $this->getViewState('EnableCompression', true); + } + + /** + * @param boolean enable compression of the javascript files, default is true. + */ + public function setEnableCompression($value) + { + $this->setViewState('EnableCompression', TPropertyValue::ensureBoolean($value)); + } + public function onPreRender($param) { - $this->preLoadCompressedScript(); + $this->loadJavascriptLibrary(); + if($this->getEnableCompression()) + $this->preLoadCompressedScript(); } /** @@ -310,8 +328,6 @@ class THtmlArea extends TTextBox protected function preLoadCompressedScript() { $scripts = $this->getPage()->getClientScript(); - if(!$scripts->isScriptFileRegistered('prado:THtmlArea')) - $scripts->registerScriptFile('prado:THtmlArea', $this->getScriptUrl()); $key = 'prado:THtmlArea:compressed'; if(!$scripts->isBeginScriptRegistered($key)) { @@ -326,6 +342,13 @@ class THtmlArea extends TTextBox } } + protected function loadJavascriptLibrary() + { + $scripts = $this->getPage()->getClientScript(); + if(!$scripts->isScriptFileRegistered('prado:THtmlArea')) + $scripts->registerScriptFile('prado:THtmlArea', $this->getScriptUrl()); + } + /** * Registers the editor javascript file and code to initialize the editor. */ @@ -342,7 +365,10 @@ class THtmlArea extends TTextBox */ protected function getScriptUrl() { - return $this->getScriptDeploymentPath().'/tiny_mce/tiny_mce_gzip.js'; + if($this->getEnableCompression()) + return $this->getScriptDeploymentPath().'/tiny_mce/tiny_mce_gzip.js'; + else + return $this->getScriptDeploymentPath().'/tiny_mce/tiny_mce.js'; } /** diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket609.page b/tests/FunctionalTests/tickets/protected/pages/Ticket609.page new file mode 100644 index 00000000..741f4d65 --- /dev/null +++ b/tests/FunctionalTests/tickets/protected/pages/Ticket609.page @@ -0,0 +1,11 @@ + + + + + + alert(parameter); + + +Description + + \ No newline at end of file -- cgit v1.2.3