You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Peter Ertl (JIRA)" <ji...@apache.org> on 2007/11/21 13:42:44 UTC

[jira] Created: (WICKET-1177) partial ajax updates on repeater components

partial ajax updates on repeater components
-------------------------------------------

                 Key: WICKET-1177
                 URL: https://issues.apache.org/jira/browse/WICKET-1177
             Project: Wicket
          Issue Type: Improvement
          Components: wicket
            Reporter: Peter Ertl


I try to explain the problem using an example:

Imagine having a guestbook page where you can add new user entries via ajax post...

Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.

Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).

However, things are more complicated.

When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Created: (WICKET-1177) partial ajax updates on repeater components

Posted by Eelco Hillenius <ee...@gmail.com>.
On Nov 23, 2007 2:21 PM, Johan Compagner <jc...@gmail.com> wrote:
> Reuse or not is not the point i think for this case
> Because reuse is used when you rerender the complete repeater
> but that is something they dont want to happen. They only want to rerender 1
> item (or something in the item)
> But it is not that easy to get the component from that item,,

I was just thinking out loud so it might not make sense. I was
thinking that we might be able to use the reuse strategy to determine
what elements should be re-rendered. It might mean a bit of work, and
probably even API breaks, so not something for 1.3 to do.

"Iterator items = getItemReuseStrategy().getItems(itemFactory, models,
getItems());", can be compared with the current children (right before
removeAll is called), and some 'changed' property could be set on the
new items so that they could later be picked up with a visitor that
determines which elements should be re-rendered. I can imagine such an
implementation to get pretty hairy quickly, but I think it is doable
to provide such functionality transparently. Whether it is worth the
effort in this stage I'm not sure. Users are welcome to propose though
patches as well.

Eelco

Re: [jira] Created: (WICKET-1177) partial ajax updates on repeater components

Posted by Johan Compagner <jc...@gmail.com>.
Reuse or not is not the point i think for this case
Because reuse is used when you rerender the complete repeater
but that is something they dont want to happen. They only want to rerender 1
item (or something in the item)
But it is not that easy to get the component from that item,,

Thats why i propose a interface like IChangeDetector.isChanged()
and you visit your repeater childs and ask all the childs if something is
changed and if it is add it to the AjaxRequestTarget.
But then the component must be able to know if it is changed and must be
rerendered or not..

johan

On Nov 23, 2007 10:55 PM, Eelco Hillenius <ee...@gmail.com> wrote:

> On Nov 23, 2007 1:48 PM, Johan Compagner <jc...@gmail.com> wrote:
> > how do you know which item is changed?
> > Does the item itself know that? Then you can just find it by using a
> > Component visitor..
>
> What about using the reuse strategy for info like this?
>
> Eelco
>

Re: [jira] Created: (WICKET-1177) partial ajax updates on repeater components

Posted by Eelco Hillenius <ee...@gmail.com>.
On Nov 23, 2007 1:48 PM, Johan Compagner <jc...@gmail.com> wrote:
> how do you know which item is changed?
> Does the item itself know that? Then you can just find it by using a
> Component visitor..

What about using the reuse strategy for info like this?

Eelco

Re: [jira] Created: (WICKET-1177) partial ajax updates on repeater components

Posted by Johan Compagner <jc...@gmail.com>.
how do you know which item is changed?
Does the item itself know that? Then you can just find it by using a
Component visitor..

johan



On Nov 23, 2007 10:31 AM, Peter Ertl <pe...@gmx.net> wrote:

> Hello Timo,
>
> I think this should be in JIRA.
>
> It's easy to update the data in the data provider. But it's really
> complicated to only update the changed elements of the data view in
> the ajax response as there is no easy way to get only the element of
> the data view that contain changes.
>
> usually you resort to
>
>   target.addComponent(dataView)
>
> but I want to do
>
>   target.addComponent(dataViewItem)
>
> imagine you have 200 elements of the data view in the browser window
> and only one changes. you don't want to transmit all 200 elements
> again but just that one.
>
> Best regards
> Peter
>
>
>
> Am 22.11.2007 um 04:49 schrieb Timo Rantalaiho:
>
> > I don't know if this should really be in Jira, as partial
> > Ajax updates on repeaters work without anything too special.
> >
> > In your case it sounds to me you would be better off using
> > DataView and updating the data its IDataProvider provides.
>
>

Re: [jira] Created: (WICKET-1177) partial ajax updates on repeater components

Posted by Xavier Hanin <xa...@gmail.com>.
On Nov 23, 2007 10:31 AM, Peter Ertl <pe...@gmx.net> wrote:

> Hello Timo,
>
> I think this should be in JIRA.
>
> It's easy to update the data in the data provider. But it's really
> complicated to only update the changed elements of the data view in
> the ajax response as there is no easy way to get only the element of
> the data view that contain changes.
>
> usually you resort to
>
>   target.addComponent(dataView)
>
> but I want to do
>
>   target.addComponent(dataViewItem)
>
> imagine you have 200 elements of the data view in the browser window
> and only one changes. you don't want to transmit all 200 elements
> again but just that one.

+1, I had to write custom javascript to have a log component be updated with
new lines only, having something built-in in Wicket would be easier.

Xavier


>
>
> Best regards
> Peter
>
>
>
> Am 22.11.2007 um 04:49 schrieb Timo Rantalaiho:
>
> > I don't know if this should really be in Jira, as partial
> > Ajax updates on repeaters work without anything too special.
> >
> > In your case it sounds to me you would be better off using
> > DataView and updating the data its IDataProvider provides.
>
>


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Re: [jira] Created: (WICKET-1177) partial ajax updates on repeater components

Posted by Peter Ertl <pe...@gmx.net>.
Hello Timo,

I think this should be in JIRA.

It's easy to update the data in the data provider. But it's really  
complicated to only update the changed elements of the data view in  
the ajax response as there is no easy way to get only the element of  
the data view that contain changes.

usually you resort to

   target.addComponent(dataView)

but I want to do

   target.addComponent(dataViewItem)

imagine you have 200 elements of the data view in the browser window  
and only one changes. you don't want to transmit all 200 elements  
again but just that one.

Best regards
Peter



Am 22.11.2007 um 04:49 schrieb Timo Rantalaiho:

> I don't know if this should really be in Jira, as partial
> Ajax updates on repeaters work without anything too special.
>
> In your case it sounds to me you would be better off using
> DataView and updating the data its IDataProvider provides.


Re: [jira] Created: (WICKET-1177) partial ajax updates on repeater components

Posted by Timo Rantalaiho <Ti...@ri.fi>.
I don't know if this should really be in Jira, as partial 
Ajax updates on repeaters work without anything too special.

In your case it sounds to me you would be better off using
DataView and updating the data its IDataProvider provides.


Re: [jira] Created: (WICKET-1177) partial ajax updates on repeater components

Posted by Timo Rantalaiho <Ti...@ri.fi>.
I don't know if this should really be in Jira, as partial 
Ajax updates on repeaters work without anything too special.

In your case it sounds to me you would be better off using
DataView and updating the data its IDataProvider provides.


[jira] Updated: (WICKET-1177) partial ajax updates on repeater components

Posted by "Martijn Dashorst (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martijn Dashorst updated WICKET-1177:
-------------------------------------

    Fix Version/s:     (was: 1.4-M3)
                   1.4-M4

Moved to next milestone release.

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.4-M4
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WICKET-1177) partial ajax updates on repeater components

Posted by "Pedro Santos (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908516#action_12908516 ] 

Pedro Santos commented on WICKET-1177:
--------------------------------------

I didn't understand
Imaging for instance if we have:
<table wicket:id="container">
<tbody>
<tr wicket:id="repeater">(...)</tr>
</tbody>
</table>
How an out of box solution would know that the new repeater item should be placed at the tbody, instead at the table?
Shouldn't this child parent resolution be implemented case by case?

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M3
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (WICKET-1177) partial ajax updates on repeater components

Posted by "Igor Vaynberg (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Vaynberg updated WICKET-1177:
----------------------------------

    Fix Version/s: 1.5-M3
                       (was: 1.5-M2)

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M3
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WICKET-1177) partial ajax updates on repeater components

Posted by "Martin Grigorov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908522#action_12908522 ] 

Martin Grigorov commented on WICKET-1177:
-----------------------------------------

The new item should be added as child of 'tr' (e.g. a 'td'). The repeater is attached to 'tr' but there should be inner markup element for the item:

<table wicket:id="container">
<tbody>
<tr wicket:id="repeater">
<td wicket:id="item"></td>           <<<<<<<<<< we can read that the item is attached to 'td' and do the JS stuff
</tr>
</tbody>
</table> 

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M3
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (WICKET-1177) partial ajax updates on repeater components

Posted by "Frank Bille Jensen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Bille Jensen updated WICKET-1177:
---------------------------------------

    Fix Version/s:     (was: 1.4-M1)
                   1.4-M2

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.4-M2
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (WICKET-1177) partial ajax updates on repeater components

Posted by "Peter Ertl (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Peter Ertl updated WICKET-1177:
-------------------------------

    Issue Type: Wish  (was: Improvement)

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>            Reporter: Peter Ertl
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WICKET-1177) partial ajax updates on repeater components

Posted by "Igor Vaynberg (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908492#action_12908492 ] 

Igor Vaynberg commented on WICKET-1177:
---------------------------------------

blogged about that here a while back

http://wicketinaction.com/2008/10/repainting-only-newly-created-repeater-items-via-ajax/



> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M3
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WICKET-1177) partial ajax updates on repeater components

Posted by "Peter Ertl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12552922 ] 

Peter Ertl commented on WICKET-1177:
------------------------------------

You would probably need something new like

  AjaxRequestTarget#insertComponent(String parentMarkupId, index)

to insert a new component's markup into the browser's HTML.

Using the newItem() method of RefreshingView could be useful for tracking the creation of new items.

However, I am missing an overall picture of how this could be done...

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.4.0-alpha
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (WICKET-1177) partial ajax updates on repeater components

Posted by "Matej Knopp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matej Knopp updated WICKET-1177:
--------------------------------

    Fix Version/s:     (was: 1.4-M4)
                   1.5-M1

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M1
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WICKET-1177) partial ajax updates on repeater components

Posted by "Martin Grigorov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908513#action_12908513 ] 

Martin Grigorov commented on WICKET-1177:
-----------------------------------------

In 1.5 the markup is available even in the component's constructor so I think it is possible to integrate the idea Igor described in the blog to work out of the box for repeaters.

E.g. if the repeater is attached to <tr wicket:id="items"><td wicket:id="item"> then it should be possible to figure out that we need to create 'td' element and append it to the repeater's markup element.

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M3
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (WICKET-1177) partial ajax updates on repeater components

Posted by "Johan Compagner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Johan Compagner updated WICKET-1177:
------------------------------------

    Affects Version/s: 1.3.0-rc2
        Fix Version/s: 1.4.0-alpha
             Assignee: Matej Knopp

so to get this straight, You want to partial update a repeater and then also do this for new rows??
I dont think that is possible at this time because we do component replacement as a whole.
So for a new entry you have to repaint the complete table. 

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.4.0-alpha
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (WICKET-1177) partial ajax updates on repeater components

Posted by "Igor Vaynberg (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Vaynberg updated WICKET-1177:
----------------------------------

    Fix Version/s: 1.5-M2
                       (was: 1.5-M1)

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M2
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WICKET-1177) partial ajax updates on repeater components

Posted by "Pedro Santos (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908491#action_12908491 ] 

Pedro Santos commented on WICKET-1177:
--------------------------------------

AbstractTree already does something similar. If some new component was add at the tree, for instance, this component first prepend the javascript call:
Wicket.Tree.createElement
to create some DOM component with the Wicket component markup id at the browser, and than add the new Wicket component to the ajax response, like:
target.addComponent(theNewWicketComponentThatWillExistAtTheBrowserSinceThisResponsePrependeSomeJavascriptForThisEnd)

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M3
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (WICKET-1177) partial ajax updates on repeater components

Posted by "Jeremy Thomerson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeremy Thomerson updated WICKET-1177:
-------------------------------------

    Fix Version/s:     (was: 1.5-M3)
                   1.5-M4

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M4
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WICKET-1177) partial ajax updates on repeater components

Posted by "Pedro Santos (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12908495#action_12908495 ] 

Pedro Santos commented on WICKET-1177:
--------------------------------------

I can't figure out why this wish is open.  There are plans to provide a new API to assist this use case?

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.5-M3
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (WICKET-1177) partial ajax updates on repeater components

Posted by "Frank Bille Jensen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Bille Jensen updated WICKET-1177:
---------------------------------------

    Fix Version/s:     (was: 1.4-M2)
                   1.4-M3

> partial ajax updates on repeater components
> -------------------------------------------
>
>                 Key: WICKET-1177
>                 URL: https://issues.apache.org/jira/browse/WICKET-1177
>             Project: Wicket
>          Issue Type: Wish
>          Components: wicket
>    Affects Versions: 1.3.0-rc2
>            Reporter: Peter Ertl
>            Assignee: Matej Knopp
>             Fix For: 1.4-M3
>
>
> I try to explain the problem using an example:
> Imagine having a guestbook page where you can add new user entries via ajax post...
> Assume we are using RefreshingView to display the user entries. Once a user submits a new post the view should not be re-rendered in the ajax response completely but only the new user entry.
> Technically it's easy to address the view items by using e.g. ListItem#setOutputMarkupId(true).
> However, things are more complicated.
> When the user clicks on the submit button a background ajax request is created and a form submit listener is invoked. There the new guestbook post is saved in the data model. Then you want to update the list with the new entry using target.addComponent(..) . Also, applying a yellow fade effect to the component would be cool as an visual indication for the user. However, there is no way I can think of to get the proper view item(s) for the model object (=new user entry).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.