Re: [Wicket-user] div id problem
answers follow ... 2007/5/10, Alex Objelean <[EMAIL PROTECTED]>: > > Would this solution work better for you? > > > > > > > > > > > > > > > Yes, here the additional divs are not wicket components, so wicket don't change theirs ids (in spite of wicket could repeat them) and I can apply stylesheet on it but it adds a level in markup, I don't really like it but it works. (Xavier already suggests it :) ) Thanks > Xavier Hanin wrote: > > > > On 5/10/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > >> > >> On 5/10/07, Bernatet Mathieu <[EMAIL PROTECTED]> wrote: > >> > > >> > 2007/5/10, Matej Knopp <[EMAIL PROTECTED]>: > >> > > Right now, when you set outputmarkupid on component wicket doesn't > >> > > honor the id specified in markup. One of the reasons is that when you > >> > > use the component twice, the id is no longer unique. > >> > > >> > I understand that if the id is specified in the panel markup > >> > (ViewPanel.html) , but it is not the case here. > >> > >> > >> it might not be the case, but how is wicket supposed to know that? also > >> what if you put that component into a repeater? it will also have non > >> unique > >> ids. i think there are so many different ways to break this that i always > >> advocated of never honoring markup's id attr if setoutputmarkupid is > >> called. > >> but thats just me. > >> > > > > So what is the recommended best practice: ask web designers to use class > > instead of ids on dynamic components (maybe not always possible), or > > encapsulate a dynamic component in a static one with an id under control > > of > > the web designer? > > > > Xavier > > > > -igor > >> > >> Yes, div could already have a class attribute, e.g. the same for each ViewPanel, and class could be not used to reference one of them. But I don't have a pretty solution. Wicket guarantees each component have a unique id, I understand igor's position. The best way, I think, is encapsulate a dynamic component in a static one as Xavier said. Mathieu > >> > In you case I > >> > > suggest you use css class instead of id to assign stylesheet to your > >> > > elements. > >> > > >> > ok, I didn't use a class attribute for my div so I can use it now. > >> > Thanks > >> > > >> > Mathieu > >> > > >> > > -Matej > >> > > > >> > > On 5/10/07, Bernatet Mathieu < [EMAIL PROTECTED]> wrote: > >> > > > Hi, > >> > > > > >> > > > I try to apply css style on several div but wicket changes their id > >> > > > attributes defined in the html file. > >> > > > I have 3 custom panels that contain a DataView and I want to > >> refresh > >> > > >> > > > them with ajax, so I make a call to setOutputMarkupId() method. > >> This > >> > > > call changes the id defined in html file. > >> > > > I add an AttributeModifier to force the use of the defined id, that > >> > > > works but now ajax refresh don't work. > >> > > > What I'm doing wrong? > >> > > > > >> > > > code: > >> > > > > >> > > > dashboard.html: > >> > > > > >> > > > ... > >> > > > > >> > > > > >> > > > >> > /> > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > --- > >> > > > > >> > > > viewPanel.html: > >> > > > > >> > > > > >> > > > > >> > > > > class="navigator">[agents navigator] > >> > > > > >> > > > > >> > > > > >> > > > ViewPanel.java: > >> > > > > >> > > > public class ViewPanel extends Panel { > >> > > > private static final long serialVersionUID = 1L; > >> > > > > >> > > > public ViewPanel(String id, DataView dataView, int > >> > itemsPerPage) { > >> > > > super(id); > >> > > > setOutputMarkupId(true); > >> > > > add(dataView); > >> > > > dataView.setItemsPerPage(itemsPerPage); > >> > > > add(new AttributeModifier("id", true, new > >> > Model(id))); > >> > > > add(new FancyPagingNavigator("navigator", > >> > dataView)); > >> > > > } > >> > > > } > >> > > > - > >> > > > > >> > > > Dashboard.java : > >> > > > > >> > > > public class Dashboard extends WebPage { > >> > > > public Dashboard() { > >> > > > ... > >> > > > add(new ProjectsPanel("projects-panel", projects, > >> > 5)); > >> > > > add(new AgentsPanel("agents-panel", scheduler, 5)); > >> > > > add(new QueuePanel("builds-panel", scheduler, 5)); > >> > > > } > >> > > > } > >> > > > > >> > > > Mathieu > >> > > > > >> > > > > >> > > >> - > >> > > > This SF.net email is sponsored by DB2 Express > >> > > > Download DB2 Express C - the FREE version of DB2 express and take > >> > > >
Re: [Wicket-user] div id problem
Would this solution work better for you? Xavier Hanin wrote: > > On 5/10/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote: >> >> On 5/10/07, Bernatet Mathieu <[EMAIL PROTECTED]> wrote: >> > >> > 2007/5/10, Matej Knopp <[EMAIL PROTECTED]>: >> > > Right now, when you set outputmarkupid on component wicket doesn't >> > > honor the id specified in markup. One of the reasons is that when you >> > > use the component twice, the id is no longer unique. >> > >> > I understand that if the id is specified in the panel markup >> > (ViewPanel.html) , but it is not the case here. >> >> >> it might not be the case, but how is wicket supposed to know that? also >> what if you put that component into a repeater? it will also have non >> unique >> ids. i think there are so many different ways to break this that i always >> advocated of never honoring markup's id attr if setoutputmarkupid is >> called. >> but thats just me. >> > > So what is the recommended best practice: ask web designers to use class > instead of ids on dynamic components (maybe not always possible), or > encapsulate a dynamic component in a static one with an id under control > of > the web designer? > > Xavier > > -igor >> >> >> > In you case I >> > > suggest you use css class instead of id to assign stylesheet to your >> > > elements. >> > >> > ok, I didn't use a class attribute for my div so I can use it now. >> > Thanks >> > >> > Mathieu >> > >> > > -Matej >> > > >> > > On 5/10/07, Bernatet Mathieu < [EMAIL PROTECTED]> wrote: >> > > > Hi, >> > > > >> > > > I try to apply css style on several div but wicket changes their id >> > > > attributes defined in the html file. >> > > > I have 3 custom panels that contain a DataView and I want to >> refresh >> > >> > > > them with ajax, so I make a call to setOutputMarkupId() method. >> This >> > > > call changes the id defined in html file. >> > > > I add an AttributeModifier to force the use of the defined id, that >> > > > works but now ajax refresh don't work. >> > > > What I'm doing wrong? >> > > > >> > > > code: >> > > > >> > > > dashboard.html: >> > > > >> > > > ... >> > > > >> > > > >> > > > > > /> >> > > > >> > > > >> > > > >> > > > >> > > > --- >> > > > >> > > > viewPanel.html: >> > > > >> > > > >> > > > >> > > > > class="navigator">[agents navigator] >> > > > >> > > > >> > > > >> > > > ViewPanel.java: >> > > > >> > > > public class ViewPanel extends Panel { >> > > > private static final long serialVersionUID = 1L; >> > > > >> > > > public ViewPanel(String id, DataView dataView, int >> > itemsPerPage) { >> > > > super(id); >> > > > setOutputMarkupId(true); >> > > > add(dataView); >> > > > dataView.setItemsPerPage(itemsPerPage); >> > > > add(new AttributeModifier("id", true, new >> > Model(id))); >> > > > add(new FancyPagingNavigator("navigator", >> > dataView)); >> > > > } >> > > > } >> > > > - >> > > > >> > > > Dashboard.java : >> > > > >> > > > public class Dashboard extends WebPage { >> > > > public Dashboard() { >> > > > ... >> > > > add(new ProjectsPanel("projects-panel", projects, >> > 5)); >> > > > add(new AgentsPanel("agents-panel", scheduler, 5)); >> > > > add(new QueuePanel("builds-panel", scheduler, 5)); >> > > > } >> > > > } >> > > > >> > > > Mathieu >> > > > >> > > > >> > >> - >> > > > 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 e
Re: [Wicket-user] div id problem
On 5/10/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote: On 5/10/07, Bernatet Mathieu <[EMAIL PROTECTED]> wrote: > > 2007/5/10, Matej Knopp <[EMAIL PROTECTED]>: > > Right now, when you set outputmarkupid on component wicket doesn't > > honor the id specified in markup. One of the reasons is that when you > > use the component twice, the id is no longer unique. > > I understand that if the id is specified in the panel markup > (ViewPanel.html) , but it is not the case here. it might not be the case, but how is wicket supposed to know that? also what if you put that component into a repeater? it will also have non unique ids. i think there are so many different ways to break this that i always advocated of never honoring markup's id attr if setoutputmarkupid is called. but thats just me. So what is the recommended best practice: ask web designers to use class instead of ids on dynamic components (maybe not always possible), or encapsulate a dynamic component in a static one with an id under control of the web designer? Xavier -igor > In you case I > > suggest you use css class instead of id to assign stylesheet to your > > elements. > > ok, I didn't use a class attribute for my div so I can use it now. > Thanks > > Mathieu > > > -Matej > > > > On 5/10/07, Bernatet Mathieu < [EMAIL PROTECTED]> wrote: > > > Hi, > > > > > > I try to apply css style on several div but wicket changes their id > > > attributes defined in the html file. > > > I have 3 custom panels that contain a DataView and I want to refresh > > > > them with ajax, so I make a call to setOutputMarkupId() method. This > > > call changes the id defined in html file. > > > I add an AttributeModifier to force the use of the defined id, that > > > works but now ajax refresh don't work. > > > What I'm doing wrong? > > > > > > code: > > > > > > dashboard.html: > > > > > > ... > > > > > > > > > /> > > > > > > > > > > > > > > > --- > > > > > > viewPanel.html: > > > > > > > > > > > > class="navigator">[agents navigator] > > > > > > > > > > > > ViewPanel.java: > > > > > > public class ViewPanel extends Panel { > > > private static final long serialVersionUID = 1L; > > > > > > public ViewPanel(String id, DataView dataView, int > itemsPerPage) { > > > super(id); > > > setOutputMarkupId(true); > > > add(dataView); > > > dataView.setItemsPerPage(itemsPerPage); > > > add(new AttributeModifier("id", true, new > Model(id))); > > > add(new FancyPagingNavigator("navigator", > dataView)); > > > } > > > } > > > - > > > > > > Dashboard.java : > > > > > > public class Dashboard extends WebPage { > > > public Dashboard() { > > > ... > > > add(new ProjectsPanel("projects-panel", projects, > 5)); > > > add(new AgentsPanel("agents-panel", scheduler, 5)); > > > add(new QueuePanel("builds-panel", scheduler, 5)); > > > } > > > } > > > > > > Mathieu > > > > > > > - > > > 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 li
Re: [Wicket-user] div id problem
On 5/10/07, Bernatet Mathieu <[EMAIL PROTECTED]> wrote: 2007/5/10, Matej Knopp <[EMAIL PROTECTED]>: > Right now, when you set outputmarkupid on component wicket doesn't > honor the id specified in markup. One of the reasons is that when you > use the component twice, the id is no longer unique. I understand that if the id is specified in the panel markup (ViewPanel.html) , but it is not the case here. it might not be the case, but how is wicket supposed to know that? also what if you put that component into a repeater? it will also have non unique ids. i think there are so many different ways to break this that i always advocated of never honoring markup's id attr if setoutputmarkupid is called. but thats just me. -igor In you case I > suggest you use css class instead of id to assign stylesheet to your > elements. ok, I didn't use a class attribute for my div so I can use it now. Thanks Mathieu > -Matej > > On 5/10/07, Bernatet Mathieu <[EMAIL PROTECTED]> wrote: > > Hi, > > > > I try to apply css style on several div but wicket changes their id > > attributes defined in the html file. > > I have 3 custom panels that contain a DataView and I want to refresh > > them with ajax, so I make a call to setOutputMarkupId() method. This > > call changes the id defined in html file. > > I add an AttributeModifier to force the use of the defined id, that > > works but now ajax refresh don't work. > > What I'm doing wrong? > > > > code: > > > > dashboard.html: > > > > ... > > > > > > > > > > > > > > > > --- > > > > viewPanel.html: > > > > > > > > [agents navigator] > > > > > > > > ViewPanel.java: > > > > public class ViewPanel extends Panel { > > private static final long serialVersionUID = 1L; > > > > public ViewPanel(String id, DataView dataView, int itemsPerPage) { > > super(id); > > setOutputMarkupId(true); > > add(dataView); > > dataView.setItemsPerPage(itemsPerPage); > > add(new AttributeModifier("id", true, new Model(id))); > > add(new FancyPagingNavigator("navigator", dataView)); > > } > > } > > - > > > > Dashboard.java: > > > > public class Dashboard extends WebPage { > > public Dashboard() { > > ... > > add(new ProjectsPanel("projects-panel", projects, 5)); > > add(new AgentsPanel("agents-panel", scheduler, 5)); > > add(new QueuePanel("builds-panel", scheduler, 5)); > > } > > } > > > > Mathieu > > > > - > > 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] div id problem
2007/5/10, Matej Knopp <[EMAIL PROTECTED]>: > Right now, when you set outputmarkupid on component wicket doesn't > honor the id specified in markup. One of the reasons is that when you > use the component twice, the id is no longer unique. I understand that if the id is specified in the panel markup (ViewPanel.html) , but it is not the case here. > In you case I > suggest you use css class instead of id to assign stylesheet to your > elements. ok, I didn't use a class attribute for my div so I can use it now. Thanks Mathieu > -Matej > > On 5/10/07, Bernatet Mathieu <[EMAIL PROTECTED]> wrote: > > Hi, > > > > I try to apply css style on several div but wicket changes their id > > attributes defined in the html file. > > I have 3 custom panels that contain a DataView and I want to refresh > > them with ajax, so I make a call to setOutputMarkupId() method. This > > call changes the id defined in html file. > > I add an AttributeModifier to force the use of the defined id, that > > works but now ajax refresh don't work. > > What I'm doing wrong? > > > > code: > > > > dashboard.html: > > > > ... > > > > > > > > > > > > > > > > --- > > > > viewPanel.html: > > > > > > > > [agents > > navigator] > > > > > > > > ViewPanel.java: > > > > public class ViewPanel extends Panel { > > private static final long serialVersionUID = 1L; > > > > public ViewPanel(String id, DataView dataView, int > > itemsPerPage) { > > super(id); > > setOutputMarkupId(true); > > add(dataView); > > dataView.setItemsPerPage(itemsPerPage); > > add(new AttributeModifier("id", true, new > > Model(id))); > > add(new FancyPagingNavigator("navigator", > > dataView)); > > } > > } > > - > > > > Dashboard.java: > > > > public class Dashboard extends WebPage { > > public Dashboard() { > > ... > > add(new ProjectsPanel("projects-panel", projects, 5)); > > add(new AgentsPanel("agents-panel", scheduler, 5)); > > add(new QueuePanel("builds-panel", scheduler, 5)); > > } > > } > > > > Mathieu > > > > - > > 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] div id problem
Right now, when you set outputmarkupid on component wicket doesn't honor the id specified in markup. One of the reasons is that when you use the component twice, the id is no longer unique. In you case I suggest you use css class instead of id to assign stylesheet to your elements. -Matej On 5/10/07, Bernatet Mathieu <[EMAIL PROTECTED]> wrote: > Hi, > > I try to apply css style on several div but wicket changes their id > attributes defined in the html file. > I have 3 custom panels that contain a DataView and I want to refresh > them with ajax, so I make a call to setOutputMarkupId() method. This > call changes the id defined in html file. > I add an AttributeModifier to force the use of the defined id, that > works but now ajax refresh don't work. > What I'm doing wrong? > > code: > > dashboard.html: > > ... > > > > > > > > --- > > viewPanel.html: > > > > [agents > navigator] > > > > ViewPanel.java: > > public class ViewPanel extends Panel { > private static final long serialVersionUID = 1L; > > public ViewPanel(String id, DataView dataView, int > itemsPerPage) { > super(id); > setOutputMarkupId(true); > add(dataView); > dataView.setItemsPerPage(itemsPerPage); > add(new AttributeModifier("id", true, new Model(id))); > add(new FancyPagingNavigator("navigator", dataView)); > } > } > - > > Dashboard.java: > > public class Dashboard extends WebPage { > public Dashboard() { > ... > add(new ProjectsPanel("projects-panel", projects, 5)); > add(new AgentsPanel("agents-panel", scheduler, 5)); > add(new QueuePanel("builds-panel", scheduler, 5)); > } > } > > Mathieu > > - > 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
[Wicket-user] div id problem
Hi, I try to apply css style on several div but wicket changes their id attributes defined in the html file. I have 3 custom panels that contain a DataView and I want to refresh them with ajax, so I make a call to setOutputMarkupId() method. This call changes the id defined in html file. I add an AttributeModifier to force the use of the defined id, that works but now ajax refresh don't work. What I'm doing wrong? code: dashboard.html: ... --- viewPanel.html: [agents navigator] ViewPanel.java: public class ViewPanel extends Panel { private static final long serialVersionUID = 1L; public ViewPanel(String id, DataView dataView, int itemsPerPage) { super(id); setOutputMarkupId(true); add(dataView); dataView.setItemsPerPage(itemsPerPage); add(new AttributeModifier("id", true, new Model(id))); add(new FancyPagingNavigator("navigator", dataView)); } } - Dashboard.java: public class Dashboard extends WebPage { public Dashboard() { ... add(new ProjectsPanel("projects-panel", projects, 5)); add(new AgentsPanel("agents-panel", scheduler, 5)); add(new QueuePanel("builds-panel", scheduler, 5)); } } Mathieu - 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