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