Optimize the access to elements in javascript while creating a formEventManager
-------------------------------------------------------------------------------
Key: TAP5-1776
URL: https://issues.apache.org/jira/browse/TAP5-1776
Project: Tapestry 5
Issue Type: Improvement
Components: tapestry-core
Affects Versions: 5.3
Reporter: Pedro Ayala
When calling the function formEventManager tapestry is storing the new created
Tapestry.FormEventManager in the storage space, for doing this we are using $T
with the element id. Because the Tapestry.FormEventManager also needs to access
the element, we can optimize the access to it.
This has some performance impact while using old browsers like internet
explorer 7 and pages with a big number of forms.
Index: src/main/resources/org/apache/tapestry5/tapestry.js
===================================================================
--- src/main/resources/org/apache/tapestry5/tapestry.js
+++ src/main/resources/org/apache/tapestry5/tapestry.js
@@ -1119,7 +1130,8 @@ T5.extendInitializers({
* @since 5.2.2
*/
formEventManager : function(spec) {
- $T(spec.formId).formEventManager = new Tapestry.FormEventManager(
+ spec.form = $(spec.formId);
+ $T(spec.form).formEventManager = new Tapestry.FormEventManager(
spec);
},
@@ -1457,7 +1469,7 @@ Tapestry.ErrorPopup = Class.create({
Tapestry.FormEventManager = Class.create({
initialize : function(spec) {
- this.form = $(spec.formId);
+ this.form = spec.form;
this.validateOnBlur = spec.validate.blur;
this.validateOnSubmit = spec.validate.submit;
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira