Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-07-12 Thread Ballist1c

Absolute Genius thanks for covering this!!! you guys have saved me alot
of time :)



Matej Knopp-2 wrote:
 
 As far as I know id is a property of DOMElement, so there should be no
 need to call setAttribute.
 
 -Matej
 
 On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:
 On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:
  On 6/24/07, Matej Knopp [EMAIL PROTECTED] wrote:
 
   There's nothing javascript heavy on this :)
  
   You add new item like this:
   String id = rv.newChildId();
   Item item = rv.newItem(id, index, model);
   rv.populateItem(item);
   rv.add(item);
  
   (where rv is the refreshing view. Some of the methods might be
   protected, so you will need to subclass the view, but you have to do
   it anyway, as you need to implement populateItem);
  
   after you call rv.add(item) you can call item.getMarkupId();
  
   Creating DOM in javascript is simple:
  
   var div = document.createElement(div);
   refreshingViewContiner.appendChild(div);
   div.id = id
 

 One more thing Matej - last line above you meant div.setAttribute('id',
 id) right?  Or is there some js foo I should know about?

 
 
   -Matej
 
 
  Just as I was thinking Wicket was not so perfect for Ajax...
 
  It works!  Thanks Matej :)  I really did need that guidance on
 constructing and adding new item to RefreshingView.  And of course now I
 get
 why ListView would not have worked.
 
 
 
   On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:
On 6/24/07, Timo Rantalaiho  [EMAIL PROTECTED] wrote:
 On Sun, 24 Jun 2007, Peter Thomas wrote:
  I haven't used repeaters that much, but would newItem() be the
 right way
to
  create a new Item?  Anyway, I am now stuck because to ensure
 that
 the id
of
  the DOM element is same as the newly created item, I have to
 call
  getMarkupId() on the item then I get the exception This
 component
 is
not
  (yet) coupled to a page  Help!

 Are you sure it's going to be a problem to update the whole
 Repeater? Because if not, your whole work of dynamic DOM
 appending might turn out to be premature optimisation.
   
Agreed, I'm now curious to see how far I can get, and I may not
 actually use
a javascript heavy approach in the end.  Also I've created a decent
 size app
using only ListView (including a custom datatable with pagination)
 and
 am
curious to know what the other repeaters ( e.g. RefreshingView)
 have
 to
offer.
   
Also searching Nabble I see that someone else had some success, not
 sure if
this is the same approach:
   
 http://www.nabble.com/treetable-with-table-markup-tf3557655.html#a9974461
   
 Maybe you can override getMarkupId() for your item components
 to return e.g. myId + domainObject.getdId () or something
 such.

 (Btw, now that we're on it, all-numeric ids that repeaters
 produce by default are invalid HTML. Maybe I should file a
 Jira issue about that.)

 - Timo

 --
 Timo Rantalaiho
 Reaktor Innovations OyURL: http://www.ri.fi/ 


   
 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net

 https://lists.sourceforge.net/lists/listinfo/wicket-user

   
   
   
 -
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
   
 https://lists.sourceforge.net/lists/listinfo/wicket-user
   
   
  
  
 -
   This SF.net email is sponsored by DB2 Express
   Download DB2 Express C - the FREE version of DB2 express and take
   control of your XML. No limits. Just data. Click to get it now.
   http://sourceforge.net/powerbar/db2/
   ___
   Wicket-user mailing list
   Wicket-user@lists.sourceforge.net
  
 https://lists.sourceforge.net/lists/listinfo/wicket-user
  
 
 


 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 

[Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Peter Thomas

Hi,

I'm trying to create a kind of expression builder UI, so I was thinking of
a ListView and there is this add button on the page that will add an item
to the List.  I am able to do this over Ajax, and I am aware that to refresh
a ListView over Ajax, you have to target a container of the ListView and all
this is working fine.  But this means that in the Ajax response, the HTML
for the entire list is retrieved from the server.

Since the list may get big and the content is complex, is it possible to
only get the last ListItem and do a DOM append operation over Ajax?  Does
Wicket's built in Ajax support this.  Any ideas would be appreciated.

Thanks,

Peter.
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Matej Knopp
You can create the DOM element using custom javascript (it's very
simple, basic DOM manipulation) invoked from
ajaxRequestTarget.prependJavascript(). Be sure that the id attribute
of new DOM element is same as new list item id.

Then just render the newly created item (target.addComponent) which
you create manually during the ajax request.

Actually, rather then using ListView for this, I suggest you using
RefreshingView, as it's more flexible.

-Matej

On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:
 Hi,

 I'm trying to create a kind of expression builder UI, so I was thinking of
 a ListView and there is this add button on the page that will add an item
 to the List.  I am able to do this over Ajax, and I am aware that to refresh
 a ListView over Ajax, you have to target a container of the ListView and all
 this is working fine.  But this means that in the Ajax response, the HTML
 for the entire list is retrieved from the server.

 Since the list may get big and the content is complex, is it possible to
 only get the last ListItem and do a DOM append operation over Ajax?  Does
 Wicket's built in Ajax support this.  Any ideas would be appreciated.

 Thanks,

 Peter.

 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user



-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Timo Rantalaiho
On Sun, 24 Jun 2007, Peter Thomas wrote:
 I haven't used repeaters that much, but would newItem() be the right way to
 create a new Item?  Anyway, I am now stuck because to ensure that the id of
 the DOM element is same as the newly created item, I have to call
 getMarkupId() on the item then I get the exception This component is not
 (yet) coupled to a page  Help!

Are you sure it's going to be a problem to update the whole
Repeater? Because if not, your whole work of dynamic DOM
appending might turn out to be premature optimisation.

Maybe you can override getMarkupId() for your item components
to return e.g. myId + domainObject.getdId() or something 
such.

(Btw, now that we're on it, all-numeric ids that repeaters 
produce by default are invalid HTML. Maybe I should file a 
Jira issue about that.)

- Timo

-- 
Timo Rantalaiho   
Reaktor Innovations OyURL: http://www.ri.fi/ 

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Peter Thomas

On 6/24/07, Matej Knopp [EMAIL PROTECTED] wrote:


You can create the DOM element using custom javascript (it's very
simple, basic DOM manipulation) invoked from
ajaxRequestTarget.prependJavascript(). Be sure that the id attribute
of new DOM element is same as new list item id.

Then just render the newly created item (target.addComponent) which
you create manually during the ajax request.

Actually, rather then using ListView for this, I suggest you using
RefreshingView, as it's more flexible.

-Matej



Thanks Matej, I'm trying with RefreshingView as you recommend.

I haven't used repeaters that much, but would newItem() be the right way to
create a new Item?  Anyway, I am now stuck because to ensure that the id of
the DOM element is same as the newly created item, I have to call
getMarkupId() on the item then I get the exception This component is not
(yet) coupled to a page  Help!

On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:

 Hi,

 I'm trying to create a kind of expression builder UI, so I was
thinking of
 a ListView and there is this add button on the page that will add an
item
 to the List.  I am able to do this over Ajax, and I am aware that to
refresh
 a ListView over Ajax, you have to target a container of the ListView and
all
 this is working fine.  But this means that in the Ajax response, the
HTML
 for the entire list is retrieved from the server.

 Since the list may get big and the content is complex, is it possible to
 only get the last ListItem and do a DOM append operation over
Ajax?  Does
 Wicket's built in Ajax support this.  Any ideas would be appreciated.

 Thanks,

 Peter.


-
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user



-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Timo Rantalaiho
On Sun, 24 Jun 2007, Timo Rantalaiho wrote:
 Maybe you can override getMarkupId() for your item components
 to return e.g. myId + domainObject.getdId() or something 

myId- + domainObject.getId() surely.

- Timmo

-- 
Timo Rantalaiho   
Reaktor Innovations OyURL: http://www.ri.fi/ 

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Peter Thomas

On 6/24/07, Timo Rantalaiho [EMAIL PROTECTED] wrote:


On Sun, 24 Jun 2007, Peter Thomas wrote:
 I haven't used repeaters that much, but would newItem() be the right way
to
 create a new Item?  Anyway, I am now stuck because to ensure that the id
of
 the DOM element is same as the newly created item, I have to call
 getMarkupId() on the item then I get the exception This component is
not
 (yet) coupled to a page  Help!

Are you sure it's going to be a problem to update the whole
Repeater? Because if not, your whole work of dynamic DOM
appending might turn out to be premature optimisation.



Agreed, I'm now curious to see how far I can get, and I may not actually use
a javascript heavy approach in the end.  Also I've created a decent size app
using only ListView (including a custom datatable with pagination) and am
curious to know what the other repeaters (e.g. RefreshingView) have to
offer.

Also searching Nabble I see that someone else had some success, not sure if
this is the same approach:
http://www.nabble.com/treetable-with-table-markup-tf3557655.html#a9974461

Maybe you can override getMarkupId() for your item components

to return e.g. myId + domainObject.getdId() or something
such.

(Btw, now that we're on it, all-numeric ids that repeaters
produce by default are invalid HTML. Maybe I should file a
Jira issue about that.)

- Timo

--
Timo Rantalaiho
Reaktor Innovations OyURL: http://www.ri.fi/ 

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Matej Knopp
There's nothing javascript heavy on this :)

You add new item like this:
String id = rv.newChildId();
Item item = rv.newItem(id, index, model);
rv.populateItem(item);
rv.add(item);

(where rv is the refreshing view. Some of the methods might be
protected, so you will need to subclass the view, but you have to do
it anyway, as you need to implement populateItem);

after you call rv.add(item) you can call item.getMarkupId();

Creating DOM in javascript is simple:

var div = document.createElement(div);
refreshingViewContiner.appendChild(div);
div.id = id

-Matej
On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:
 On 6/24/07, Timo Rantalaiho [EMAIL PROTECTED] wrote:
  On Sun, 24 Jun 2007, Peter Thomas wrote:
   I haven't used repeaters that much, but would newItem() be the right way
 to
   create a new Item?  Anyway, I am now stuck because to ensure that the id
 of
   the DOM element is same as the newly created item, I have to call
   getMarkupId() on the item then I get the exception This component is
 not
   (yet) coupled to a page  Help!
 
  Are you sure it's going to be a problem to update the whole
  Repeater? Because if not, your whole work of dynamic DOM
  appending might turn out to be premature optimisation.

 Agreed, I'm now curious to see how far I can get, and I may not actually use
 a javascript heavy approach in the end.  Also I've created a decent size app
 using only ListView (including a custom datatable with pagination) and am
 curious to know what the other repeaters ( e.g. RefreshingView) have to
 offer.

 Also searching Nabble I see that someone else had some success, not sure if
 this is the same approach:
 http://www.nabble.com/treetable-with-table-markup-tf3557655.html#a9974461

  Maybe you can override getMarkupId() for your item components
  to return e.g. myId + domainObject.getdId() or something
  such.
 
  (Btw, now that we're on it, all-numeric ids that repeaters
  produce by default are invalid HTML. Maybe I should file a
  Jira issue about that.)
 
  - Timo
 
  --
  Timo Rantalaiho
  Reaktor Innovations OyURL: http://www.ri.fi/ 
 
 
 -
  This SF.net email is sponsored by DB2 Express
  Download DB2 Express C - the FREE version of DB2 express and take
  control of your XML. No limits. Just data. Click to get it now.
  http://sourceforge.net/powerbar/db2/
  ___
  Wicket-user mailing list
  Wicket-user@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wicket-user
 


 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user



-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Peter Thomas

On 6/24/07, Matej Knopp [EMAIL PROTECTED] wrote:


There's nothing javascript heavy on this :)

You add new item like this:
String id = rv.newChildId();
Item item = rv.newItem(id, index, model);
rv.populateItem(item);
rv.add(item);

(where rv is the refreshing view. Some of the methods might be
protected, so you will need to subclass the view, but you have to do
it anyway, as you need to implement populateItem);

after you call rv.add(item) you can call item.getMarkupId();

Creating DOM in javascript is simple:

var div = document.createElement(div);
refreshingViewContiner.appendChild(div);
div.id = id

-Matej



Just as I was thinking Wicket was not so perfect for Ajax...

It works!  Thanks Matej :)  I really did need that guidance on constructing
and adding new item to RefreshingView.  And of course now I get why ListView
would not have worked.

On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:

 On 6/24/07, Timo Rantalaiho [EMAIL PROTECTED] wrote:
  On Sun, 24 Jun 2007, Peter Thomas wrote:
   I haven't used repeaters that much, but would newItem() be the right
way
 to
   create a new Item?  Anyway, I am now stuck because to ensure that
the id
 of
   the DOM element is same as the newly created item, I have to call
   getMarkupId() on the item then I get the exception This component
is
 not
   (yet) coupled to a page  Help!
 
  Are you sure it's going to be a problem to update the whole
  Repeater? Because if not, your whole work of dynamic DOM
  appending might turn out to be premature optimisation.

 Agreed, I'm now curious to see how far I can get, and I may not actually
use
 a javascript heavy approach in the end.  Also I've created a decent size
app
 using only ListView (including a custom datatable with pagination) and
am
 curious to know what the other repeaters ( e.g. RefreshingView) have to
 offer.

 Also searching Nabble I see that someone else had some success, not sure
if
 this is the same approach:

http://www.nabble.com/treetable-with-table-markup-tf3557655.html#a9974461

  Maybe you can override getMarkupId() for your item components
  to return e.g. myId + domainObject.getdId() or something
  such.
 
  (Btw, now that we're on it, all-numeric ids that repeaters
  produce by default are invalid HTML. Maybe I should file a
  Jira issue about that.)
 
  - Timo
 
  --
  Timo Rantalaiho
  Reaktor Innovations OyURL: http://www.ri.fi/ 
 
 

-
  This SF.net email is sponsored by DB2 Express
  Download DB2 Express C - the FREE version of DB2 express and take
  control of your XML. No limits. Just data. Click to get it now.
  http://sourceforge.net/powerbar/db2/
  ___
  Wicket-user mailing list
  Wicket-user@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wicket-user
 



-
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user



-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Matej Knopp
As far as I know id is a property of DOMElement, so there should be no
need to call setAttribute.

-Matej

On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:
 On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:
  On 6/24/07, Matej Knopp [EMAIL PROTECTED] wrote:
 
   There's nothing javascript heavy on this :)
  
   You add new item like this:
   String id = rv.newChildId();
   Item item = rv.newItem(id, index, model);
   rv.populateItem(item);
   rv.add(item);
  
   (where rv is the refreshing view. Some of the methods might be
   protected, so you will need to subclass the view, but you have to do
   it anyway, as you need to implement populateItem);
  
   after you call rv.add(item) you can call item.getMarkupId();
  
   Creating DOM in javascript is simple:
  
   var div = document.createElement(div);
   refreshingViewContiner.appendChild(div);
   div.id = id
 

 One more thing Matej - last line above you meant div.setAttribute('id',
 id) right?  Or is there some js foo I should know about?

 
 
   -Matej
 
 
  Just as I was thinking Wicket was not so perfect for Ajax...
 
  It works!  Thanks Matej :)  I really did need that guidance on
 constructing and adding new item to RefreshingView.  And of course now I get
 why ListView would not have worked.
 
 
 
   On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:
On 6/24/07, Timo Rantalaiho  [EMAIL PROTECTED] wrote:
 On Sun, 24 Jun 2007, Peter Thomas wrote:
  I haven't used repeaters that much, but would newItem() be the
 right way
to
  create a new Item?  Anyway, I am now stuck because to ensure that
 the id
of
  the DOM element is same as the newly created item, I have to call
  getMarkupId() on the item then I get the exception This component
 is
not
  (yet) coupled to a page  Help!

 Are you sure it's going to be a problem to update the whole
 Repeater? Because if not, your whole work of dynamic DOM
 appending might turn out to be premature optimisation.
   
Agreed, I'm now curious to see how far I can get, and I may not
 actually use
a javascript heavy approach in the end.  Also I've created a decent
 size app
using only ListView (including a custom datatable with pagination) and
 am
curious to know what the other repeaters ( e.g. RefreshingView) have
 to
offer.
   
Also searching Nabble I see that someone else had some success, not
 sure if
this is the same approach:
   
 http://www.nabble.com/treetable-with-table-markup-tf3557655.html#a9974461
   
 Maybe you can override getMarkupId() for your item components
 to return e.g. myId + domainObject.getdId () or something
 such.

 (Btw, now that we're on it, all-numeric ids that repeaters
 produce by default are invalid HTML. Maybe I should file a
 Jira issue about that.)

 - Timo

 --
 Timo Rantalaiho
 Reaktor Innovations OyURL: http://www.ri.fi/ 


   
 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net

 https://lists.sourceforge.net/lists/listinfo/wicket-user

   
   
   
 -
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
   
 https://lists.sourceforge.net/lists/listinfo/wicket-user
   
   
  
  
 -
   This SF.net email is sponsored by DB2 Express
   Download DB2 Express C - the FREE version of DB2 express and take
   control of your XML. No limits. Just data. Click to get it now.
   http://sourceforge.net/powerbar/db2/
   ___
   Wicket-user mailing list
   Wicket-user@lists.sourceforge.net
  
 https://lists.sourceforge.net/lists/listinfo/wicket-user
  
 
 


 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user



-
This SF.net email 

Re: [Wicket-user] Adding item to ListView over Ajax - refresh only newest row

2007-06-24 Thread Peter Thomas

On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:


On 6/24/07, Matej Knopp [EMAIL PROTECTED] wrote:

 There's nothing javascript heavy on this :)

 You add new item like this:
 String id = rv.newChildId();
 Item item = rv.newItem(id, index, model);
 rv.populateItem(item);
 rv.add(item);

 (where rv is the refreshing view. Some of the methods might be
 protected, so you will need to subclass the view, but you have to do
 it anyway, as you need to implement populateItem);

 after you call rv.add(item) you can call item.getMarkupId();

 Creating DOM in javascript is simple:

 var div = document.createElement(div);
 refreshingViewContiner.appendChild(div);
 div.id = id



One more thing Matej - last line above you meant div.setAttribute('id',
id) right?  Or is there some js foo I should know about?

-Matej



Just as I was thinking Wicket was not so perfect for Ajax...

It works!  Thanks Matej :)  I really did need that guidance on
constructing and adding new item to RefreshingView.  And of course now I get
why ListView would not have worked.

On 6/24/07, Peter Thomas [EMAIL PROTECTED] wrote:
  On 6/24/07, Timo Rantalaiho [EMAIL PROTECTED] wrote:
   On Sun, 24 Jun 2007, Peter Thomas wrote:
I haven't used repeaters that much, but would newItem() be the
 right way
  to
create a new Item?  Anyway, I am now stuck because to ensure that
 the id
  of
the DOM element is same as the newly created item, I have to call
getMarkupId() on the item then I get the exception This component
 is
  not
(yet) coupled to a page  Help!
  
   Are you sure it's going to be a problem to update the whole
   Repeater? Because if not, your whole work of dynamic DOM
   appending might turn out to be premature optimisation.
 
  Agreed, I'm now curious to see how far I can get, and I may not
 actually use
  a javascript heavy approach in the end.  Also I've created a decent
 size app
  using only ListView (including a custom datatable with pagination) and
 am
  curious to know what the other repeaters ( e.g. RefreshingView) have
 to
  offer.
 
  Also searching Nabble I see that someone else had some success, not
 sure if
  this is the same approach:
 
 http://www.nabble.com/treetable-with-table-markup-tf3557655.html#a9974461
 
   Maybe you can override getMarkupId() for your item components
   to return e.g. myId + domainObject.getdId () or something
   such.
  
   (Btw, now that we're on it, all-numeric ids that repeaters
   produce by default are invalid HTML. Maybe I should file a
   Jira issue about that.)
  
   - Timo
  
   --
   Timo Rantalaiho
   Reaktor Innovations OyURL: http://www.ri.fi/ 
  
  
 
 -
   This SF.net email is sponsored by DB2 Express
   Download DB2 Express C - the FREE version of DB2 express and take
   control of your XML. No limits. Just data. Click to get it now.
   http://sourceforge.net/powerbar/db2/
   ___
   Wicket-user mailing list
   Wicket-user@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/wicket-user
  
 
 
 
 -
  This SF.net email is sponsored by DB2 Express
  Download DB2 Express C - the FREE version of DB2 express and take
  control of your XML. No limits. Just data. Click to get it now.
  http://sourceforge.net/powerbar/db2/
  ___
  Wicket-user mailing list
  Wicket-user@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wicket-user
 
 

 -

 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user



-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user