void linkDeferredForm(IRequestCycle cycle, IForm form) { List deferred = (List)_deferredFormConnections.remove(form.getExtendedId()); for (int i=0; i < deferred.size(); i++) { DeferredFormConnection fConn = (DeferredFormConnection)deferred.get(i); Map scriptParms = fConn._scriptParms; // don't want any events accidently connected again scriptParms.remove("events"); IComponent component = (IComponent)scriptParms.get("component"); // fire off element based events first linkElementEvents(cycle, component); ComponentEventProperty[] props = _invoker.getEventPropertyListeners(component.getExtendedId()); if (props == null) continue; for (int e=0; e < props.length; e++) { Object[][] formEvents = buildFormEvents(cycle, form.getExtendedId(), props[e].getFormEvents(), fConn._async, fConn._validate, fConn._uniqueHash); scriptParms.put("formEvents", formEvents); // execute script PageRenderSupport prs = TapestryUtils.getPageRenderSupport(cycle, component); Resource resource = getScript(component); _scriptSource.getScript(resource).execute(form, cycle, prs, scriptParms); } } }
void linkDeferredForm(IRequestCycle cycle, IForm form) { List deferred = (List)_deferredFormConnections.remove(form.getExtendedId()); for (int i=0; i < deferred.size(); i++) { DeferredFormConnection fConn = (DeferredFormConnection)deferred.get(i); Map scriptParms = fConn._scriptParms; // don't want any events accidently connected again scriptParms.remove("events"); IComponent component = (IComponent)scriptParms.get("component"); // fire off element based events first linkElementEvents(cycle, component); ComponentEventProperty[] props = _invoker.getEventPropertyListeners(component.getExtendedId()); if (props == null) continue; for (int e=0; e < props.length; e++) { Object[][] formEvents = buildFormEvents(cycle, form.getExtendedId(), props[e].getFormEvents(), fConn._async, fConn._validate, fConn._uniqueHash); scriptParms.put("formEvents", formEvents); // execute script PageRenderSupport prs = TapestryUtils.getPageRenderSupport(cycle, component); Resource resource = getScript(component); _scriptSource.getScript(resource).execute(form, cycle, prs, scriptParms); } } }
/** * {@inheritDoc} */ public void renderComponent(IRequestCycle cycle, IComponent component) { if (cycle.isRewinding()) return; if (Component.class.isInstance(component) && !((Component)component).hasEvents() && !IForm.class.isInstance(component)) return; if (TapestryUtils.getOptionalPageRenderSupport(cycle) == null) return; // Don't render fields being pre-rendered, otherwise we'll render twice IComponent field = (IComponent)cycle.getAttribute(TapestryUtils.FIELD_PRERENDER); if (field != null && field == component) return; linkComponentEvents(cycle, component); linkElementEvents(cycle, component); if (IForm.class.isInstance(component)) mapFormNames(cycle, (IForm)component); if (isDeferredForm(component)) linkDeferredForm(cycle, (IForm)component); }
/** * {@inheritDoc} */ public void renderComponent(IRequestCycle cycle, IComponent component) { if (cycle.isRewinding()) return; if (Component.class.isInstance(component) && !((Component)component).hasEvents() && !IForm.class.isInstance(component)) return; if (TapestryUtils.getOptionalPageRenderSupport(cycle) == null) return; // Don't render fields being pre-rendered, otherwise we'll render twice IComponent field = (IComponent)cycle.getAttribute(TapestryUtils.FIELD_PRERENDER); if (field != null && field == component) return; linkComponentEvents(cycle, component); linkElementEvents(cycle, component); if (IForm.class.isInstance(component)) mapFormNames(cycle, (IForm)component); if (isDeferredForm(component)) linkDeferredForm(cycle, (IForm)component); }