Re: AjaxFallbackLink problem on Internet Explorer 6
Yeah, now that I look at it again, that would throw an error. Instead of showAllLink.setOutputMarkupId(true), it needs showAllSpan.setOutputMarkupId(true) and showMineSpan.setOutputMarkupId(true). When you make display changes in an Ajax method, Wicket updates the Java objects' attributes, but the HTML on the page doesn't know that it needs to change. In order to tell the HTML components to change, they need to be added to the target (as you've done here). However, Wicket can only identify the correct HTML components if their ID attributes are set, which we accomplish through setOutputMarkupId(true). For those same reasons, I doubt that calling replacement.setOutputMarkupId(true) will do anything for you inside of the Ajax call, since the Wicket can't set its ID value unless it already knows its ID value (kind of a circular problem). That's why you need to call setOutputMarkupId(true) for any Ajax-updatable objects in the initial page rendering (say, in the constructor). Dane On Thu, Oct 22, 2009 at 10:03 PM, Swarnim Ranjitkar swarn...@hotmail.comwrote: Thank you for you suggestion. It didn't really work. Looks like the setvisible inside onclick doesn't work . Here is the code that I have //this.replaceWith(replacement); replacement.setOutputMarkupId(true); datatable.replaceWith(replacement); showMineSpan.setVisible(true); showAllSpan.setVisible(false); showMineSpan.setOutputMarkupId(true); showAllSpan.setOutputMarkupId(true); target.addComponent(showMineSpan); target.addComponent(showAllSpan); target.addComponent(replacement); } }; showAllLink.setOutputMarkupId(true); Date: Thu, 22 Oct 2009 18:05:46 -0700 Subject: Re: AjaxFallbackLink problem on Internet Explorer 6 From: danelave...@gmail.com To: users@wicket.apache.org You need to add the spans to the target in onClick, and the links need to have their outputMarkupId set to true, as follows (I've added the *** lines): final Link showMineLink =new AjaxFallbackLink(trafficreportlistmine) { public void onClick(AjaxRequestTarget target) { AjaxFallbackDefaultDataTable replacement = new AjaxFallbackDefaultDataTable(trafficreportlistdatatable, columns, new ReportListProvider(Traffic, mine), 8); //this.replaceWith(replacement); replacement.setOutputMarkupId(true); datatable.replaceWith(replacement); showMineSpan.setVisible(true); showAllSpan.setVisible(false); target.addComponent(replacement); ***target.addComponent(showMineSpan); ***target.addComponent(showAllSpan); } }; *** showMineLink.setOutputMarkupId(true); Then do the same with the other link. Dane On Thu, Oct 22, 2009 at 4:42 PM, wicketnewuser swarn...@hotmail.com wrote: It's suppose to hide Show All and show Show Mine when I click on Show All but that doesn't happen. on the onclick of showmine it is supposed to be showMineSpan.setVisible(false); showAllSpan.setVisible(true); instead of what I listed earlier as showMineSpan.setVisible(true); showAllSpan.setVisible(false); wicketnewuser wrote: Hi tried to follow this and having problem with it . Could someone please let me know what I'm doing wrong Here is the code package com.swishmark.tugboat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.apache.wicket.PageParameters; import org.apache.wicket.Session; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.AjaxFallbackLink; import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable; import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import com.swishmark.tugboat.util.DateTimePropertyColumn; import com.swishmark.tugboat.util.LinkPropertyColumn; import com.swishmark.tugboat.util.ReportListProvider; import com.swishmark.tugboat.util.TugboatReport; // http://cwiki.apache.org
Re: AjaxFallbackLink problem on Internet Explorer 6
(trafficreportlistdatatable, columns, new ReportListProvider(Traffic, mine), 8); //this.replaceWith(replacement); replacement.setOutputMarkupId(true); datatable.replaceWith(replacement); showMineSpan.setVisible(true); showAllSpan.setVisible(false); target.addComponent(replacement); } }; showAllSpan.setVisible(true); showMineSpan.setVisible(false); showMineSpan.add(showMineLink); showAllSpan.add(showAllLink); add(showMineSpan); add(showAllSpan); } } wicket:panel h2Recent Reports/h2 # Show All # Show Mine table wicket:id=trafficreportlistdatatable class=dataview cellspacing=0/table /wicket:panel marius1maru wrote: Hello, I'm using a ListView of links limited to only 5 links, an AjaxFallbackLink (showMore) that will remove the limitation, and another AjaxFallbackLink (showLess) that will enable the limitation. Works fine on every browser except IE6. On IE6, after the user presses showMore link, the list will expand, but the links are frosen(I can see them, but can not click on them). The code looks like this: in html: p # /p p # # /p in java: final AjaxFallbackLink showLessLink = new AjaxLink(showLessLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(5); showMoreSpan.setVisible(true); showLessSpan.setVisible(false); target.addComponent(listContainer); } }; showLessLink.add(new Label(showLess, less)); final AjaxFallbackLink showMoreLink = new AjaxLink(showMoreLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(linksList.getList().size()); showMoreSpan.setVisible(false); showLessSpan.setVisible(true); target.addComponent(listContainer); } }; showMoreLink.add(new Label(showMore, more)); final WebMarkupContainer showLessSpan = new WebMarkupContainer(showLessSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(false); final WebMarkupContainer showMoreSpan = new WebMarkupContainer(showMoreSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(true); showLessSpan.add(showLessLink); showMoreSpan.add(showMoreLink); listContainer.add(showLessSpan); listContainer.add(showMoreSpan); After the first ajax request(by clicking on showMore link), the showLess link is displayed, but frozen. The same results is when I'm using AjaxLink. I am using wicket 1.4 rc2. Can please someone help me? -- View this message in context: http://www.nabble.com/AjaxFallbackLink-problem-on-Internet-Explorer-6-tp23501338p26018870.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: AjaxFallbackLink problem on Internet Explorer 6
); showAllSpan.setVisible(false); target.addComponent(replacement); } }; final Link showMineLink =new AjaxFallbackLink(trafficreportlistmine) { public void onClick(AjaxRequestTarget target) { AjaxFallbackDefaultDataTable replacement = new AjaxFallbackDefaultDataTable(trafficreportlistdatatable, columns, new ReportListProvider(Traffic, mine), 8); //this.replaceWith(replacement); replacement.setOutputMarkupId(true); datatable.replaceWith(replacement); showMineSpan.setVisible(true); showAllSpan.setVisible(false); target.addComponent(replacement); } }; showAllSpan.setVisible(true); showMineSpan.setVisible(false); showMineSpan.add(showMineLink); showAllSpan.add(showAllLink); add(showMineSpan); add(showAllSpan); } } wicket:panel h2Recent Reports/h2 # Show All # Show Mine table wicket:id=trafficreportlistdatatable class=dataview cellspacing=0/table /wicket:panel marius1maru wrote: Hello, I'm using a ListView of links limited to only 5 links, an AjaxFallbackLink (showMore) that will remove the limitation, and another AjaxFallbackLink (showLess) that will enable the limitation. Works fine on every browser except IE6. On IE6, after the user presses showMore link, the list will expand, but the links are frosen(I can see them, but can not click on them). The code looks like this: in html: p # /p p # # /p in java: final AjaxFallbackLink showLessLink = new AjaxLink(showLessLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(5); showMoreSpan.setVisible(true); showLessSpan.setVisible(false); target.addComponent(listContainer); } }; showLessLink.add(new Label(showLess, less)); final AjaxFallbackLink showMoreLink = new AjaxLink(showMoreLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(linksList.getList().size()); showMoreSpan.setVisible(false); showLessSpan.setVisible(true); target.addComponent(listContainer); } }; showMoreLink.add(new Label(showMore, more)); final WebMarkupContainer showLessSpan = new WebMarkupContainer(showLessSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(false); final WebMarkupContainer showMoreSpan = new WebMarkupContainer(showMoreSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(true); showLessSpan.add(showLessLink); showMoreSpan.add(showMoreLink); listContainer.add(showLessSpan); listContainer.add(showMoreSpan); After the first ajax request(by clicking on showMore link), the showLess link is displayed, but frozen. The same results is when I'm using AjaxLink. I am using wicket 1.4 rc2. Can please someone help me? -- View this message in context: http://www.nabble.com/AjaxFallbackLink-problem-on-Internet-Explorer-6-tp23501338p26018919.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: AjaxFallbackLink problem on Internet Explorer 6
showMineSpan = new WebMarkupContainer(showMineSpan); final WebMarkupContainer showAllSpan = new WebMarkupContainer(showAllSpan); final Link showAllLink = new AjaxFallbackLink(trafficreportlistshowall) { public void onClick(AjaxRequestTarget target) { AjaxFallbackDefaultDataTable replacement = new AjaxFallbackDefaultDataTable(trafficreportlistdatatable, columns, new ReportListProvider(Traffic, all), 8); //this.replaceWith(replacement); replacement.setOutputMarkupId(true); datatable.replaceWith(replacement); showMineSpan.setVisible(true); showAllSpan.setVisible(false); target.addComponent(replacement); } }; final Link showMineLink =new AjaxFallbackLink(trafficreportlistmine) { public void onClick(AjaxRequestTarget target) { AjaxFallbackDefaultDataTable replacement = new AjaxFallbackDefaultDataTable(trafficreportlistdatatable, columns, new ReportListProvider(Traffic, mine), 8); //this.replaceWith(replacement); replacement.setOutputMarkupId(true); datatable.replaceWith(replacement); showMineSpan.setVisible(true); showAllSpan.setVisible(false); target.addComponent(replacement); } }; showAllSpan.setVisible(true); showMineSpan.setVisible(false); showMineSpan.add(showMineLink); showAllSpan.add(showAllLink); add(showMineSpan); add(showAllSpan); } } wicket:panel h2Recent Reports/h2 # Show All # Show Mine table wicket:id=trafficreportlistdatatable class=dataview cellspacing=0/table /wicket:panel marius1maru wrote: Hello, I'm using a ListView of links limited to only 5 links, an AjaxFallbackLink (showMore) that will remove the limitation, and another AjaxFallbackLink (showLess) that will enable the limitation. Works fine on every browser except IE6. On IE6, after the user presses showMore link, the list will expand, but the links are frosen(I can see them, but can not click on them). The code looks like this: in html: p # /p p # # /p in java: final AjaxFallbackLink showLessLink = new AjaxLink(showLessLink) { @Override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(5); showMoreSpan.setVisible(true); showLessSpan.setVisible(false); target.addComponent(listContainer); } }; showLessLink.add(new Label(showLess, less)); final AjaxFallbackLink showMoreLink = new AjaxLink(showMoreLink) { @Override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(linksList.getList().size()); showMoreSpan.setVisible(false); showLessSpan.setVisible(true); target.addComponent(listContainer); } }; showMoreLink.add(new Label(showMore, more)); final WebMarkupContainer showLessSpan = new WebMarkupContainer(showLessSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(false); final WebMarkupContainer showMoreSpan = new WebMarkupContainer(showMoreSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(true); showLessSpan.add(showLessLink); showMoreSpan.add(showMoreLink); listContainer.add(showLessSpan); listContainer.add(showMoreSpan); After the first ajax request(by clicking on showMore link), the showLess link is displayed, but frozen. The same results is when I'm using AjaxLink. I am using wicket 1.4 rc2. Can please someone help me? -- View this message in context: http://www.nabble.com/AjaxFallbackLink-problem-on-Internet-Explorer-6-tp23501338p26018919.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: AjaxFallbackLink problem on Internet Explorer 6
Thank you for you suggestion. It didn't really work. Looks like the setvisible inside onclick doesn't work . Here is the code that I have //this.replaceWith(replacement); replacement.setOutputMarkupId(true); datatable.replaceWith(replacement); showMineSpan.setVisible(true); showAllSpan.setVisible(false); showMineSpan.setOutputMarkupId(true); showAllSpan.setOutputMarkupId(true); target.addComponent(showMineSpan); target.addComponent(showAllSpan); target.addComponent(replacement); } }; showAllLink.setOutputMarkupId(true); Date: Thu, 22 Oct 2009 18:05:46 -0700 Subject: Re: AjaxFallbackLink problem on Internet Explorer 6 From: danelave...@gmail.com To: users@wicket.apache.org You need to add the spans to the target in onClick, and the links need to have their outputMarkupId set to true, as follows (I've added the *** lines): final Link showMineLink =new AjaxFallbackLink(trafficreportlistmine) { public void onClick(AjaxRequestTarget target) { AjaxFallbackDefaultDataTable replacement = new AjaxFallbackDefaultDataTable(trafficreportlistdatatable, columns, new ReportListProvider(Traffic, mine), 8); //this.replaceWith(replacement); replacement.setOutputMarkupId(true); datatable.replaceWith(replacement); showMineSpan.setVisible(true); showAllSpan.setVisible(false); target.addComponent(replacement); ***target.addComponent(showMineSpan); ***target.addComponent(showAllSpan); } }; *** showMineLink.setOutputMarkupId(true); Then do the same with the other link. Dane On Thu, Oct 22, 2009 at 4:42 PM, wicketnewuser swarn...@hotmail.com wrote: It's suppose to hide Show All and show Show Mine when I click on Show All but that doesn't happen. on the onclick of showmine it is supposed to be showMineSpan.setVisible(false); showAllSpan.setVisible(true); instead of what I listed earlier as showMineSpan.setVisible(true); showAllSpan.setVisible(false); wicketnewuser wrote: Hi tried to follow this and having problem with it . Could someone please let me know what I'm doing wrong Here is the code package com.swishmark.tugboat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.apache.wicket.PageParameters; import org.apache.wicket.Session; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.AjaxFallbackLink; import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable; import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import com.swishmark.tugboat.util.DateTimePropertyColumn; import com.swishmark.tugboat.util.LinkPropertyColumn; import com.swishmark.tugboat.util.ReportListProvider; import com.swishmark.tugboat.util.TugboatReport; // http://cwiki.apache.org/WICKET/simple-sortable-datatable-example.html // AJAX: http://www.wicket-library.com/wicket-examples/repeater/?wicket:bookmarkablePage=:org.apache.wicket.examples.repeater.AjaxDataTablePage public class TrafficReportListPanel extends Panel { Integer contactId; public TrafficReportListPanel(String id, final String include) { super(id); final ListIColumn? columns = new ArrayListIColumn?(); columns.add(new PropertyColumn(new Model(Report ID), reportId, reportId)); columns.add(new PropertyColumn(new Model(Contact Name), contactName, contactName)); // http://www.mail-archive.com/wicket-u...@lists.sourceforge.net/msg16575.html if (include != null include.equals(running)){ columns.add(new PropertyColumn(new Model(Report Name), reportName, reportName)); } else { columns.add(new LinkPropertyColumn(new Model(Report Name), reportName, reportName) { @Override public void
Re: AjaxFallbackLink problem on Internet Explorer 6
I found the solutionit is not a wicket problem. The problem was in my CSS files. marius1maru wrote: Hello, I'm using a ListView of links limited to only 5 links, an AjaxFallbackLink (showMore) that will remove the limitation, and another AjaxFallbackLink (showLess) that will enable the limitation. Works fine on every browser except IE6. On IE6, after the user presses showMore link, the list will expand, but the links are frosen(I can see them, but can not click on them). The code looks like this: in html: p # /p p # # /p in java: final AjaxFallbackLink showLessLink = new AjaxLink(showLessLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(5); showMoreSpan.setVisible(true); showLessSpan.setVisible(false); target.addComponent(listContainer); } }; showLessLink.add(new Label(showLess, less)); final AjaxFallbackLink showMoreLink = new AjaxLink(showMoreLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(linksList.getList().size()); showMoreSpan.setVisible(false); showLessSpan.setVisible(true); target.addComponent(listContainer); } }; showMoreLink.add(new Label(showMore, more)); final WebMarkupContainer showLessSpan = new WebMarkupContainer(showLessSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(false); final WebMarkupContainer showMoreSpan = new WebMarkupContainer(showMoreSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(true); showLessSpan.add(showLessLink); showMoreSpan.add(showMoreLink); listContainer.add(showLessSpan); listContainer.add(showMoreSpan); After the first ajax request(by clicking on showMore link), the showLess link is displayed, but frozen. The same results is when I'm using AjaxLink. I am using wicket 1.4 rc2. Can please someone help me? -- View this message in context: http://www.nabble.com/AjaxFallbackLink-problem-on-Internet-Explorer-6-tp23501338p23523016.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
AjaxFallbackLink problem on Internet Explorer 6
Hello, I'm using a ListView of links limited to only 5 links, an AjaxFallbackLink (showMore) that will remove the limitation, and another AjaxFallbackLink (showLess) that will enable the limitation. Works fine on every browser except IE6. On IE6, after the user presses showMore link, the list will expand, but the links are frosen(I can see them, but can not click on them). The code looks like this: in html: span wicket:id=listContainer span wicket:id=linksList pa href=# wicket:id=linkspan wicket:id=displayedLinkName/span/a/p /span p span wicket:id=showMoreSpana href=# wicket:id=showMoreLinkspan wicket:id=showMore/span/a/span span wicket:id=showLessSpana href=# wicket:id=showLessLinkspan wicket:id=showLess/span/a/span /p /span in java: final AjaxFallbackLink showLessLink = new AjaxLink(showLessLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(5); showMoreSpan.setVisible(true); showLessSpan.setVisible(false); target.addComponent(listContainer); } }; showLessLink.add(new Label(showLess, less)); final AjaxFallbackLink showMoreLink = new AjaxLink(showMoreLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(linksList.getList().size()); showMoreSpan.setVisible(false); showLessSpan.setVisible(true); target.addComponent(listContainer); } }; showMoreLink.add(new Label(showMore, more)); final WebMarkupContainer showLessSpan = new WebMarkupContainer(showLessSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(false); final WebMarkupContainer showMoreSpan = new WebMarkupContainer(showMoreSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(true); showLessSpan.add(showLessLink); showMoreSpan.add(showMoreLink); listContainer.add(showLessSpan); listContainer.add(showMoreSpan); After the first ajax request(by clicking on showMore link), the showLess link is displayed, but frozen. The same results is when I'm using AjaxLink. I am using wicket 1.4 rc2. Can please someone help me?
Re: AjaxFallbackLink problem on Internet Explorer 6
I'm sorry, I just saw that I have some writting errors: its final AjaxFallbackLink showMoreLink = new AjaxFallbackLink istead of final AjaxFallbackLink showMoreLink = new AjaxLink and final WebMarkupContainer showMoreSpan = new WebMarkupContainer(showMoreSpan); showMoreSpan.setOutputMarkupId(true); showMoreSpan.setVisible(true); istead of final WebMarkupContainer showMoreSpan = new WebMarkupContainer(showMoreSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(true); Still this has nothing to do with the outcome. marius1maru wrote: Hello, I'm using a ListView of links limited to only 5 links, an AjaxFallbackLink (showMore) that will remove the limitation, and another AjaxFallbackLink (showLess) that will enable the limitation. Works fine on every browser except IE6. On IE6, after the user presses showMore link, the list will expand, but the links are frosen(I can see them, but can not click on them). The code looks like this: in html: p # /p p # # /p in java: final AjaxFallbackLink showLessLink = new AjaxLink(showLessLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(5); showMoreSpan.setVisible(true); showLessSpan.setVisible(false); target.addComponent(listContainer); } }; showLessLink.add(new Label(showLess, less)); final AjaxFallbackLink showMoreLink = new AjaxLink(showMoreLink) { �...@override public void onClick(AjaxRequestTarget target) { linksList.setViewSize(linksList.getList().size()); showMoreSpan.setVisible(false); showLessSpan.setVisible(true); target.addComponent(listContainer); } }; showMoreLink.add(new Label(showMore, more)); final WebMarkupContainer showLessSpan = new WebMarkupContainer(showLessSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(false); final WebMarkupContainer showMoreSpan = new WebMarkupContainer(showMoreSpan); showLessSpan.setOutputMarkupId(true); showLessSpan.setVisible(true); showLessSpan.add(showLessLink); showMoreSpan.add(showMoreLink); listContainer.add(showLessSpan); listContainer.add(showMoreSpan); After the first ajax request(by clicking on showMore link), the showLess link is displayed, but frozen. The same results is when I'm using AjaxLink. I am using wicket 1.4 rc2. Can please someone help me? -- View this message in context: http://www.nabble.com/AjaxFallbackLink-problem-on-Internet-Explorer-6-tp23501338p23502491.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org