From ae43fa72cdae13bace16a5b8250170e472bb2b87 Mon Sep 17 00:00:00 2001
From: wei <>
Date: Sun, 14 May 2006 00:30:53 +0000
Subject: refactor active controls.

---
 .../pages/ActiveControls/ActiveControl.page        | 11 ++----
 .../pages/ActiveControls/ActiveControl.php         |  5 ++-
 .../pages/ActiveControls/AutoComplete.page         |  2 +-
 .../protected/pages/ActiveControls/Calculator.page |  9 ++++-
 .../pages/ActiveControls/Calculator2.page          | 40 ++++++++++++++++++++++
 .../protected/pages/ActiveControls/Calculator2.php | 20 +++++++++++
 .../pages/ActiveControls/VisibleUpdate.page        |  9 +++++
 .../pages/ActiveControls/VisibleUpdate.php         | 36 +++++++++++++++++++
 8 files changed, 121 insertions(+), 11 deletions(-)
 create mode 100644 tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator2.page
 create mode 100644 tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator2.php
 create mode 100644 tests/FunctionalTests/features/protected/pages/ActiveControls/VisibleUpdate.page
 create mode 100644 tests/FunctionalTests/features/protected/pages/ActiveControls/VisibleUpdate.php

(limited to 'tests/FunctionalTests')

diff --git a/tests/FunctionalTests/features/protected/pages/ActiveControls/ActiveControl.page b/tests/FunctionalTests/features/protected/pages/ActiveControls/ActiveControl.page
index 260ee805..9f17d4ed 100644
--- a/tests/FunctionalTests/features/protected/pages/ActiveControls/ActiveControl.page
+++ b/tests/FunctionalTests/features/protected/pages/ActiveControls/ActiveControl.page
@@ -1,15 +1,10 @@
 <com:TContent ID="Content">
 	<h1>TCallback Demo</h1>
-	<com:TCallbackOptions
-		ID="options1"
-		ClientSide.OnSuccess="alert('ok')"
-		ClientSide.EnablePageStateUpdate="false"  />
 
 	<com:TCallback id="control1" 
-		CallbackOptions="options1"
 		OnCallback="slowResponse" />
 	
-	<com:TActiveLabel id="label1" Text="Name:" AllowCallbackUpdate="false" />
+	<com:TActiveLabel id="label1" Text="Name:" />
 	<com:TTextBox id="text1" />
 	
 	<com:TRequiredFieldValidator 
@@ -18,7 +13,7 @@
 	
 	<com:TActiveLabel id="label2" />
 
-	<com:TActivePanel id="panel1" >
+	<com:TActivePanel id="panel1" ActiveControl.EnableUpdate="false" >
 		<com:TPanel id="panel2" Visible="false">
 		<com:TCheckBoxList>
 			<com:TListItem Text="One" />
@@ -35,7 +30,7 @@
 	<script>
 		Event.observe("<%= $this->button1->ClientID %>", "click", function(event)
 		{
-			<%= $this->control1->CallbackReference %>	
+			<%= $this->control1->ActiveControl->Javascript %>	
 		
 			Event.stop(event);
 		});
diff --git a/tests/FunctionalTests/features/protected/pages/ActiveControls/ActiveControl.php b/tests/FunctionalTests/features/protected/pages/ActiveControls/ActiveControl.php
index 47bab3cc..b2dd2233 100644
--- a/tests/FunctionalTests/features/protected/pages/ActiveControls/ActiveControl.php
+++ b/tests/FunctionalTests/features/protected/pages/ActiveControls/ActiveControl.php
@@ -9,11 +9,13 @@ class ActiveControl extends TPage
 	
 	public function slowResponse($sender, $param)
 	{
-		sleep(1);
+		//sleep(1);
 		$this->label1->setText("The time is ".time()." from ".$sender->ID);
 		$this->label1->setForeColor($this->getColor());
 		$this->label1->renderControl($param->getOutput());
 
+		$this->button2->setEnabled(true);
+		
 		$this->panel2->setVisible(true);
 		$this->panel1->setBackColor($this->getColor());
 		$this->panel1->renderControl($param->getOutput());
@@ -27,6 +29,7 @@ class ActiveControl extends TPage
 	
 	public function fastResponse($sender, $param)
 	{
+		$this->button2->setEnabled(false);
 		$style['color'] = $this->getColor();
 		$this->getCallbackClient()->setStyle($this->label2, $style);
 		$this->getCallbackClient()->shake($this->label2);
diff --git a/tests/FunctionalTests/features/protected/pages/ActiveControls/AutoComplete.page b/tests/FunctionalTests/features/protected/pages/ActiveControls/AutoComplete.page
index 9d85b3fa..b98874cb 100644
--- a/tests/FunctionalTests/features/protected/pages/ActiveControls/AutoComplete.page
+++ b/tests/FunctionalTests/features/protected/pages/ActiveControls/AutoComplete.page
@@ -27,7 +27,7 @@
 	</style>
 	<com:TAutoComplete Style="width: 20em"
 		OnCallback="suggestCountries"
-		ClientSide.Separator=", " 
+		Separator=", " 
 		ResultPanel.CssClass="autocomplete" />
 	
 <p><br /></p>
diff --git a/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator.page b/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator.page
index e3dcb707..f0021299 100644
--- a/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator.page
+++ b/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator.page
@@ -7,7 +7,14 @@
 	=
 	<com:TActiveTextBox id="c" />
 	
-	<com:TActiveButton id="sum" onclick="do_sum" text="Calculate!" />
+	<com:TCallbackOptions id="option1">
+		<prop:ClientSide OnSuccess="alert('ok!')" />
+	</com:TCallbackOptions>
+	
+	<com:TActiveButton id="sum" 
+		onclick="do_sum" 
+		text="Calculate!" 
+		ActiveControl.CallbackOptions="option1" />
 	
 	<com:TRequiredFieldValidator 
 			ControlToValidate="a"
diff --git a/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator2.page b/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator2.page
new file mode 100644
index 00000000..9433154e
--- /dev/null
+++ b/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator2.page
@@ -0,0 +1,40 @@
+<com:TContent ID="Content">
+	<h1>Callback Enabled Calculator 2</h1>
+	<com:TTextBox id="a" />
+	+
+	<com:TTextBox id="b" />
+	=
+	<com:TActivePanel id="panel1">
+		<com:TTextBox id="c" />
+	</com:TActivePanel>
+	
+	<com:TButton id="sum" onclick="do_sum" text="Calculate!" />
+	
+	<com:TRequiredFieldValidator 
+			ControlToValidate="a"
+			ErrorMessage="left summand is required."
+			ControlCssClass="required"
+			Display="None" />
+	<com:TRequiredFieldValidator
+			ControlToValidate="b"
+			ErrorMessage="right summand is requied."
+			ControlCssClass="required"
+			Display="None" />
+
+	<div class="summarybox">
+		<com:TValidationSummary
+			ID="summary"
+			HeaderText="Unable to calculate because" />
+	</div>
+	
+	<com:TCallback ID="callback1" OnCallback="update_callback" />
+	
+	<script>
+		$("<%= $this->sum->ClientID %>").onclick = function(event)
+		{
+			<%= $this->callback1->ActiveControl->Javascript %>
+			return false;
+		};
+	</script>
+	
+</com:TContent>
\ No newline at end of file
diff --git a/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator2.php b/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator2.php
new file mode 100644
index 00000000..df07440f
--- /dev/null
+++ b/tests/FunctionalTests/features/protected/pages/ActiveControls/Calculator2.php
@@ -0,0 +1,20 @@
+<?php
+/*
+ * Created on 13/05/2006
+ */
+
+class Calculator2 extends TPage
+{
+	public function do_sum($sender, $param)
+	{
+		$this->c->Text = floatval($this->a->Text) + floatval($this->b->Text);	
+	}
+	
+	public function update_callback($sender, $param)
+	{
+		$this->do_sum($this->sum, null);
+		$this->panel1->renderControl($param->Output); 
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/tests/FunctionalTests/features/protected/pages/ActiveControls/VisibleUpdate.page b/tests/FunctionalTests/features/protected/pages/ActiveControls/VisibleUpdate.page
new file mode 100644
index 00000000..a8cb3c27
--- /dev/null
+++ b/tests/FunctionalTests/features/protected/pages/ActiveControls/VisibleUpdate.page
@@ -0,0 +1,9 @@
+<com:TContent ID="Content">
+	<h1>TCallback Demo</h1>
+
+	<com:TActiveButton id="button1" Text="Button 1" OnClick="click1" />
+	<com:TActiveButton id="button2" Text="Button 2" OnClick="click2" />
+
+	<com:TActiveLabel id="label1" />
+	
+</com:TContent>
\ No newline at end of file
diff --git a/tests/FunctionalTests/features/protected/pages/ActiveControls/VisibleUpdate.php b/tests/FunctionalTests/features/protected/pages/ActiveControls/VisibleUpdate.php
new file mode 100644
index 00000000..0c9b16d5
--- /dev/null
+++ b/tests/FunctionalTests/features/protected/pages/ActiveControls/VisibleUpdate.php
@@ -0,0 +1,36 @@
+<?php
+/*
+ * Created on 13/05/2006
+ */
+
+class VisibleUpdate extends TPage
+{ 
+	function click1($sender)
+	{
+		$this->label1->setText($this->getButtonState($sender));
+		
+		//$this->button1->setEnabled(false);
+		$this->button1->setVisible(false);
+	//	$this->button2->setEnabled(true);	
+		$this->button2->setVisible(true);	
+	}
+
+	function click2($sender)
+	{
+		$this->label1->setText($this->getButtonState($sender));
+
+	//	$this->button1->setEnabled(true);
+		$this->button1->setVisible(true);
+	///	$this->button2->setEnabled(false);	
+		$this->button2->setVisible(false);
+	}
+	
+	protected function getButtonState($button)
+	{
+		return "Before you clicked on ".$button->Text.
+			", Button 1 was ".($this->button1->Enabled ? 'enabled' : 'disabled').
+			" and Button 2 was ".($this->button2->Enabled ? 'enabled' : 'disabled');
+	}
+}
+
+?>
\ No newline at end of file
-- 
cgit v1.2.3