Re: Page.onPageAttached() never gets called in 1.5?
Hi Igor, Thanks for the response. onConfigure gets called only when the page has to be rendered. Previously onPageAttached can serve as a hook point when page is loaded from page store even if it is not rendered, for example, when invoking listener interface on components contained in the page. Although I can override PagePersistentManager to call the hook by myself, but keeping this in Wicket 1.5 would be very convenient for some use cases, for example to get current page instance in component constructor without passing page instance as a constructor param. Robin --- On Mon, 3/7/11, Igor Vaynberg igor.vaynb...@gmail.com wrote: From: Igor Vaynberg igor.vaynb...@gmail.com Subject: Re: Page.onPageAttached() never gets called in 1.5? To: users@wicket.apache.org Cc: Robin Shine ro...@pmease.com Date: Monday, March 7, 2011, 1:27 PM i think this method should be removed from Page, for code that needs access to a page you can use onInitialize() for one-time code and onConfigure() for every request. -igor On Sun, Mar 6, 2011 at 7:33 PM, Robin Shine ro...@pmease.com wrote: Hi All, We rely on this method to store the page instance being processed into a thread local so that we can easily get current page even from component constructors. In 1.4 this method is invoked after page is retrieved from session store for example when click an ajax link on the page. However in 1.5 it never gets called. Is this expected behavior or should I go ahead to create a bug? ThanksRobin
Re: Checkbox in DataTable header
Yes, I know about these components, I used classes CheckBoxColumn and CheckBoxModel classes from Wicket phonebook example. What I fail at is adding that simple checkbox to DataTable column header. So I am looking for advice or example of this. HeadersToolbar in DefaultDataTable doesn't accept it, or I am doing something wrong. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Checkbox-in-DataTable-header-tp3335032p3338552.html Sent from the Users forum 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: Checkbox in DataTable header
We did this by implementing getHeader(String componentId) in a custom CheckBoxColumn that implements IColumn to return a new panel that renders a checkbox. Note that we are are using custromized DataTable, but the code below should be enough to demonstrate how to add a checkbox in the column header. It's a bit dated and could be improved, but you get the idea. CheckboxColum extends ICustomColumn { .. .. @Override public Component getHeader(String componentId) { return new CheckboxHeader(this, componentId); } } public class CheckboxHeader extends Panel { private CheckboxColumn checkboxColumn; public CheckboxHeader(CheckboxColumn checkboxColumn, String id) { super(id); this.checkboxColumn = checkboxColumn; } @Override protected void onBeforeRender() { if (!hasBeenRendered()) { //refactor: simplify this add(new HeadCheckboxPanel(checkbox, checkboxColumn)); add(new EmptySpacerTag(spacer)); } super.onBeforeRender(); } private class EmptySpacerTag extends WebMarkupContainer { public EmptySpacerTag(String id) { super(id); } @Override public boolean isVisible() { return !checkboxColumn.getDataTable().isAllowSelectMultiple(); } @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); processTitleTag(tag); } private void processTitleTag(ComponentTag tag) { if (checkboxColumn.getHeaderTooltipModel() != null) { Object object = checkboxColumn.getHeaderTooltipModel().getObject(); if (object != null) { tag.put(title, object.toString()); } } } } public class HeadCheckboxPanel extends Panel { private ICustomColumn column; public HeadCheckboxPanel(String id, final CheckboxColumn checkboxColumn) { super(id); this.column = checkboxColumn; } @Override protected void onBeforeRender() { if (!hasBeenRendered()) { add(new SelectAllCheckboxTag(checkbox)); } super.onBeforeRender(); } @Override public boolean isVisible() { return column.getDataTable().isAllowSelectMultiple(); } private class SelectAllCheckboxTag extends WebMarkupContainer { public SelectAllCheckboxTag(String id) { super(id); } @Override protected void onBeforeRender() { if (!hasBeenRendered()) { add(new CheckboxOnclickEventBehavior()); } super.onBeforeRender(); } @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); processCheckedTag(tag); } private void processCheckedTag(ComponentTag tag) { if (column.getDataTable().isAallVisibleItemsSelected()) { tag.put(checked, checked); } } } private class CheckboxOnclickEventBehavior extends AjaxFormSubmitEventAdapterBehavior { public CheckboxOnclickEventBehavior() { super(HeadCheckboxPanel.this.column.getDataTable().getForm(), onclick); } @Override protected void onEvent(AjaxRequestTarget target) { preserveFormComponentInput(); boolean checked = Strings.toBoolean(getRequest().getParameter(checked)); if (checked) { column.getDataTable().selectAllVisibleItems(); } else { column.getDataTable().resetSelectedItems(); } column.getDataTable().update(); } @Override public CharSequence getCallbackUrl() { return super.getCallbackUrl() + checked='+this.checked+'; } @Override protected CharSequence getPreconditionScript() { return window.setTimeout(function(){this.checked=!this.checked}.bind(this),0); + super.getPreconditionScript(); } @Override protected IAjaxCallDecorator getAjaxCallDecorator() { return new CancelEventIfNoAjaxDecorator(); } private void preserveFormComponentInput() { Form form = getForm(); form.visitFormComponentsPostOrder(new PreserveFormComponentInputvisitor()); } } } -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Checkbox-in-DataTable-header-tp3335032p3339269.html Sent from the Users forum 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: Page.onPageAttached() never gets called in 1.5?
i dont seem to understand the entire usecase here, if you are running code inside a listener then you can get page via getpage()... -igor On Mon, Mar 7, 2011 at 12:33 AM, Robin Shine ro...@pmease.com wrote: Hi Igor, Thanks for the response. onConfigure gets called only when the page has to be rendered. Previously onPageAttached can serve as a hook point when page is loaded from page store even if it is not rendered, for example, when invoking listener interface on components contained in the page. Although I can override PagePersistentManager to call the hook by myself, but keeping this in Wicket 1.5 would be very convenient for some use cases, for example to get current page instance in component constructor without passing page instance as a constructor param. Robin --- On Mon, 3/7/11, Igor Vaynberg igor.vaynb...@gmail.com wrote: From: Igor Vaynberg igor.vaynb...@gmail.com Subject: Re: Page.onPageAttached() never gets called in 1.5? To: users@wicket.apache.org Cc: Robin Shine ro...@pmease.com Date: Monday, March 7, 2011, 1:27 PM i think this method should be removed from Page, for code that needs access to a page you can use onInitialize() for one-time code and onConfigure() for every request. -igor On Sun, Mar 6, 2011 at 7:33 PM, Robin Shine ro...@pmease.com wrote: Hi All, We rely on this method to store the page instance being processed into a thread local so that we can easily get current page even from component constructors. In 1.4 this method is invoked after page is retrieved from session store for example when click an ajax link on the page. However in 1.5 it never gets called. Is this expected behavior or should I go ahead to create a bug? ThanksRobin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Run a standalone wicket app
Hello all, I'd like to create a jar with a wicket application inside that can be run from the command line as it were a desktop application. I'm using maven and jetty and it would be great if jetty could start and listen on a port. Any hints or links would be really appreciated. Thanks in advance. Regards. -- Mauro Ciancio http://about.me/maurociancio - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: Run a standalone wicket app
That is a more a jetty question. Research the server jetty classes. ... import org.mortbay.jetty.Connector; import org.mortbay.jetty.Server; import org.mortbay.jetty.bio.SocketConnector; import org.mortbay.jetty.webapp.WebAppContext; Server server = new Server(); server.start(); -Original Message- From: Mauro Ciancio [mailto:maurocian...@gmail.com] Sent: Monday, March 07, 2011 12:26 PM To: Wicket Mailing List Subject: Run a standalone wicket app Hello all, I'd like to create a jar with a wicket application inside that can be run from the command line as it were a desktop application. I'm using maven and jetty and it would be great if jetty could start and listen on a port. Any hints or links would be really appreciated. Thanks in advance. Regards. -- Mauro Ciancio http://about.me/maurociancio - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Run a standalone wicket app
Have a look at the Wicket quickstart project under src/test/java/com/mycompany/Start.java. There is a main() method there that does exactly what you describe. On 07/03/2011 12:34 PM, Brown, Berlin [GCG-PFS] wrote: That is a more a jetty question. Research the server jetty classes. ... import org.mortbay.jetty.Connector; import org.mortbay.jetty.Server; import org.mortbay.jetty.bio.SocketConnector; import org.mortbay.jetty.webapp.WebAppContext; Server server = new Server(); server.start(); -Original Message- From: Mauro Ciancio [mailto:maurocian...@gmail.com] Sent: Monday, March 07, 2011 12:26 PM To: Wicket Mailing List Subject: Run a standalone wicket app Hello all, I'd like to create a jar with a wicket application inside that can be run from the command line as it were a desktop application. I'm using maven and jetty and it would be great if jetty could start and listen on a port. Any hints or links would be really appreciated. Thanks in advance. Regards. -- Mauro Ciancio http://about.me/maurociancio - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
1.5 IEventSink adapted as behavior
Hello, I am currently using the new inter-component events system to communicate between components. My primary use is to bubble up requests (ajax requests, switch panel events) to parent components. This enables decoupling inner panels so they can be reused more easily in other panels. I am now in a situation where I want to provide the same IEventSink behavior to multiple component types. No problem, I'll just create a Behavior for this I thought. The problem is that Behaviors are not included in the processing of IEvents. So, maybe IEventSink should be a special behavior that can be added to any Component instead of (or in addition to) an interface? What do you think? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: 1.5 IEventSink adapted as behavior
hrm. add an rfe to add behaviors to event chain. -igor On Mon, Mar 7, 2011 at 11:21 AM, Bertrand Guay-Paquet ber...@step.polymtl.ca wrote: Hello, I am currently using the new inter-component events system to communicate between components. My primary use is to bubble up requests (ajax requests, switch panel events) to parent components. This enables decoupling inner panels so they can be reused more easily in other panels. I am now in a situation where I want to provide the same IEventSink behavior to multiple component types. No problem, I'll just create a Behavior for this I thought. The problem is that Behaviors are not included in the processing of IEvents. So, maybe IEventSink should be a special behavior that can be added to any Component instead of (or in addition to) an interface? What do you think? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: 1.5 IEventSink adapted as behavior
Ok I created https://issues.apache.org/jira/browse/WICKET-3516WICKET-3516 Add behaviors to the event processing chain On 07/03/2011 2:35 PM, Igor Vaynberg wrote: hrm. add an rfe to add behaviors to event chain. -igor On Mon, Mar 7, 2011 at 11:21 AM, Bertrand Guay-Paquet ber...@step.polymtl.ca wrote: Hello, I am currently using the new inter-component events system to communicate between components. My primary use is to bubble up requests (ajax requests, switch panel events) to parent components. This enables decoupling inner panels so they can be reused more easily in other panels. I am now in a situation where I want to provide the same IEventSink behavior to multiple component types. No problem, I'll just create a Behavior for this I thought. The problem is that Behaviors are not included in the processing of IEvents. So, maybe IEventSink should be a special behavior that can be added to any Component instead of (or in addition to) an interface? What do you think? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Run a standalone wicket app
if you want to use maven look for mvn jetty:run wicket-quickstart and wicket-examples are set up to run that way. if you are looking for something like: java -jar YourAppsName.war the export function 'Runnable Jar File Export' might be something of help mf Am 07.03.2011 um 18:26 schrieb Mauro Ciancio: Hello all, I'd like to create a jar with a wicket application inside that can be run from the command line as it were a desktop application. I'm using maven and jetty and it would be great if jetty could start and listen on a port. Any hints or links would be really appreciated. Thanks in advance. Regards. -- Mauro Ciancio http://about.me/maurociancio - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Page.onPageAttached() never gets called in 1.5?
In the listener method, I had to replace some panels (and those panels in turn creates other panels). Since getPage() can not be invoked in component constructors, it will be necessary to pass the page instance retrieved in listener method as one of component constructor param in order to access page instance there. This might not be a common use case. Anyway, thanks for the extensive infrastructure of Wicket, I can call the onPageAttahched() method by myself by subclassing PersistentManagementPage. Regards Robin --- On Tue, 3/8/11, Igor Vaynberg igor.vaynb...@gmail.com wrote: From: Igor Vaynberg igor.vaynb...@gmail.com Subject: Re: Page.onPageAttached() never gets called in 1.5? To: users@wicket.apache.org Cc: Robin Shine ro...@pmease.com Date: Tuesday, March 8, 2011, 12:02 AM i dont seem to understand the entire usecase here, if you are running code inside a listener then you can get page via getpage()... -igor On Mon, Mar 7, 2011 at 12:33 AM, Robin Shine ro...@pmease.com wrote: Hi Igor, Thanks for the response. onConfigure gets called only when the page has to be rendered. Previously onPageAttached can serve as a hook point when page is loaded from page store even if it is not rendered, for example, when invoking listener interface on components contained in the page. Although I can override PagePersistentManager to call the hook by myself, but keeping this in Wicket 1.5 would be very convenient for some use cases, for example to get current page instance in component constructor without passing page instance as a constructor param. Robin --- On Mon, 3/7/11, Igor Vaynberg igor.vaynb...@gmail.com wrote: From: Igor Vaynberg igor.vaynb...@gmail.com Subject: Re: Page.onPageAttached() never gets called in 1.5? To: users@wicket.apache.org Cc: Robin Shine ro...@pmease.com Date: Monday, March 7, 2011, 1:27 PM i think this method should be removed from Page, for code that needs access to a page you can use onInitialize() for one-time code and onConfigure() for every request. -igor On Sun, Mar 6, 2011 at 7:33 PM, Robin Shine ro...@pmease.com wrote: Hi All, We rely on this method to store the page instance being processed into a thread local so that we can easily get current page even from component constructors. In 1.4 this method is invoked after page is retrieved from session store for example when click an ajax link on the page. However in 1.5 it never gets called. Is this expected behavior or should I go ahead to create a bug? ThanksRobin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Page.onPageAttached() never gets called in 1.5?
inside the listener you have access to the page. move the creation of inner panels to the onInitialize() method, where you are also guaranteed access to the page object. problem solved. -igor On Mon, Mar 7, 2011 at 3:33 PM, Robin Shine ro...@pmease.com wrote: In the listener method, I had to replace some panels (and those panels in turn creates other panels). Since getPage() can not be invoked in component constructors, it will be necessary to pass the page instance retrieved in listener method as one of component constructor param in order to access page instance there. This might not be a common use case. Anyway, thanks for the extensive infrastructure of Wicket, I can call the onPageAttahched() method by myself by subclassing PersistentManagementPage. Regards Robin --- On Tue, 3/8/11, Igor Vaynberg igor.vaynb...@gmail.com wrote: From: Igor Vaynberg igor.vaynb...@gmail.com Subject: Re: Page.onPageAttached() never gets called in 1.5? To: users@wicket.apache.org Cc: Robin Shine ro...@pmease.com Date: Tuesday, March 8, 2011, 12:02 AM i dont seem to understand the entire usecase here, if you are running code inside a listener then you can get page via getpage()... -igor On Mon, Mar 7, 2011 at 12:33 AM, Robin Shine ro...@pmease.com wrote: Hi Igor, Thanks for the response. onConfigure gets called only when the page has to be rendered. Previously onPageAttached can serve as a hook point when page is loaded from page store even if it is not rendered, for example, when invoking listener interface on components contained in the page. Although I can override PagePersistentManager to call the hook by myself, but keeping this in Wicket 1.5 would be very convenient for some use cases, for example to get current page instance in component constructor without passing page instance as a constructor param. Robin --- On Mon, 3/7/11, Igor Vaynberg igor.vaynb...@gmail.com wrote: From: Igor Vaynberg igor.vaynb...@gmail.com Subject: Re: Page.onPageAttached() never gets called in 1.5? To: users@wicket.apache.org Cc: Robin Shine ro...@pmease.com Date: Monday, March 7, 2011, 1:27 PM i think this method should be removed from Page, for code that needs access to a page you can use onInitialize() for one-time code and onConfigure() for every request. -igor On Sun, Mar 6, 2011 at 7:33 PM, Robin Shine ro...@pmease.com wrote: Hi All, We rely on this method to store the page instance being processed into a thread local so that we can easily get current page even from component constructors. In 1.4 this method is invoked after page is retrieved from session store for example when click an ajax link on the page. However in 1.5 it never gets called. Is this expected behavior or should I go ahead to create a bug? ThanksRobin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org