Initialization JavaScript needs help when order counts
------------------------------------------------------
Key: TAP5-774
URL: https://issues.apache.org/jira/browse/TAP5-774
Project: Tapestry 5
Issue Type: Bug
Components: tapestry-core
Affects Versions: 5.1.0.5
Reporter: Howard M. Lewis Ship
Tapestry currently has no API to control in what order initialization
JavaScript occurs; in fact, much of the initialization (when using
RenderSupport.addInit()) will be in an arbitrary order (determined by Map key
traversal, which is unpredictable).
It would be nice if there was some control to ensure that certain
initializations occurred before or after others.
A canonical example is a mixin that adds a confirmation dialog to a link; that
event handler for the dialog must come FIRST before any other event handlers
for the click event of the link. Since Prototype doesn't seem to provide a way
to establish that ordering, Tapestry needs to.
RenderSupport.addInit() needs new overrides (or perhaps a new method,
addScheduledInit()) where a prioritization is added; the priority is a number;
all initializations for a particular priority level occur before
initializations for a numerically higher level. The default priority should be
some reasonable number (0, 100, 1000 ... but fixed) to make it easier to say
"before" or "after" ... much as the CSS z-order property is used.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.