From 2037f60c73a77f28cc09fcb64cb424e16c593765 Mon Sep 17 00:00:00 2001
From: wei <>
Date: Thu, 2 Feb 2006 06:06:30 +0000
Subject: Fixed #21
---
.gitattributes | 5 ++
framework/Web/Javascripts/js/prado.js | 59 +++++++++++++---------
framework/Web/Javascripts/prado/controls.js | 24 ++++++++-
.../protected/pages/TicketTestPage.php | 14 +++++
.../protected/pages/TicketTestPage.tpl | 45 +++++++++++++++++
.../protected/pages/Tickets/Ticket_21.page | 10 ++++
.../protected/pages/Tickets/Ticket_21.php | 37 ++++++++++++++
.../protected/pages/Tickets/config.xml | 5 ++
8 files changed, 172 insertions(+), 27 deletions(-)
create mode 100644 tests/FunctionalTests/protected/pages/TicketTestPage.php
create mode 100644 tests/FunctionalTests/protected/pages/TicketTestPage.tpl
create mode 100644 tests/FunctionalTests/protected/pages/Tickets/Ticket_21.page
create mode 100644 tests/FunctionalTests/protected/pages/Tickets/Ticket_21.php
create mode 100644 tests/FunctionalTests/protected/pages/Tickets/config.xml
diff --git a/.gitattributes b/.gitattributes
index 3acbd78a..78dcca04 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -713,6 +713,11 @@ tests/FunctionalTests/protected/pages/I18N/BasicI18N.page -text
tests/FunctionalTests/protected/pages/I18N/BasicI18N.php -text
tests/FunctionalTests/protected/pages/Layout.php -text
tests/FunctionalTests/protected/pages/Layout.tpl -text
+tests/FunctionalTests/protected/pages/TicketTestPage.php -text
+tests/FunctionalTests/protected/pages/TicketTestPage.tpl -text
+tests/FunctionalTests/protected/pages/Tickets/Ticket_21.page -text
+tests/FunctionalTests/protected/pages/Tickets/Ticket_21.php -text
+tests/FunctionalTests/protected/pages/Tickets/config.xml -text
tests/FunctionalTests/protected/pages/UI/DatePicker.page -text
tests/FunctionalTests/protected/pages/UI/LabeledTextBox.php -text
tests/FunctionalTests/protected/pages/UI/LabeledTextBox.tpl -text
diff --git a/framework/Web/Javascripts/js/prado.js b/framework/Web/Javascripts/js/prado.js
index dd33345b..657508e6 100644
--- a/framework/Web/Javascripts/js/prado.js
+++ b/framework/Web/Javascripts/js/prado.js
@@ -1862,49 +1862,58 @@ _426=_427;
}
}
if(_426){
-Prado.PostBack(_423,_424);
+this.onPostBack(_423,_424);
}
if(isBoolean(_427)&&!_427){
Event.stop(_423);
}
+},onPostBack:function(_428,_429){
+Prado.PostBack(_428,_429);
}});
Prado.WebUI.TLinkButton=Prado.WebUI.ClickableComponent;
Prado.WebUI.TImageButton=Prado.WebUI.ClickableComponent;
Prado.WebUI.TCheckBox=Prado.WebUI.ClickableComponent;
-Prado.WebUI.TRadioButton=Prado.WebUI.ClickableComponent;
Prado.WebUI.TBulletedList=Prado.WebUI.ClickableComponent;
-Prado.WebUI.TTextBox=Prado.WebUI.createPostBackComponent({onInit:function(_428){
-if(_428["TextMode"]!="MultiLine"){
+Prado.WebUI.TRadioButton=Prado.WebUI.ClickableComponent;
+Prado.WebUI.TRadioButton.prototype.onRadioButtonInitialize=Prado.WebUI.TRadioButton.prototype.initialize;
+Object.extend(Prado.WebUI.TRadioButton.prototype,{initialize:function(_430){
+this.element=$(_430["ID"]);
+if(!this.element.checked){
+this.onRadioButtonInitialize(_430);
+}
+}});
+Prado.WebUI.TTextBox=Prado.WebUI.createPostBackComponent({onInit:function(_431){
+if(_431["TextMode"]!="MultiLine"){
Event.observe(this.element,"keydown",this.handleReturnKey.bind(this));
}
-Event.observe(this.element,"change",Prado.PostBack.bindEvent(this,_428));
+Event.observe(this.element,"change",Prado.PostBack.bindEvent(this,_431));
},handleReturnKey:function(e){
if(Event.keyCode(e)==Event.KEY_RETURN){
-var _429=Event.element(e);
-if(_429){
-Event.fireEvent(_429,"change");
+var _432=Event.element(e);
+if(_432){
+Event.fireEvent(_432,"change");
Event.stop(e);
}
}
}});
-Prado.WebUI.TListControl=Prado.WebUI.createPostBackComponent({onInit:function(_430){
-Event.observe(this.element,"change",Prado.PostBack.bindEvent(this,_430));
+Prado.WebUI.TListControl=Prado.WebUI.createPostBackComponent({onInit:function(_433){
+Event.observe(this.element,"change",Prado.PostBack.bindEvent(this,_433));
}});
Prado.WebUI.TListBox=Prado.WebUI.TListControl;
Prado.WebUI.TDropDownList=Prado.WebUI.TListControl;
Prado.WebUI.DefaultButton=Class.create();
-Object.extend(Prado.WebUI.DefaultButton.prototype,{initialize:function(_431){
-this.options=_431;
+Object.extend(Prado.WebUI.DefaultButton.prototype,{initialize:function(_434){
+this.options=_434;
this._event=this.triggerEvent.bindEvent(this);
-Event.observe(_431["Panel"],"keydown",this._event);
-},triggerEvent:function(ev,_433){
-var _434=Event.keyCode(ev)==Event.KEY_RETURN;
-var _435=Event.element(ev).tagName.toLowerCase()=="textarea";
-if(_434&&!_435){
-var _436=$(this.options["Target"]);
-if(_436){
+Event.observe(_434["Panel"],"keydown",this._event);
+},triggerEvent:function(ev,_436){
+var _437=Event.keyCode(ev)==Event.KEY_RETURN;
+var _438=Event.element(ev).tagName.toLowerCase()=="textarea";
+if(_437&&!_438){
+var _439=$(this.options["Target"]);
+if(_439){
this.triggered=true;
-Event.fireEvent(_436,this.options["Event"]);
+Event.fireEvent(_439,this.options["Event"]);
Event.stop(ev);
}
}
@@ -1914,15 +1923,15 @@ Prado.WebUI.TTextHighlighter.prototype={initialize:function(id){
if(!window.clipboardData){
return;
}
-var _437={href:"javascript:;//copy code to clipboard",onclick:"Prado.WebUI.TTextHighlighter.copy(this)",onmouseover:"Prado.WebUI.TTextHighlighter.hover(this)",onmouseout:"Prado.WebUI.TTextHighlighter.out(this)"};
-var div=DIV({className:"copycode"},A(_437,"Copy Code"));
+var _440={href:"javascript:;//copy code to clipboard",onclick:"Prado.WebUI.TTextHighlighter.copy(this)",onmouseover:"Prado.WebUI.TTextHighlighter.hover(this)",onmouseout:"Prado.WebUI.TTextHighlighter.out(this)"};
+var div=DIV({className:"copycode"},A(_440,"Copy Code"));
document.write(DIV(null,div).innerHTML);
}};
Object.extend(Prado.WebUI.TTextHighlighter,{copy:function(obj){
-var _438=obj.parentNode.parentNode.parentNode;
+var _441=obj.parentNode.parentNode.parentNode;
var text="";
-for(var i=0;i<_438.childNodes.length;i++){
-var node=_438.childNodes[i];
+for(var i=0;i<_441.childNodes.length;i++){
+var node=_441.childNodes[i];
if(node.innerText){
text+=node.innerText=="Copy Code"?"":node.innerText;
}else{
diff --git a/framework/Web/Javascripts/prado/controls.js b/framework/Web/Javascripts/prado/controls.js
index c472c1be..d059b4a5 100644
--- a/framework/Web/Javascripts/prado/controls.js
+++ b/framework/Web/Javascripts/prado/controls.js
@@ -56,18 +56,38 @@ Prado.WebUI.ClickableComponent = Prado.WebUI.createPostBackComponent(
doPostBack = onclicked;
}
if(doPostBack)
- Prado.PostBack(event,options);
+ this.onPostBack(event,options);
if(isBoolean(onclicked) && !onclicked)
Event.stop(event);
+ },
+
+ onPostBack : function(event, options)
+ {
+ Prado.PostBack(event,options);
}
});
Prado.WebUI.TLinkButton = Prado.WebUI.ClickableComponent;
Prado.WebUI.TImageButton = Prado.WebUI.ClickableComponent;
Prado.WebUI.TCheckBox = Prado.WebUI.ClickableComponent;
-Prado.WebUI.TRadioButton = Prado.WebUI.ClickableComponent;
Prado.WebUI.TBulletedList = Prado.WebUI.ClickableComponent;
+/**
+ * Radio button, only initialize if not already checked.
+ */
+Prado.WebUI.TRadioButton = Prado.WebUI.ClickableComponent;
+Prado.WebUI.TRadioButton.prototype.onRadioButtonInitialize = Prado.WebUI.TRadioButton.prototype.initialize;
+Object.extend(Prado.WebUI.TRadioButton.prototype,
+{
+ initialize : function(options)
+ {
+ this.element = $(options['ID']);
+ if(!this.element.checked)
+ this.onRadioButtonInitialize(options);
+ }
+});
+
+
Prado.WebUI.TTextBox = Prado.WebUI.createPostBackComponent(
{
onInit : function(options)
diff --git a/tests/FunctionalTests/protected/pages/TicketTestPage.php b/tests/FunctionalTests/protected/pages/TicketTestPage.php
new file mode 100644
index 00000000..f647f56b
--- /dev/null
+++ b/tests/FunctionalTests/protected/pages/TicketTestPage.php
@@ -0,0 +1,14 @@
+getPage()));
+ $this->getPage()->setTitle("Verifying Ticket $num");
+ $this->ticketlink->setText("Verifying Ticket $num");
+ $this->ticketlink->setNavigateUrl("http://trac.pradosoft.com/ticket/{$num}");
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/tests/FunctionalTests/protected/pages/TicketTestPage.tpl b/tests/FunctionalTests/protected/pages/TicketTestPage.tpl
new file mode 100644
index 00000000..bf2f8fab
--- /dev/null
+++ b/tests/FunctionalTests/protected/pages/TicketTestPage.tpl
@@ -0,0 +1,45 @@
+
+
+
+