From cb90a05700b7ca6b621420598ff232aa2285310c Mon Sep 17 00:00:00 2001 From: "ctrlaltca@gmail.com" <> Date: Thu, 2 Jun 2011 19:49:27 +0000 Subject: upported to trunk/ last doc changes, everything should be fine now --- .../pages/ActiveControls/ActiveCheckBoxList.page | 2 +- .../pages/ActiveControls/ActiveDataGrid.page | 12 +-- .../pages/ActiveControls/ActiveDataList.page | 2 +- .../pages/ActiveControls/ActiveDatePicker.page | 16 +++ .../pages/ActiveControls/ActiveDropDownList.page | 2 +- .../pages/ActiveControls/ActiveFileUpload.page | 33 ++++++ .../pages/ActiveControls/ActiveHiddenField.page | 12 +++ .../pages/ActiveControls/ActiveHyperLink.page | 2 +- .../pages/ActiveControls/ActiveImage.page | 2 +- .../pages/ActiveControls/ActiveImageButton.page | 2 +- .../pages/ActiveControls/ActiveLabel.page | 2 +- .../pages/ActiveControls/ActiveLinkButton.page | 2 +- .../pages/ActiveControls/ActiveListBox.page | 2 +- .../pages/ActiveControls/ActiveMultiView.page | 2 +- .../pages/ActiveControls/ActivePanel.page | 2 +- .../pages/ActiveControls/ActiveRadioButton.page | 2 +- .../ActiveControls/ActiveRadioButtonList.page | 2 +- .../pages/ActiveControls/ActiveRepeater.page | 2 +- .../pages/ActiveControls/ActiveTextBox.page | 2 +- .../pages/ActiveControls/AutoComplete.page | 4 +- .../protected/pages/ActiveControls/Callback.page | 34 +++++++ .../pages/ActiveControls/CallbackClientScript.page | 2 +- .../pages/ActiveControls/CallbackClientSide.page | 6 +- .../ActiveControls/CallbackEventParameter.page | 26 +++++ .../protected/pages/ActiveControls/DragDrop.page | 4 +- .../ActiveControls/EventTriggeredCallback.page | 15 +++ .../protected/pages/ActiveControls/Home.page | 112 ++++++++++++++++----- .../pages/ActiveControls/InPlaceTextBox.page | 42 ++++++++ .../Samples/TActiveDatePicker/Home.page | 17 ++++ .../Samples/TActiveDatePicker/Home.php | 11 ++ .../Samples/TActiveFileUpload/Home.page | 15 +++ .../Samples/TActiveFileUpload/Home.php | 21 ++++ .../ActiveControls/Samples/TCallback/Home.page | 57 +++++++++++ .../ActiveControls/Samples/TCallback/Home.php | 24 +++++ .../Samples/TEventTriggeredCallback/Home.page | 18 ++++ .../Samples/TEventTriggeredCallback/Home.php | 16 +++ .../Samples/TInPlaceTextBox/Home.page | 17 ++++ .../Samples/TInPlaceTextBox/Home.php | 11 ++ .../Samples/TTimeTriggeredCallback/Home.page | 24 +++++ .../Samples/TTimeTriggeredCallback/Home.php | 22 ++++ .../Samples/TValueTriggeredCallback/Home.page | 17 ++++ .../Samples/TValueTriggeredCallback/Home.php | 11 ++ .../ActiveControls/TimeTriggeredCallback.page | 16 +++ .../ActiveControls/ValueTriggeredCallback.page | 18 ++++ .../protected/pages/Controls/Captcha.page | 18 ++-- .../pages/Controls/ClientScriptLoader.page | 12 +-- .../protected/pages/Controls/Conditional.page | 6 +- .../protected/pages/Controls/Keyboard.page | 12 +-- .../quickstart/protected/pages/Controls/List.page | 12 +++ .../protected/pages/Controls/Slider.page | 12 +-- .../protected/pages/Controls/Standard.page | 4 +- .../protected/pages/Controls/Validation.page | 16 +++ 52 files changed, 667 insertions(+), 88 deletions(-) create mode 100644 demos/quickstart/protected/pages/ActiveControls/ActiveDatePicker.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/ActiveFileUpload.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/ActiveHiddenField.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/Callback.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/CallbackEventParameter.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/EventTriggeredCallback.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/InPlaceTextBox.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDatePicker/Home.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDatePicker/Home.php create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TActiveFileUpload/Home.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TActiveFileUpload/Home.php create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TCallback/Home.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TCallback/Home.php create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TEventTriggeredCallback/Home.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TEventTriggeredCallback/Home.php create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TInPlaceTextBox/Home.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TInPlaceTextBox/Home.php create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TTimeTriggeredCallback/Home.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TTimeTriggeredCallback/Home.php create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TValueTriggeredCallback/Home.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/Samples/TValueTriggeredCallback/Home.php create mode 100644 demos/quickstart/protected/pages/ActiveControls/TimeTriggeredCallback.page create mode 100644 demos/quickstart/protected/pages/ActiveControls/ValueTriggeredCallback.page (limited to 'demos') diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveCheckBoxList.page b/demos/quickstart/protected/pages/ActiveControls/ActiveCheckBoxList.page index 2560ece5..07068a43 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveCheckBoxList.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveCheckBoxList.page @@ -1,6 +1,6 @@ -

TActiveCheckBoxList

+

TActiveCheckBoxList

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveDataGrid.page b/demos/quickstart/protected/pages/ActiveControls/ActiveDataGrid.page index 9a82743d..9f413a83 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveDataGrid.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveDataGrid.page @@ -34,16 +34,16 @@ Please refer to the original documentation of

-

Columns

+

Columns

-

Automatically Generated Columns

+

Automatically Generated Columns

TDataGrid by default will create a list of columns based on the structure of the bound data. TDataGrid will read the first row of the data, extract the field names of the row, and construct a column for each field. Each column is of type TActiveBoundColumn. All of this happens in an ajax callback.

-

Manually Specified Columns

+

Manually Specified Columns

The following example uses manually specified columns to show a list of book information,

@@ -60,7 +60,7 @@ Each column can be shown or hidden in a callback. -

Interacting with TActiveDataGrid

+

Interacting with TActiveDataGrid

The following example shows how to make the previous book information table an interactive one. It allows users to edit and delete book items from the table. Two additional columns are used in the example to allow users interact with the datagrid: TActiveEditCommandColumn and TActiveButtonColumn. In addition, TActiveDropDownListColumn replaces the previous TActiveTemplateColumn to allow users to select a rating from a dropdown list. Note, it is also possible to use TActiveTemplateColumn to achieve the same task. @@ -68,13 +68,13 @@ All the iteration is done using AJAX callbacks.

-

Sorting

+

Sorting

The following example turns the datagrid in Example 2 into a sortable one. Users can click on the link button displayed in the header of any column, and the data will be sorted in ascending order along that column. The grid is sorted and rendered upon a callback request.

-

Paging

+

Paging

The following example enables the paging functionality of the datagrid shown in Example 1. In this example, you move between the datagrid pages clicking on the pager links. The grid reacts to paging rendering itself as the result of a callback request. Note that you can't change the pager style upon callback.

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveDataList.page b/demos/quickstart/protected/pages/ActiveControls/ActiveDataList.page index 12fb941f..cef53c66 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveDataList.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveDataList.page @@ -1,6 +1,6 @@ -

TActiveDataList

+

TActiveDataList

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveDatePicker.page b/demos/quickstart/protected/pages/ActiveControls/ActiveDatePicker.page new file mode 100644 index 00000000..b60036d0 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveDatePicker.page @@ -0,0 +1,16 @@ + + +

TActiveDatePicker

+ + +

+TActiveDatePicker is the active control counter part to TDatePicker control. +When the date selection is changed, the OnCallback event is raised. +

+

+Please refer to the documentation of TDatePicker for further usage informations. +

+ + + +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveDropDownList.page b/demos/quickstart/protected/pages/ActiveControls/ActiveDropDownList.page index 4400c552..6dfc870a 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveDropDownList.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveDropDownList.page @@ -1,6 +1,6 @@ -

TActiveDropDownList

+

TActiveDropDownList

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveFileUpload.page b/demos/quickstart/protected/pages/ActiveControls/ActiveFileUpload.page new file mode 100644 index 00000000..099e33f7 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveFileUpload.page @@ -0,0 +1,33 @@ + + +

TActiveFileUpload

+ + +

+TActiveFileUpload displays a file upload field on a page. Upon postback, +the text entered into the field will be treated as the name of the file +that will be uploaded to the server. The property HasFile +indicates whether the file upload is successful. If successful, the file +may be obtained by callingsaveAs to save it at a specified place. +You can use FileName, FileType, +FileSize to get the original client-side file name, +the file mime type, and the file size information. If the upload is not +successful, ErrorCode contains the error code +describing the cause of failure. +

+ +

+TActiveFileUpload raises OnFileUpload event if a file is uploaded +(whether it succeeds or not). +

+ +

+TActiveFileUpload actually does a postback in a hidden IFrame, and then does a callback. +This callback then raises the OnFileUpload event. After the postback +a status icon is displayed; either a green checkmark if the upload is successful, +or a red x if there was an error. +

+ + + +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveHiddenField.page b/demos/quickstart/protected/pages/ActiveControls/ActiveHiddenField.page new file mode 100644 index 00000000..23240da8 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveHiddenField.page @@ -0,0 +1,12 @@ + + +

TActiveHiddenField

+ + +

+TActiveHiddenField is the active control counterpart of THiddenField component. +It displays a hidden input field on a Web page. The value of the input field can be accessed and changed +on callback via the Value property. +

+ +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveHyperLink.page b/demos/quickstart/protected/pages/ActiveControls/ActiveHyperLink.page index a67462cf..e5e51d1f 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveHyperLink.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveHyperLink.page @@ -3,7 +3,7 @@

TActiveHyperLink

-

+

The active control counterpart of THyperLink component. During a callback request, changes to the Text, ImageUrl, NavigateUrl and Target properties on the server side will also diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveImage.page b/demos/quickstart/protected/pages/ActiveControls/ActiveImage.page index 8cce8c9e..b9da97c9 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveImage.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveImage.page @@ -1,6 +1,6 @@ -

TActiveImage

+

TActiveImage

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveImageButton.page b/demos/quickstart/protected/pages/ActiveControls/ActiveImageButton.page index 44b988dd..3d0aae7f 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveImageButton.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveImageButton.page @@ -1,6 +1,6 @@ -

TActiveImageButton

+

TActiveImageButton

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveLabel.page b/demos/quickstart/protected/pages/ActiveControls/ActiveLabel.page index 8db4cf34..e8c84f51 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveLabel.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveLabel.page @@ -1,6 +1,6 @@ -

TActiveLabel

+

TActiveLabel

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveLinkButton.page b/demos/quickstart/protected/pages/ActiveControls/ActiveLinkButton.page index 387b40af..dc542ae8 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveLinkButton.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveLinkButton.page @@ -1,6 +1,6 @@ -

TActiveLinkButton

+

TActiveLinkButton

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveListBox.page b/demos/quickstart/protected/pages/ActiveControls/ActiveListBox.page index 802c9fb1..ce45339f 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveListBox.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveListBox.page @@ -1,6 +1,6 @@ -

TActiveListBox

+

TActiveListBox

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveMultiView.page b/demos/quickstart/protected/pages/ActiveControls/ActiveMultiView.page index a9553646..54867a0c 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveMultiView.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveMultiView.page @@ -1,6 +1,6 @@ -

TActiveMultiView

+

TActiveMultiView

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActivePanel.page b/demos/quickstart/protected/pages/ActiveControls/ActivePanel.page index dcfbc312..967b96c0 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActivePanel.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActivePanel.page @@ -1,6 +1,6 @@ -

TActivePanel

+

TActivePanel

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveRadioButton.page b/demos/quickstart/protected/pages/ActiveControls/ActiveRadioButton.page index ac6cf5ae..95c2e570 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveRadioButton.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveRadioButton.page @@ -1,6 +1,6 @@ -

TRadioButton

+

TRadioButton

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveRadioButtonList.page b/demos/quickstart/protected/pages/ActiveControls/ActiveRadioButtonList.page index 6095a9d3..31f16535 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveRadioButtonList.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveRadioButtonList.page @@ -1,6 +1,6 @@ -

TActiveRadioButtonList

+

TActiveRadioButtonList

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveRepeater.page b/demos/quickstart/protected/pages/ActiveControls/ActiveRepeater.page index d22a7467..f41c2ece 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveRepeater.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveRepeater.page @@ -1,6 +1,6 @@ -

TActiveRepeater

+

TActiveRepeater

diff --git a/demos/quickstart/protected/pages/ActiveControls/ActiveTextBox.page b/demos/quickstart/protected/pages/ActiveControls/ActiveTextBox.page index 9a508e32..9665d11d 100644 --- a/demos/quickstart/protected/pages/ActiveControls/ActiveTextBox.page +++ b/demos/quickstart/protected/pages/ActiveControls/ActiveTextBox.page @@ -1,6 +1,6 @@ -

TActiveTextBox

+

TActiveTextBox

diff --git a/demos/quickstart/protected/pages/ActiveControls/AutoComplete.page b/demos/quickstart/protected/pages/ActiveControls/AutoComplete.page index 14af4af7..f4de7390 100644 --- a/demos/quickstart/protected/pages/ActiveControls/AutoComplete.page +++ b/demos/quickstart/protected/pages/ActiveControls/AutoComplete.page @@ -1,10 +1,10 @@ -

TAutoComplete

+

TAutoComplete

-TAutoComplete is an extended ActiveTextBox that provides a list of suggestions on the current partial word typed in the textbox. The suggestions are requested using callbacks. The Frequency and MinChars properties sets the delay and minimum number of characters typed, respectively, before requesting for sugggestions. An embedded TRepeater is used to Display the list of suggestions. It can be accessed and styled through the Suggestions property and its sub-properties.

+TAutoComplete is an extended ActiveTextBox that provides a list of suggestions on the current partial word typed in the textbox. The suggestions are requested using callbacks. The Frequency and MinChars properties sets the delay and minimum number of characters typed, respectively, before requesting for sugggestions. An embedded TRepeater is used to Display the list of suggestions. It can be accessed and styled through the Suggestions property and its sub-properties.

On each request for suggestions, the OnSuggestion event will be raised. The event handler receives the entered token that can be used to build the list of suggestions and to dataBind() it to the Suggestions repeater.

diff --git a/demos/quickstart/protected/pages/ActiveControls/Callback.page b/demos/quickstart/protected/pages/ActiveControls/Callback.page new file mode 100644 index 00000000..3e2b8527 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Callback.page @@ -0,0 +1,34 @@ + + +

TCallback

+ + +

+TCallback provides a basic callback handler that can be invoked from the +client side by using the javascript ojbect obtained from the +ActiveControl.Javascript property. +You can set the CallbackParameter property from javascript directly on +the object returned by ActiveControl.Javascript. +Once you are ready, you can call the dispatch() method on the object to +execute the callback. +The server-side event OnCallback is raised when a callback is requested made. +

+ +

+Example usage: +

+ +<com:TCallback ID="callback1" OnCallback="callback1_Requested" /> +<script type="text/javascript"> + function do_callback1() + { + var request = <%= $this->callback1->ActiveControl->Javascript %>; + request.dispatch(); + } +</script> +<div onclick="do_callback1()">Click Me!</div> + + + + +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/CallbackClientScript.page b/demos/quickstart/protected/pages/ActiveControls/CallbackClientScript.page index 7ffd2db9..67361f4c 100644 --- a/demos/quickstart/protected/pages/ActiveControls/CallbackClientScript.page +++ b/demos/quickstart/protected/pages/ActiveControls/CallbackClientScript.page @@ -1,6 +1,6 @@ -

TCallbackClientScript

+

TCallbackClientScript

diff --git a/demos/quickstart/protected/pages/ActiveControls/CallbackClientSide.page b/demos/quickstart/protected/pages/ActiveControls/CallbackClientSide.page index c8e52585..8899a884 100644 --- a/demos/quickstart/protected/pages/ActiveControls/CallbackClientSide.page +++ b/demos/quickstart/protected/pages/ActiveControls/CallbackClientSide.page @@ -1,6 +1,6 @@ -

TCallbackClientSide

+

TCallbackClientSide

@@ -25,7 +25,7 @@ The following example demonstrates the toggling of a "loading" indicator when th </com:TActiveButton> -

Events

+

Events

The following client side events are executing in order if the callback @@ -58,7 +58,7 @@ response is returned. A successful request/response will raise OnSuccess event otherwise OnFailure will be raised.

-

Properties

+

Properties

The following properties can be used to change the way the callback request is performed. diff --git a/demos/quickstart/protected/pages/ActiveControls/CallbackEventParameter.page b/demos/quickstart/protected/pages/ActiveControls/CallbackEventParameter.page new file mode 100644 index 00000000..f4248638 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/CallbackEventParameter.page @@ -0,0 +1,26 @@ + + +

TCallbackEventParameter

+ + +

+TCallbackEventParameter provides the parameter passed during the callback +request in the CallbackParameter property. The +callback response content (e.g. new HTML content) must be rendered +using an THtmlWriter obtained from the NewWriter +property, which returns a NEW instance of TCallbackResponseWriter. +

+ +

+Each instance TCallbackResponseWriter is associated with a unique +boundary delimited. By default each panel only renders its own content. +To replace the content of ONE panel with that of rendered from multiple panels +use the same writer instance for the panels to be rendered. +

+ +

+The response data (i.e., passing results back to the client-side +callback handler function) can be set using ResponseData property. +

+ +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/DragDrop.page b/demos/quickstart/protected/pages/ActiveControls/DragDrop.page index 0969ddd0..3bd6c03a 100755 --- a/demos/quickstart/protected/pages/ActiveControls/DragDrop.page +++ b/demos/quickstart/protected/pages/ActiveControls/DragDrop.page @@ -1,6 +1,6 @@ -

TDropContainer

+

TDropContainer

TDropContainer represent an area where @@ -12,7 +12,7 @@ the OnDropk event.

-

TDraggable

+

TDraggable

TDraggable will make its child controls 'draggable'. diff --git a/demos/quickstart/protected/pages/ActiveControls/EventTriggeredCallback.page b/demos/quickstart/protected/pages/ActiveControls/EventTriggeredCallback.page new file mode 100644 index 00000000..5240ddfe --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/EventTriggeredCallback.page @@ -0,0 +1,15 @@ + + +

TEventTriggeredCallback

+ + +

+TEventTriggeredCallback triggers a new callback request when a particular EventName +on a control with ID given by ControlID is raised. +The default action of the event on the client-side can be prevented when +PreventDefaultAction is set to true. +

+ + + +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Home.page b/demos/quickstart/protected/pages/ActiveControls/Home.page index 7834cc1d..4eddd2f2 100644 --- a/demos/quickstart/protected/pages/ActiveControls/Home.page +++ b/demos/quickstart/protected/pages/ActiveControls/Home.page @@ -17,8 +17,6 @@ of javascript classes. TActiveButton control. See also the later part of the Currency Converter tutorial for a more in depth example.

-

* the tutorial for this control is not completed yet.

-

Standard Active Controls

  • @@ -37,6 +35,22 @@ TActiveButton control. See also the later part of the TActiveDatePicker + adds a date picker that permits the suer to choose a date. +
  • + +
  • + TActiveFileUpload + displays a file upload field on a page and uses an iframe to permit handling of the + file upload in a callback. +
  • + +
  • + TActiveHiddenField + displays a hidden input field that can be changed upon callback. +
  • +
  • TActiveHyperLink represents a hyperlink on a Web page. @@ -90,6 +104,11 @@ TActiveButton control. See also the later part of the TActiveRatingList + is an EXPERIMENTAL class that displays clickable images that represent a TRadioButtonList. +
  • +
  • TActiveTextBox represents a text input field on a Web page. @@ -159,35 +178,35 @@ TActiveButton control. See also the later part of the TCallback + TCallback a generic control that can perform callback requests.
  • - * TEventTriggeredCallback + TEventTriggeredCallback triggers a callback request based on HTML DOM events.
  • - * TInPlaceTextBox + TInPlaceTextBox represents a label that can be edited by clicked.
  • - * TTimeTriggeredCallback + TTimeTriggeredCallback triggers a callback request based on time elapsed.
  • - * TValueTriggeredCallback + TValueTriggeredCallback monitors (using a timer) an attribute of an HTML element and triggers a callback request when the attribute value changes.
  • - TDropContainer & TDraggable represents drag and drop containers. - The former will make its child controls "draggable" while the latter will raise a callback when a draggable - control is dropped on it. + TDropContainer & TDraggable represents drag and drop containers. + The former will make its child controls "draggable" while the latter will raise a callback when a draggable + control is dropped on it.
@@ -355,32 +374,72 @@ if Javascript was disabled on the client's browser.

-

Active Control Infrastructure Classes

+

Active Control Basic Infrastructure Classes

The following classes provide the basic infrastructure classes required to -realize the active controls.

+realize the active controls. They can be useful to develop new active controls, but Prado users tipically don't need +to use them.

  • - * TActiveControlAdapter - tracks the viewstate values of the control and update differences of the client-side HTML - element attributes. +

    TActiveControlAdapter

    + +

    + TActiveControlAdapter customizes the parent TControl class for active control classes. + It tracks changes in the viewstate values of the control and update + differences of the client-side HTML element attributes. +

  • - * TActiveListControlAdapter - allows the adapted list controls to change the selections on the client-side during - a callback request. +

    TActiveListControlAdapter

    + +

    + TActiveListControlAdapter allows the adapted list controls to change the selections + on the client-side during a callback request. +

  • - * TActivePageAdapter - process the page life-cycle for callback requests. +

    TActivePageAdapter

    + +

    + TActivePageAdapter process the page life-cycle for callback requests. +

  • - * TBaseActiveControl - common active control methods and options. +

    TBaseActiveControl

    + +

    + TBaseActiveControl class provided additional basic properties common for every + active control. An instance of TBaseActiveControl or its decendent + TBaseActiveCallbackControl is created by TActiveControlAdapter::getBaseActiveControl() + method. + The EnableUpdate property determines wether the active + control is allowed to update the contents of the client-side when the callback + response returns. +

  • +
  • +

    TCallbackResponseAdapter

    + +

    + TCallbackResponseAdapter alters the THttpResponse's outputs. + A TCallbackResponseWriter is used instead of the TTextWrite when + createHtmlWriter is called. Each call to createHtmlWriter will create + a new TCallbackResponseWriter. When flushContent() is called each + instance of TCallbackResponseWriter's content is flushed. + The callback response data can be set using the ResponseData property. +

    +
  • + +
+ +

Active Control Infrastructure Advanced Classes

+

The following classes provide advanced properties and events needed to realize the active controls. +A Prado user can use them to customize active controls behaviour and interact directly with the client side during a callback. +

+
  • TCallbackClientScript methods to manipulate the client-side HTML elements, also includes methods @@ -393,15 +452,14 @@ realize the active controls.

  • - TCallbackOptions - allows a common set of callback client-side options to be attached to one or more active controls. + TCallbackEventParameter + provides the parameter passed during the callback request.
  • - * TCallbackResponseAdapter - HTTP response for callback requests. + TCallbackOptions + allows a common set of callback client-side options to be attached to one or more active controls.
  • -
$Id$
diff --git a/demos/quickstart/protected/pages/ActiveControls/InPlaceTextBox.page b/demos/quickstart/protected/pages/ActiveControls/InPlaceTextBox.page new file mode 100644 index 00000000..c1d31d41 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/InPlaceTextBox.page @@ -0,0 +1,42 @@ + + +

TInPlaceTextBox

+ + +

+TInPlaceTextBox is a component rendered as a label and allows its +contents to be edited by changing the label to a textbox when +the label is clicked or when another control or html element with +ID given by EditTriggerControlID is clicked. +

+ +

+If the OnLoadingText event is handled, a callback request is +made when the label is clicked, while the request is being made the +textbox is disabled from editing. The OnLoadingText event allows +you to update the content of the textbox before the client is allowed +to edit the content. After the callback request returns successfully, +the textbox is enabled and the contents is then allowed to be edited. +

+ +

+Once the textbox loses focus, if AutoPostBack +is true and the textbox content has changed, a callback request is made and +the OnTextChanged event is raised like that of the TActiveTextBox. +During the request, the textbox is disabled. +

+ +

+After the callback request returns sucessfully, the textbox is enabled. +If the AutoHideTextBox property is true, then +the textbox will be hidden and the label is then shown. +

+ +

+Since 3.1.2, you can set the ReadOnly property to make +the control not editable. This property can be also changed on callback +

+ + + +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDatePicker/Home.page b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDatePicker/Home.page new file mode 100644 index 00000000..fba7ec45 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDatePicker/Home.page @@ -0,0 +1,17 @@ + + +

TActiveDatePicker Samples

+ + + + + + + + +
Default TActiveDatePicker triggering a callback to a label + + +
+ +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDatePicker/Home.php b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDatePicker/Home.php new file mode 100644 index 00000000..41f8359e --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDatePicker/Home.php @@ -0,0 +1,11 @@ +label1->Text = date("r", $this->date1->TimeStamp); + } +} + +?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveFileUpload/Home.page b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveFileUpload/Home.page new file mode 100644 index 00000000..ac82e02e --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveFileUpload/Home.page @@ -0,0 +1,15 @@ + + +

TActiveFileUpload Sample

+ +

+Please choose a file to upload: +

+ + + +
+ + + +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveFileUpload/Home.php b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveFileUpload/Home.php new file mode 100644 index 00000000..d5cf990a --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveFileUpload/Home.php @@ -0,0 +1,21 @@ +HasFile) + { + $this->Result->Text=" + You just uploaded a file: +
+ Name: {$sender->FileName} +
+ Size: {$sender->FileSize} +
+ Type: {$sender->FileType}"; + } + } +} + +?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TCallback/Home.page b/demos/quickstart/protected/pages/ActiveControls/Samples/TCallback/Home.page new file mode 100644 index 00000000..55ced11e --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TCallback/Home.page @@ -0,0 +1,57 @@ + + +

TCallback Samples

+ + + + + + + + +
+An active label text being set as the result of a callback: + + + + +
Click Me!
+
+ +
+
+A TCallback with a 3-items array as parameter. +The first parameter is defined in the onclick() attribute of the red div; +The second parameter is defined in the body of the javascript function; +The third parameter is taken from the textbox; + + + + +TextBox for third parameter: +
Click Me!
+
Parameter 1 is +
Parameter 2 is +
Parameter 3 is +
+ +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TCallback/Home.php b/demos/quickstart/protected/pages/ActiveControls/Samples/TCallback/Home.php new file mode 100644 index 00000000..e7f39967 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TCallback/Home.php @@ -0,0 +1,24 @@ +label1->Text="You clicked the div, didn't you?"; + } + + public function buttonClicked($sender,$param) + { + $this->label1->Text="This is a label"; + } + + public function callback2_Requested($sender,$param) + { + $parameters=$param->CallbackParameter; + $this->labelParam1->Text = THttpUtility::htmlEncode($parameters->Param1); + $this->labelParam2->Text = THttpUtility::htmlEncode($parameters->Param2); + $this->labelParam3->Text = THttpUtility::htmlEncode($parameters->Param3); + } +} + +?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TEventTriggeredCallback/Home.page b/demos/quickstart/protected/pages/ActiveControls/Samples/TEventTriggeredCallback/Home.page new file mode 100644 index 00000000..e5293f87 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TEventTriggeredCallback/Home.page @@ -0,0 +1,18 @@ + + +

TEventTriggeredCallback Samples

+ + + + + +
+ A callback will be executed when the textbox receives and loses focus + + + + + +
+ +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TEventTriggeredCallback/Home.php b/demos/quickstart/protected/pages/ActiveControls/Samples/TEventTriggeredCallback/Home.php new file mode 100644 index 00000000..8d92e4a3 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TEventTriggeredCallback/Home.php @@ -0,0 +1,16 @@ +label1->Text="Textbox focused"; + } + + public function txtBlurred($sender,$param) + { + $this->label1->Text="Textbox lost focus"; + } +} + +?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TInPlaceTextBox/Home.page b/demos/quickstart/protected/pages/ActiveControls/Samples/TInPlaceTextBox/Home.page new file mode 100644 index 00000000..cd55a432 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TInPlaceTextBox/Home.page @@ -0,0 +1,17 @@ + + +

TInPlaceTextBox Samples

+ + + + + +
+An in-place textbox text updating a label when its text changes: + + +
+
+ +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TInPlaceTextBox/Home.php b/demos/quickstart/protected/pages/ActiveControls/Samples/TInPlaceTextBox/Home.php new file mode 100644 index 00000000..5c132fd6 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TInPlaceTextBox/Home.php @@ -0,0 +1,11 @@ +label1->Text=$this->txt1->Text; + } +} + +?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TTimeTriggeredCallback/Home.page b/demos/quickstart/protected/pages/ActiveControls/Samples/TTimeTriggeredCallback/Home.page new file mode 100644 index 00000000..822be2b4 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TTimeTriggeredCallback/Home.page @@ -0,0 +1,24 @@ + + +

TTimeTriggeredCallback Samples

+ + + + + +
+A timer updating a label with the current time every 5 seconds: + + + + + +
+ +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TTimeTriggeredCallback/Home.php b/demos/quickstart/protected/pages/ActiveControls/Samples/TTimeTriggeredCallback/Home.php new file mode 100644 index 00000000..6c44c8c1 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TTimeTriggeredCallback/Home.php @@ -0,0 +1,22 @@ +time1->startTimer(); + } + + public function stopClicked($sender,$param) + { + $this->time1->stopTimer(); + } + + public function timerCallback($sender,$param) + { + $this->label1->Text="Current time is ".date('H:i:s'); + } + +} + +?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TValueTriggeredCallback/Home.page b/demos/quickstart/protected/pages/ActiveControls/Samples/TValueTriggeredCallback/Home.page new file mode 100644 index 00000000..50edf6ed --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TValueTriggeredCallback/Home.page @@ -0,0 +1,17 @@ + + +

TValueTriggeredCallback Samples

+ + + + + +
+ A callback will be executed when the textbox text changes + + + + +
+ +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TValueTriggeredCallback/Home.php b/demos/quickstart/protected/pages/ActiveControls/Samples/TValueTriggeredCallback/Home.php new file mode 100644 index 00000000..7e2a8b20 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TValueTriggeredCallback/Home.php @@ -0,0 +1,11 @@ +label1->Text=date("[H:i:s]")." Textbox changed"; + } +} + +?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/TimeTriggeredCallback.page b/demos/quickstart/protected/pages/ActiveControls/TimeTriggeredCallback.page new file mode 100644 index 00000000..d36ec2d9 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/TimeTriggeredCallback.page @@ -0,0 +1,16 @@ + + +

TTimeTriggeredCallback

+ + +

+TTimeTriggeredCallback sends callback request every Interval seconds. +Upon each callback request, the OnCallback event is raised. +The timer can be started by calling startTimer() and stopped using +stopTimer(). The timer can be automatically started when +StartTimerOnLoad is true. +

+ + + +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/ActiveControls/ValueTriggeredCallback.page b/demos/quickstart/protected/pages/ActiveControls/ValueTriggeredCallback.page new file mode 100644 index 00000000..bdf8b459 --- /dev/null +++ b/demos/quickstart/protected/pages/ActiveControls/ValueTriggeredCallback.page @@ -0,0 +1,18 @@ + + +

TValueTriggeredCallback

+ + +

+TValueTriggeredCallback observes the value with PropertyName of a +control with ControlID. Changes to the observed +property value will trigger a new callback request. The property value is checked +for changes every Interval seconds. +A DecayRate can be set to increase the polling +interval linearly if no changes are observed. Once a change is +observed, the polling interval is reset to the original value. +

+ + + +
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Captcha.page b/demos/quickstart/protected/pages/Controls/Captcha.page index 8a6e8a81..fd1accb2 100644 --- a/demos/quickstart/protected/pages/Controls/Captcha.page +++ b/demos/quickstart/protected/pages/Controls/Captcha.page @@ -1,36 +1,36 @@ -

TCaptcha

+

TCaptcha

-

+

TCaptcha displays a CAPTCHA that can be used to determine if the input is entered by a real user instead of some program. TCaptcha displays a token (a string consisting of alphanumeric characters) as an image and the user is expected to repeat the token in a text box. The token image is generated in a way such that it can be recognized by a human being, but not a program.

-

+

To use TCaptcha, you must enable the PHP GD2 extension with TrueType font support. Unlike other CAPTCHA scripts, TCaptcha does not need session or cookie.

-

+

The token generated by TCaptcha can be configured in several ways. To specify the length of characters in the token, set MinTokenLength and MaxTokenLength. To use case-insensitive token comparison and generate upper-case-only token, set CaseSensitive to false. More advanced users can try to set TokenAlphabet to specify which characters may appear in the generated tokens.

-

+

The validation of the token is related with two properties: TestLimit (defaults to 5 times) and TokenExpiry (defaults to 600 seconds). The former specifies how many times a token can be tested with on the server side, and the latter says when a generated token will expire. If the validation fails in any of the two scenarios, a new token will be automatically generated.

-

+

To specify the appearance of the generated token image, set TokenImageTheme to be an integer between 0 and 63. You may try the following example to see how this value affects the generated token image. The size of the generated token image is determined by TokenFontSize. In particular, the image width is proportional to the font size. You may also set Width to scale the generated image to your desired size, but the scaled image may not look good. By setting ChangingTokenBackground to true, the image background of the token will be variating even though the token is the same during postbacks.

-

+

Upon postback, user input can be validated by calling the method TCaptcha.validate(). More easily, you can use a TCaptchaValidator to automate the validation work for you. The TCaptchaValidator has the additional benefit of being able to validate the user input on the client-side. By default, a generated token will remain unchanged during postbacks. A new token can be generated by calling TCaptcha.regenerateToken() manually.

-

+

The following template shows a typical use of the TCaptcha control:

- + <com:TCaptcha ID="Captcha" /> <com:TTextBox ID="Input" /> <com:TCaptchaValidator CaptchaControl="Captcha" diff --git a/demos/quickstart/protected/pages/Controls/ClientScriptLoader.page b/demos/quickstart/protected/pages/Controls/ClientScriptLoader.page index 590aa2d8..20fcb30b 100644 --- a/demos/quickstart/protected/pages/Controls/ClientScriptLoader.page +++ b/demos/quickstart/protected/pages/Controls/ClientScriptLoader.page @@ -1,6 +1,6 @@ -

TClientScriptLoader

+

TClientScriptLoader

@@ -44,7 +44,7 @@ When the files in the PackagePath are published as assets, a script loa to that asset directory. The script loader, combines multiple javascript files and serve up as gzip if possible.

-

Grouping Javascript Files

+

Grouping Javascript Files

Allowable scripts and script dependencies can be grouped by using a "packages.php" file with the following format. This "packages.php" is optional, if absent the file names @@ -81,7 +81,7 @@ on both 'package1' and 'package2' groupings. That is, 'pac will combine, in order, 'file1.js', 'file2.js', 'file3.js', and 'file4.js'.

-

Loading Javascript Packages

+

Loading Javascript Packages

To load a particular javascript file or package, set the PackageScripts property with value 'package1' to load the 'package1' scripts. @@ -96,10 +96,10 @@ Dependencies of the packages are automatically resolved by the script loader php </script> -

Each <com:TClientScriptLoader> generates an HTML <script> +

Each <com:TClientScriptLoader> generates an HTML <script> element to load the required javascript files.

-

Removing Javascript Comments

+

Removing Javascript Comments

The DebugMode property when false removes comments and white spaces from the published javascript files. If the DebugMode property is not set, the debug mode is determined from the @@ -113,7 +113,7 @@ directory for the next requests. That is, in non-debug mode the scripts are cach in the assets directory until they are deleted. -

Compressing Javascript with GZip

+

Compressing Javascript with GZip

The EnableGzip property (default is true) enables the published javascripts to be served as zipped if the browser and php server allows it. diff --git a/demos/quickstart/protected/pages/Controls/Conditional.page b/demos/quickstart/protected/pages/Controls/Conditional.page index e8ea4a65..1fd35e6a 100644 --- a/demos/quickstart/protected/pages/Controls/Conditional.page +++ b/demos/quickstart/protected/pages/Controls/Conditional.page @@ -1,6 +1,6 @@ -

TConditional

+

TConditional

@@ -17,13 +17,13 @@ you set Condition in template only and the expression should not refer objects that are available on or after the onInit lifecycle.

-

+

TConditional is very light. It instantiates either TrueTemplate FalseTemplate, but never both. And the condition is evaluated only once. A typical usage of TConditional is shown as following:

- + <com:TConditional Condition="$this->User->IsGuest"> <prop:TrueTemplate> Login diff --git a/demos/quickstart/protected/pages/Controls/Keyboard.page b/demos/quickstart/protected/pages/Controls/Keyboard.page index 06c91049..8b280718 100644 --- a/demos/quickstart/protected/pages/Controls/Keyboard.page +++ b/demos/quickstart/protected/pages/Controls/Keyboard.page @@ -1,29 +1,29 @@ -

TKeyboard

+

TKeyboard

-

+

TKeyboard displays a virtual keyboard that users can click on to enter input in an associated text box. It helps to reduce the keyboard recording hacking.

-

+

To use TKeyboard, write a template like following:

- + <com:TTextBox ID="PasswordInput" /> <com:TKeyboard ForControl="PasswordInput" /> -

+

A TKeyboard control is associated with a TTextBox control by specifying ForControl to be the ID of that control. When the textbox is in focus, a virtual keyboard will pop up; and when the text box is losing focus, the keyboard will hide automatically. Set AutoHide to false to keep the keyboard showing all the time.

-

+

The appearance of the keyboard can also be changed by specifying a customized CSS file via CssUrl. By default, the CSS class name for the keyboard is 'Keyboard'. This may also be changed by specifying KeyboardCssClass diff --git a/demos/quickstart/protected/pages/Controls/List.page b/demos/quickstart/protected/pages/Controls/List.page index c7505181..241fdaf4 100644 --- a/demos/quickstart/protected/pages/Controls/List.page +++ b/demos/quickstart/protected/pages/Controls/List.page @@ -49,12 +49,14 @@ $listbox->dataBind();

TListBox

+

TListBox displays a list box that allows single or multiple selection. Set the property SelectionMode as Single to make a single selection list box, and Multiple a multiple selection list box. The number of rows displayed in the box is specified via the Rows property value.

TDropDownList

+

TDropDownList displays a dropdown list box that allows users to select a single option from a few prespecified ones.

@@ -64,6 +66,7 @@ Since v3.1.1, TDropDownList starts to support prompt text (something li

TCheckBoxList

+

TCheckBoxList displays a list of checkboxes on a Web page. The alignment of the text besides each checkbox can be specified TextAlign. The layout of the checkboxes can be controlled by the following properties:

@@ -76,12 +79,14 @@ Since v3.1.1, TDropDownList starts to support prompt text (something li

TRadioButtonList

+

TRadioButtonList is similar to TCheckBoxList in every aspect except that each TRadioButtonList displays a group of radiobuttons. Only one of the radiobuttions can be selected (TCheckBoxList allows multiple selections.)

TBulletedList

+

TBulletedList displays items in a bullet format on a Web page. The style of the bullets can be specified by BulletStyle. When the style is CustomImage, the bullets are displayed as images, which is specified by BulletImageUrl.

@@ -96,4 +101,11 @@ Since v3.1.1, TDropDownList starts to support prompt text (something li +

TRatingList

+ + +

+This is an EXPERIMENTAL class that displays clickable images that represent a TRadioButtonList. +

+
$Id$
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Slider.page b/demos/quickstart/protected/pages/Controls/Slider.page index d71c28a0..5a6fa0d5 100644 --- a/demos/quickstart/protected/pages/Controls/Slider.page +++ b/demos/quickstart/protected/pages/Controls/Slider.page @@ -9,7 +9,7 @@ which define the range of possible value, and a handle which can slide a value in the range. The track can be either Horizontal or Vertical, depending of the Direction property. By default, it's horizontal.

-

+

The range boundaries are defined by MinValue and MaxValue properties. The default range is from 0 to 100. The StepSize property can be used to define the step between 2 values inside the range. @@ -17,13 +17,13 @@ Notice that this step will be recomputed if there is more than 200 values betwee You can also provide the allowed values by setting the Values array.

-

+

The handle sub-properties can be accessed by Handle property. You can also provide your own control for the handle, using HandleClass property. Note that this class must be a subclass of TSliderHandle

-

+

The TSlider control can be easily customized using CssClasses. You can provide your own css file, using the CssUrl property. The css class for TSlider can be set by the CssClass property. Defaults values are 'hslider' for @@ -33,15 +33,15 @@ draw a red block as a cursor. 'handle-image' css class is also provided f as the handle.

-

+

If AutoPostBack property is true, postback is performed as soon as the value changed.

-

+

TSlider raises the onValueChanged event when the value of the slider has changed during postback.

-

+

You can also attach ClientSide javascript events handler to the slider :

  • ClientSide.onSlide is called when the handle is slided on the track. You can get the current value in the value diff --git a/demos/quickstart/protected/pages/Controls/Standard.page b/demos/quickstart/protected/pages/Controls/Standard.page index 9fde5a29..6a9cc769 100644 --- a/demos/quickstart/protected/pages/Controls/Standard.page +++ b/demos/quickstart/protected/pages/Controls/Standard.page @@ -1,7 +1,7 @@ -

    Standard Controls

    -

    * the tutorial for this control is not completed yet.

    +

    Standard Controls

    +

    * the tutorial for this control is not completed yet.

    • TButton represents a click button on a Web page. It is mainly used to trigger page postback. diff --git a/demos/quickstart/protected/pages/Controls/Validation.page b/demos/quickstart/protected/pages/Controls/Validation.page index 74db7b07..cabb9371 100644 --- a/demos/quickstart/protected/pages/Controls/Validation.page +++ b/demos/quickstart/protected/pages/Controls/Validation.page @@ -34,6 +34,8 @@ Validators share a common set of properties, which are defined in the base class

      Prado Validation Controls

      TRequiredFieldValidator

      + +

      TRequiredFieldValidator ensures that the user enters some data in the specified input field. By default, TRequiredFieldValidator will check if the user input is empty or not. The validation fails if the input is empty. By setting InitialValue, the validator can check if the user input is different from InitialValue. If not, the validation fails.

      @@ -41,6 +43,8 @@ TRequiredFieldValidator ensures that the user enters some data in the specified

      TRegularExpressionValidator

      + +

      TRegularExpressionValidator verifies the user input against a regular pattern. The validation fails if the input does not match the pattern. The regular expression can be specified by the RegularExpression property. Some commonly used regular expressions include:

      @@ -65,6 +69,8 @@ Note, TRegularExpressionValidator only checks for nonempty user input. Use a TRe

      TEmailAddressValidator

      + +

      TEmailAddressValidator verifies that the user input is a valid email address. The validator uses a regular expression to check if the input is in a valid email address format. If CheckMXRecord is true, the validator will also check whether the MX record indicated by the email address is valid, provided checkdnsrr() is available in the installed PHP.

      @@ -75,6 +81,8 @@ Note, if the input being validated is empty, TEmailAddressValidator will not do

      TCompareValidator

      + +

      TCompareValidator compares the user input with a constant value specified by ValueToCompare, or another user input specified by ControlToCompare. The Operator property specifies how to compare the values, which includes Equal, NotEqual, GreaterThan, GreaterThanEqual, LessThan and LessThanEqual. Before comparison, the values being compared will be converted to the type specified by DataType listed as follows,

      @@ -94,6 +102,8 @@ Note, if the input being validated is empty, TEmailAddressValidator will not do

      TDataTypeValidator

      + +

      TDataTypeValidator verifies if the input data is of specific type indicated by DataType. The data types that can be checked against are the same as those in TCompareValidator.

      @@ -106,6 +116,8 @@ TDataTypeValidator verifies if the input data is of specific type indicated by <

      TRangeValidator

      + +

      TRangeValidator verifies whether an input value is within a specified range. TRangeValidator uses three key properties to perform its validation. The MinValue and MaxValue properties specify the minimum and maximum values of the valid range. The DataType property specifies the data type of the value being validated. The value will be first converted into the specified type and then compare with the valid range. The data types that can be checked against are the same as those in TCompareValidator.

      @@ -124,6 +136,8 @@ are compared as strictly less than the MaxValue and/or strictly greater

      TCustomValidator

      + +

      TCustomValidator performs user-defined validation (either server-side or client-side or both) on an input control.

      @@ -148,6 +162,8 @@ function ValidationFunctionName(sender, parameter)

      TValidationSummary

      + +

      TValidationSummary displays a summary of validation errors inline on a Web page, in a message box, or both.

      -- cgit v1.2.3