You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Makundi (JIRA)" <ji...@apache.org> on 2017/12/03 05:14:00 UTC

[jira] [Commented] (WICKET-6503) Ajax refresh and feedback panel

    [ https://issues.apache.org/jira/browse/WICKET-6503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16275827#comment-16275827 ] 

Martin Makundi commented on WICKET-6503:
----------------------------------------

My apologies for a brief ticket. Let's try to elaborate: In Component you have special processing for IFeedback components using FEEDBACK_LIST because when other components are rendered, they might throw feedback messages and make feedback visible.

If feedback is rendered before other components (or in undetermined order), the feedback might be rendered before another component has thrown a message.

This is why the IFeedback components are rendered last in normal rendering.

However, in ajax update, such orderinf for IFeedback is not enforced.

I am proposing to add such reordering for ajax update also.

Thanks.

Plese let me know if this requires more clarification. Probably the existing test case for normal rendering (if such exists) could be modified for testing the same with ajax update.

> Ajax refresh and feedback panel
> -------------------------------
>
>                 Key: WICKET-6503
>                 URL: https://issues.apache.org/jira/browse/WICKET-6503
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 8.0.0-M8
>            Reporter: Martin Makundi
>              Labels: ajax
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> For normal rendering we have:
> {{{{	/**
> 	 * We need to postpone calling beforeRender() on components that implement {@link IFeedback}, to
> 	 * be sure that all other component's beforeRender() has been already called, so that IFeedbacks
> 	 * can collect all feedback messages. This is the key under list of postponed {@link IFeedback}
> 	 * is stored to request cycle metadata. The List is then iterated over in
> 	 * {@link #prepareForRender()} after calling {@link #beforeRender()}, to initialize postponed
> 	 * components.
> 	 */
> 	private static final MetaDataKey<List<Component>> FEEDBACK_LIST = new MetaDataKey<List<Component>>()
> 	{
> 		private static final long serialVersionUID = 1L;
> 	};
> }}}}
> Should there be similar functionality built in for Ajax update? It seems to be a typical problem that the feedback of an ajax update occurs too late.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)