summaryrefslogtreecommitdiff
path: root/framework/Web/Javascripts/source
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Web/Javascripts/source')
-rw-r--r--framework/Web/Javascripts/source/prado/controls/controls.js50
1 files changed, 49 insertions, 1 deletions
diff --git a/framework/Web/Javascripts/source/prado/controls/controls.js b/framework/Web/Javascripts/source/prado/controls/controls.js
index 4ef824c2..e0f9218c 100644
--- a/framework/Web/Javascripts/source/prado/controls/controls.js
+++ b/framework/Web/Javascripts/source/prado/controls/controls.js
@@ -287,4 +287,52 @@ Prado.WebUI.TRadioButtonList = Base.extend(
new Prado.WebUI.TRadioButton(radioButtonOptions);
}
}
-}); \ No newline at end of file
+});
+
+Prado.WebUI.TTabPanel = Class.create();
+Prado.WebUI.TTabPanel.prototype =
+{
+ initialize : function(options)
+ {
+ this.element = $(options.ID);
+ this.onInit(options);
+ },
+
+ onInit : function(options)
+ {
+ this.views = options.Views;
+ this.hiddenField = $(options.ID+'_1');
+ this.activeCssClass = options.ActiveCssClass;
+ this.normalCssClass = options.NormalCssClass;
+ var length = options.Views.length;
+ for(var i = 0; i<length; i++)
+ {
+ var item = options.Views[i];
+ var element = $(item+'_0');
+ if (element)
+ {
+ Event.observe(element, "click", this.elementClicked.bindEvent(this,item));
+ }
+ }
+ },
+
+ elementClicked : function(event,viewID)
+ {
+ var length = this.views.length;
+ for(var i = 0; i<length; i++)
+ {
+ var item = this.views[i];
+ if(item == viewID)
+ {
+ $(item+'_0').className=this.activeCssClass;
+ $(item).show();
+ this.hiddenField.value=i;
+ }
+ else
+ {
+ $(item+'_0').className=this.normalCssClass;
+ $(item).hide();
+ }
+ }
+ }
+};