unable to retrieve HTTPServletRequest parameters
Hi I am trying to retrieve HTTPServletRequest parameters from a incoming request from an external application. i am using HttpServletRequest req = ((ServletWebRequest) RequestCycle.get().getRequest()).getContainerRequest(); in my home page, when i try to print the request parameters or getparameternames.size i get null and 0 respectively. i need the parameter values to retrieve the session and logged-in user information of the application that the request is coming from. can anyone point out what is to be done? Thanks in advance - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/unable-to-retrieve-HTTPServletRequest-parameters-tp4676661.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
how to get incoming request from external application in wicket.
Hi i am integrating wicket with other application which invokes wicket application. how can i get the request that invokes the wicket application. I need the request to do user validations by retrieving the session and logged in user information. ii have to do it in WebApplication so that i can redirect to relevant pages based on validation result i am using wicket 6.14. thanks in advance - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/how-to-get-incoming-request-from-external-application-in-wicket-tp4676612.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: Check Box in pageablelistview
Hi Martin I am new to wicket so can you please tell me how to use the data stored in checkbox's model. i tried doing that but i have been getting a null pointer exception. Thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Check-Box-in-pageablelistview-tp4670625p4670650.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: Check Box in pageablelistview
Hey Martin I got what i was trying to acheive but i am not su7re if it is optimal solution. I created my own Model and added the object to a list when check box is selected. and i called it in my listview if this is not optimal please suggest Thank You - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Check-Box-in-pageablelistview-tp4670625p4670652.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
Check Box in pageablelistview
Hey how are the selected records stored and how can i use it. i understand that on form submission these records are submitted but i am not clear on how and where. this is how the page looks like http://apache-wicket.1842946.n4.nabble.com/file/n4670625/1.png Thanks in Advance - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Check-Box-in-pageablelistview-tp4670625.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: Removing table coloumn headers in wicket pageablelistview when list is empty
Hi lucast Thanks for the response. i have tried the exact same thing and had success with it. Cheers On Fri, Feb 6, 2015 at 3:13 PM, lucast [via Apache Wicket] ml-node+s1842946n4669328...@n4.nabble.com wrote: Hi K, If you want to hide the headers when the table is empty, you could use wicket:enclosure as suggested on the wicket guide https://wicket.apache.org/guide/guide/single.html#keepControl_9. I have used the PagingPage from Wicket Examples (you can download it from Apache Wicket page) to illustrate this. I don't know how you check if the table is empty. I just went for dataView.getItemCount(). If you want the table with headers hidden, just call dataView.setVisible(false); And on HTML, use wicket:enclosure. Example: wicket:enclosure child='pageable' table cellspacing=0 class=dataview tr thActions/th thID/th thFirst Name/th thLast Name/th thHome Phone/th thCell Phone/th /tr tr wicket:id=pageable tdspan wicket:id=actions[actions]/span/td tdspan wicket:id=contactid[contactid]/span/td tdspan wicket:id=firstname[firstname]/span/td tdspan wicket:id=lastname[lastname]/span/td tdspan wicket:id=homephone[homephone]/span/td tdspan wicket:id=cellphone[cellphone]/span/td /tr /table /wicket:enclosure Note that on wicket:enclosure tag, I had to name the child it was referring to: pageable. Otherwise, it will throw an exception because wicket will not know which element you are referring to, in this case. Let me know if that works, Kind regards, Lucas -- If you reply to this email, your message will be added to the discussion below: http://apache-wicket.1842946.n4.nabble.com/Removing-table-coloumn-headers-in-wicket-pageablelistview-when-list-is-empty-tp4669246p4669328.html To unsubscribe from Removing table coloumn headers in wicket pageablelistview when list is empty, click here http://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=4669246code=a29uZGV0aXVkYXlraXJhbkBnbWFpbC5jb218NDY2OTI0NnwxMDIzNzI0OTQ1 . NAML http://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Removing-table-coloumn-headers-in-wicket-pageablelistview-when-list-is-empty-tp4669246p4669330.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
Removing table coloumn headers in wicket pageablelistview when list is empty
Hi all I am using Wicket PageableListView to display a list data. If the data list that is to be displayed inside the table is empty then the table gets rendered with all the column headers and a label in the first. is there a way to remove those column headers and labels. I would also like to know how to add now records found in a column under column headers and labels (similar to DataTable). Thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Removing-table-coloumn-headers-in-wicket-pageablelistview-when-list-is-empty-tp4669246.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
Wicket panel #oninitilize for replacing
Hi i have been strugguling with this for a while. could you please suggest changes. Scenario: when i search for a job, if a job exists job is displayed in this panel and if the job does not exist it is redirected back to the search panel. i am unable to redirect back to the search panel. - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-panel-oninitilize-for-replacing-tp4669063.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: Wicket panel #oninitilize for replacing
@sven Thanks for your response 1. i am using nested panels, searchinnerpanel and jobdetailspanel are present in searchbodypanel hence i could not use page to handle the retrival logic. 2. these panels were actually pages hence pageparameters i plan on changing it. - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-panel-oninitilize-for-replacing-tp4669063p4669067.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: replacing panels using replaceWith in wicket
Hi i have been strugguling with this for a while. could you please suggest changes. Scenario: when i search for a job, if a job exists job is displayed in this panel and if the job does not exist it is redirected back to the search panel. i am unable to redirect back to the search panel. - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/replacing-panels-using-replaceWith-in-wicket-tp4669020p4669056.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: replacing panels using replaceWith in wicket
thanks Sven i wanted to know how to get around it. i got the solution for it. Using #onInitilize() method to add the jobdetails panel and then use the replacewith method. Thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/replacing-panels-using-replaceWith-in-wicket-tp4669020p4669022.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
replacing panels using replaceWith in wicket
Hi i am trying to navigate between two panels. my code has a condition where if false it has to go back to the actual panel with parameters which in turn prints a error msg in feedbackpanel. i am getting this error when condition is true. Please suggest how to redirect to actual panel. Thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/replacing-panels-using-replaceWith-in-wicket-tp4669020.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
passing parameters to wicket panel
firstly wish you all a very happy new year. i am moving my data tables in to a panel from webpage. i was using pageparameters to pass required parameters on clicking the link for retrieving data and displaying it in the next page. now that i have moved those tables in to a panel i am not sure how to forward those parameters in panels. My calling Method: My Panel Constructor: i have tried to replace PageParameters with IModel but it did not work. Please suggest. Thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/passing-parameters-to-wicket-panel-tp4668939.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
current page highlighting
Hi all i am trying to create dynamic navigation links in which current page link should be highlighted but i am unable to get desired outcome. i am using listview to display my menu items but unable to highlight the current page link. please suggest necessary changes ListHeaderListItems is list of pojo item. my pojo has two fields label(String) and destPage(Class) My Mark-up: Thanks in advance - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/current-page-highlighting-tp4668902.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: How do I get the current page?
Hi i am working on the same thing and i have not been able to achieve the desired outcome. i would appericiate any suggestions. i have posted complete details here http://apache-wicket.1842946.n4.nabble.com/current-page-highlighting-td4668902.html http://apache-wicket.1842946.n4.nabble.com/current-page-highlighting-td4668902.html Thanks. - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-do-I-get-the-current-page-tp1851661p4668903.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: How do I get the current page?
Hi Aksarben i have a web application in which there are six links in main menu. i want my app to highlight the link that is selected. http://apache-wicket.1842946.n4.nabble.com/file/n4668907/Capture.png My code: ListHeaderListItems is list of pojo item. my pojo has two fields label(String) and destPage(Class) My Mark-up: - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-do-I-get-the-current-page-tp1851661p4668907.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: Switching between wicket tabs
Hi I have a similar issue. i am trying to navigate to tab i intend to but issue is i have parameters i need to forward to that tab. can anyone suggest how to handle it. Scenario: i have list of items displaying in tab1 and when i click on the item it has to be redirected to tab3 with the item details (lets say username and password). Thanks in advance K - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Switching-between-wicket-tabs-tp3044579p4668862.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
Title tab in Tabbedpanel
Hi i am workin with tabbedpanel in wicket. i have created a tabbedpanel for my search page http://apache-wicket.1842946.n4.nabble.com/file/n4668837/tabpanel.png My requirement is to create a tabbedpanel of three tabs with title. i am using additional tab (Dummytab in this case) to compensiate for the title. please suggest how to create a title tab. Thanks in advance - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Title-tab-in-Tabbedpanel-tp4668837.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
TabbedPanel
Hi I am trying to implement an example for tabbed panel page in wicket but it does not work. I have stripped off few methods that i thought were not necessary for my current scenario. I am not sure if i missed something. Please suggest. Mark-up: Tabbed Panel Page tabbedpanelpage.txt http://apache-wicket.1842946.n4.nabble.com/file/n4668589/tabbedpanelpage.txt Java Code: Tabbed Panel Page tabbedpanelpage(1).txt http://apache-wicket.1842946.n4.nabble.com/file/n4668589/tabbedpanelpage%281%29.txt Mark-up: TabPanel1 (TabPanel2 TabPanel3 are same ) tabpanel1.txt http://apache-wicket.1842946.n4.nabble.com/file/n4668589/tabpanel1.txt My Log: Constructor: AbstractTab : 1 AbstractTab : 2 AbstractTab : 3 getPanel: 1 TabPanel1 my application terminates at this point. Thanks in advance. - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/TabbedPanel-tp4668589.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: Table borders in dataview/listview
Hi It is definately html/mozilla issue. If any facing this issue try using Border-Spacing: 0; in CSS instead of Border-Collapse Cheers - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Table-borders-in-dataview-listview-tp4666732p4666739.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: removing table when the output list is empty in listview/dataview
tdx class=data_tdx_data para span1 wicket:id=jobNumberLabel/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=parentJobparentJob/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=jobTypejobType/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=whoSubmittedwhoSubmitted/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=objectTypeobjectType/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=objectNumberobjectNumber/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=objectrxevisionobjectrxevision/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=jobStatusjobStatus/span1 /para /tdx /trx /tablex div wicket:id=navigator align=right/div /wicket: extend tablex class=footer trx tdx width=20%p class=footer_p_left/para/tdx tdx width=69%nbsp;/tdx tdx width=1% valign=top css/Logo.png /tdx tdx width=10% align=left valign=bottomp class=footer_p_rightcopy; 2014 /para/tdx /trx /tablex /body /html Thanks a lot - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/listview-dataview-tp429p4666719.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: removing table when the output list is empty in listview/dataview
tdx class=data_tdx_data para span1 wicket:id=jobNumberLabel/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=parentJobparentJob/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=jobTypejobType/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=whoSubmittedwhoSubmitted/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=objectTypeobjectType/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=objectNumberobjectNumber/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=objectrxevisionobjectrxevision/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=jobStatusjobStatus/span1 /para /tdx /trx /tablex div wicket:id=navigator align=right/div /wicket: extend tablex class=footer trx tdx width=20%p class=footer_p_left/para/tdx tdx width=69%nbsp;/tdx tdx width=1% valign=top css/Logo.png /tdx tdx width=10% align=left valign=bottomp class=footer_p_rightcopy; 2014 /para/tdx /trx /tablex /body /html Thanks a lot - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/listview-dataview-tp429p4666720.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: removing table when the output list is empty in listview/dataview
(); params.add(jobNumber, job.getJobNumber()); setResponsePage(bDetails.class, params); } }; jobNumberLink.add(new Label(jobNumberLabel, job .getJobNumber())); item.add(jobNumberLink); item.add(new Label(parentJob, job.getParentJob())); item.add(new Label(jobType, job.getJobType())); item.add(new Label(whoSubmitted, job.getWhoSubmitted())); item.add(new Label(objectType, job.getObjectType())); item.add(new Label(objectNumber, job.getObjectNumber())); item.add(new Label(objectRevision, job.getObjectRevision())); item.add(new Label(jobStatus, job.getJobStatus())); } }; dataView.setItemsPerPage(12); add(dataView); add(new Label(h1, Job Number)); add(new Label(h2, Parent Job)); add(new Label(h3, Job Type)); add(new Label(h4, Submitted By)); add(new Label(h5, Object Type)); add(new Label(h6, Object Number)); add(new Label(h7, Object Revision)); add(new Label(h8, Job Status)); add(new CustomPagingNavigator(navigator, dataView)); } } - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/listview-dataview-tp429p4666721.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: removing table when the output list is empty in listview/dataview
/tdx tdx class=data_tdx_data para span1 wicket:id=objectrxevisionobjectrxevision/span1 /para /tdx tdx class=data_tdx_data para span1 wicket:id=jobStatusjobStatus/span1 /para /tdx /trx /tablex div wicket:id=navigator align=right/div /wicket: extend tablex class=footer trx tdx width=20%p class=footer_p_left/para/tdx tdx width=69%nbsp;/tdx tdx width=1% valign=top css/Logo.png /tdx tdx width=10% align=left valign=bottomp class=footer_p_rightcopy; 2014 /para/tdx /trx /tablex /body /html Thanks a lot - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/listview-dataview-tp429p4666722.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
Table borders in dataview/listview
Hey i have been getting a thick borders in my table at a reguler intervals when i am using listview or dataveiw. I donno if this is an issue related to wicket, still Here is a image http://apache-wicket.1842946.n4.nabble.com/file/n4666732/Capturex.png Thanks in Advance - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Table-borders-in-dataview-listview-tp4666732.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: Table borders in dataview/listview
Hey Martin grigorov thanks and about my previous mail i actually wanted you to view my html so i replaced my tags by adding X in the end. if i had pasted the markup directly it was displaying the page. thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Table-borders-in-dataview-listview-tp4666732p4666734.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
removing table when the output list is empty in listview/dataview
H2 /p p H3 /p p H4 /p p H5 /p div wicket:id=navigator align=right/div /wicket: extend /body and my page looks like this http://apache-wicket.1842946.n4.nabble.com/file/n429/Capture.png now i dont want to display the second table when it does not have any values... - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/removing-table-when-the-output-list-is-empty-in-listview-dataview-tp429.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: Pagination in wicket
Hey Jesse Thanks for the response... it works well - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Pagination-in-wicket-tp1878842p4666412.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: Custom Pagination
Hey sven thanks for the reply i have resolve the issue now i have been trying to trying to implement something like (textbox) of (totalnumberofpages) any suggestions on this - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Custom-Pagination-tp4666387p4666397.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: Pagination in wicket
Hey there i have been trying to trying to implement something like (textbox) of (totalnumberofpages) any suggestions on this Thanks in advance... - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Pagination-in-wicket-tp1878842p4666398.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
Custom Pagination
:526) at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1436) at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1555) at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1530) at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:689) at org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:76) at org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112) at org.apache.wicket.Component.internalRenderComponent(Component.java:2551) at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1494) at org.apache.wicket.Component.internalRender(Component.java:2381) at org.apache.wicket.Component.render(Component.java:2309) at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1390) at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1555) at org.apache.wicket.Page.onRender(Page.java:887) at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:142) at org.apache.wicket.Component.internalRender(Component.java:2381) at org.apache.wicket.Component.render(Component.java:2309) at org.apache.wicket.Page.renderPage(Page.java:1024) at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:121) at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:274) at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175) at org.apache.wicket.core.request.handler.RequestSettingRequestHandler.respond(RequestSettingRequestHandler.java:78) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862) at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Custom-Pagination-tp4666387.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: Custom Pagination
My Mark-up: html xmlns:wicket=http://wicket.apache.org; head meta http-equiv=Content-Type content=text/html; charset=ISO-8859-1 titleCustom PagingNavigator/title /head body wicket:panel an wicket:id=first | nbsp; an wicket:id=prev | spa wicket:id=navigator spa wicket:id=page1/spa spa wicket:id=navigation/spa spa wicket:id=of/spa spa wicket:id=total/spa |/spa an wicket:id=next | nbsp; an wicket:id=last /wicket:panel /body /html Note that i changed* newNavigation()* method... Any help is much appreciated...Thanks. - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Custom-Pagination-tp4666387p4666389.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: Error search message in same page
My Java code: String JOBNUMBER = params.get(jobnumber).toString(); list = DBUtils.retrieveJob(JOBNUMBER); if(list.size() == 0){ */setResponsePage(SearchError.class);/* }else{ final DataView dataView = new DataView(jobs, new ListDataProvider(list)) { @Override protected void populateItem(final Item item) { final MYJobBean job = (MYJobBean) item.getModelObject(); item.add(new Label(label1, job.getJobNumber())); item.add(new Label(label2, job.getJobType())); item.add(new Label(label3, job.getJobClass())); } }; dataView.setItemsPerPage(10); add(dataView); add(new CustomPagingNavigator(navigator, dataView)); And my mark up is : br wicket: extend div wicket:id=navigator/div p class=jobdata_p Job Number /p p class=jobdata_p Job Type /p p class=jobdata_p Job Class /p p class=jobdata_p1 /p p class=jobdata_p1 /p p class=jobdata_p1 /p div wicket:id=navigator/div /wicket: extend I want to replace the setResponsePage(SearchError.class); so that i can get rid of extra page Initially i tried to add extra label in if condition and mark up for that but it did not work. I am new to wicket and havent got hold of it yet Martin Grigorov-4 wrote Hi, What did you try so far ? Martin Grigorov Wicket Training and Consulting On Sat, Jun 21, 2014 at 4:14 PM, K lt; kondetiudaykiran@ gt; wrote: Hi I am trying to build a web application in which i have to display list of items on search... this part has been done but i have to add a errror message in the same page if the search result comes out null... I am using DataView for displaying the results. using condition in java is simple but for the unreachable id that i mention in condition the mark up is not being rendered if the condition is true. any help is well appriciated... Thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Error-search-message-in-same-page-tp4666331.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscribe@.apache For additional commands, e-mail: users-help@.apache - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Error-search-message-in-same-page-tp4666331p4666354.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: Error search message in same page
Hi Martin Grogorov thanks a lot for the reply. Now i realize that its simple solution... Thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Error-search-message-in-same-page-tp4666331p4666357.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: Feedback/Error message.
Hi I am trying to build a web application in which i have to display list of items on search... this part has been done but i have to add a errror message in the same page if the search result comes out null... I am using DataView for displaying the results. using condition in java is simple but for the unreachable id that i mention in condition the mark up is not being rendered if the condition is true. any help is well appriciated... Thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Feedback-Error-message-tp1874404p4666330.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
Error search message in same page
Hi I am trying to build a web application in which i have to display list of items on search... this part has been done but i have to add a errror message in the same page if the search result comes out null... I am using DataView for displaying the results. using condition in java is simple but for the unreachable id that i mention in condition the mark up is not being rendered if the condition is true. any help is well appriciated... Thanks - K -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Error-search-message-in-same-page-tp4666331.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
Protection against CSRF (Cross-Site Request Forgery) attacks in Apache Wicket 6
Hi, I'm looking for protection against CSRF and found and old issue for Apache Wicket 1.3.4. https://issues.apache.org/jira/browse/WICKET-1782 And as far as have understood the Apache Wicket does not support Synchronizer Token Pattern, as suggested at https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29_Prevention_Cheat_Sheet but did in Apache Wicket 1.3 supported CryptedUrlWebRequestCodingStrategy, So now my question. - Does Apache Wicket 6 support CryptedUrlWebRequestCodingStrategy? Cannot find the CryptedUrlWebRequestCodingStrategy class? If the class have been renamed, please submit an example how to use this new class. - Does Apache Wicket 6 support any other solution to hinder CSRF? -- Med vänliga hälsningar Magnus K Karlsson Mobile: +46 (0)70 218 00 84 Email: magnus.r.karls...@gmail.com Blog: magnus-k-karlsson.blogspot.com
Re: Protection against CSRF (Cross-Site Request Forgery) attacks in Apache Wicket 6
Thanks for your fast reply! I have tested CryptoMapper, but as far as I can see the CryptoMapper does not return unique URL for each session, as suggested by OWASP The synchronizer token pattern requires the generating of random challenge tokens that are associated with the user's current session. Is this correct? if yes, is there any way to accomplish this? 2013/5/28 Martin Grigorov mgrigo...@apache.org Hi, On Tue, May 28, 2013 at 10:32 AM, Magnus K Karlsson magnus.r.karls...@gmail.com wrote: Hi, I'm looking for protection against CSRF and found and old issue for Apache Wicket 1.3.4. https://issues.apache.org/jira/browse/WICKET-1782 And as far as have understood the Apache Wicket does not support Synchronizer Token Pattern, as suggested at https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29_Prevention_Cheat_Sheet but did in Apache Wicket 1.3 supported CryptedUrlWebRequestCodingStrategy, So now my question. - Does Apache Wicket 6 support CryptedUrlWebRequestCodingStrategy? Cannot find the CryptedUrlWebRequestCodingStrategy class? If the class have been renamed, please submit an example how to use this new class. IRequestCodingStrategy has been reworked to IRequestMapper in Wicket 1.5.0. The class you need is CryptoMapper. Please have a look at https://cwiki.apache.org/confluence/display/WICKET/Request+mapping#Requestmapping-CryptoMapper - Does Apache Wicket 6 support any other solution to hinder CSRF? -- Med vänliga hälsningar Magnus K Karlsson Mobile: +46 (0)70 218 00 84 Email: magnus.r.karls...@gmail.com Blog: magnus-k-karlsson.blogspot.com -- Med vänliga hälsningar Magnus K Karlsson Mobile: +46 (0)70 218 00 84 Email: magnus.r.karls...@gmail.com Blog: magnus-k-karlsson.blogspot.com
Re: Protection against CSRF (Cross-Site Request Forgery) attacks in Apache Wicket 6
i might have solved the problem the default ICryptFactory is /** * Default crypt factory. This factory will instantiate a {@link SunJceCrypt} once and cache it for * all further invocations of {@link #newCrypt()}. * * @author Igor Vaynberg (ivaynberg) */ public class CachingSunJceCryptFactory extends CryptFactoryCachingDecorator and what I want is, i.e. unique URL for each session, is /** * Crypt factory that produces {@link SunJceCrypt} instances based on http session-specific * encryption key. This allows each user to have their own encryption key, hardening against CSRF * attacks. * * Note that the use of this crypt factory will result in an immediate creation of a http session * * @author igor.vaynberg */ public class KeyInSessionSunJceCryptFactory implements ICryptFactory Now I just need to figure out how to configure it. 2013/5/28 Magnus K Karlsson magnus.r.karls...@gmail.com Start will not work, since security is enabled. I'm attaching a new zip file, with security disabled. And added getSession().bind() and I can verify that the Session Id are different in the two different browsers. --- web.xml --- ?xml version=1.0 encoding=UTF-8? web-app xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation= http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd; version=3.0 display-nameexample-wicket/display-name filter filter-namewicket.example-wicket/filter-name filter-classorg.apache.wicket.protocol.http.WicketFilter/filter-class init-param param-nameapplicationClassName/param-name param-valuese.msc.examples.WicketApplication/param-value /init-param init-param param-nameconfiguration/param-name !-- param-valuedevelopment/param-value -- param-valuedeployment/param-value /init-param init-param param-nameignorePaths/param-name param-value/*.jsp/param-value /init-param /filter filter-mapping filter-namewicket.example-wicket/filter-name url-pattern/*/url-pattern /filter-mapping session-config !-- Session timeout after X MINUTES after no user interaction. -- session-timeout15/session-timeout cookie-config !-- XSS attack: make sure that cookie cannot be accessed via client side scripts -- http-onlytrue/http-only !-- CSRF attack, session hijack attack: require cookie can only be used for SSL communication. securetrue/secure-- /cookie-config !-- Do not use URL, since then it can be stored in numerous places: browser history, proxy server log, referrer logs, web logs, etc. -- tracking-modeCOOKIE/tracking-mode /session-config /web-app --- jboss-web.xml --- ?xml version=1.0 encoding=UTF-8? jboss-web context-rootexample-wicket/context-root /jboss-web I still get the same result 2013/5/28 Martin Grigorov mgrigo...@apache.org Hi, Your app fails to start due to: WARN - AbstractLifeCycle - FAILED org.eclipse.jetty.security.ConstraintSecurityHandler@70e434d: java.lang.IllegalStateException: No LoginService for org.eclipse.jetty.security.authentication.FormAuthenticator@c163956 in org.eclipse.jetty.security.ConstraintSecurityHandler@70e434d java.lang.IllegalStateException: No LoginService for org.eclipse.jetty.security.authentication.FormAuthenticator@c163956 in org.eclipse.jetty.security.ConstraintSecurityHandler@70e434d at org.eclipse.jetty.security.authentication.LoginAuthenticator.setConfiguration(LoginAuthenticator.java:44) at org.eclipse.jetty.security.authentication.FormAuthenticator.setConfiguration(FormAuthenticator.java:103) ... I see it is prepared for JBoss. I tried to run it with Jetty's Start.java. Add getSession().bind() before checking the ids. On Tue, May 28, 2013 at 11:51 AM, Magnus K Karlsson magnus.r.karls...@gmail.com wrote: That is what I'm trying to do. I have created a simple Apach Wicket 6.8.0 project. I have attached it. I'm not sure if it will be posted to list. public class WicketApplication extends WebApplication { ... public void init() { super.init(); IRequestMapper cryptoMapper; cryptoMapper = new CryptoMapper(getRootRequestMapper(), this); setRootRequestMapper(cryptoMapper); } public final HttpServletRequest getHttpServletRequest() { return (HttpServletRequest) getRequest().getContainerRequest(); } protected final Request getRequest() { RequestCycle requestCycle = RequestCycle.get(); if (requestCycle == null) { throw new WicketRuntimeException( No RequestCycle
Re: Protection against CSRF (Cross-Site Request Forgery) attacks in Apache Wicket 6
The solution to generate unique URL for each session is to change the default ICryptFactory to KeyInSessionSunJceCryptFactory. getSecuritySettings().setCryptFactory(new KeyInSessionSunJceCryptFactory()); setRootRequestMapper(new CryptoMapper(getRootRequestMapper(), this)); 2013/5/28 Magnus K Karlsson magnus.r.karls...@gmail.com i might have solved the problem the default ICryptFactory is /** * Default crypt factory. This factory will instantiate a {@link SunJceCrypt} once and cache it for * all further invocations of {@link #newCrypt()}. * * @author Igor Vaynberg (ivaynberg) */ public class CachingSunJceCryptFactory extends CryptFactoryCachingDecorator and what I want is, i.e. unique URL for each session, is /** * Crypt factory that produces {@link SunJceCrypt} instances based on http session-specific * encryption key. This allows each user to have their own encryption key, hardening against CSRF * attacks. * * Note that the use of this crypt factory will result in an immediate creation of a http session * * @author igor.vaynberg */ public class KeyInSessionSunJceCryptFactory implements ICryptFactory Now I just need to figure out how to configure it. 2013/5/28 Magnus K Karlsson magnus.r.karls...@gmail.com Start will not work, since security is enabled. I'm attaching a new zip file, with security disabled. And added getSession().bind() and I can verify that the Session Id are different in the two different browsers. --- web.xml --- ?xml version=1.0 encoding=UTF-8? web-app xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation= http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd; version=3.0 display-nameexample-wicket/display-name filter filter-namewicket.example-wicket/filter-name filter-classorg.apache.wicket.protocol.http.WicketFilter/filter-class init-param param-nameapplicationClassName/param-name param-valuese.msc.examples.WicketApplication/param-value /init-param init-param param-nameconfiguration/param-name !-- param-valuedevelopment/param-value -- param-valuedeployment/param-value /init-param init-param param-nameignorePaths/param-name param-value/*.jsp/param-value /init-param /filter filter-mapping filter-namewicket.example-wicket/filter-name url-pattern/*/url-pattern /filter-mapping session-config !-- Session timeout after X MINUTES after no user interaction. -- session-timeout15/session-timeout cookie-config !-- XSS attack: make sure that cookie cannot be accessed via client side scripts -- http-onlytrue/http-only !-- CSRF attack, session hijack attack: require cookie can only be used for SSL communication. securetrue/secure-- /cookie-config !-- Do not use URL, since then it can be stored in numerous places: browser history, proxy server log, referrer logs, web logs, etc. -- tracking-modeCOOKIE/tracking-mode /session-config /web-app --- jboss-web.xml --- ?xml version=1.0 encoding=UTF-8? jboss-web context-rootexample-wicket/context-root /jboss-web I still get the same result 2013/5/28 Martin Grigorov mgrigo...@apache.org Hi, Your app fails to start due to: WARN - AbstractLifeCycle - FAILED org.eclipse.jetty.security.ConstraintSecurityHandler@70e434d: java.lang.IllegalStateException: No LoginService for org.eclipse.jetty.security.authentication.FormAuthenticator@c163956 in org.eclipse.jetty.security.ConstraintSecurityHandler@70e434d java.lang.IllegalStateException: No LoginService for org.eclipse.jetty.security.authentication.FormAuthenticator@c163956 in org.eclipse.jetty.security.ConstraintSecurityHandler@70e434d at org.eclipse.jetty.security.authentication.LoginAuthenticator.setConfiguration(LoginAuthenticator.java:44) at org.eclipse.jetty.security.authentication.FormAuthenticator.setConfiguration(FormAuthenticator.java:103) ... I see it is prepared for JBoss. I tried to run it with Jetty's Start.java. Add getSession().bind() before checking the ids. On Tue, May 28, 2013 at 11:51 AM, Magnus K Karlsson magnus.r.karls...@gmail.com wrote: That is what I'm trying to do. I have created a simple Apach Wicket 6.8.0 project. I have attached it. I'm not sure if it will be posted to list. public class WicketApplication extends WebApplication { ... public void init() { super.init(); IRequestMapper cryptoMapper; cryptoMapper = new CryptoMapper(getRootRequestMapper(), this); setRootRequestMapper(cryptoMapper
Is it possible to add a static prefix to the generated URL from CryptoMapper?
Hi! I'm successfully testing CryptoMapper in Apache Wicket 6 with unique URL for each Session. But I'm also depending on to be able to define security constaint in the web.xml. security-constraint web-resource-collection web-resource-nameexample-wicket/web-resource-name url-pattern/user/*/url-pattern /web-resource-collection auth-constraint descriptionThese are the roles who have access./description role-nameROLE_USER/role-name role-nameROLE_ADMIN/role-name /auth-constraint /security-constraint So my question is it possible to prefix predefined classes with CryptoMapper? Example I used to mount pages with mountPage(/user/ + Foo.class.getSimpleName(), Foo.class); which resulted in URL: http://localhost:8080/example-wicket/user/Foo now I would like to decrypt Foo and it's possible page parameters, but not 'user', e.g. http://localhost:8080/example-wicket/user/o9SSJ_GJqmO_wPa3pBY9hhdoDOXrAjrVc8kgLXVijrc6zKG3_zokAWSik-hyrZBXM4h5Qc2JOn0WfAGPQo8eYA/o9Sc8/Jqme5/9SS98 -- Best Regards Magnus K Karlsson Mobile: +46 (0)70 218 00 84 Email: magnus.r.karls...@gmail.com Blog: magnus-k-karlsson.blogspot.com
AjaxFallbackLabel Component
I've created a simple component called 'AjaxFallbackLabel', which might be useful to have as part of the Ajax components. I particularly found it useful when explaining to the user that Ajaxified components would automatically refresh, otherwise when JavaScript is disabled it would revert to the default message which could say 'Manually refresh the page to update the component'. If you wanted to see it in action then just checkout the wicket example and run it. Anyway, if you'd like to include it into Wicket, you're more than welcome... https://code.google.com/p/mutable-password/source/browse/trunk/mutable-password-wicket-example/src/main/java/abid/password/wicket/components/AjaxFallbackLabel.java Thanks
Setting Wicket to by pass DWR in filter
Hi, I have done a quick search with no results so have decided to consult the hive mind. Currently I am considering using DWR to perform simple and secure JS on the front end on an existing wicket app. 1) How do i proceed to configure wicket to ignore certain URL in the wicket filter? E.g. I would want DWR's servlet to handle all /dwr/* requests and not use wicket's filter which handles /*. Is there anyway to do this via a configuration that I may have missed out? Or do I need to go into the source and modify this? Regards, Lester - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Setting Wicket to by pass DWR in filter
Thanks! Got it. Regards, Lester On Nov 11, 2011, at 8:20 AM, Igor Vaynberg wrote: wicket filter confing in web.xml takes an ignorePaths argument which is a comma separated list of paths to ignore -igor On Thu, Nov 10, 2011 at 4:11 PM, Lester K H Chua cicowic...@gmail.com wrote: Hi, I have done a quick search with no results so have decided to consult the hive mind. Currently I am considering using DWR to perform simple and secure JS on the front end on an existing wicket app. 1) How do i proceed to configure wicket to ignore certain URL in the wicket filter? E.g. I would want DWR's servlet to handle all /dwr/* requests and not use wicket's filter which handles /*. Is there anyway to do this via a configuration that I may have missed out? Or do I need to go into the source and modify this? Regards, Lester - 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
MarkupContainer.removeAll() does not detach models recursively
Hi, There are cases where I am explicitly removing all children components from a ListView by calling removeAll(); For some reason, the removeAll() on MarkupContainer does not call detach() on its child components, instead it calls detachModel(); This has the side effect that the models of the components that are deeper in the component tree are never detached. Is this a bug? I am using wicket 1.4.17 Thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
URL
I have a page that's mounted and when accessing the page the url is: http://www.something.com/admin/userAdd When posting a form the url changes to: http://www.something.com/admin/userAdd/wicket:interface/:3:dataForm::IFormSubmitListener:: Is it possible that the url can stay clean like the first url? There was a mention of changing the url strategy to one pass, but I was wondering if something else could be done. Ps. Still learning Wicket Thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Monitor external link clicks
Hi, I am using the ExternalLink class for external sites. I've noticed this class does not implement the ILinkListener interface and I am not able to monitor these clicks. I tried to implement the listener, but I did not get far. e.g. public class MonitorExternalLink extends ExternalLink implements ILinkListener { ... } Does anyone know how I can implement a listener on the ExternalLink class? Thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Monitor external link clicks
Hi Martin, Do you mean the javascript 'onclick' function? Cause I have tried to implement the onLinkClicked( ) method, and copied the 'getUrl()', 'onComponentTag()' methods from the Link class. But, did not manage to get it working. Thanks On 7 October 2010 16:00, Martin Makundi martin.maku...@koodaripalvelut.com wrote: Add onclickbehavior? ** Martin 2010/10/7 Abid K abz...@gmail.com: Hi, I am using the ExternalLink class for external sites. I've noticed this class does not implement the ILinkListener interface and I am not able to monitor these clicks. I tried to implement the listener, but I did not get far. e.g. public class MonitorExternalLink extends ExternalLink implements ILinkListener { ... } Does anyone know how I can implement a listener on the ExternalLink class? Thanks - 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: Monitor external link clicks
Thanks, that has worked. On 7 October 2010 16:34, Martijn Dashorst martijn.dasho...@gmail.com wrote: That is the whole point of externallink: it links to an external URL. If you want to receive the request prior to sending the user onwards, use a proper Link and redirect the browser to the external url using setRequestTarget(new RedirectRequestTarget(url)); Martijn On Thu, Oct 7, 2010 at 4:55 PM, Abid K abz...@gmail.com wrote: Hi, I am using the ExternalLink class for external sites. I've noticed this class does not implement the ILinkListener interface and I am not able to monitor these clicks. I tried to implement the listener, but I did not get far. e.g. public class MonitorExternalLink extends ExternalLink implements ILinkListener { ... } Does anyone know how I can implement a listener on the ExternalLink class? Thanks - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.4 increases type safety for web applications Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.8 - 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
When object is null
I hope someone can help a newbie who is learning Wicket. I have the following code which accepts a parameter and then does a database query to get the 'Data' object. If the user enters the wrong Id the database query will return null and in this case I want to notify the user the data could not be found and any other component should be hidden. But, when I get an null object the code stops working and a null exception is thrown, any ideas? Or is there a elegant way to do this? public class DataView extends WebPage { private Data data; public DataView(PageParameters parameters) { long dataId = parameters.getLong(dataId); DataDao dataDao = new DataDao(); data = dataDao.getData( dataId ); // display message that the data could not be found Label dataNotFound = new Label(dataNotFound, Data could not be found); dataNotFound.setVisible(data == null); // otherwise display the panel containing the data SomePanel panel = new SomePanel(somePanel); panel.setVisible(data != null); add(dataNotFound); add(panel); } public class SomePanel extends Panel { public SomePanel(String id) { super(id); // this throws null exception when data is null Label label = new Label(someLabel, String.valueOf(data.getId())); add(label); } } } Thanks
Re: When object is null
Thanks Josh and Daniel - both methods have worked. I have gone with checking if the object is null or not like so... public class SomePanel extends Panel { public SomePanel(String id) { super(id); if ( data == null ) { return; } Label label = new Label(someLabel, String.valueOf(data.getId())); add(label); } } I have decided to do this because I am not sure how I can format a date without doing this... SimpleDateFormat dateFormat = new SimpleDateFormat( dd/MM/ ); Label dateLabel = new Label( date, dateFormat.format( data.getDate( ) ) ); Thanks.
Re: Wicket in the industry
Look the site has raw wicket urls :) ananthakumaran wrote: http://www.breakitdownblog.com/apache-wicket-powers-mobile-walmart-com/ On Mon, Mar 15, 2010 at 1:50 PM, Mynhardt Vlok mynhar...@gmail.com wrote: Hey community I'm testing / using wicket at the moment and have to convince my company to use the framework. I really enjoy wicket and it's ease of use. Thing is my company has asked me two valid questions which I hope the community can answer. 1. How is wicket's stress load? For example could you use the framework for example as an interface to a banking system that handles hundreds of requests at the same time? 2. And i think this question relates to the first one, is wicket being adopted by big businesses? Do they use it for their web interfaces? If anyone can answer these questions I would appreciate it as I would like to convince them to use this framework. -- Anantha Kumaran(http://ananthakumaran.github.com) -- View this message in context: http://old.nabble.com/Wicket-in-the-industry-tp27901382p27915504.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: Page Design Question
Wiket provides PropertyModel class to map to values accessible via expressions. You always can write your own models. For instance you can employ Spring property expressions if you'd like map on collection projection. You can yield values using great Google collections framework. Steven Haines wrote: First, thanks for your help yesterday with the form id question, setMarkupId() solved my problem. I have a generic page design question for you: how do you handle situations when your page form does not map easily to your domain objects? I can map 90% of the form's fields to my domain object, but there are a couple fields from which I derive values on my domain object. I can solve this by creating a Java object that maps one-to-one with my form and then constructing my domain object(s) from that form object, but is there a better way / best practice way of handling this situation? Thanks for your insight! Steve - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://old.nabble.com/Page-Design-Question-tp27918033p27918501.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: wiQuery components with server side state - live demo
Looks great! One thing is missing - the components don't restore their state on refresh. I believe cookie, window name or dom storage can be used to keep the position and settings of components that are available for dragging/re-arrangement. Roman Ilin wrote: Great, ready for use components. On Tue, Mar 2, 2010 at 5:58 PM, Cemal A Bayramoglu ce...@jweekend.com wrote: We've been building a few wiQuery components [0], for clients' and internal projects. These wiQuery components typically maintain some of their state server-side, in the spirit of standard Wicket components. Here's a simple demo [1] to show some of them in action. Look carefully and you'll find lots of stuff to click on [2]. We could plan to open up the ones we may [3] if they look useful to you or you'd like to get involved with design/development/testing. Regards - Cemal jWeekend OO Java Technologies, Wicket Consulting, Development, Training http://jWeekend.com [0] includes components based on sortable portlet, jqGrid/Tree, jGrowl, jQuery UI: Accordian, Dialog, Tabs all integrated with Wicket using wiQuery (http://code.google.com/p/wiquery/) [1] http://labs.jWeekend.com/public/ [2] We'd naturally prefer if you didn't zap _all_ the records from our toy database! Yes, we know some of you will take this as an invitation to have a go! [3] No promises on dates just now, but it is something we'd like to do soon. - 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 -- View this message in context: http://old.nabble.com/wiQuery-components-with-server-side-state---live-demo-tp27758298p27762474.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: Shared resources with parameters?
For now I can't benefit from 304 Not Modified when shared parameterized resource is mounted with custom mount path (say /databaseimage/ in contrary to /resources/) and backed by database. I mean it is not easy to benefit from just implementing IResourceStream.lastModifiedTime(). It is due WicketFilter checks only /resource for not modification. The same about stateless pages (that for instance hosts the db images, which not modification status depends completely on image timestamp). I believe Igor is right about IResourceStream. Page and Shared Resource both are resources. And handling them polimorfly would simplify things. I look forward for the new URL handling technology. I hope it will happen within 1.5. igor.vaynberg wrote: well, these are all the questions we would have to answer when we are looking into this in detail. i dont have the answers right now, im just stating what i would like to see happen. i think the entire resource api has become very very bloated and can be simplified. -igor On Tue, Mar 25, 2008 at 12:43 PM, Johan Compagner jcompag...@gmail.com wrote: kill IResourceStream looks doable But also resource? Where does a ResourceReference then point to? How do we name the byte[] or streams? johan On Tue, Mar 25, 2008 at 7:45 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote: well, im saying get rid of Resource/ResourceStream entirely. we dont need that abstraction, we can just add whatever is missing to resource target. actually that way you can also implement page caching easily...maybe... anyways, irequesttarget.getlastmodified(pageparameters) can alleviate reliance on the request cycle -igor On Tue, Mar 25, 2008 at 11:38 AM, Johan Compagner jcompag...@gmail.com wrote: On Tue, Mar 25, 2008 at 6:46 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote: the whole resource thing is soo bloated. something we should simplify in 1.5. im all for getting rid of it entirely. we already have a nice interface for streams and that is called IRequestTarget, we already have that: SharedResourceRequestTarget - ResourceStreamRequestTarget just need to add a lastmodifiedtime() to it and we are done :) and it also gets rid of the inputstream-outputstream inconsistency. why should a resource provide an inputstream and us copy it when the resource can just dump it into the response directly... we already have that +/- also: IResourceStreamWriter But i agree it can be simpler But HEAD request should not go into the complete wicket cycle Those should be fast as possible. because head request are i think the happening the most of all the request. johan -igor On Tue, Mar 25, 2008 at 10:33 AM, Johan Compagner jcompag...@gmail.com wrote: no but the params could contain a filename and against that you check the last modified time stamp also in the DB just also for performance, if we call: public abstract IResourceStream getResourceStream(); then dont already get all the data. Because that call can also just be used for lastModified() check. that should only lazy be done with the IResourceStream.getInputStream() call johan On Tue, Mar 25, 2008 at 5:51 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote: well, hopefully you dont instantiate the resource stream if its just a HEAD response... -igor On Tue, Mar 25, 2008 at 9:47 AM, Johan Compagner jcompag...@gmail.com wrote: no do resource/this.getParameters() dont try to get the RequestCylce if it is a HEAD request (last modified check) it doesn't have to be there.. johan On Tue, Mar 25, 2008 at 5:44 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote: and inside the resource you do RequestCycle.get().getRequest().getParameter(foo); -igor On Tue, Mar 25, 2008 at 6:41 AM, Johan Compagner jcompag...@gmail.com wrote: ok just make such a class make a (Dynamic)Resource that you add to the shared resources That resource looks in the params to figure out what to serve with RequestCycle.urlFor(final ResourceReference resourceReference, ValueMap parameters) you can create urls with those params.
Re: Bookmarkable link url is broken in 1.4.6 after ajax update
It seems that problem prepending resource URLs resurrected again. https://issues.apache.org/jira/browse/WICKET-2491 vineet semwal wrote: i have opened the jira issue for the same problem, https://issues.apache.org/jira/browse/WICKET-2717 On Thu, Feb 4, 2010 at 1:07 AM, vineet semwal vineetsemwal1...@gmail.comwrote: I noticed the same problem after moving to 1.4.6 , I am creating a new bookmarkablepagelink on ajax submit , current page mounted path is prefixed in my case, i checked it with 1.4.5,it doesn't have that problem. for eg. bookmarkablepagelink created is http://foo/currentpagemountedpath/destinationpagemountedpath On Wed, Feb 3, 2010 at 10:44 PM, Objelean Alex alex.objel...@gmail.comwrote: The wicket-1.4.6 release contains a fix for WICKET-2312, which is a great thing. But apparently it breaks Bookmarkable link url in situation when it is updated by ajax. I'm not sure if this description is enough for fast reproduction, but I will try to add a quickstart asap and will open a JIRA issue. This issue is pretty critical. I cannot migrate the application to wicket-1.4.6 because of it. Thank you! -- regards, Vineet Semwal -- regards, Vineet Semwal -- View this message in context: http://old.nabble.com/Bookmarkable-link-url-is-broken-in-1.4.6-after-ajax-update-tp27439970p27453809.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: Wicket Release Plans for 1.5
The best would be short release cycle and very long support cycle. The latter is more important. igor.vaynberg wrote: do you guys want a release cycle that will take a year? the auto-detaching models are perfectly possible now by implementing a IDetachListener and detaching all fields that implement IDetachable via reflection. -igor On Sun, Nov 1, 2009 at 3:05 AM, Vladimir K koval...@gmail.com wrote: what about promiced auto-detaching models? may we expect it in 1.5? igor.vaynberg wrote: possibly. i think i would like this release to be as small as possible, centered around the new url stuff. once that is in release 1.5 and put the new ajax support from ng into 1.6. trying to release more and more often instead of taking over a year and a half like we did with 1.4.0 -igor On Fri, Oct 30, 2009 at 5:10 AM, Richard Allen richard.l.al...@gmail.com wrote: Is the Wicket Ajax Next Generation work going into 1.5? Also, is there plans for an event bus, sort of like what you see in Jonathan Locke's 26 wicket tricks source code? I've seen some really nice use of event bus in GWT that I think Wicket could benefit from. -Richard On Fri, Oct 30, 2009 at 4:43 AM, Dave B d...@davebolton.net wrote: I'm still eager to make WicketTester a first class citizen. I'm keen on this too -- is there a 'voting' mechanism in the bug tracker for this sort of thing? Cheers, Dave On Fri, Oct 30, 2009 at 7:27 PM, Martijn Dashorst martijn.dasho...@gmail.com wrote: I'm still eager to make WicketTester a first class citizen. Martijn On Thu, Oct 29, 2009 at 7:01 PM, dtoffe dto...@yahoo.com.ar wrote: Thanks for your answer, Daniel igor.vaynberg wrote: the focus of this release is to rewrite url and page handling. the focus is on flexibility and pluggability as well as simplification of use to the end user. the other major feature is the markupfragment implementation, which will allow users access to the markup the component is attached to, possibly, at a time earlier then render time. other then that there will probably be smaller features that will not go into 1.4.x because they require an api break. -igor On Thu, Oct 29, 2009 at 10:38 AM, dtoffe dto...@yahoo.com.ar wrote: Besides, it would be very interesting to know what changes and new features are planned. Cheers, Daniel -- View this message in context: http://www.nabble.com/Wicket-Release-Plans-for-1.5-tp26115807p26117927.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 -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.4 increases type safety for web applications Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.0 - 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 -- View this message in context: http://old.nabble.com/Wicket-Release-Plans-for-1.5-tp26115807p26148878.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://old.nabble.com/Wicket-Release-Plans-for-1.5-tp26115807p26157809.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: Wicket Release Plans for 1.5
what about promiced auto-detaching models? may we expect it in 1.5? igor.vaynberg wrote: possibly. i think i would like this release to be as small as possible, centered around the new url stuff. once that is in release 1.5 and put the new ajax support from ng into 1.6. trying to release more and more often instead of taking over a year and a half like we did with 1.4.0 -igor On Fri, Oct 30, 2009 at 5:10 AM, Richard Allen richard.l.al...@gmail.com wrote: Is the Wicket Ajax Next Generation work going into 1.5? Also, is there plans for an event bus, sort of like what you see in Jonathan Locke's 26 wicket tricks source code? I've seen some really nice use of event bus in GWT that I think Wicket could benefit from. -Richard On Fri, Oct 30, 2009 at 4:43 AM, Dave B d...@davebolton.net wrote: I'm still eager to make WicketTester a first class citizen. I'm keen on this too -- is there a 'voting' mechanism in the bug tracker for this sort of thing? Cheers, Dave On Fri, Oct 30, 2009 at 7:27 PM, Martijn Dashorst martijn.dasho...@gmail.com wrote: I'm still eager to make WicketTester a first class citizen. Martijn On Thu, Oct 29, 2009 at 7:01 PM, dtoffe dto...@yahoo.com.ar wrote: Thanks for your answer, Daniel igor.vaynberg wrote: the focus of this release is to rewrite url and page handling. the focus is on flexibility and pluggability as well as simplification of use to the end user. the other major feature is the markupfragment implementation, which will allow users access to the markup the component is attached to, possibly, at a time earlier then render time. other then that there will probably be smaller features that will not go into 1.4.x because they require an api break. -igor On Thu, Oct 29, 2009 at 10:38 AM, dtoffe dto...@yahoo.com.ar wrote: Besides, it would be very interesting to know what changes and new features are planned. Cheers, Daniel -- View this message in context: http://www.nabble.com/Wicket-Release-Plans-for-1.5-tp26115807p26117927.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 -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.4 increases type safety for web applications Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.0 - 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 -- View this message in context: http://old.nabble.com/Wicket-Release-Plans-for-1.5-tp26115807p26148878.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: Proposal: Fake implementation of AjaxRequestTarget instead of null
Consistent UI is very important for the user, isn't it? It has nothing in common with my liking. My proposal is about how to make the Wicket user life simpler. Not only by omitting coding null-checks. It is about bugs related to forgotten null-checks. And it is about consistent API. I strive to limit the places where use of instanceof operator is by-design. igor.vaynberg wrote: On Sat, Oct 24, 2009 at 5:23 PM, Vladimir K koval...@gmail.com wrote: Although it is possible I wouldn't recommend authoring certainly different UI basing on the asynchronisity of the request. For instance I experience inconvinience when mistakely opening Outlook Web Access in Firefox instead of MS IE and seeing a bit different non-ajaxy UI. just because something is not to your liking doesnt mean it should not be possible, so modify your proposal accordingly. From the other hand I would prefer to just call RequestTarget.isAjax() to distinguish what interface I should present to the user in case when it is reasonable different. Checking whether the object is null is much dangerous and non-self-descriptive. IMHO it is no-no design practice. in that case it should just be an onclick() inside which you can do: if (requestcycle.getrequesttarget() instanceof ajaxrequesttarget) { } -igor Since the number of fallback components is pretty small it is not difficult to derive from them some project-local components and wrap event handling in a manner I proposed to guard from NPE. But intention was to improve the Wicket API not only for that particular case. igor.vaynberg wrote: On Sat, Oct 24, 2009 at 7:18 AM, Sven Meier s...@meiers.net wrote: I don't think he meant a *complete* no-op request target, just the method addComponent() would be a no-op. The fake request target will rerender the complete page as any other standard request would do. this is not possible. all public contracts of the request target have to be properly implemented. eg if a component was added it should be returned by getcomponents(), also any registered listeners have to be notified, etc. i really dont understand the point of this change. if you have a fake ajaxrequesttarget then the code for a fallback is essentially a noop, so your app is broken in fallback. most of the code i have written that utilizes the fallback functionality looks like this: onclick(target) { if (target==null) { setresponsepage(new editpage(...)); } else { setupInp+laceEditPanel(); } } the workflows are divergent. -igor BTW why don't we get rid of all those AjaxFallback... components and just let *all* Ajax... components support use of a standard HTML request as fallback? Regards Sven Martin Grigorov wrote: I think he meant wasting CPU cycles for constructing your components which will be added to no-op ajaxrequesttarget then you'll have to make check like if (target instanceOf NullAjaxRequestTarget) {return;} which is not better than before El sáb, 24-10-2009 a las 12:18 +0200, Andreas Petersson escribió: I think it absolutely makes sense (for a future release of wicket). having a NullObject instance of AjaxRequestTarget would not waste a lot of cpu cycles at all, at least not how i use it. the only thing i do with the object is call .addComponent() and then refering a already-initialized variable. how likely is it that the object is in fact null? its 5% of users who have javascript disabled. so this would affect only a small amount of requests. from a jvm perspective calling methods with empty bodys very often is not something expensive. they will get inlined by the hotspot compiler and be effectively free. (i am not 100% sure if this also applys to polymorphism chains.) from a clean-code prespective it is often considered a code smell to have a lot of null checks. in your example providing a FakeDatabaseConnection that throws an UnsrupportedOperationException(you have no database!) is better than seeing a null pointer exception. Sounds weird. Why should my component burn cpu cycles to feed a fake ajax target which does nothing at all? I would prefer some null checks in that case. Would you also provide a FakeDatabaseConnection in case you application does not support databases? :-) Am 24.10.2009 um 07:42 schrieb Vladimir Kovalyuk: I believe all those null-checks of request target can be omited in user code if fallback components would provide fake implementation of AjaxRequestTarget instead of passing null. Does it make sense? - 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
Re: Proposal: Fake implementation of AjaxRequestTarget instead of null
I use similar approach and wondering. ... how to make sure that one year later another developer will realize that there is a helper for her convinience? svenmeier wrote: Hi, thinking more about this 'issue' I realized that in these simple cases one can just use a simple helper method: onclick(target) { AjaxHelper.addComponent(componentToReRenderOnAjaxRequest); } It was already discussed how components could automagically be added for re-rendering on each AjaxRequest. Such a feature would make a lot of calls to AjaxRequestTarget#addComponent() obsolete. Regards Sven Vladimir K wrote: Although it is possible I wouldn't recommend authoring certainly different UI basing on the asynchronisity of the request. For instance I experience inconvinience when mistakely opening Outlook Web Access in Firefox instead of MS IE and seeing a bit different non-ajaxy UI. All the handlers of fallback components in my code perform the same logic for ajax and non-ajax requests. The only difference is that I have to tell Wicket what components are invalidated due to changes in data model. I find it to be a good design style. That sort of information is just a garbage for the current Wicket rendering algorithm but thing could be different in the future if you decided to optimize the re-rendering process. From the other hand I would prefer to just call RequestTarget.isAjax() to distinguish what interface I should present to the user in case when it is reasonable different. Checking whether the object is null is much dangerous and non-self-descriptive. IMHO it is no-no design practice. Since the number of fallback components is pretty small it is not difficult to derive from them some project-local components and wrap event handling in a manner I proposed to guard from NPE. But intention was to improve the Wicket API not only for that particular case. igor.vaynberg wrote: On Sat, Oct 24, 2009 at 7:18 AM, Sven Meier s...@meiers.net wrote: I don't think he meant a *complete* no-op request target, just the method addComponent() would be a no-op. The fake request target will rerender the complete page as any other standard request would do. this is not possible. all public contracts of the request target have to be properly implemented. eg if a component was added it should be returned by getcomponents(), also any registered listeners have to be notified, etc. i really dont understand the point of this change. if you have a fake ajaxrequesttarget then the code for a fallback is essentially a noop, so your app is broken in fallback. most of the code i have written that utilizes the fallback functionality looks like this: onclick(target) { if (target==null) { setresponsepage(new editpage(...)); } else { setupInp+laceEditPanel(); } } the workflows are divergent. -igor BTW why don't we get rid of all those AjaxFallback... components and just let *all* Ajax... components support use of a standard HTML request as fallback? Regards Sven Martin Grigorov wrote: I think he meant wasting CPU cycles for constructing your components which will be added to no-op ajaxrequesttarget then you'll have to make check like if (target instanceOf NullAjaxRequestTarget) {return;} which is not better than before El sáb, 24-10-2009 a las 12:18 +0200, Andreas Petersson escribió: I think it absolutely makes sense (for a future release of wicket). having a NullObject instance of AjaxRequestTarget would not waste a lot of cpu cycles at all, at least not how i use it. the only thing i do with the object is call .addComponent() and then refering a already-initialized variable. how likely is it that the object is in fact null? its 5% of users who have javascript disabled. so this would affect only a small amount of requests. from a jvm perspective calling methods with empty bodys very often is not something expensive. they will get inlined by the hotspot compiler and be effectively free. (i am not 100% sure if this also applys to polymorphism chains.) from a clean-code prespective it is often considered a code smell to have a lot of null checks. in your example providing a FakeDatabaseConnection that throws an UnsrupportedOperationException(you have no database!) is better than seeing a null pointer exception. Sounds weird. Why should my component burn cpu cycles to feed a fake ajax target which does nothing at all? I would prefer some null checks in that case. Would you also provide a FakeDatabaseConnection in case you application does not support databases? :-) Am 24.10.2009 um 07:42 schrieb Vladimir Kovalyuk: I believe all those null-checks of request target can be omited in user code if fallback components would provide fake implementation of AjaxRequestTarget instead of passing null. Does it make sense
Re: Proposal: Fake implementation of AjaxRequestTarget instead of null
Although it is possible I wouldn't recommend authoring certainly different UI basing on the asynchronisity of the request. For instance I experience inconvinience when mistakely opening Outlook Web Access in Firefox instead of MS IE and seeing a bit different non-ajaxy UI. All the handlers of fallback components in my code perform the same logic for ajax and non-ajax requests. The only difference is that I have to tell Wicket what components are invalidated due to changes in data model. I find it to be a good design style. That sort of information is just a garbage for the current Wicket rendering algorithm but thing could be different in the future if you decided to optimize the re-rendering process. From the other hand I would prefer to just call RequestTarget.isAjax() to distinguish what interface I should present to the user in case when it is reasonable different. Checking whether the object is null is much dangerous and non-self-descriptive. IMHO it is no-no design practice. Since the number of fallback components is pretty small it is not difficult to derive from them some project-local components and wrap event handling in a manner I proposed to guard from NPE. But intention was to improve the Wicket API not only for that particular case. igor.vaynberg wrote: On Sat, Oct 24, 2009 at 7:18 AM, Sven Meier s...@meiers.net wrote: I don't think he meant a *complete* no-op request target, just the method addComponent() would be a no-op. The fake request target will rerender the complete page as any other standard request would do. this is not possible. all public contracts of the request target have to be properly implemented. eg if a component was added it should be returned by getcomponents(), also any registered listeners have to be notified, etc. i really dont understand the point of this change. if you have a fake ajaxrequesttarget then the code for a fallback is essentially a noop, so your app is broken in fallback. most of the code i have written that utilizes the fallback functionality looks like this: onclick(target) { if (target==null) { setresponsepage(new editpage(...)); } else { setupInp+laceEditPanel(); } } the workflows are divergent. -igor BTW why don't we get rid of all those AjaxFallback... components and just let *all* Ajax... components support use of a standard HTML request as fallback? Regards Sven Martin Grigorov wrote: I think he meant wasting CPU cycles for constructing your components which will be added to no-op ajaxrequesttarget then you'll have to make check like if (target instanceOf NullAjaxRequestTarget) {return;} which is not better than before El sáb, 24-10-2009 a las 12:18 +0200, Andreas Petersson escribió: I think it absolutely makes sense (for a future release of wicket). having a NullObject instance of AjaxRequestTarget would not waste a lot of cpu cycles at all, at least not how i use it. the only thing i do with the object is call .addComponent() and then refering a already-initialized variable. how likely is it that the object is in fact null? its 5% of users who have javascript disabled. so this would affect only a small amount of requests. from a jvm perspective calling methods with empty bodys very often is not something expensive. they will get inlined by the hotspot compiler and be effectively free. (i am not 100% sure if this also applys to polymorphism chains.) from a clean-code prespective it is often considered a code smell to have a lot of null checks. in your example providing a FakeDatabaseConnection that throws an UnsrupportedOperationException(you have no database!) is better than seeing a null pointer exception. Sounds weird. Why should my component burn cpu cycles to feed a fake ajax target which does nothing at all? I would prefer some null checks in that case. Would you also provide a FakeDatabaseConnection in case you application does not support databases? :-) Am 24.10.2009 um 07:42 schrieb Vladimir Kovalyuk: I believe all those null-checks of request target can be omited in user code if fallback components would provide fake implementation of AjaxRequestTarget instead of passing null. Does it make sense? - 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 - To unsubscribe, e-mail:
Re: ProgressBar demo doesn't work for firefox 3.5.3
The UploadProgressBar does not work for me. -- View this message in context: http://www.nabble.com/ProgressBar-demo-doesn%27t-work-for-firefox-3.5.3-tp25717607p25729075.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: Wrong path to wicket-event.js resulting in 404 after calling wicket from javascript
I believe the code that causes the problem is # @Override # protected CharSequence getURL() # { # return super.getURL() + String.format(TB_iframe=trueheight=%dwidth=%dmodal=false, getHeight(), getWidth()); # } IFAIK wicket encodes URL parameters in a special form. And the last part is the number of ../ required for prepending the resource urls. In your app it might be zero so wicket do not generate appropriate ../../.. for your app/shop/rozkovec mount string. Vit Rozkovec wrote: Hallo, I came across strange problem I do not know whether it is mine fault or wicket's problem. On a page, there is a widget, which list news records. Each record has an edit and delete link. Edit link opens new dialog in jquery's thickbox window, which is practically IFrame. The code for page, which holds form and which is displayed in the thickbox window: http://pastebin.com/m5ca60e78 The code for a link, which shows the thickbox window with a page in it: http://pastebin.com/m6339b3a En example usage: http://pastebin.com/m768350aa here on line 72 when I do: target.addComponent(ShopNewsWidgetPanel.this.get(news-container)); after ajax refresh of the component, which contains news records, each record containing edit link, there is 404 error found in the Ajax debug window. From firebug console I can find out that if I add a some component (here it is edit link, which is held by news-container), which also contains AbstractDefaultAjaxBehavior, then upon rendering head of the response, there is wrong path to wicket ajax resources: Correct path: http://localhost:8080/cz.madewithlove/app/resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js Wrong path after ajax call: http://localhost:8080/cz.madewithlove/app/shop/rozkovec/resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js The page is mounted like so: mount(new IndexedHybridUrlCodingStrategy(shop, ShopModulePage.class)); An ajax function, which is called in the page's ajax button onSubmit() method: function thickbox_window_close(url) { tb_remove(); //removes thickbox window // call url of the behavior, this behavior is attached to the link, which opens the page in thickbox window var wcall=wicketAjaxGet(url, null, null, function() {return true;}); return !wcall; } I could solve it by visiting all components of the parent container except behaviors and add them to the ajax request target, but it would be better to not bother about it and just add the parent container. Any pointers? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/Wrong-path-to-wicket-event.js-resulting-in-404-after-calling-wicket-from-javascript-tp25678997p25681934.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: Complicated workflows
I tried JBoss JBPM and it worked for complex compound workflows. It also had a eclipse designer plugin that could save the workflow image and provided a class that visualised the current workflow state. It had persistence module that was based on Hibernate. I had just to implement simple UI to present a user with workflows and tasks. I believe user can stay unaware about how complex is the workflow and whether it is compound. Phil Housley wrote: Hello list, I'm currently working on some ideas for building apps with fairly complex workflows. My aim is to find a nice pattern/framework for building apps where each unit of work involves many panels, several forms, lots of decisions and so on. In particular I'm aiming at apps where you need to be very confident about exactly what is happening, so very strict control of actions, being careful of multiple renderings of a page each trying to change the server data, and so on. Also, I'm wondering about some options for declarative building of workflows out of existing tasks. My current design involves running from a special page, which maintains a stack of tasks. One type of task is a Workflow, which can be configured to automatically spawn subtasks as required, based on the result of previous tasks. Another type of task is based on a panel, and is able to cause itself to be rendered. The stack processor makes sure that each task is invoked at the right time, that a task can render if it is at the top of the stack, that only the top of the stack can be invoked from a form and so on. This is working ok for some silly demo cases, but there are various issues. For example, any task that is not also a component cannot access dependency injection, or set error messages and so on. I'm not sure how to get around this at the moment, as I don't want to force every task to be a component, when many will likely have no cause to ever be rendered. So, the reason I'm posting is to ask mainly two things: 1) Is this of interest to anyone else? All the code is my own, so I'll open source it if there seems to be some future in it. 2) If so, does anyone have any comments on my current design? Clearly there are problems with it, but should I carry on trying to find ways to work around them, or does the whole thing sounds like so much crack? Thanks, -- Phil Housley - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/Complicated-workflows-tp25671027p25682285.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: defaultFormProcessing is no longer considered when processing multipart form in ajax request
Igor, it seems the 1.4 snapshot in the maven repository still contains 1.5 code. I built wicket from sources locally. When I tested the project against that build I found yet another problem. Attempt to submit the form (no matter what value the default processing flag has) led to response with 404 status. I realized that it was the UploadProgressBar's progressbar.js resource reference whose url was obtained using MixedParamHybridUrlCodingStrategy. I created a demo project and attached it to the following issue: https://issues.apache.org/jira/browse/WICKET-2491 Please have a look. I suppose the problem caused by request context that does not countain mounted part of the page so the url to the resource does not contain the ../../.. part and as the result being applied to the page with context /some/some/some causes 404. igor.vaynberg wrote: the problem is that trunk did not have version numbers updated so it was building as 1.4 for a while. this has been fixed so latest snapshots should be properly built out of branch. -igor On Sat, Sep 19, 2009 at 10:50 PM, Vladimir K koval...@gmail.com wrote: The latest 1.4 snapshot does not define IComponentBorder interface in addition to disappeared form component persistence. Is it supposed that 1.4.2 breaks compatibility with 1.4.1? I see the only way to check the fix in wicket-ajax.js - mix it into wicket 1.4.1 jar. Vladimir K wrote: I use 1.4-snapshot from http://wicketstuff.org/maven/repository/org/apache/wicket/wicket/1.4-SNAPSHOT/ Persistence of form components has been removed from 1.4 as well.z martin-g wrote: You have to use 1.4.x branch. trunk is for 1.5. form persistence is removed only in trunk El vie, 18-09-2009 a las 05:32 -0700, Vladimir K escribió: Igor, thanks for the fix. I tried to compile against 1.4.2-20090916 and obtained two compilation errors. Now FormComponent does not contain method setPersistent() and Page does not contain method removePersistedFormData(). What API should be used instead? Vladimir K wrote: Igor, could you plan it for 1.4.2? Vladimir K wrote: done https://issues.apache.org/jira/browse/WICKET-2463 Vladimir K wrote: sure igor.vaynberg wrote: i guess create a quickstart and attach it to a jira issue. when i tested buttons, while developing the feature, it seemed to work fine. -igor On Wed, Sep 9, 2009 at 10:40 PM, Vladimir K koval...@gmail.com wrote: it is attached to the input tag as follows: form wicket:id=actionForm enctype='multipart/form-data' div class=buttonBox input wicket:id=cancelAction type=submit wicket:message=value:command.cancelAction/input /div /form From my perspective the request is submitted very similar to as I remember submitting drop downs many years ago select onchange=this.form.submit(); The request parameters contain the name of the form instead of the name of the button. igor.vaynberg wrote: this bit of javascript: if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } is needed because we do perform a custom form serialization - really just constructing the query string - that we submit back to server via ajax. the multipart handling performs a regular post into a hidden iframe so the browser performs the serialization - and that should include the button. what markup is your button attached to? -igor On Wed, Sep 9, 2009 at 8:18 PM, Vladimir Kovalyuk koval...@gmail.com wrote: I added AjaxFallbackButton(Cancel).setDefaultFormProcessing(false) to the multipart form and when it is pressed the form is handled as well as the button would have defaultFormProcessing=true. It happens because request parameters does not contain the name of the submitting button. The magic is in the new code in wicket-ajax.js // Submits a form using ajax. // This method serializes a form and sends it as POST body. submitForm: function(form, submitButton) { if (this.handleMultipart(form)) { return true; } var body = function() { var s = Wicket.Form.serialize(form); if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } return s; } return this.request.post(body); }, I believe the problem is caused by handleMultipart(form) invocation. submitForm function accepts submitButton parameter but does not passes it to handleMultipart function. Igor could you clarify that? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: defaultFormProcessing is no longer considered when processing multipart form in ajax request
The latest 1.4 snapshot does not define IComponentBorder interface in addition to disappeared form component persistence. Is it supposed that 1.4.2 breaks compatibility with 1.4.1? I see the only way to check the fix in wicket-ajax.js - mix it into wicket 1.4.1 jar. Vladimir K wrote: I use 1.4-snapshot from http://wicketstuff.org/maven/repository/org/apache/wicket/wicket/1.4-SNAPSHOT/ Persistence of form components has been removed from 1.4 as well.z martin-g wrote: You have to use 1.4.x branch. trunk is for 1.5. form persistence is removed only in trunk El vie, 18-09-2009 a las 05:32 -0700, Vladimir K escribió: Igor, thanks for the fix. I tried to compile against 1.4.2-20090916 and obtained two compilation errors. Now FormComponent does not contain method setPersistent() and Page does not contain method removePersistedFormData(). What API should be used instead? Vladimir K wrote: Igor, could you plan it for 1.4.2? Vladimir K wrote: done https://issues.apache.org/jira/browse/WICKET-2463 Vladimir K wrote: sure igor.vaynberg wrote: i guess create a quickstart and attach it to a jira issue. when i tested buttons, while developing the feature, it seemed to work fine. -igor On Wed, Sep 9, 2009 at 10:40 PM, Vladimir K koval...@gmail.com wrote: it is attached to the input tag as follows: form wicket:id=actionForm enctype='multipart/form-data' div class=buttonBox input wicket:id=cancelAction type=submit wicket:message=value:command.cancelAction/input /div /form From my perspective the request is submitted very similar to as I remember submitting drop downs many years ago select onchange=this.form.submit(); The request parameters contain the name of the form instead of the name of the button. igor.vaynberg wrote: this bit of javascript: if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } is needed because we do perform a custom form serialization - really just constructing the query string - that we submit back to server via ajax. the multipart handling performs a regular post into a hidden iframe so the browser performs the serialization - and that should include the button. what markup is your button attached to? -igor On Wed, Sep 9, 2009 at 8:18 PM, Vladimir Kovalyuk koval...@gmail.com wrote: I added AjaxFallbackButton(Cancel).setDefaultFormProcessing(false) to the multipart form and when it is pressed the form is handled as well as the button would have defaultFormProcessing=true. It happens because request parameters does not contain the name of the submitting button. The magic is in the new code in wicket-ajax.js // Submits a form using ajax. // This method serializes a form and sends it as POST body. submitForm: function(form, submitButton) { if (this.handleMultipart(form)) { return true; } var body = function() { var s = Wicket.Form.serialize(form); if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } return s; } return this.request.post(body); }, I believe the problem is caused by handleMultipart(form) invocation. submitForm function accepts submitButton parameter but does not passes it to handleMultipart function. Igor could you clarify that? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25377594.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 - 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 -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25527927.html Sent from the Wicket - User mailing list
Re: defaultFormProcessing is no longer considered when processing multipart form in ajax request
Igor, thanks for the fix. I tried to compile against 1.4.2-20090916 and obtained two compilation errors. Now FormComponent does not contain method setPersistent() and Page does not contain method removePersistedFormData(). What API should be used instead? Vladimir K wrote: Igor, could you plan it for 1.4.2? Vladimir K wrote: done https://issues.apache.org/jira/browse/WICKET-2463 Vladimir K wrote: sure igor.vaynberg wrote: i guess create a quickstart and attach it to a jira issue. when i tested buttons, while developing the feature, it seemed to work fine. -igor On Wed, Sep 9, 2009 at 10:40 PM, Vladimir K koval...@gmail.com wrote: it is attached to the input tag as follows: form wicket:id=actionForm enctype='multipart/form-data' div class=buttonBox input wicket:id=cancelAction type=submit wicket:message=value:command.cancelAction/input /div /form From my perspective the request is submitted very similar to as I remember submitting drop downs many years ago select onchange=this.form.submit(); The request parameters contain the name of the form instead of the name of the button. igor.vaynberg wrote: this bit of javascript: if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } is needed because we do perform a custom form serialization - really just constructing the query string - that we submit back to server via ajax. the multipart handling performs a regular post into a hidden iframe so the browser performs the serialization - and that should include the button. what markup is your button attached to? -igor On Wed, Sep 9, 2009 at 8:18 PM, Vladimir Kovalyuk koval...@gmail.com wrote: I added AjaxFallbackButton(Cancel).setDefaultFormProcessing(false) to the multipart form and when it is pressed the form is handled as well as the button would have defaultFormProcessing=true. It happens because request parameters does not contain the name of the submitting button. The magic is in the new code in wicket-ajax.js // Submits a form using ajax. // This method serializes a form and sends it as POST body. submitForm: function(form, submitButton) { if (this.handleMultipart(form)) { return true; } var body = function() { var s = Wicket.Form.serialize(form); if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } return s; } return this.request.post(body); }, I believe the problem is caused by handleMultipart(form) invocation. submitForm function accepts submitButton parameter but does not passes it to handleMultipart function. Igor could you clarify that? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25377594.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25507890.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: defaultFormProcessing is no longer considered when processing multipart form in ajax request
I use 1.4-snapshot from http://wicketstuff.org/maven/repository/org/apache/wicket/wicket/1.4-SNAPSHOT/ martin-g wrote: You have to use 1.4.x branch. trunk is for 1.5. form persistence is removed only in trunk El vie, 18-09-2009 a las 05:32 -0700, Vladimir K escribió: Igor, thanks for the fix. I tried to compile against 1.4.2-20090916 and obtained two compilation errors. Now FormComponent does not contain method setPersistent() and Page does not contain method removePersistedFormData(). What API should be used instead? Vladimir K wrote: Igor, could you plan it for 1.4.2? Vladimir K wrote: done https://issues.apache.org/jira/browse/WICKET-2463 Vladimir K wrote: sure igor.vaynberg wrote: i guess create a quickstart and attach it to a jira issue. when i tested buttons, while developing the feature, it seemed to work fine. -igor On Wed, Sep 9, 2009 at 10:40 PM, Vladimir K koval...@gmail.com wrote: it is attached to the input tag as follows: form wicket:id=actionForm enctype='multipart/form-data' div class=buttonBox input wicket:id=cancelAction type=submit wicket:message=value:command.cancelAction/input /div /form From my perspective the request is submitted very similar to as I remember submitting drop downs many years ago select onchange=this.form.submit(); The request parameters contain the name of the form instead of the name of the button. igor.vaynberg wrote: this bit of javascript: if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } is needed because we do perform a custom form serialization - really just constructing the query string - that we submit back to server via ajax. the multipart handling performs a regular post into a hidden iframe so the browser performs the serialization - and that should include the button. what markup is your button attached to? -igor On Wed, Sep 9, 2009 at 8:18 PM, Vladimir Kovalyuk koval...@gmail.com wrote: I added AjaxFallbackButton(Cancel).setDefaultFormProcessing(false) to the multipart form and when it is pressed the form is handled as well as the button would have defaultFormProcessing=true. It happens because request parameters does not contain the name of the submitting button. The magic is in the new code in wicket-ajax.js // Submits a form using ajax. // This method serializes a form and sends it as POST body. submitForm: function(form, submitButton) { if (this.handleMultipart(form)) { return true; } var body = function() { var s = Wicket.Form.serialize(form); if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } return s; } return this.request.post(body); }, I believe the problem is caused by handleMultipart(form) invocation. submitForm function accepts submitButton parameter but does not passes it to handleMultipart function. Igor could you clarify that? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25377594.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 - 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 -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25515394.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: defaultFormProcessing is no longer considered when processing multipart form in ajax request
Igor, could you plan it for 1.4.2? Vladimir K wrote: done https://issues.apache.org/jira/browse/WICKET-2463 Vladimir K wrote: sure igor.vaynberg wrote: i guess create a quickstart and attach it to a jira issue. when i tested buttons, while developing the feature, it seemed to work fine. -igor On Wed, Sep 9, 2009 at 10:40 PM, Vladimir K koval...@gmail.com wrote: it is attached to the input tag as follows: form wicket:id=actionForm enctype='multipart/form-data' div class=buttonBox input wicket:id=cancelAction type=submit wicket:message=value:command.cancelAction/input /div /form From my perspective the request is submitted very similar to as I remember submitting drop downs many years ago select onchange=this.form.submit(); The request parameters contain the name of the form instead of the name of the button. igor.vaynberg wrote: this bit of javascript: if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } is needed because we do perform a custom form serialization - really just constructing the query string - that we submit back to server via ajax. the multipart handling performs a regular post into a hidden iframe so the browser performs the serialization - and that should include the button. what markup is your button attached to? -igor On Wed, Sep 9, 2009 at 8:18 PM, Vladimir Kovalyuk koval...@gmail.com wrote: I added AjaxFallbackButton(Cancel).setDefaultFormProcessing(false) to the multipart form and when it is pressed the form is handled as well as the button would have defaultFormProcessing=true. It happens because request parameters does not contain the name of the submitting button. The magic is in the new code in wicket-ajax.js // Submits a form using ajax. // This method serializes a form and sends it as POST body. submitForm: function(form, submitButton) { if (this.handleMultipart(form)) { return true; } var body = function() { var s = Wicket.Form.serialize(form); if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } return s; } return this.request.post(body); }, I believe the problem is caused by handleMultipart(form) invocation. submitForm function accepts submitButton parameter but does not passes it to handleMultipart function. Igor could you clarify that? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25377594.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25463838.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: How to redirect from a ModalWindow
Try adding this one to the page markup script language=javascript type=text/javascript jQuery(document).ready(function(){ if (typeof Wicket != 'undefined' Wicket.Window) Wicket.Window.unloadConfirmation = false; }); /script Matthias Keller wrote: Hi Peter You would be right as long as it wasn't for a ModalWindow. When having an open ModalWindow, wicket seems to register an unload javascript event which - when trying to navigate away from the page (be it by following a link, closing the window etc), displays a confirmation message which you have to accept. I need to avoid that message, but the only way to do that probably is by closing that window first so that the javascript event gets unloaded. Matt Peter Ertl wrote: throw new RestartResponseException(OtherPage.class) window.close() is not needed! Am 10.09.2009 um 12:50 schrieb Matthias Keller: OtherPage.class - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/How-to-redirect-from-a-ModalWindow-tp25381117p25411990.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: defaultFormProcessing is no longer considered when processing multipart form in ajax request
done https://issues.apache.org/jira/browse/WICKET-2463 Vladimir K wrote: sure igor.vaynberg wrote: i guess create a quickstart and attach it to a jira issue. when i tested buttons, while developing the feature, it seemed to work fine. -igor On Wed, Sep 9, 2009 at 10:40 PM, Vladimir K koval...@gmail.com wrote: it is attached to the input tag as follows: form wicket:id=actionForm enctype='multipart/form-data' div class=buttonBox input wicket:id=cancelAction type=submit wicket:message=value:command.cancelAction/input /div /form From my perspective the request is submitted very similar to as I remember submitting drop downs many years ago select onchange=this.form.submit(); The request parameters contain the name of the form instead of the name of the button. igor.vaynberg wrote: this bit of javascript: if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } is needed because we do perform a custom form serialization - really just constructing the query string - that we submit back to server via ajax. the multipart handling performs a regular post into a hidden iframe so the browser performs the serialization - and that should include the button. what markup is your button attached to? -igor On Wed, Sep 9, 2009 at 8:18 PM, Vladimir Kovalyuk koval...@gmail.com wrote: I added AjaxFallbackButton(Cancel).setDefaultFormProcessing(false) to the multipart form and when it is pressed the form is handled as well as the button would have defaultFormProcessing=true. It happens because request parameters does not contain the name of the submitting button. The magic is in the new code in wicket-ajax.js // Submits a form using ajax. // This method serializes a form and sends it as POST body. submitForm: function(form, submitButton) { if (this.handleMultipart(form)) { return true; } var body = function() { var s = Wicket.Form.serialize(form); if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } return s; } return this.request.post(body); }, I believe the problem is caused by handleMultipart(form) invocation. submitForm function accepts submitButton parameter but does not passes it to handleMultipart function. Igor could you clarify that? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25377594.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25397125.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: defaultFormProcessing is no longer considered when processing multipart form in ajax request
it is attached to the input tag as follows: form wicket:id=actionForm enctype='multipart/form-data' div class=buttonBox input wicket:id=cancelAction type=submit wicket:message=value:command.cancelAction/input /div /form From my perspective the request is submitted very similar to as I remember submitting drop downs many years ago select onchange=this.form.submit(); The request parameters contain the name of the form instead of the name of the button. igor.vaynberg wrote: this bit of javascript: if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } is needed because we do perform a custom form serialization - really just constructing the query string - that we submit back to server via ajax. the multipart handling performs a regular post into a hidden iframe so the browser performs the serialization - and that should include the button. what markup is your button attached to? -igor On Wed, Sep 9, 2009 at 8:18 PM, Vladimir Kovalyuk koval...@gmail.com wrote: I added AjaxFallbackButton(Cancel).setDefaultFormProcessing(false) to the multipart form and when it is pressed the form is handled as well as the button would have defaultFormProcessing=true. It happens because request parameters does not contain the name of the submitting button. The magic is in the new code in wicket-ajax.js // Submits a form using ajax. // This method serializes a form and sends it as POST body. submitForm: function(form, submitButton) { if (this.handleMultipart(form)) { return true; } var body = function() { var s = Wicket.Form.serialize(form); if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } return s; } return this.request.post(body); }, I believe the problem is caused by handleMultipart(form) invocation. submitForm function accepts submitButton parameter but does not passes it to handleMultipart function. Igor could you clarify that? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25377594.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: defaultFormProcessing is no longer considered when processing multipart form in ajax request
sure igor.vaynberg wrote: i guess create a quickstart and attach it to a jira issue. when i tested buttons, while developing the feature, it seemed to work fine. -igor On Wed, Sep 9, 2009 at 10:40 PM, Vladimir K koval...@gmail.com wrote: it is attached to the input tag as follows: form wicket:id=actionForm enctype='multipart/form-data' div class=buttonBox input wicket:id=cancelAction type=submit wicket:message=value:command.cancelAction/input /div /form From my perspective the request is submitted very similar to as I remember submitting drop downs many years ago select onchange=this.form.submit(); The request parameters contain the name of the form instead of the name of the button. igor.vaynberg wrote: this bit of javascript: if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } is needed because we do perform a custom form serialization - really just constructing the query string - that we submit back to server via ajax. the multipart handling performs a regular post into a hidden iframe so the browser performs the serialization - and that should include the button. what markup is your button attached to? -igor On Wed, Sep 9, 2009 at 8:18 PM, Vladimir Kovalyuk koval...@gmail.com wrote: I added AjaxFallbackButton(Cancel).setDefaultFormProcessing(false) to the multipart form and when it is pressed the form is handled as well as the button would have defaultFormProcessing=true. It happens because request parameters does not contain the name of the submitting button. The magic is in the new code in wicket-ajax.js // Submits a form using ajax. // This method serializes a form and sends it as POST body. submitForm: function(form, submitButton) { if (this.handleMultipart(form)) { return true; } var body = function() { var s = Wicket.Form.serialize(form); if (submitButton != null) { s += Wicket.Form.encode(submitButton) + =1; } return s; } return this.request.post(body); }, I believe the problem is caused by handleMultipart(form) invocation. submitForm function accepts submitButton parameter but does not passes it to handleMultipart function. Igor could you clarify that? - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25377594.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/defaultFormProcessing-is-no-longer-considered-when-processing--multipart-form-in-ajax-request-tp25376538p25377634.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: DataTable with more than one tr per item
The regular repeater does not support pagination, sorting and filtering out of the box. Erik van Oosten wrote: Kariem, There is a hint at http://cwiki.apache.org/WICKET/wickets-xhtml-tags.html#Wicket%27sXHTMLtags-Elementwicket:container Regards, Erik. Igor Vaynberg wrote: no, a datatable doesnt support that. but it is easy enough with your own repeater. -igor -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/DataTable-with-more-than-one-%3Ctr%3E-per-item-tp24900846p24909100.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: DataTable with more than one tr per item
I mean they does not have toolbars that provides user with pagination, sorting and filtering. One should author her own DataTable class in order to get extra tr in the item's markup. If Item class was derived from Panel class it would be possible to override newRowItem() method. I believe it makes sense to re-design DataTable markup a bit. igor.vaynberg wrote: both dataview and pageablelistview support paging. -igor On Mon, Aug 10, 2009 at 4:06 PM, Vladimir Kkoval...@gmail.com wrote: The regular repeater does not support pagination, sorting and filtering out of the box. Erik van Oosten wrote: Kariem, There is a hint at http://cwiki.apache.org/WICKET/wickets-xhtml-tags.html#Wicket%27sXHTMLtags-Elementwicket:container Regards, Erik. Igor Vaynberg wrote: no, a datatable doesnt support that. but it is easy enough with your own repeater. -igor -- Erik van Oosten http://day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/DataTable-with-more-than-one-%3Ctr%3E-per-item-tp24900846p24909100.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/DataTable-with-more-than-one-%3Ctr%3E-per-item-tp24900846p24909271.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: Twenty Six Wicket Tricks
Personally I would embed YUI splitter and jQuery layout only if their state could survive page refresh. It does not seem they are capable for now. AFAIK it is possible to use coockies to save the state of splitter or docked panel. Ralf Eichinger wrote: I would prefer to see - Javascript component integration: especially YUI split, resizable pane containing a panel in each pane or another split pane. see: http://developer.yahoo.com/yui/examples/resize/grids_resize.html -- View this message in context: http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p24726444.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: Twenty Six Wicket Tricks
+1 I will buy such trick Erik van Oosten wrote: Jonathan Locke wrote: I've got 13 tricks coded up now and ideas for a handful more, but if there are any requests out there, please let me know Perhaps something about handling URLs. Like writing your own url coding strategy and how to mount pages with URL that have some variable before the fixed parts (like /{language}/products/{productid}). Regards, Erik. -- Erik van Oosten http://www.day-to-day-stuff.blogspot.com/ - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p24703581.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: Twenty Six Wicket Tricks
ModalWindow (being a wicket cheat :) ) deserves a sole book of tricks. I'll definitely author my own modal window unless someone fixes the original one. -1 on including ModalWindow to the book. egolan74 wrote: I can't wait for yet another great Wicket book. I will surly buy it. regarding tricks, using Modal window can be nice. Integrating Wicket with JS libs (If it's not a topic for a small book by itself). Cool stuff with Ajax. Eyal Golan egola...@gmail.com Visit: http://jvdrums.sourceforge.net/ LinkedIn: http://www.linkedin.com/in/egolan74 P Save a tree. Please don't print this e-mail unless it's really necessary On Tue, Dec 30, 2008 at 10:32 AM, Jonathan Locke jonathan.lo...@gmail.comwrote: Well, over the break here I've started something I swore I would never do again (well, two things, if you include the JavaOne talk I'm working on). I'm writing a (hopefully relatively short) book. It's called Twenty-Six Wicket Tricks. Each trick in the book (lettered from A-Z) demonstrates something that people typically want to do and in the process builds a reusable and educational component. I've got 13 tricks coded up now and ideas for a handful more, but if there are any requests out there, please let me know. I'd also be interested in getting some idea how many people would be interested in this book (would provide some fuel for me to get it done). It does not cover any of the same ground as Wicket in Action (which you should buy if you have not already!), BTW. It's more of a companion to that book. Happy Holidays! Best, Jonathan -- View this message in context: http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p21214357.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 - Eyal Golan egola...@gmail.com Visit: JVDrums LinkedIn: LinkedIn -- View this message in context: http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p24704037.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: reuseitems problems
Martin, please describe the context. I don't see how the process of serialization makes the instance of the object obsolete. In my practice I use a detachable model when rendering View page and I use a static model when rendering an Edit page. In onSubmit method I save the model object and forward the user to the View page. MartinM wrote: Hi! I am having trouble with listView.setReuseitems(true). My problem is that 1. on first request the listview creates form components. 2. on second (or third ...) request the listView reuses the form components. 3. however, the propertymodels attached to the formcomponents at 1 are no longer viable, because their target objects are only the orignal serialization copies. In state 2 or 3 the form components now update totally obsolete instances of the target objects . A better strategy would probably be to just copy the rawInput states of the formComponents instead of really reusing the components. Comments, anybody? Did I misunderstand something? I have been debugging this for 6 hours now, maybe my brain melted down already. .. ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/reuseitems-problems-tp24702133p24704253.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: Twenty Six Wicket Tricks
Jeremy, from my perspective ModalWindow is a mix of javascript widget that works in non-wicket mode and an wicket wrapper that bridges js widget with wicket. It is always created at the body level. That's why I said it's a cheat. Thus are problems with form submitting when nested forms are used. Community introduced a solution (a wrapping form that is threated as the root) to work around the mismatch of ModalWindow structure. There is an issue registered about that. But Matej keeps stating that we should put MW into a form. What says that he is not aware what the problem is. And there are more problems caused by the fact that the form element is created by javascript. From the other hand I believe it is possible to write pure Wicket component that would be as trice as simpler and won't suffer with problems with request lifecycle. Probably I'm wrong and it is not worth turning the old ModalWindow into pure Wicket component due to expensiveness of the effort that would be spent to remain it compatible. The same about tree components. The API is very difficult to comprehend. Component does not work as I expect in dynamic context. But thankfully Sven implemented different implementation that does what is expect and usable as well as DataTable component. I believe forking and fixing the original component would be much more expensive. After that so many people should start complaining about that to convince core team that there is not just one person who is experiencing problems. It is always difficult to accomplish. jthomerson wrote: Why create your own? Submit a patch to fix what you see is wrong with the current one. Everyone wins. -- Jeremy Thomerson http://www.wickettraining.com On Tue, Jul 28, 2009 at 12:20 PM, Vladimir Kkoval...@gmail.com wrote: ModalWindow (being a wicket cheat :) ) deserves a sole book of tricks. I'll definitely author my own modal window unless someone fixes the original one. -1 on including ModalWindow to the book. egolan74 wrote: I can't wait for yet another great Wicket book. I will surly buy it. regarding tricks, using Modal window can be nice. Integrating Wicket with JS libs (If it's not a topic for a small book by itself). Cool stuff with Ajax. Eyal Golan egola...@gmail.com Visit: http://jvdrums.sourceforge.net/ LinkedIn: http://www.linkedin.com/in/egolan74 P Save a tree. Please don't print this e-mail unless it's really necessary On Tue, Dec 30, 2008 at 10:32 AM, Jonathan Locke jonathan.lo...@gmail.comwrote: Well, over the break here I've started something I swore I would never do again (well, two things, if you include the JavaOne talk I'm working on). I'm writing a (hopefully relatively short) book. It's called Twenty-Six Wicket Tricks. Each trick in the book (lettered from A-Z) demonstrates something that people typically want to do and in the process builds a reusable and educational component. I've got 13 tricks coded up now and ideas for a handful more, but if there are any requests out there, please let me know. I'd also be interested in getting some idea how many people would be interested in this book (would provide some fuel for me to get it done). It does not cover any of the same ground as Wicket in Action (which you should buy if you have not already!), BTW. It's more of a companion to that book. Happy Holidays! Best, Jonathan -- View this message in context: http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p21214357.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 - Eyal Golan egola...@gmail.com Visit: JVDrums LinkedIn: LinkedIn -- View this message in context: http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p24704037.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p24705381.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: reuseitems problems
Martin, why do you get Page instance 2 on page refresh? MartinM wrote: please describe the context. I don't see how the process of serialization makes the instance of the object obsolete. 1. Page instantiation. Page instance 1 {manipulating target data 1}, formComponent instance 1-target data instance 1. 2. Ajax request or similar onto page. 3. Page refresh (deserialized from diskstore). Page instance 2 {manipulating target data instance 2}, reused formComponent instance 1-target data instance 1. So in stage 3 the page is manipulating target data instance 2 while the reused form components still manipulate target data instance 1. What this means? It means that for example if you Submit form, the values will be updated onto target data 1. The mistake is that if your Page instance 2 handles saving procedure, it will save the target data {2} which does not receive the form submit. This might work differently with detached models. I do not bother with detached models on lightweight models. ** Martin MartinM wrote: Hi! I am having trouble with listView.setReuseitems(true). My problem is that 1. on first request the listview creates form components. 2. on second (or third ...) request the listView reuses the form components. 3. however, the propertymodels attached to the formcomponents at 1 are no longer viable, because their target objects are only the orignal serialization copies. In state 2 or 3 the form components now update totally obsolete instances of the target objects . A better strategy would probably be to just copy the rawInput states of the formComponents instead of really reusing the components. Comments, anybody? Did I misunderstand something? I have been debugging this for 6 hours now, maybe my brain melted down already. .. ** Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/reuseitems-problems-tp24702133p24704253.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/reuseitems-problems-tp24702133p24705518.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: reuseitems problems
trying to undertand what is happening in your case. When the page is serialized the steam contains the whole graph, including the ListView and it's items and the page default model and the ListView items models. When the page is deserialized, the whole graph is restored including page, its model, items and their models. My understanding is that in your case the items models are the old ones that was in the previous version of the page, how could it be? Or I didn't get what you were saying. MartinM wrote: Or session store.. anyways, that's not relevant. The important fact is that the copies are different. ** Martin 2009/7/28 Martin Makundi martin.maku...@koodaripalvelut.com: why do you get Page instance 2 on page refresh? Wicket always deserializes page state from diskstore.. so it is a copy. ** Martin MartinM wrote: please describe the context. I don - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/reuseitems-problems-tp24702133p24705851.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: Twenty Six Wicket Tricks
Matej, one of the problems is that when ajax submit happens (by pressing ajax submit button that resides in a form that resides in a ModalWindow that is put into another form) it contains no data for the components of enclosing form but the process of handling the submit handles the eclosing form and the validation fails or the values become empty. (If I remember all the details correctly - it was 3 months ago) Another problem happens when you don't use ajax submit but regular one instead. If I'm not wrong Wicket can't find components of inner form. In case if some pieces are missed in sandwitch FormModalWinwodForm the mismatch occurs immediately. Having no acces to hardcoded form element makes impossible to enhance ModalWindow as well as to implement just regular upload submit from within ModalWindow without patching .js file. If you could fix that (preventing wicket from making it a div) and make the form configurable it would be great! Concerning Tree. It is my subjective opinion. It is the API that was difficult to figure out how to employ to solve my tasks. I find the difference betwen DataTable and TreeTable APIs to be unnecessary difficulty to users. At least they are two different things that requires more time to learn and work with. And if you have a panel where you switch between table and tree you have to write an abstraction layer. Sven's TableTree just fits where it should be. I completely added it within 2 hours. TreeTable took 2 days to learn and employ. Once again, I'm subjective here. It was just my experience. My idea is that diversity is a good thing when the original component dont meet our needs makes the development more complicated. I'm aware of CSS positioning model and I have ideas to investigate. Besides there are a jQuery popup window which example is embedded into enclosing div and can be freely relocated inside the body. Anyway it is possible to do what the modal.js is doing by Wicket means and don't have a component tree mismatch with DOM. Matej Knopp-2 wrote: On Tue, Jul 28, 2009 at 8:31 PM, Vladimir Kkoval...@gmail.com wrote: Jeremy, from my perspective ModalWindow is a mix of javascript widget that works in non-wicket mode and an wicket wrapper that bridges js widget with wicket. It is always created at the body level. That's why I said it's a cheat. Thus are problems with form submitting when nested forms are used. There is a good reason why the modal window has to be created on body level. That's the only reliable way to have element with absolute position. If you create the DOM structure deeper you are risking that a container has position:relative somewhere which will essentially break it. Welcome to the wonderful world of CSS. Community introduced a solution (a wrapping form that is threated as the root) to work around the mismatch of ModalWindow structure. There is an issue registered about that. But Matej keeps stating that we should put MW into a form. What says that he is not aware what the problem is. And there are more problems caused by the fact that the form element is created by javascript. Is it, really? I've already explained why the DOM structure is created on root level. If you have form component inside modal window, chances are that wicket will (to support nested forms) render it as div. If this happens it is no longer possible to serialize the form when doing an ajax submit. That's why the actual modal window markup contains a real form. And this is why it is necessary to put a modal window inside a form if you want to have form in modal window. What we should have done is to put a wicket form inside the modal window panel itself (just to force all forms in modal window content) to be rendered as nested. But for some reason i thought that a simple mention in javadoc about putting modal window to form would be sufficient. My bad. From the other hand I believe it is possible to write pure Wicket component that would be as trice as simpler and won't suffer with problems with request lifecycle. Probably I'm wrong and it is not worth turning the old ModalWindow into pure Wicket component due to expensiveness of the effort that would be spent to remain it compatible. Would you mind specifying the actual problems with request lifecycle? And how exactly would a pure wicket modal window look like? No javascript? The same about tree components. The API is very difficult to comprehend. Component does not work as I expect in dynamic context. But thankfully Sven implemented different implementation that does what is expect and usable as well as DataTable component. I believe forking and fixing the original component would be much more expensive. After that so many people should start complaining about that to convince core team that there is not just one person who is experiencing problems. It is always difficult to accomplish. I would like to have some clarification on this. What is
Re: Twenty Six Wicket Tricks
The following class fixes the problem. It is the evidence of mismatch I'm saying about. public class ModalWindowFormT extends FormT { public ModalWindowForm(String id) { super(id); } @Override public Form? getRootForm() { Form? form = super.getRootForm(); if ((findParent(ModalWindow.class) != null) (form.findParent(ModalWindow.class) == null)) return this; else return form; } } I assume I don't understand something. But anyway I expect following the least surprise rule. Matej Knopp-2 wrote: On Tue, Jul 28, 2009 at 8:31 PM, Vladimir Kkoval...@gmail.com wrote: Jeremy, from my perspective ModalWindow is a mix of javascript widget that works in non-wicket mode and an wicket wrapper that bridges js widget with wicket. It is always created at the body level. That's why I said it's a cheat. Thus are problems with form submitting when nested forms are used. There is a good reason why the modal window has to be created on body level. That's the only reliable way to have element with absolute position. If you create the DOM structure deeper you are risking that a container has position:relative somewhere which will essentially break it. Welcome to the wonderful world of CSS. Community introduced a solution (a wrapping form that is threated as the root) to work around the mismatch of ModalWindow structure. There is an issue registered about that. But Matej keeps stating that we should put MW into a form. What says that he is not aware what the problem is. And there are more problems caused by the fact that the form element is created by javascript. Is it, really? I've already explained why the DOM structure is created on root level. If you have form component inside modal window, chances are that wicket will (to support nested forms) render it as div. If this happens it is no longer possible to serialize the form when doing an ajax submit. That's why the actual modal window markup contains a real form. And this is why it is necessary to put a modal window inside a form if you want to have form in modal window. What we should have done is to put a wicket form inside the modal window panel itself (just to force all forms in modal window content) to be rendered as nested. But for some reason i thought that a simple mention in javadoc about putting modal window to form would be sufficient. My bad. From the other hand I believe it is possible to write pure Wicket component that would be as trice as simpler and won't suffer with problems with request lifecycle. Probably I'm wrong and it is not worth turning the old ModalWindow into pure Wicket component due to expensiveness of the effort that would be spent to remain it compatible. Would you mind specifying the actual problems with request lifecycle? And how exactly would a pure wicket modal window look like? No javascript? The same about tree components. The API is very difficult to comprehend. Component does not work as I expect in dynamic context. But thankfully Sven implemented different implementation that does what is expect and usable as well as DataTable component. I believe forking and fixing the original component would be much more expensive. After that so many people should start complaining about that to convince core team that there is not just one person who is experiencing problems. It is always difficult to accomplish. I would like to have some clarification on this. What is so difficult about the Wicket Tree API? (apart from the fact that it uses swing TreeModel which seem to be too confusing for some people). What does dynamic context mean? Assuming you have properly implemented TreeModel that fires the proper notifications, wicket tree is capable for updating itself on ajax request by only transmitting the changed part to the clients. How much more dynamic can you get? For next version we will probably ditch swing TreeModel for something simpler but we will still need some kind of modal change notification. Wicket tree has many objectives, simplicity is only one of them. Having simple tree is nice as long as you don't have to refresh the entire thing every time you expand a node or add a node child. -Matej jthomerson wrote: Why create your own? Submit a patch to fix what you see is wrong with the current one. Everyone wins. -- Jeremy Thomerson http://www.wickettraining.com On Tue, Jul 28, 2009 at 12:20 PM, Vladimir Kkoval...@gmail.com wrote: ModalWindow (being a wicket cheat :) ) deserves a sole book of tricks. I'll definitely author my own modal window unless someone fixes the original one. -1 on including ModalWindow to the book. egolan74 wrote: I can't wait for yet another great Wicket book. I will surly buy it. regarding tricks, using Modal window can be nice. Integrating
Re: Twenty Six Wicket Tricks
Ok then. I'm a noob in maven and ... I even don't know how to make a quickstart of this problem for you. I have never done Wicket project from scratch. But I have just found a free maven by example book and started to read. I will be back soon :) Matej Knopp-2 wrote: This would be then a bug in nested forms support and not in the modal window itself. If a form inside modal window is submitted only that form should be processed. I still don't understand what problem exactly this fixes. -Matej On Tue, Jul 28, 2009 at 10:04 PM, Vladimir Kkoval...@gmail.com wrote: The following class fixes the problem. It is the evidence of mismatch I'm saying about. public class ModalWindowFormT extends FormT { public ModalWindowForm(String id) { super(id); } �...@override public Form? getRootForm() { Form? form = super.getRootForm(); if ((findParent(ModalWindow.class) != null) (form.findParent(ModalWindow.class) == null)) return this; else return form; } } I assume I don't understand something. But anyway I expect following the least surprise rule. Matej Knopp-2 wrote: On Tue, Jul 28, 2009 at 8:31 PM, Vladimir Kkoval...@gmail.com wrote: Jeremy, from my perspective ModalWindow is a mix of javascript widget that works in non-wicket mode and an wicket wrapper that bridges js widget with wicket. It is always created at the body level. That's why I said it's a cheat. Thus are problems with form submitting when nested forms are used. There is a good reason why the modal window has to be created on body level. That's the only reliable way to have element with absolute position. If you create the DOM structure deeper you are risking that a container has position:relative somewhere which will essentially break it. Welcome to the wonderful world of CSS. Community introduced a solution (a wrapping form that is threated as the root) to work around the mismatch of ModalWindow structure. There is an issue registered about that. But Matej keeps stating that we should put MW into a form. What says that he is not aware what the problem is. And there are more problems caused by the fact that the form element is created by javascript. Is it, really? I've already explained why the DOM structure is created on root level. If you have form component inside modal window, chances are that wicket will (to support nested forms) render it as div. If this happens it is no longer possible to serialize the form when doing an ajax submit. That's why the actual modal window markup contains a real form. And this is why it is necessary to put a modal window inside a form if you want to have form in modal window. What we should have done is to put a wicket form inside the modal window panel itself (just to force all forms in modal window content) to be rendered as nested. But for some reason i thought that a simple mention in javadoc about putting modal window to form would be sufficient. My bad. From the other hand I believe it is possible to write pure Wicket component that would be as trice as simpler and won't suffer with problems with request lifecycle. Probably I'm wrong and it is not worth turning the old ModalWindow into pure Wicket component due to expensiveness of the effort that would be spent to remain it compatible. Would you mind specifying the actual problems with request lifecycle? And how exactly would a pure wicket modal window look like? No javascript? The same about tree components. The API is very difficult to comprehend. Component does not work as I expect in dynamic context. But thankfully Sven implemented different implementation that does what is expect and usable as well as DataTable component. I believe forking and fixing the original component would be much more expensive. After that so many people should start complaining about that to convince core team that there is not just one person who is experiencing problems. It is always difficult to accomplish. I would like to have some clarification on this. What is so difficult about the Wicket Tree API? (apart from the fact that it uses swing TreeModel which seem to be too confusing for some people). What does dynamic context mean? Assuming you have properly implemented TreeModel that fires the proper notifications, wicket tree is capable for updating itself on ajax request by only transmitting the changed part to the clients. How much more dynamic can you get? For next version we will probably ditch swing TreeModel for something simpler but we will still need some kind of modal change notification. Wicket tree has many objectives, simplicity is only one of them. Having simple tree is nice as long as you don't have to refresh the entire thing every time you expand a node or add a node child. -Matej jthomerson wrote:
Re: Twenty Six Wicket Tricks
Matej Knopp-2 wrote: Modal Window is an ajax component. Submitting it with regular submit is not supported and it never was. But I would like to have AjaxFallbackModalWindow that survives page refresh. Why not author my own if the aims are different? Probably requirements we have are far from being accepted as common. Again, modal window doesn't support regular submits (by design) so if you want to do file upload you'll have to use a hidden iframe or some other approach like that. IMO, Iframe is not an approach it is a work around the limitation (made by design) :) I just looked at jquery dialog example. The dialog is declared in markup but it is then reparented as top level DOM element. Same thing wicket modalwindow does. What is especial in my case is that the page height is limited by the window height and contains a srollable div within. Taking into account that the browsers we support works well with fixed positioning and assuming that the following excerpt works: Fixed positioning is a special case of absolute positioning. For fixed elements, the containing block is always taken to be the viewport of the browser window. It seems to be pretty doable. But it needs investigation. I haven't tried yet. Anyway it is possible to do what the modal.js is doing by Wicket means and don't have a component tree mismatch with DOM. Is it really? Mind sharing with me how? In case if the position:fixed does not help I would subclass a Form and make it a container of ModalWindows. Then by placing the modal-window-container-form at the body level I would acquire a new ModalWindow from the container. Does it make sense? -- View this message in context: http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p24708596.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: Twenty Six Wicket Tricks
We developed a RAD framework that builds page design dynamically completely basing on metadata. So there is no any concrete page that I could extract. I believe it would be more convinient for you and simpler for me to just have a look at the concrete page without dynamic layout. Matej Knopp-2 wrote: Doesn't really have to be a complete quickstart. Put the pages with markup in a zip (without any external references to your daos, etc). That should be enough. -Matej On Tue, Jul 28, 2009 at 11:13 PM, Vladimir Kkoval...@gmail.com wrote: Ok then. I'm a noob in maven and ... I even don't know how to make a quickstart of this problem for you. I have never done Wicket project from scratch. But I have just found a free maven by example book and started to read. I will be back soon :) Matej Knopp-2 wrote: This would be then a bug in nested forms support and not in the modal window itself. If a form inside modal window is submitted only that form should be processed. I still don't understand what problem exactly this fixes. -Matej On Tue, Jul 28, 2009 at 10:04 PM, Vladimir Kkoval...@gmail.com wrote: The following class fixes the problem. It is the evidence of mismatch I'm saying about. public class ModalWindowFormT extends FormT { public ModalWindowForm(String id) { super(id); } �...@override public Form? getRootForm() { Form? form = super.getRootForm(); if ((findParent(ModalWindow.class) != null) (form.findParent(ModalWindow.class) == null)) return this; else return form; } } I assume I don't understand something. But anyway I expect following the least surprise rule. Matej Knopp-2 wrote: On Tue, Jul 28, 2009 at 8:31 PM, Vladimir Kkoval...@gmail.com wrote: Jeremy, from my perspective ModalWindow is a mix of javascript widget that works in non-wicket mode and an wicket wrapper that bridges js widget with wicket. It is always created at the body level. That's why I said it's a cheat. Thus are problems with form submitting when nested forms are used. There is a good reason why the modal window has to be created on body level. That's the only reliable way to have element with absolute position. If you create the DOM structure deeper you are risking that a container has position:relative somewhere which will essentially break it. Welcome to the wonderful world of CSS. Community introduced a solution (a wrapping form that is threated as the root) to work around the mismatch of ModalWindow structure. There is an issue registered about that. But Matej keeps stating that we should put MW into a form. What says that he is not aware what the problem is. And there are more problems caused by the fact that the form element is created by javascript. Is it, really? I've already explained why the DOM structure is created on root level. If you have form component inside modal window, chances are that wicket will (to support nested forms) render it as div. If this happens it is no longer possible to serialize the form when doing an ajax submit. That's why the actual modal window markup contains a real form. And this is why it is necessary to put a modal window inside a form if you want to have form in modal window. What we should have done is to put a wicket form inside the modal window panel itself (just to force all forms in modal window content) to be rendered as nested. But for some reason i thought that a simple mention in javadoc about putting modal window to form would be sufficient. My bad. From the other hand I believe it is possible to write pure Wicket component that would be as trice as simpler and won't suffer with problems with request lifecycle. Probably I'm wrong and it is not worth turning the old ModalWindow into pure Wicket component due to expensiveness of the effort that would be spent to remain it compatible. Would you mind specifying the actual problems with request lifecycle? And how exactly would a pure wicket modal window look like? No javascript? The same about tree components. The API is very difficult to comprehend. Component does not work as I expect in dynamic context. But thankfully Sven implemented different implementation that does what is expect and usable as well as DataTable component. I believe forking and fixing the original component would be much more expensive. After that so many people should start complaining about that to convince core team that there is not just one person who is experiencing problems. It is always difficult to accomplish. I would like to have some clarification on this. What is so difficult about the Wicket Tree API? (apart from the fact that it uses swing TreeModel which seem to be too confusing for some people). What does dynamic context mean? Assuming you have properly implemented
Re: reuseitems problems
Hmm ... i can imagine the only case - somewhere resolveObject() method is called during deserialization. But I'm afraid your code don't have such a method and the cause is different. MartinM wrote: I do not know exactly what happens, but if I run the debugger I can see thet the page seen by the formcomponents' propertymodels is in a different state than the one actually holding the form components. I wonder if ajax has something to do with this, because only part of the page is refreshed via ajax. Maybe the parent page and the refreshed ajax panel remain in different serialization graphs? ** Martin 2009/7/28 Vladimir K koval...@gmail.com: trying to undertand what is happening in your case. When the page is serialized the steam contains the whole graph, including the ListView and it's items and the page default model and the ListView items models. When the page is deserialized, the whole graph is restored including page, its model, items and their models. My understanding is that in your case the items models are the old ones that was in the previous version of the page, how could it be? Or I didn't get what you were saying. MartinM wrote: Or session store.. anyways, that's not relevant. The important fact is that the copies are different. ** Martin 2009/7/28 Martin Makundi martin.maku...@koodaripalvelut.com: why do you get Page instance 2 on page refresh? Wicket always deserializes page state from diskstore.. so it is a copy. ** Martin MartinM wrote: please describe the context. I don - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/reuseitems-problems-tp24702133p24705851.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/reuseitems-problems-tp24702133p24708835.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: How to determine which behavior corresponds to the currently handled request target
Could anyone shed light on that? -- View this message in context: http://www.nabble.com/How-to-determine-which-behavior-corresponds-to-the-currently-handled--request-target-tp24635282p24680015.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: How to determine which behavior corresponds to the currently handled request target
I'm trying to add AjaxFormComponentUpdating behavior to FormComponentPanel. The latter is inherintly not suited for Ajax requests. So I have to use some workarounds to update model of FormComponentPanel by ajax update on onblur js event on inner input, see code posted here. It works for now but I'm afraid I should bypass updating of model when whole form is submitted via ajax. So I'm trying to figure out what particular behavior is in progress. From the other hand you probably know different way how to add AjaxFormComponentUpdatingBehaviour to DateField component. Any thoughts are welcome. igor.vaynberg wrote: you can use AjaxRequestTarget.get() to see if an ajax request is being processed. -igor On Mon, Jul 27, 2009 at 5:41 AM, Vladimir Kkoval...@gmail.com wrote: Could anyone shed light on that? -- View this message in context: http://www.nabble.com/How-to-determine-which-behavior-corresponds-to-the-currently-handled--request-target-tp24635282p24680015.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/How-to-determine-which-behavior-corresponds-to-the-currently-handled--request-target-tp24635282p24686879.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: [ANN] wicket-tree project
Nested tree and tree table seems promicing. What I missed in your example is single-selection mode, and sortable headers with filters. One of my the upcoming tasks is to build a selector component that knows whether the object is hierarchical and puts inside a datatable with navigator or treetable. Since wicket-extentions project has completely incompatible components in this regard my component that unifies both looks pretty complex to do. Your treetable components seems to be more close to datable so it definitely might come in handy. When are you going to finalize the component contract (api)? svenmeier wrote: Sure, wicket-tree is still in its conception phase. I'll tidy up the project structure soon. Sven On Sa, 2009-07-25 at 18:57 -0400, James Carman wrote: So is the project a war (since it runs with jetty:run)? Wouldn't that make it hard to use in other projects? On Jul 25, 2009 6:18 PM, Major Péter majorpe...@sch.bme.hu wrote: Cool, that was exactly, what I was looking for. Thanks. Peter 2009-07-26 00:06 keltezéssel, Sven Meier írta: Hi Peter, // at the chekcedfoldercontent (nested tree) example if I check the parent, t... - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/-ANN--wicket-tree-project-tp24660403p24665096.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: [ANN] wicket-tree project
Why you don't extend ITreeProvider from IDataProvider? They looks compatible for now. I can add IDataProvider to my implementation class and delegate roots() to iterator(). From the other hand it is just extra method. One thing to mention. There should be full row select option. You just need to add a selected class attribute for selected TDs. Vladimir K wrote: Nested tree and tree table seems promicing. What I missed in your example is single-selection mode, and sortable headers with filters. One of my the upcoming tasks is to build a selector component that knows whether the object is hierarchical and puts inside a datatable with navigator or treetable. Since wicket-extentions project has completely incompatible components in this regard my component that unifies both looks pretty complex to do. Your treetable components seems to be more close to datable so it definitely might come in handy. When are you going to finalize the component contract (api)? svenmeier wrote: Sure, wicket-tree is still in its conception phase. I'll tidy up the project structure soon. Sven On Sa, 2009-07-25 at 18:57 -0400, James Carman wrote: So is the project a war (since it runs with jetty:run)? Wouldn't that make it hard to use in other projects? On Jul 25, 2009 6:18 PM, Major Péter majorpe...@sch.bme.hu wrote: Cool, that was exactly, what I was looking for. Thanks. Peter 2009-07-26 00:06 keltezéssel, Sven Meier írta: Hi Peter, // at the chekcedfoldercontent (nested tree) example if I check the parent, t... - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/-ANN--wicket-tree-project-tp24660403p24665206.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: [ANN] wicket-tree project
I find the source code pretty clean and easy to understand. Especially if you are familiar with DataTable component. For instance I see that it is easy to use Ajax versions of Toolbars instead of static (however DefaultAjaxFallbackTreeTable would be usefull) Looking forward for the post-conception version :) I would suggest adding it to the Wicket right next to DataTable. -- View this message in context: http://www.nabble.com/-ANN--wicket-tree-project-tp24660403p24665301.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: Reading Wicket source code
For me the magic is how wicket is managing pages and their versions. For instance I realized that it increments version when preparing the page for render. But when I was debugging the code related to version manager I felt lost :) All the other stuff is pretty complex but not difficult to understand. MartinM wrote: Also one very benefiial point of view is just to code something and when you find a bug (either in your own code or Wicket), debug through wicket source and find the cause. If it's a wicket bug - contribute quickstart to jira that repeats the bug. I have learned myself quite a bit by doing this. However, I am still a bit puzzled with wicket's request cycle, there seems to still to be some magic going on ... ;) ** Martin 2009/7/24 Pierre Goupil goupilpie...@gmail.com: Good evening, In order to learn Wicket as well as good Java coding ^ ^, I'd like to read Wicket source code. It's been a couple of months since I use it, so I have a general user-view on it. Do you have advice ? Where should I start it all ? Is there any typical workflow through the code-base for such a matter ? Hope to hear from you soon, guys ! Regards, Pierre -- Sans amis était le grand maître des mondes, Eprouvait manque, ce pour quoi il créa les esprits, Miroirs bienveillants de sa béatitude. Mais au vrai, il ne trouva aucun égal, Du calice du royaume total des âmes Ecume jusqu'à lui l'infinité. (Schiller, l'amitié) - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/Reading-Wicket-source-code-tp24651141p24665454.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: [ANN] wicket-tree project
Just make IDataProvider in charge for sorting and filtering like DataTable does. Filtering in tree could be seen in Eclipse preferences for instance. svenmeier wrote: Hi, I've added single selection to the example. I'm not sure how sorting and filtering applies to hierarchical data though. API will be finalized after sufficient feedback from the Wicket community - so keep on firing questions ;). Sven On So, 2009-07-26 at 01:51 -0700, Vladimir K wrote: Nested tree and tree table seems promicing. What I missed in your example is single-selection mode, and sortable headers with filters. One of my the upcoming tasks is to build a selector component that knows whether the object is hierarchical and puts inside a datatable with navigator or treetable. Since wicket-extentions project has completely incompatible components in this regard my component that unifies both looks pretty complex to do. Your treetable components seems to be more close to datable so it definitely might come in handy. When are you going to finalize the component contract (api)? svenmeier wrote: Sure, wicket-tree is still in its conception phase. I'll tidy up the project structure soon. Sven On Sa, 2009-07-25 at 18:57 -0400, James Carman wrote: So is the project a war (since it runs with jetty:run)? Wouldn't that make it hard to use in other projects? On Jul 25, 2009 6:18 PM, Major Péter majorpe...@sch.bme.hu wrote: Cool, that was exactly, what I was looking for. Thanks. Peter 2009-07-26 00:06 keltezéssel, Sven Meier írta: Hi Peter, // at the chekcedfoldercontent (nested tree) example if I check the parent, t... - 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 -- View this message in context: http://www.nabble.com/-ANN--wicket-tree-project-tp24660403p24665608.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: [ANN] wicket-tree project
svenmeier wrote: ITreeProvider and IDataProvider are not exactly compatible, I don't think we gain anything by extending the former from the latter. I don't insist. But you do have IDataProvider wrapper over ITreeProvider in TableTree.java :) Selection is not part of the tree components. There are just to many different notions of selection: - single/multiple selection - subtree selection - continuous/discontinuous selection - several selections on a single tree (see example with checkable *and* selectable content) - no selection at all - ... IMHO it's better to leave these requirements out of a tree implementation. If you need a selected class attribute on a TableTree, override #newRowItem() and do it yourself. Ever noticed that DataTable has no notion of selection too? tag. Whatever. I din't find API to control expanded state of node. Say I would like to add a button to collapse all nodes, or I would like to save expanded state and restore when the user returns back to this page again. Please explain how I should operate with the state of tree (what nodes are expanded and what nodes are selected). Once I realize I will be able to override newRowItem properly. Also you have 2 Branch classes. I find it confusing a bit. I'm going to play with TreeTable tomorrow. -- View this message in context: http://www.nabble.com/-ANN--wicket-tree-project-tp24660403p24666766.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: [ANN] wicket-tree project
It does not. It is stated at the bottom of the home page http://code.google.com/p/wicket-tree/ For ajax updates it should behave not worse than DataTable component. Matej, I find the idea of re-using data provider, columns and cells developed for DataTable very important. Matej Knopp-2 wrote: Does TableTree support partial (ajax) updates? -Matej On Sun, Jul 26, 2009 at 3:00 PM, Vladimir Kkoval...@gmail.com wrote: svenmeier wrote: ITreeProvider and IDataProvider are not exactly compatible, I don't think we gain anything by extending the former from the latter. I don't insist. But you do have IDataProvider wrapper over ITreeProvider in TableTree.java :) Selection is not part of the tree components. There are just to many different notions of selection: - single/multiple selection - subtree selection - continuous/discontinuous selection - several selections on a single tree (see example with checkable *and* selectable content) - no selection at all - ... IMHO it's better to leave these requirements out of a tree implementation. If you need a selected class attribute on a TableTree, override #newRowItem() and do it yourself. Ever noticed that DataTable has no notion of selection too? tag. Whatever. I din't find API to control expanded state of node. Say I would like to add a button to collapse all nodes, or I would like to save expanded state and restore when the user returns back to this page again. Please explain how I should operate with the state of tree (what nodes are expanded and what nodes are selected). Once I realize I will be able to override newRowItem properly. Also you have 2 Branch classes. I find it confusing a bit. I'm going to play with TreeTable tomorrow. -- View this message in context: http://www.nabble.com/-ANN--wicket-tree-project-tp24660403p24666766.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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/-ANN--wicket-tree-project-tp24660403p24666861.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: advice about ImageSubmitButton and AjaxImageSubmitButton
In addition I need something like AjaxFallbackImageSubmitButton. Just to let you know that he is not alone :) From my perspective Wicket should provide basic Button and mixins (mostly behaviours) to add Ajax, AjaxFallback, Image, Submit etc. So users could just get the button they need by adding mixins like bricks to the wall. Martijn Dashorst wrote: You are the first one to miss them, so they are not used very often :). They are easy enough to create yourself, -1 on adding more bloated buttons to the core. Martijn On Nov 29, 2007 10:17 AM, xiefei xie___...@hotmail.com wrote: In the Button type hierachy, there are ImageButton and AjaxSubmitButton, but no ImageSubmitButton or AjaxImageSubmitButton found. These two are also very often used in practice, worth being provided as standard component. _ Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图! http://get.live.cn/product/photo.html -- Buy Wicket in Action: http://manning.com/dashorst Apache Wicket 1.3.0-rc1 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-rc1/ -- View this message in context: http://www.nabble.com/advice-about-ImageSubmitButton-and-AjaxImageSubmitButton-tp14022088p24671164.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: [ANN] wicket-tree project
Sven, i added TableTree (why not TreeTable?) to my panel and added a button to switch between tree and table representation. The problem is that DataTable relies on the user that binds it to the table tag at the time when your TableTree contains table within. It is not a big deal just an unconvinience. I have 12 lines of code and 5 lines of markup instead of single addOrReplace call. Hmm ... from the other hand I see a showstopper - I can't add my attributes and styles to TableTree because it is hidden inside. That's a big problem. Please consider removing table tags from TableTree markup. You can make sure that the user provided correct tag in onComponentTag method. -- View this message in context: http://www.nabble.com/-ANN--wicket-tree-project-tp24660403p24671586.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: [ANN] wicket-tree project
Since you update AbstractTree in ajax request I can't omit etra 'div' tag that encloses table tag neither by using wicket:component nor by calling setRenderBodyOnly(true). Vladimir K wrote: Sven, i added TableTree (why not TreeTable?) to my panel and added a button to switch between tree and table representation. The problem is that DataTable relies on the user that binds it to the table tag at the time when your TableTree contains table within. It is not a big deal just an unconvinience. I have 12 lines of code and 5 lines of markup instead of single addOrReplace call. Hmm ... from the other hand I see a showstopper - I can't add my attributes and styles to TableTree because it is hidden inside. That's a big problem. Please consider removing table tags from TableTree markup. You can make sure that the user provided correct tag in onComponentTag method. -- View this message in context: http://www.nabble.com/-ANN--wicket-tree-project-tp24660403p24672778.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