diff options
Diffstat (limited to 'demos/quickstart/protected')
6 files changed, 109 insertions, 6 deletions
| diff --git a/demos/quickstart/protected/controls/DocLink.php b/demos/quickstart/protected/controls/DocLink.php index 74398efb..e8ca7dfa 100644 --- a/demos/quickstart/protected/controls/DocLink.php +++ b/demos/quickstart/protected/controls/DocLink.php @@ -22,7 +22,8 @@ class DocLink extends THyperLink  		{
  			$classFile=array_pop($paths).'.html';
  			$this->setNavigateUrl(self::BASE_URL . '/' . implode('.',$paths) . '/' . $classFile);
 -			$this->setText('API Manual');
 +			if($this->getText() === '')
 +				$this->setText('API Manual');
  		}
  	}
  }
 diff --git a/demos/quickstart/protected/pages/Advanced/Themes.page b/demos/quickstart/protected/pages/Advanced/Themes.page index 5ba0a121..07435928 100644 --- a/demos/quickstart/protected/pages/Advanced/Themes.page +++ b/demos/quickstart/protected/pages/Advanced/Themes.page @@ -28,6 +28,9 @@ This will apply the 'Blue' skin to the button. Note, the initial property values  <p>
  To use the Javascript files and CSS files contained in a theme, a <tt>THead</tt> control must be placed on the page template. This is because the theme will register those files with the page and <tt>THead</tt> is the right place to load those files.
  </p>
 +<p>
 +It is possible to specify media types of CSS files contained in a theme. By default, a CSS file applies to all media types. If the CSS file is named like <tt>mystyle.print.css</tt>, it will be applied only to <tt>print</tt> media type. As another example, <tt>mystyle.screen.css</tt> applies to <tt>screen</tt> media only, and <tt>mystyle.css</tt> applies to all media types.
 +</p>
  <h2 id="5905">Theme Storage</h2>
  <p>
 diff --git a/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.page b/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.page new file mode 100644 index 00000000..e96e7c12 --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.page @@ -0,0 +1,41 @@ +<com:TContent ID="body">
 +	<h1>Validator Toggle - Server and Client Side</h1>
 +	<com:TLabel ForControl="text1" Text="Text 1:" />
 +	<com:TTextBox ID="text1" />
 +	<com:TRequiredFieldValidator
 +		ID="validator1"
 +		ControlToValidate="text1" 
 +		ErrorMessage="Text 1 is required" />
 +	<div>
 +	<com:TCheckBox ID="check1" Text="More..." />
 +	</div>
 +	
 +	<com:TPanel ID="panel1" Style="display:none" > 
 +		<com:TLabel ForControl="text2" Text="Text 2:" />
 +		<com:TTextBox ID="text2" />
 +		
 +	<com:TRequiredFieldValidator
 +		ID="validator2"
 +		ControlToValidate="text2"
 +		OnValidate="validator2_onValidate"
 +		OnPreRender="validate2_onPostValidate"
 +		ErrorMessage="Text 2 is required">
 +	<prop:ClientSide.OnValidate>
 +		validator.enabled = $("<%= $this->check1->ClientID %>").checked;
 +	</prop:ClientSide.OnValidate>
 +	</com:TRequiredFieldValidator>	
 +	
 +	</com:TPanel>
 +	
 +	<com:TButton ID="button1" Text="Submit!" />
 +	
 +	<com:TClientScript>
 +	Event.OnLoad(function()
 +	{
 +		Event.observe("<%= $this->check1->ClientID %>", "click", function(ev)
 +		{
 +			$("<%= $this->panel1->ClientID %>").toggle();
 +		});
 +	});
 +	</com:TClientScript>
 +</com:TContent>
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.php b/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.php new file mode 100644 index 00000000..c5440996 --- /dev/null +++ b/demos/quickstart/protected/pages/Controls/Samples/TClientSideValidator/Home.php @@ -0,0 +1,23 @@ +<?php
 +
 +class Home extends TPage
 +{
 +	function validator2_onValidate($sender, $param)
 +	{
 +		$sender->Enabled = $this->check1->Checked;
 +	}
 +	
 +	function validate2_onPostValidate($sender, $param)
 +	{
 +		$sender->Enabled = true;
 +	}
 +	
 +	function onPreRender($param)
 +	{
 +		parent::onPreRender($param);
 +		$this->panel1->Style = 
 +			$this->check1->Checked ? "display:block" : "display:none";		
 +	}	
 +}
 +
 +?>
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Validation.page b/demos/quickstart/protected/pages/Controls/Validation.page index 12836b8c..2241f346 100644 --- a/demos/quickstart/protected/pages/Controls/Validation.page +++ b/demos/quickstart/protected/pages/Controls/Validation.page @@ -151,4 +151,39 @@ The summary can be displayed as a list, a bulleted list, or a single paragraph b  </p>
  <com:RunBar PagePath="Controls.Samples.TValidationSummary.Home" />
 +<h2>Client and Server Side Conditional Validation</h2>
 +<p>
 +	All validators contains the following events.
 +	<ul>
 +		<li>The <tt>OnValidate</tt> event is raise before the validator validation functions are called.</li>
 +		<li>The <tt>OnSuccess</tt> event is raised after the validator has successfully validate the control.</li>
 +		<li>The <tt>OnError</tt> event is raised after the validator fails validation.</li>
 +	</ul>
 +	The corresponding events for the client side is available as sub-properties
 +	of the <tt>ClientSide</tt> property of the validator. 
 +</p>
 +<p>The following example pop-up a message saying "hello" when the validator fails on the client-side.
 +<com:TTextHighlighter Language="prado" CssClass="source">
 +<com:TRequiredFieldValidator ... >
 +	<prop:ClientSide.OnError>
 +		alert("hello");
 +	</prop:ClientSide.OnError>
 +</com:TRequiredFieldValidator>
 +</com:TTextHighlighter>
 +The resulting client-side event callback function is of the following form.
 +<com:TTextHighlighter Language="javascript" CssClass="source">
 +function onErrorHandler(validator, sender)
 +{
 +	alert("hello");
 +}
 +</com:TTextHighlighter>
 +Where <tt>validator</tt> is the current client-side validator and <tt>sender</tt>
 +is the control that invoked the validator.
 +</p>
 +<h3>Conditional Validation Example</h3>
 +<p>
 +The following example show the use of client-side and server side validator events. The example
 +demonstrates conditional validation. 
 +<com:RunBar PagePath="Controls.Samples.TClientSideValidator.Home" />
 +</p>
  </com:TContent>
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Search.php b/demos/quickstart/protected/pages/Search.php index f1d07ffa..d2dfa7da 100644 --- a/demos/quickstart/protected/pages/Search.php +++ b/demos/quickstart/protected/pages/Search.php @@ -13,11 +13,11 @@ class Search extends TPage  			$hits_1 =  $quickstart->find($text);
  			$this->quickstart_results->setDataSource($hits_1);
  			$this->quickstart_results->dataBind();
 -			
 +
  			$this->emptyResult->setVisible(!count($hits_1));
  		}
  	}
 -	
 +
  	public function highlightSearch($text)
  	{
  		$words = str_word_count($text, 1);
 @@ -33,7 +33,7 @@ class Search extends TPage  				break;
  			}
  		}
 -		
 +
  		$min = 	$where - 15 < 0 ? 0 : $where - 15;
  		$max = 	$where + 15 > $t ? $t : $where + 15;
  		$subtext = array_splice($words, $min, $max-$min);
 @@ -41,13 +41,13 @@ class Search extends TPage  		$suffix = $max == $t ? '' : '...';
  		return $prefix.implode(' ', $subtext).$suffix;
  	}
 -	
 +
  	protected function containsKeys($word, $keys)
  	{
  		foreach($keys as $key)
  		{
  			if(is_int(strpos($word, $key)))
 -				return true;	
 +				return true;
  		}
  		return false;
  	}
 | 
